Skip to main content

Fast Java language server

Project description

pegon

Fast Java language server

Features

  • Zero-hassle configuration.
  • High editor performance.
  • Adherence to the Language Server Protocol standard.
  • CLI diagnostics for linting in CI/precommit.
  • Small standalone binary with no external dependencies.

Install

Binaries

Pegon is available on pypi.

Use uvx to run a one-off lint check on your Java code:

uvx pegon check

Or install with uv or pip:

# with uv
uv tool install pegon@latest
# with pip
pip install pegon

Install from Source

cargo install pegon

Editor Setup

Neovim

~/.config/nvim/lsp/pegon.lua:

--- @type vim.lsp.Config
return {
  cmd = { 'pegon', 'server' },
  filetypes = { 'java' },
  root_markers = { '.git' },
}

~/.config/nvim/init.lua:

vim.lsp.enable({ 'pegon' })

VSCode

Published on Open VSX as rmuir.pegon.

Docs

FAQ

Q. This code looks like AI slop!

A. No LLM was used: if the code looks bad, it is because I wrote this application to learn Rust.

Q. What's with the Google Style?

A. Google Style supports high-performance Java development, and most developers roughly follow it:

  • Single top-level class with matching .java name supports search, fuzzy-finder
  • Variable naming conventions support easier code review and understanding
  • Import restrictions (e.g. no wildcards) support efficient analysis

Q. Where's completion / go-to-definition? I can't live without it!

A. These features are coming, continue to use ctags for now.

Q. Where's workspace symbol search? I can't live without it!

A. This feature is coming, I recommend a good fuzzy finder or ctags for now.

Q. What about running tests from my editor? This is essential for TDD!

A. I strongly recommend vim-test for this.

If your java build uses gradle, the daemon allows for very fast iteration with no config hassle. Black magic.

Q. Where's XYZ fancy refactoring? I can't live without it!

A. Currently the code actions are minimal. Check out some alternatives for now:

Q. What's with the name?

A. This program is named after the Javanese writing system. (ڤَيڮَون)

Thanks

