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

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3Windows x86

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

Uploaded Python 3musllinux: musl 1.2+ x86-64

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

Uploaded Python 3musllinux: musl 1.2+ i686

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

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

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

Uploaded Python 3manylinux: glibc 2.17+ s390x

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

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

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

Uploaded Python 3manylinux: glibc 2.17+ i686

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

Uploaded Python 3manylinux: glibc 2.17+ ARMv7l

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

pegon-1.0.3-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.3.tar.gz.

File metadata

  • Download URL: pegon-1.0.3.tar.gz
  • Upload date:
  • Size: 69.0 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.3.tar.gz
Algorithm Hash digest
SHA256 36c66cfec93f7773bc72621ee6669a79f043c5a9385e80cf9b0910b7b94b2fde
MD5 1dd45a7905282285ed71401329ff76fc
BLAKE2b-256 f4bc401543ad3255d94c99f90d4eb610fe865ca476c3bdf1b04789c5e875dbd4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.3-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.3-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 12a5a8dc6e1319a70a6eefa178b6c09c7b06ad4efe607a7173e7d598bbfafe3c
MD5 c34b71520cc667cc9895ef8d229fa868
BLAKE2b-256 864c35347b91b0978877f864e4fec4f9d12cbdd1b0543526ab4e21acd7922b14

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.3-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.3-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 8cb04532aff8c41bdba9f8b35b0c2cc92ca7d0bd3ca6c4a63abbf62c9ccbc385
MD5 102962a56fc002e040dea7f268243e57
BLAKE2b-256 1e2c038edb6566608b0766e085918833cd86be542e3b0ce81eb57a4e2bec3ad9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.3-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.3-py3-none-win32.whl
Algorithm Hash digest
SHA256 a51ae8dd987b58dce7da41146f50c45d01a3c706e30f1e1e3af05aaba67c6764
MD5 eba6a2336d360d8dad8849871d462e70
BLAKE2b-256 d16cb37b20715c0b689b7fe998b25fc04db09120751020bd22595edd5f7a1ae0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.3-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.3-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 36c495fc43046d84193ece759508e09e96263352e377f957557ab4a6e84ac2f1
MD5 dc0afbd9a6e4cd3f3be0b58aafbe4867
BLAKE2b-256 865ffca969bca3dc82b9a6a67701cde3ddaaa34ee96c2166fd91c0781b19660e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.3-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.3-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 4e356d9e12ef0acff2fb4f1f082878a3a02886de869c4debdf84be5643c58db5
MD5 dc5cc1166bb3b8ae6368f0ad0cfc7354
BLAKE2b-256 624eafb12fe1ddd7b899d45355ea55d9fb65805cc0b5a94ee919899debf08c97

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.3-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.3-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 421299d540bed713c8d18f4210d9c23d4fa56d9bfea309e29dda71cdc75dde89
MD5 18316ea7b62170bcaf505ee6d40d6eaf
BLAKE2b-256 44b07b606e8c696250c47b91c89fd27ee53f770aca6d8d38debaf28575e1115c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.3-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.3-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 64a230816f9b5b9615e615f60865365a2076b4a0f78b2d97f01c543125847c3a
MD5 b6d584476095591fb9ed94348b1cd69d
BLAKE2b-256 995c91004c0869e4fee9b5a43858f8b60f69f3f3e5671bf56965d540c2ab4cd0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.3-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.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 283735286086c504b242c57f988786d148150d156ea30a01e3421bb9ddb33190
MD5 acdc5f2fa482eab2bc4f1050417150e4
BLAKE2b-256 e97b7e968b20ca43f3d2bc7f90b77fccfe4c39a30b625b22591f45cabbd42bc3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.3-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.3-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 45c52108de3bed59ded581f559a218fee78dcb7bfb2dd67cd0d8a81ea4b772de
MD5 2d8b41c92fa10eb5eff5f3a461a9c3f0
BLAKE2b-256 f5525adb9952d58601ef084be7f3a295d1191ec61e8410fa5911fc1f191f6d8d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.3-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.3-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 89e16bc16579a8c62d47cbbfa1c330bed272e62ca2b1c90ce213e93c2639e01e
MD5 f27935edc4b069c49430f0917e1f5abc
BLAKE2b-256 58fb55b1f9ecc886969d865eb48fede66eabe09fb7e7799bbd12ec9023270a19

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.3-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.3-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 d56627879b6c921edc9f0c24ea08ff0598b2fb07c5def4222e428cfdaa661093
MD5 8be875a437a535e86523474da6c71e5e
BLAKE2b-256 c652e8e12626a48b93addaf0664c6efda2393a2d5b59d3a50acd346ec42ca1f5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.3-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.3-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 95c3cf5514f000bd5c7939b68d3139628ee63bb5deab0dc577daad63c878ce3b
MD5 20e39f456d0d652ea49d97e2969d0cbd
BLAKE2b-256 188806cf90b1a0013ff4a08c01f2d436e776821df23034c345392bf7310affea

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.3-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.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a4d8f58ab9822dd3683ecb4031a536cc4c4e83b3fb52c5d863a763f2c41ec6ce
MD5 8a192e7f1c94c475c46dc3a09940e12f
BLAKE2b-256 e7dfd715d4dd8984c2640e556f74bcd6d6692dc3faf8ba9278dc7025b5ff6a95

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.3-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.3-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f966205e1e9ed248d5cafc8761fe272c70438cff1be661526bc3ed7b89a4f8bf
MD5 bea63c155173ba7ceee5fd4ed65dd487
BLAKE2b-256 c74b44f6efcbd70fd03391ba251c2d5020a20765465daaf8851261a00342d679

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.3-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.3-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d2600686ea98ef3004e938847c83d362609cdb56e7959d7033c4e1802e488275
MD5 67d74b5d05572a849b816b4836e363f6
BLAKE2b-256 458a2d2b05dc9d2f52d795f442fdf495f121e33f61568fd3813a743f0f0ef5ed

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