Skip to main content

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 .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. 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)

Source distribution for pegon 1.0.11
File Size Uploaded
pegon-1.0.11.tar.gz 108.9 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for pegon 1.0.11
File
pegon-1.0.11-py3-none-win_arm64.whl Python 3 none Windows ARM64 Details
pegon-1.0.11-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
pegon-1.0.11-py3-none-win32.whl Python 3 none Windows x86-32 Details
pegon-1.0.11-py3-none-musllinux_1_2_x86_64.whl Python 3 none Linux musl 1.2+ x86-64 Details
pegon-1.0.11-py3-none-musllinux_1_2_i686.whl Python 3 none Linux musl 1.2+ x86-32 Details
pegon-1.0.11-py3-none-musllinux_1_2_armv7l.whl Python 3 none Linux musl 1.2+ ARMv7l Details
pegon-1.0.11-py3-none-musllinux_1_2_aarch64.whl Python 3 none Linux musl 1.2+ ARM64 Details
pegon-1.0.11-py3-none-manylinux_2_28_x86_64.whl Python 3 none Linux glibc 2.28+ x86-64 Details
pegon-1.0.11-py3-none-manylinux_2_28_s390x.whl Python 3 none Linux glibc 2.28+ IBM System/390x Details
pegon-1.0.11-py3-none-manylinux_2_28_ppc64le.whl Python 3 none Linux glibc 2.28+ PowerPC 64-le Details
pegon-1.0.11-py3-none-manylinux_2_28_i686.whl Python 3 none Linux glibc 2.28+ x86-32 Details
pegon-1.0.11-py3-none-manylinux_2_28_armv7l.whl Python 3 none Linux glibc 2.28+ ARMv7l Details
pegon-1.0.11-py3-none-manylinux_2_28_aarch64.whl Python 3 none Linux glibc 2.28+ ARM64 Details
pegon-1.0.11-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details
pegon-1.0.11-py3-none-macosx_10_12_x86_64.whl Python 3 none macOS 10.12+ x86-64 Details

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}

Release history Release notifications | RSS feed

This release

1.0.11 This release

16 release files

1.0.8

16 release files

1.0.7

16 release files

1.0.6

16 release files

1.0.5

16 release files

1.0.4

16 release files

1.0.3

16 release files

1.0.2

16 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page