Special thanks to the open-source maintainers of the dependencies used.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pegon-1.0.5.tar.gz (89.5 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pegon-1.0.5-py3-none-win_arm64.whl (1.3 MB view details)

Uploaded Python 3Windows ARM64

pegon-1.0.5-py3-none-win_amd64.whl (1.3 MB view details)

Uploaded Python 3Windows x86-64

pegon-1.0.5-py3-none-win32.whl (1.3 MB view details)

Uploaded Python 3Windows x86

pegon-1.0.5-py3-none-musllinux_1_2_x86_64.whl (1.7 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

pegon-1.0.5-py3-none-musllinux_1_2_i686.whl (1.7 MB view details)

Uploaded Python 3musllinux: musl 1.2+ i686

pegon-1.0.5-py3-none-musllinux_1_2_armv7l.whl (1.6 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

pegon-1.0.5-py3-none-musllinux_1_2_aarch64.whl (1.6 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

pegon-1.0.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

pegon-1.0.5-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.6 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ s390x

pegon-1.0.5-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.7 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

pegon-1.0.5-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (1.6 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ i686

pegon-1.0.5-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.6 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARMv7l

pegon-1.0.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.6 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

pegon-1.0.5-py3-none-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

pegon-1.0.5-py3-none-macosx_10_12_x86_64.whl (1.5 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file pegon-1.0.5.tar.gz.

File metadata

  • Download URL: pegon-1.0.5.tar.gz
  • Upload date:
  • Size: 89.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pegon-1.0.5.tar.gz
Algorithm Hash digest
SHA256 e54928e9e9d9b27149486a1d0f9dedf98b06f7126af5af8dae3311a3b4b8ec30
MD5 52cbdea1ccc3425dd0945de10677caa2
BLAKE2b-256 1a956098289bcf5c134ff13faabf8d97166f45cb29c0edc042042519775a82be

See more details on using hashes here.

File details

Details for the file pegon-1.0.5-py3-none-win_arm64.whl.

File metadata

  • Download URL: pegon-1.0.5-py3-none-win_arm64.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: Python 3, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pegon-1.0.5-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 fdf0803acb36021e6921d70e34804fc5cd99d5b67ca6ec0ae18e73ed236e715d
MD5 f210d5cb63c97f22baa23ff64cabd60b
BLAKE2b-256 e482f0c1a4f2ecec1ff42405c78e33f6ac552a75a168d0141340ab72cc26fd22

See more details on using hashes here.

File details

Details for the file pegon-1.0.5-py3-none-win_amd64.whl.

File metadata

  • Download URL: pegon-1.0.5-py3-none-win_amd64.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pegon-1.0.5-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 016c6416cd70cf2a45f692d9a650715de1dbc9a1ce8ef3ab848757b8f9a375fa
MD5 4db9275a761942cf3e3727e4cf3d2014
BLAKE2b-256 0c076cdb5cb504393ad7c225195d810c20988ee596a87f7b121b33872a58c33a

See more details on using hashes here.

File details

Details for the file pegon-1.0.5-py3-none-win32.whl.

File metadata

  • Download URL: pegon-1.0.5-py3-none-win32.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: Python 3, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pegon-1.0.5-py3-none-win32.whl
Algorithm Hash digest
SHA256 bb311e06d123582f468a40bf37d3540de3a03fa06ddda732bf0e6b40a0fc2e49
MD5 1cff43777ff862fe214027bd95876594
BLAKE2b-256 b3ff1419faee2d0019bb7cf4ebdb775e98ddd5a5c70c9329670818de88eaf69b

See more details on using hashes here.

File details

Details for the file pegon-1.0.5-py3-none-musllinux_1_2_x86_64.whl.

File metadata

  • Download URL: pegon-1.0.5-py3-none-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: Python 3, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pegon-1.0.5-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f2218432fdb536e372513217b30bec2b00d465de4a4992289ce3eef5336b6c83
MD5 19b032fa7398f83a48a55d67095a2a3b
BLAKE2b-256 565bb319c978a1b0a636aee8ebdb0bdc773d0e0bf46843633883a814fc4a4868

See more details on using hashes here.

File details

Details for the file pegon-1.0.5-py3-none-musllinux_1_2_i686.whl.

File metadata

  • Download URL: pegon-1.0.5-py3-none-musllinux_1_2_i686.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: Python 3, musllinux: musl 1.2+ i686
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pegon-1.0.5-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 6c7872c63b0ab68ef896ad4077e4e7a602b9b7fee93f7cdea6541866dc708a6e
MD5 8caeed0c9983629c3abeaeae60ca0b87
BLAKE2b-256 18f986c2fe334fc0ef65d8b208d9860b81d069f40c560e4b0cc6877d0d18111e

See more details on using hashes here.

File details

Details for the file pegon-1.0.5-py3-none-musllinux_1_2_armv7l.whl.

File metadata

  • Download URL: pegon-1.0.5-py3-none-musllinux_1_2_armv7l.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: Python 3, musllinux: musl 1.2+ ARMv7l
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pegon-1.0.5-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 0fbfeca5c452bcdb0b3e64706239f293371fa5fa85fe4fc4de860fbee2aa2c18
MD5 a684e63fcd4751bca25ca568d35608ec
BLAKE2b-256 347a396a41bcb16bae19862ea4a92dd36a764d0509a143629f2ee99dc6efec85

See more details on using hashes here.

File details

Details for the file pegon-1.0.5-py3-none-musllinux_1_2_aarch64.whl.

File metadata

  • Download URL: pegon-1.0.5-py3-none-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: Python 3, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pegon-1.0.5-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 4f1b355b7b5ff719d3737960f4675f45030953aa188f21834eac03d7aeaf92f2
MD5 54d3c282928e71aba3781b45eb5db6d0
BLAKE2b-256 c348be4306eed5618c04006eaf40aac68c8a4ab0f65de01a8e6f241657eb5851

See more details on using hashes here.

File details

Details for the file pegon-1.0.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: pegon-1.0.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: Python 3, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pegon-1.0.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 365b6ef5312fec29e931d9dad7adbceda09e33ef6d27faf82033f8949c741219
MD5 dbe688baa8420c53044c22ff4a024474
BLAKE2b-256 4b28ae2821e881aa4958200643637611d19741ea7fab41526548a7abb1b660d3

See more details on using hashes here.

File details

Details for the file pegon-1.0.5-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

  • Download URL: pegon-1.0.5-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: Python 3, manylinux: glibc 2.17+ s390x
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pegon-1.0.5-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 729b18ec67a5cc89c1adf8a1199a97599eaf3206a6a8c2cf41e4140d3486595b
MD5 7a612d90e1f8920acea314c26dbf2469
BLAKE2b-256 d767f8f1503972c47fc6747f6bdd2ab033a6abf080c4e67b356c409db8da5904

See more details on using hashes here.

File details

Details for the file pegon-1.0.5-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

  • Download URL: pegon-1.0.5-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: Python 3, manylinux: glibc 2.17+ ppc64le
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pegon-1.0.5-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 beb680dde949353cbd3368410dfd06c069827c18000538fafe72dd9a510b26c6
MD5 667ade84b69e69ff8dd36d8fa9c206dc
BLAKE2b-256 08d9985e406b54857abf7797fba1201b5258156b824da0e987ac083ac82665d7

See more details on using hashes here.

File details

Details for the file pegon-1.0.5-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

  • Download URL: pegon-1.0.5-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: Python 3, manylinux: glibc 2.17+ i686
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pegon-1.0.5-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 5b252ded03340f09dad347fd14d17f8af227455c058415943de67c35ae155a69
MD5 55218b79ad597f6dfccc9956de768092
BLAKE2b-256 cd467be73cfe9ef22b767024b0cad1d3b5cb2de683c3241c19baa70b554ed210

See more details on using hashes here.

File details

Details for the file pegon-1.0.5-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

  • Download URL: pegon-1.0.5-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: Python 3, manylinux: glibc 2.17+ ARMv7l
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pegon-1.0.5-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 c5f8a6e385de37b5133f228edd83d0ab2fa081c49733ed128065e8e28c960c75
MD5 d5a9ac809c0ea689e4232eff42f0f1d8
BLAKE2b-256 fbe6ffd246b7c01d5687d1a3fb087177bcb8e531d84f1e6f91ea827de0adf70a

See more details on using hashes here.

File details

Details for the file pegon-1.0.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

  • Download URL: pegon-1.0.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: Python 3, manylinux: glibc 2.17+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pegon-1.0.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 13a06959787fca490311c376fe432daf7a4b7e2d003c3f67a0d53db82eae51f0
MD5 9aa0bebe969d11151f538ca8f729e219
BLAKE2b-256 2cf284f3f36c76f7bc28455314fe0fcebe35cf0788c177f140ceb1ba2f43ce6b

See more details on using hashes here.

File details

Details for the file pegon-1.0.5-py3-none-macosx_11_0_arm64.whl.

File metadata

  • Download URL: pegon-1.0.5-py3-none-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: Python 3, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pegon-1.0.5-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6710f92e156e8ace487ca583a1c56d723d38a3c21d213d3f20bba69224317bdc
MD5 c58d16a58d998281263c47f355cf30ef
BLAKE2b-256 77b3ce50f4c138f46c2b4177bd154a68d09bde7489a0673bcac6a71f8f70dc2f

See more details on using hashes here.

File details

Details for the file pegon-1.0.5-py3-none-macosx_10_12_x86_64.whl.

File metadata

  • Download URL: pegon-1.0.5-py3-none-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: Python 3, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pegon-1.0.5-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d5e3413c8fc1933702cc283096a39c81b0a7e9bcd06397760921cd04626d0817
MD5 6bb57f2a55426c853e27cdde1ae8e269
BLAKE2b-256 beda722c706335982a206dcf2781fb0550fecea9028d910738a2e44943cf3fe1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page