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

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

pegon-1.0.8-py3-none-win32.whl (1.5 MB view details)

Uploaded Python 3Windows x86

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

Uploaded Python 3musllinux: musl 1.2+ x86-64

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

Uploaded Python 3musllinux: musl 1.2+ i686

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

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

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

Uploaded Python 3manylinux: glibc 2.28+ x86-64

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

Uploaded Python 3manylinux: glibc 2.28+ s390x

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

Uploaded Python 3manylinux: glibc 2.28+ ppc64le

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

Uploaded Python 3manylinux: glibc 2.28+ i686

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

Uploaded Python 3manylinux: glibc 2.28+ ARMv7l

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

Uploaded Python 3manylinux: glibc 2.28+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

pegon-1.0.8-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.8.tar.gz.

File metadata

  • Download URL: pegon-1.0.8.tar.gz
  • Upload date:
  • Size: 100.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.33 {"installer":{"name":"uv","version":"0.11.33","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.8.tar.gz
Algorithm Hash digest
SHA256 14dc9e35d91df312a373ccc4b53ed4252e61f75f2ec991b5a2b1f1e7caffa486
MD5 c0b593c463972684b1a63942955bcc71
BLAKE2b-256 3e45ff4d438c402ea2c5a816fa4cc97512144d74845f1803d5e6fa128fe3c086

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.8-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.11.33 {"installer":{"name":"uv","version":"0.11.33","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.8-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 896943bb140ccb646d26a3e59c1c7aebc75c863c3dfe9c2cca57a828ae6d3c1c
MD5 9c00b31f69a183bf21ce69a5f84fdd7d
BLAKE2b-256 4671e02f7b2e9582ddecb31e2cd1e85660aa7c2d92cd378fd546f7a2c14170b0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.8-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.11.33 {"installer":{"name":"uv","version":"0.11.33","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.8-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 432a712d90639447f14c0a7975259188aaef62774c41a54749a55f001b6f14df
MD5 70504bd23780761db5c4c4d7ee65d23f
BLAKE2b-256 f15a9279ebe6d10d3168211d6587708533abc392229a24422bdf54ffa4bb1b45

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.8-py3-none-win32.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: Python 3, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.33 {"installer":{"name":"uv","version":"0.11.33","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.8-py3-none-win32.whl
Algorithm Hash digest
SHA256 8f69a526d41070d97f41f62c28d1bd9b74924b05a8a457de8a50ed5e60b77b9c
MD5 01b8da9ab900f2495c5a0720a392b5cc
BLAKE2b-256 1548e37d5892fe7f823012d48d2b6ea0401db93bbf0bbb52c8ec65444de9da92

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.8-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.11.33 {"installer":{"name":"uv","version":"0.11.33","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.8-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 655d0de20f1d9079caf2d498f70372ecf00f0ef5fd2dc02cebb8058338ae3aa6
MD5 d5d4642df7dbdd2a623feda39f1f3e20
BLAKE2b-256 b469e5ffb82bf125f779edaa77cc8042ea80017bb476f64222dff72920868dac

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.8-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.11.33 {"installer":{"name":"uv","version":"0.11.33","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.8-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 b64fda769c39f1070d3d98be31de34073d9c051c17145910b112ee54a6a5fe5b
MD5 92c2ece1648c819c3569dd7bef604209
BLAKE2b-256 aef90fdb8862d8a5507f807133f05e0f1359d652b827b8af5973ff52751c200a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.8-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.11.33 {"installer":{"name":"uv","version":"0.11.33","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.8-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 98c3e23eb93874817d8c401dc4f68e89a4a6f653016d58616f1e0fa8af5fade0
MD5 6a3e0fe96444cb0a16a056d1794788e7
BLAKE2b-256 321b2719af06e061ca4fbef5ee7c75bbb28e7f3e77bd69d0f6f0549cd1cfadec

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.8-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.11.33 {"installer":{"name":"uv","version":"0.11.33","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.8-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 4d5a46eeee145e8e20aa1327819d6320f33aa1ecdd2c08618be5829bfb2ab23e
MD5 1efd2c832b7e5226ca4103139317ce70
BLAKE2b-256 152ba270d200c7e48110d6e02b1069a9e9f225b6c7d774bfa6e0d4dd5fcdf1d2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.8-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.11.33 {"installer":{"name":"uv","version":"0.11.33","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.8-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 dce4c5f8f07d2064b8f6fb377ceb4e42a6f46a582947eac8960e04bf8ec458d2
MD5 f46fd4e7734279e5cead72d086bfcc3b
BLAKE2b-256 d63195683c8c5231885d69e9bb3d54fafe749ea8a572816a0d3b741abd20a7b2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.8-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.11.33 {"installer":{"name":"uv","version":"0.11.33","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.8-py3-none-manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 0b32bfcaae738cb48ed83c2c1beb523aceda7d61d4966a79e46c3f30b6236c8f
MD5 4f9e46705b7d6028ee88204a0e41a13a
BLAKE2b-256 8bf75f938c7123ab033321626fd6efdb00e0e2f8c232659babdbcb7c739d296c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.8-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.11.33 {"installer":{"name":"uv","version":"0.11.33","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.8-py3-none-manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 3b6ef40f2a450ce58cf12fb5187dcef2a3cc157d700491392b642feef0974734
MD5 5b09ea7ebad73e5033407c5023c9a4e1
BLAKE2b-256 d4b489441abc38c4c6d330496ce4c5abb03c7285ff090cef3a508c1f45b695f3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.8-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.11.33 {"installer":{"name":"uv","version":"0.11.33","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.8-py3-none-manylinux_2_28_i686.whl
Algorithm Hash digest
SHA256 986b8e8be66a1354c908da6e593a16428b1baf0a40f6409fbb2a443238d3cc8c
MD5 b349acb695ac879e4f9215b02cb56288
BLAKE2b-256 3769a5625874ee032e38cc36a77827d9a138611523514e5f71ec3dd98cf5208d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.8-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.11.33 {"installer":{"name":"uv","version":"0.11.33","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.8-py3-none-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 94ea394d3cb1be387373ed6985d4d7395ec929f41b2afac75f56aaad7aba596a
MD5 f21c52a2cd7fcb75071f387b55676b06
BLAKE2b-256 879576ec5b05171e7d19dad234168c30d8a28c40e861b6b3e9d3c37f8d043fe7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.8-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.11.33 {"installer":{"name":"uv","version":"0.11.33","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.8-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5fe10e50d6bdff71f4bdbab608a0f849e565c6121364b817a077efabc7001b42
MD5 559d3f2454ab3f49a72d17ccc84bd2ca
BLAKE2b-256 b9480829cd8369ba6fc67faa9170ff1bc640a63cfe1ce1b7bbe1c1ce83f81d89

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.8-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.11.33 {"installer":{"name":"uv","version":"0.11.33","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.8-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8553abd522801e4b0e10ef3bb4b1262079ff172481b04372a688f219a81439cc
MD5 962adb54dd8ff1ebf1ffa120bce5ec6a
BLAKE2b-256 3ca297a9c24e0b5e0496515a070d043481b52883a2b3fb796d9f9e9a6d40ed7c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.8-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.11.33 {"installer":{"name":"uv","version":"0.11.33","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.8-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 66d10793aee1548d29ff214e0a7060652f5c7c3d9cd6b37b2ab9d6df433b59f2
MD5 f4494100832875ca154553ccd0a15b6a
BLAKE2b-256 dedbced35b3439fb6d63a1affd478d569a6752d0db81ad75bf68290d0cc20e71

See more details on using hashes here.

Release history Release notifications | RSS feed

1.0.11

16 files

1.0.10

16 files

1.0.9

16 files

This release

1.0.8 This release

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