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
Github Releases
Binaries are available on the Releases Page.
PyPI
Binaries are 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
Install rmuir.pegon-vscode from the marketplace.
VSCodium, Cursor, etc
Install rmuir.pegon-vscode from Open VSX.
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
.javaname 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. 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.
Metadata
Release files for pegon 1.0.11
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pegon-1.0.11.tar.gz | 108.9 kB | Details |
Built distributions (wheels)
Total release size: 28.9 MB
Release files / pegon-1.0.11.tar.gz
| Download URL | pegon-1.0.11.tar.gz |
|---|---|
| Size | 108.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a9cc12cc548cbfa94ba378cc3d34541fb77f53e8a1ab1e93ac3c11da419cee05
|
|
BLAKE2b-256 checksum How to use checksums |
3d7bb24226f82c819c998dc7a2f66a07358062db9a671677ec6e21657befe25c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","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}
|
Release files / pegon-1.0.11-py3-none-win_arm64.whl
| Download URL | pegon-1.0.11-py3-none-win_arm64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | Python 3 Windows ARM64 |
|
SHA-256 checksum How to use checksums |
a87f1ca3534ba3fd6b24aa9a8ba5195777d1e6257adb595a44ad89ea0989cbd4
|
|
BLAKE2b-256 checksum How to use checksums |
4320a74ee242c1cfa184b64688f7be180fc301929cc4cbbbb3fe6395f57b821d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","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}
|
Release files / pegon-1.0.11-py3-none-win_amd64.whl
| Download URL | pegon-1.0.11-py3-none-win_amd64.whl |
|---|---|
| Size | 1.9 MB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
cc9d253b6f9edd528201d7702f019ac158e8c6784a26e6f0d8b79d387826d72e
|
|
BLAKE2b-256 checksum How to use checksums |
5188af70ff826479e9db8f40aa47abbf3d655233051b128e45b12c06c2806082
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","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}
|
Release files / pegon-1.0.11-py3-none-win32.whl
| Download URL | pegon-1.0.11-py3-none-win32.whl |
|---|---|
| Size | 1.8 MB |
| Tags | Python 3 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
6e9c14476b7b1fef596f59b20601b8ce38a3373387cf51d8384c7b97d619fb94
|
|
BLAKE2b-256 checksum How to use checksums |
58f5a15b349fccb4d17848d478145fe4b00f50343b52548df0f9ed226aea6fc1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","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}
|
Release files / pegon-1.0.11-py3-none-musllinux_1_2_x86_64.whl
| Download URL | pegon-1.0.11-py3-none-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 2.1 MB |
| Tags | Linux musl 1.2+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
013a170df25934a4d4a71123a07bdf95826add1e9fe177a05af8d85c020658e0
|
|
BLAKE2b-256 checksum How to use checksums |
71a83125cff640abb893d851c074508bb01075942d669ff4e1e9c931f80351aa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","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}
|
Release files / pegon-1.0.11-py3-none-musllinux_1_2_i686.whl
| Download URL | pegon-1.0.11-py3-none-musllinux_1_2_i686.whl |
|---|---|
| Size | 2.1 MB |
| Tags | Linux musl 1.2+ x86-32 Python 3 |
|
SHA-256 checksum How to use checksums |
6230e1de17dc37a9eda57cd0bf978763725b7b5b68f3394079197217f5a2f306
|
|
BLAKE2b-256 checksum How to use checksums |
6ce526b829ffc65d244d1a64c4c5b4d35ed765d42141e19ac556700e9817238b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","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}
|
Release files / pegon-1.0.11-py3-none-musllinux_1_2_armv7l.whl
| Download URL | pegon-1.0.11-py3-none-musllinux_1_2_armv7l.whl |
|---|---|
| Size | 2.0 MB |
| Tags | Linux musl 1.2+ ARMv7l Python 3 |
|
SHA-256 checksum How to use checksums |
001b91e10af4af7e80d8bc99345cbf98db7af3dd41af4c12a472a66e8ba72775
|
|
BLAKE2b-256 checksum How to use checksums |
832577779e44b6656bcd50b3ae5009466cdd7fb2290099c4ed89b060359fdf95
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","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}
|
Release files / pegon-1.0.11-py3-none-musllinux_1_2_aarch64.whl
| Download URL | pegon-1.0.11-py3-none-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | Linux musl 1.2+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
15ffa95a1be955028054aa2e4e0e036ace6afab1e7f890aa4862d3df17c7fcbb
|
|
BLAKE2b-256 checksum How to use checksums |
ba65653e23e0a76d3c7fc1c8409673053a5733acce17f7ea986e9a63bf59c304
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","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}
|
Release files / pegon-1.0.11-py3-none-manylinux_2_28_x86_64.whl
| Download URL | pegon-1.0.11-py3-none-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | Linux glibc 2.28+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
3806edae176e88f43f3973fd40396877493c0082cce9157b44ee569c71a7c2f3
|
|
BLAKE2b-256 checksum How to use checksums |
31834e8deb8234f16af459ecacb44785b2a43832fd85291c381635beef07c032
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","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}
|
Release files / pegon-1.0.11-py3-none-manylinux_2_28_s390x.whl
| Download URL | pegon-1.0.11-py3-none-manylinux_2_28_s390x.whl |
|---|---|
| Size | 2.0 MB |
| Tags | Linux glibc 2.28+ IBM System/390x Python 3 |
|
SHA-256 checksum How to use checksums |
217f12b8db4714e52ab8b1269ae3ec66e1fee8d5ae97bee59ca0b7a5370213fc
|
|
BLAKE2b-256 checksum How to use checksums |
0b746fa646a31d283b452f0bad20f49bdfc58af01ff57d6c28cceca559d25f01
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","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}
|
Release files / pegon-1.0.11-py3-none-manylinux_2_28_ppc64le.whl
| Download URL | pegon-1.0.11-py3-none-manylinux_2_28_ppc64le.whl |
|---|---|
| Size | 2.0 MB |
| Tags | Linux glibc 2.28+ PowerPC 64-le Python 3 |
|
SHA-256 checksum How to use checksums |
0a146a902a4285311b817e8c3d9f100ac7420f898e74ed5e099253ce3643548f
|
|
BLAKE2b-256 checksum How to use checksums |
38b6cb6172333d922dc5c76be720907ed74ed0d30a2937d86569aa5761951db0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","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}
|
Release files / pegon-1.0.11-py3-none-manylinux_2_28_i686.whl
| Download URL | pegon-1.0.11-py3-none-manylinux_2_28_i686.whl |
|---|---|
| Size | 2.0 MB |
| Tags | Linux glibc 2.28+ x86-32 Python 3 |
|
SHA-256 checksum How to use checksums |
cd8b2c41907784b1b9a31d968071401e6e16f51e1b6e10b45ff5df4eb42bc40e
|
|
BLAKE2b-256 checksum How to use checksums |
341509587c298cec7156b2577d028bee2ba09c01c08d5939aaeb569e9569c684
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","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}
|
Release files / pegon-1.0.11-py3-none-manylinux_2_28_armv7l.whl
| Download URL | pegon-1.0.11-py3-none-manylinux_2_28_armv7l.whl |
|---|---|
| Size | 1.9 MB |
| Tags | Linux glibc 2.28+ ARMv7l Python 3 |
|
SHA-256 checksum How to use checksums |
d26281f8811b83095f2fe7e507af34d7c97936203c998631cff09bd2e89922a8
|
|
BLAKE2b-256 checksum How to use checksums |
361f55e8e889184f9886467e92bd726e1b529f68fc504f6a4466ded048d23351
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","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}
|
Release files / pegon-1.0.11-py3-none-manylinux_2_28_aarch64.whl
| Download URL | pegon-1.0.11-py3-none-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 1.9 MB |
| Tags | Linux glibc 2.28+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
f2fc448e9af0fa79032885666c0e3600033fea0ab1373c8d5ce6da52481c0daa
|
|
BLAKE2b-256 checksum How to use checksums |
756eb6fea4639a22b5f765fa60cf7029a247346fd4846bc38774c332713db60d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","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}
|
Release files / pegon-1.0.11-py3-none-macosx_11_0_arm64.whl
| Download URL | pegon-1.0.11-py3-none-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | Python 3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
8aa7735084d209762fbcf6a021704f3f66940c390af3066bcdea136ac6be2c50
|
|
BLAKE2b-256 checksum How to use checksums |
2ad841ac6a127d837898b8851af77effd41d740ec356fd931046f775c0ad03a3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","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}
|
Release files / pegon-1.0.11-py3-none-macosx_10_12_x86_64.whl
| Download URL | pegon-1.0.11-py3-none-macosx_10_12_x86_64.whl |
|---|---|
| Size | 1.9 MB |
| Tags | Python 3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
280ed057662f905f4b951739f49a3fde44702ac84fbc4adb7cb381c024557da0
|
|
BLAKE2b-256 checksum How to use checksums |
ef56e40b72fe1be5d63df813508440808e2d42bd5bfab1f54512e990a2a4328d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","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}
|