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' })

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.4.tar.gz (89.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.4-py3-none-win_arm64.whl (1.3 MB view details)

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3Windows x86

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

Uploaded Python 3musllinux: musl 1.2+ x86-64

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

Uploaded Python 3musllinux: musl 1.2+ i686

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

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

pegon-1.0.4-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.4-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.6 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ s390x

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

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

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

Uploaded Python 3manylinux: glibc 2.17+ i686

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

Uploaded Python 3manylinux: glibc 2.17+ ARMv7l

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

pegon-1.0.4-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.4.tar.gz.

File metadata

  • Download URL: pegon-1.0.4.tar.gz
  • Upload date:
  • Size: 89.4 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.4.tar.gz
Algorithm Hash digest
SHA256 33ee4b2fccc5dda77affbbd580bced5896a211566ef9a605fc50203607bbf33b
MD5 81cb69aa387a0bc1b937f5e6cf662c5f
BLAKE2b-256 226e630513c4c73b58d734624aefd3fca55d0bfc3325511eeb6561ba01ebc9fa

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.4-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.4-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 c1f87438891eec8413e995cac9be79cc17356a6c2fa3cd2c50af96300b711f42
MD5 494f1bb68116db286a1eb903fc322e14
BLAKE2b-256 058f4c8e6b5a29f7ee4d46a25e5491077df5fe6bb37d271ec71a62b257946832

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.4-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.4-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 f47b0709bda0a02d035c949f3cfeb67ce53783cc1495644cf8d6b235c1166465
MD5 94b8306f591b9da21e27f1435eca743d
BLAKE2b-256 c1214d8146c3c807e6dfe2f0f0aac89c0a90b03f50a837ab5bf6590fd93d10e8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.4-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.4-py3-none-win32.whl
Algorithm Hash digest
SHA256 94d31183bf4669fa57db301e7cc3e970be137446ebf95d1e37b9b8b34f7ab2da
MD5 477355dcf39ecae4cefc753efc9d33a6
BLAKE2b-256 8309a7ba0d9707ec481538e848a9284914f17cdf0b0ab66dfd5d397f9eaf0791

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.4-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.4-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9f53e131184949562c303d97a0e01247cf2e8b2fa77e97245b2b617735bd9d86
MD5 58de8e9fbb68b902f9b9cd900ba3d893
BLAKE2b-256 a93860f70d5a84a14024c64efea38314865224cd2c0d278bafb5ee8d99b4ca7e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.4-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.4-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 17c433a01697dc0a401fd15fa391db5da140600a679f62ef915408676424a68c
MD5 c8d12c636ff1d04514691b5deb6ec08a
BLAKE2b-256 6fd549a51a16df28ae036195d71ff9d50df200bad4dcf9236b5e70cf8e725e72

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.4-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.4-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 7684830184bc3f2001e3e7bc608b2ec171357d6a258df60b5afddf74cff86eb1
MD5 52c99a76756139e568983cabb5552270
BLAKE2b-256 16dde36b1882475b23de30803c3db861f6528dad3960bfbe4d55208fce62b108

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.4-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.4-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 8f974618db658297c2efdc91df34d8ab2d0eabda08b4dafe6625d0537f866d32
MD5 06c59ab86adaee3f6ec548c569389df9
BLAKE2b-256 5a30e05719e0403c290011aca64d0026c28185b55791927ef8826b2cae7d4f2c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.4-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.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e1af13d061a42e0249f0e05dd70983887abb8b2c9b04c7c8939a8f09ee32154b
MD5 60765092cc08f03c7aee89de6e43336f
BLAKE2b-256 4494a01c0ed566e4ca945a54c43e21035330bc657ca212c0df1a5eb8e0d53fb3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.4-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.4-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 f3cb81d5eb2e20fe5563d4d357daa515c7224e8d70600f45f5edfe16eb2da51f
MD5 db4c4e72bae2f73dbc61dbcf1044662c
BLAKE2b-256 c5aabb1883e78748abddd118c2e88ded44df1cb36c7ca626c4b2e5b3b02d8eaa

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.4-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.4-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 249026573060344661e6f1e179714275500154c6b4c83ebd60f998908dbeda53
MD5 1d92af3500dc5f4e68028e6c382e55db
BLAKE2b-256 6a767594f07660ed1a1ffb77251c592ca90f63fe7e27e8da6e0db5504d638f6c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.4-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.4-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 aad6eee00eda0d467e62ae864d206bd13b857f222f1da751fc76625d0137787b
MD5 8ff66f33fa8812e22b686f94c7b8c823
BLAKE2b-256 dca095c3ca59f2535b8cdce3f12fc085d139ac3a5ec27af8037c7c75816d4783

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.4-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.4-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 0e3ee538f1512341869eeb1e2516917336df3f506d1694b0d42f524ea282050d
MD5 b35c4ee2b37ca13bc99614c42ea0a3e5
BLAKE2b-256 831eb2da0a6c300e319cd510132f1a73f399fdb0de12b9516964752b84c47e05

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.4-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.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 167677adc52fc114b6fe7855ae192bd2d96da57c2feecf8cf563a2949402fd30
MD5 9e0dad66a63cf6097568df29046d97a2
BLAKE2b-256 338fc10e1d69a7eec62715e5e3feb00b52739226e4ff1e1df047f3d512c57f76

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.4-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.4-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 45c673cc3aeda4debee753dc1a5d93b59f8fee1a1fc67c10bb1cc25b863369bf
MD5 2b2dc01ba38a401407648e1f0dcdf585
BLAKE2b-256 6c80983033055d5cf79e43980de1822c637c42d0e917917e04ad3704657bfda1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.4-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.4-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 5ee70a0811ee40c39ac04dd34a728873fd901fb5f4b46af4567350a650e97685
MD5 01efa70971b793696423812688d23b61
BLAKE2b-256 54162bffda8f1c68f9d96f81b6b4d06c041227931ec108eccdd54e48ab0f101d

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