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.

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.9.tar.gz (104.1 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.9-py3-none-win_arm64.whl (1.5 MB view details)

Uploaded Python 3Windows ARM64

pegon-1.0.9-py3-none-win_amd64.whl (1.6 MB view details)

Uploaded Python 3Windows x86-64

pegon-1.0.9-py3-none-win32.whl (1.6 MB view details)

Uploaded Python 3Windows x86

pegon-1.0.9-py3-none-musllinux_1_2_x86_64.whl (1.9 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

pegon-1.0.9-py3-none-musllinux_1_2_i686.whl (1.9 MB view details)

Uploaded Python 3musllinux: musl 1.2+ i686

pegon-1.0.9-py3-none-musllinux_1_2_armv7l.whl (1.8 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

pegon-1.0.9-py3-none-musllinux_1_2_aarch64.whl (1.8 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

pegon-1.0.9-py3-none-manylinux_2_28_x86_64.whl (1.8 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ x86-64

pegon-1.0.9-py3-none-manylinux_2_28_s390x.whl (1.8 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ s390x

pegon-1.0.9-py3-none-manylinux_2_28_ppc64le.whl (1.8 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ppc64le

pegon-1.0.9-py3-none-manylinux_2_28_i686.whl (1.9 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ i686

pegon-1.0.9-py3-none-manylinux_2_28_armv7l.whl (1.7 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARMv7l

pegon-1.0.9-py3-none-manylinux_2_28_aarch64.whl (1.7 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARM64

pegon-1.0.9-py3-none-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

pegon-1.0.9-py3-none-macosx_10_12_x86_64.whl (1.7 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: pegon-1.0.9.tar.gz
  • Upload date:
  • Size: 104.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","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.9.tar.gz
Algorithm Hash digest
SHA256 03e4ea428019e03f318fcbf1c6e2632887d37a8c2376a4530440ee767dfcaa1b
MD5 d6e07acfbbf72b07bf9898a41b534fea
BLAKE2b-256 7e8d26230dc8fe0e9c927b8ce6b249a588dbcfa11115d828f25b8ab9bfbe6a5c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.9-py3-none-win_arm64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: Python 3, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","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.9-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 c2e8588c972cb8c5377e6163a6f2de3f254b7f7d6fb8fefaa611355edb23992f
MD5 29e7abcab52ee756baf9fc8e63432baa
BLAKE2b-256 cab195c84a1ca3b07d7d77e2d4eca9c8573d70899f69c85e6f84a5901ad0fb9f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.9-py3-none-win_amd64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","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.9-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 be79e470f7b0fa8bdb808efd37304e6136a99a8b9aea0a1f600624fcf38e4202
MD5 c03926762bd712cf335e2afc226cb395
BLAKE2b-256 c723ff99eda38f4ecfa0ac8b22dc49ba29a185a03da36dc0427d1756032b9967

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.9-py3-none-win32.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: Python 3, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","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.9-py3-none-win32.whl
Algorithm Hash digest
SHA256 726fa001b833154a1015cd4fa95091aaa398649cde22969eec699502e916ca3b
MD5 1be7b57052fd55d5c10caae5a47d91cb
BLAKE2b-256 2fd9eee7be440858bab2e9a050d40d8ab60894570f0581cdb3bef8a5a0907a1e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.9-py3-none-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: Python 3, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","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.9-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7e62588ffe5d2641c2f7b5011602f58c8cfd0982541a13e93c459fde203c446b
MD5 6b3fafd50585c755c55280fb6f05068f
BLAKE2b-256 d221d6885dd0fb7da46f70ab920c23c1804be36b1eb5f6d1bd7e0e6e6925192b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.9-py3-none-musllinux_1_2_i686.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: Python 3, musllinux: musl 1.2+ i686
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","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.9-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 e3214d62282c3cd1e12269de1bd180ab98ffabcd11c919b13432486e3117235a
MD5 142967ac12c77dac114e8c975e9610db
BLAKE2b-256 da3ca03b76dc70da5c88ba791ff9a4f994dbd2ea37699249f5b19d9df5611716

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.9-py3-none-musllinux_1_2_armv7l.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: Python 3, musllinux: musl 1.2+ ARMv7l
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","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.9-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 405861862f2e2d827c488336e2468c9e66d3031abdd5c7c7fc11d9311c4a1cb0
MD5 6e3052ffd1b782b402f8398b6a5889f7
BLAKE2b-256 5b77ac51f610e4792e6e5bc3d807d9441ad69c001d7fce2607106874844f0ff3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.9-py3-none-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: Python 3, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","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.9-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 3b1e70296f22cf028bf04b2c45b68729394836f603820d8eba5467797f7532c9
MD5 83f7a4422824fdb63efeb5f80c467796
BLAKE2b-256 f19df701ec4c2116306f9cf66a64e29be11a8edd1c4f054416f2dbf3099ed1ee

See more details on using hashes here.

File details

Details for the file pegon-1.0.9-py3-none-manylinux_2_28_x86_64.whl.

File metadata

  • Download URL: pegon-1.0.9-py3-none-manylinux_2_28_x86_64.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: Python 3, manylinux: glibc 2.28+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","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.9-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 25b6768f6eb23ec49ff24ab3c0c3590f17872b2aece178331615d178b4dee10a
MD5 28378b84867bd0bc77d07ef4ed9bb8ac
BLAKE2b-256 2aecf89e3cae5ee97c0b123a00b317946ead3c9fa28cd88cdeea6b7b399682d7

See more details on using hashes here.

File details

Details for the file pegon-1.0.9-py3-none-manylinux_2_28_s390x.whl.

File metadata

  • Download URL: pegon-1.0.9-py3-none-manylinux_2_28_s390x.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: Python 3, manylinux: glibc 2.28+ s390x
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","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.9-py3-none-manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 e2f7ed9b662283857ac0de034c221133fd076918c5a23c2d80391007cc093167
MD5 331281ea6be8d9cc3794c0a519c9e5c8
BLAKE2b-256 c56430335cfdbe94bdbec5701b223fc50f143006251e121e3c491015eb2bc8aa

See more details on using hashes here.

File details

Details for the file pegon-1.0.9-py3-none-manylinux_2_28_ppc64le.whl.

File metadata

  • Download URL: pegon-1.0.9-py3-none-manylinux_2_28_ppc64le.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: Python 3, manylinux: glibc 2.28+ ppc64le
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","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.9-py3-none-manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 2f979e26b4a73fd6f5544721d7caa3345196b85aa9569c4a201d5493c287c6d2
MD5 60c7878b06e3417c666caf4640ec74c8
BLAKE2b-256 b092a68d73cacaadec4e68b1a664853a8be89996cf22c5615aece52ad7237c86

See more details on using hashes here.

File details

Details for the file pegon-1.0.9-py3-none-manylinux_2_28_i686.whl.

File metadata

  • Download URL: pegon-1.0.9-py3-none-manylinux_2_28_i686.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: Python 3, manylinux: glibc 2.28+ i686
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","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.9-py3-none-manylinux_2_28_i686.whl
Algorithm Hash digest
SHA256 f6ed39c039648f77cc12aa622127c398c320ed5a2b05789a9837619f33673940
MD5 942e90372f79fba462e9412656317ba7
BLAKE2b-256 1572eb63def720bbfbfffc4447d4a2ff39894272893b8fd0b3eef661228c1f5c

See more details on using hashes here.

File details

Details for the file pegon-1.0.9-py3-none-manylinux_2_28_armv7l.whl.

File metadata

  • Download URL: pegon-1.0.9-py3-none-manylinux_2_28_armv7l.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: Python 3, manylinux: glibc 2.28+ ARMv7l
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","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.9-py3-none-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 9af9e62560d0e099980648165c0d5dbc6b1b67d4ad8ce4168ad2ecdf33076e3a
MD5 bbc1f1c5b03550c5fa46c0e268fecb7b
BLAKE2b-256 2aa110b2637994baa85cc3b11dcf1c60f6e621cbe7b28acd19ba141e4f6e2dd7

See more details on using hashes here.

File details

Details for the file pegon-1.0.9-py3-none-manylinux_2_28_aarch64.whl.

File metadata

  • Download URL: pegon-1.0.9-py3-none-manylinux_2_28_aarch64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: Python 3, manylinux: glibc 2.28+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","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.9-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 fa6e054bdec0051e1b288bdba683cce9313e4af30e53b93f723643ca022c64a8
MD5 6a4059d9c68dc9d9514853b78233164a
BLAKE2b-256 34b67b5369e3d3b19abef715c035b4e4d6b5f8f92f4dfc121156dcec4faad7a4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.9-py3-none-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: Python 3, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","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.9-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4a6a50f1dd3d497df737a0ec462d4526034d7970c636fbb86e62328fc5f1cbc3
MD5 3b912009c13e13628ed244af2a3cbd6d
BLAKE2b-256 45fe4573a7f6d2fae132cbdaa403f17d3a56348855423e0516f6a67fcb0be59c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.9-py3-none-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: Python 3, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","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.9-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b37c8518665dd81d59e5d1b676a6b1036a35b3b90e877071dce13c0587da1b0b
MD5 065aee3e75f71b3aa1e923642c893df4
BLAKE2b-256 13fc5fe15324287ff059cfbd864b5fceb848019fed5cea0fc31e2e146fa9980f

See more details on using hashes here.

Release history Release notifications | RSS feed

1.0.11

16 files

1.0.10

16 files

This release

1.0.9 This release

16 files

1.0.8

16 files

1.0.7

16 files

1.0.6

16 files

1.0.5

16 files

1.0.4

16 files

1.0.3

16 files

1.0.2

16 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