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

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

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

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3Windows x86

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

Uploaded Python 3musllinux: musl 1.2+ x86-64

pegon-1.0.2-py3-none-musllinux_1_2_i686.whl (1.6 MB view details)

Uploaded Python 3musllinux: musl 1.2+ i686

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

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

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

Uploaded Python 3manylinux: glibc 2.17+ s390x

pegon-1.0.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.6 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

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

Uploaded Python 3manylinux: glibc 2.17+ i686

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

Uploaded Python 3manylinux: glibc 2.17+ ARMv7l

pegon-1.0.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.5 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

pegon-1.0.2-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.2.tar.gz.

File metadata

  • Download URL: pegon-1.0.2.tar.gz
  • Upload date:
  • Size: 68.3 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.2.tar.gz
Algorithm Hash digest
SHA256 14ee0837f2242cc49febbf37c0469af96561e0c280ccaf271ee8c01565ef7fc1
MD5 bb25c5c732952d29b53e17716fbaa952
BLAKE2b-256 324f51737b7006369135b8252074607523aec2cab05e646a1ebb278bbc1c0f9c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.2-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.2-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 71f3be231e5c2692f39a1e09eb1b429da42c4c3f2b6d774a83295076934ee9cc
MD5 9ba4c9a8fb26bd1ad66651d21f9ad122
BLAKE2b-256 c8d6a0550c54e5968937ac23a8bed685a381f3630d9bbba9c3958e52e11dbe52

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.2-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.2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 7fd42b52524d0493dccf4bd550c5fe8900d23987949a4bf817f2775b9c5b0bb8
MD5 2e4f3f8d3c3082f401ad5cf74915e2c0
BLAKE2b-256 97fbca1a40bdf3750f630417eae860e00ea6d05c3d17affcbcfdecd71785cb6e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.2-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.2-py3-none-win32.whl
Algorithm Hash digest
SHA256 e0228b8f231d88853dbdd285cadd79653b0606249e756e9444a7fbeddaa46194
MD5 50336842879c9b0228377880211a8e35
BLAKE2b-256 072fa655876eb929301ff47215ed7bee75e20770001c1635b8910c82f90632d6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.2-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.2-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5d66b46ab72ea8620e09daf1f8d732f27d56ae04c8c6f412b62c2d4d82545692
MD5 9df8a0419baa1d3ce19f69c32a327980
BLAKE2b-256 f4e7040a89ad8422170efa04ee4e977f1978e9b53899994db0ffaa4c81c6c3e5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.2-py3-none-musllinux_1_2_i686.whl
  • Upload date:
  • Size: 1.6 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.2-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 34e5b3cfffe779870dd4738cac0daceed59b739c4533bbb13c91d47fbc78c56f
MD5 29edb2f4567c109c1ee08e42654ac4a3
BLAKE2b-256 e5be9b152280827f73b4ec09774afd092c351148b9c17bf32b6efce56b204087

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.2-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.2-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 41a7bc9afe55d4576b9e85ceaaa9fd9624299a6e1d1dff6fe54c8ee08297180b
MD5 45735b7db6b50d6179a05a104635c05c
BLAKE2b-256 c15f826f46b29e372a40d52e31639418a8d633fca47305cdb0a55dc7801e8ed4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.2-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.2-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 d619e8c4e9861be72547e598d4227bab8ac89310d7a0856b20f16ea72d7ebf4a
MD5 2b8395907a5ec7d2382a04796024583e
BLAKE2b-256 78d53c70054304ac735ff4db958054a13b2175a27d65c74eff92c2392e334381

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.2-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.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b8fdaf4e576e69f2a201edd40d7359c4e4b96637adce8b44206410b1608f4592
MD5 abcf15c93142dcd798685d94cf4d67ed
BLAKE2b-256 2a2ec44391206abdbba681db50e9080ecea7f96765587d6c0da4bdba4e7406e6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.2-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.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 bb6cf9cd7014d079cfdc288b3aaa38620902f400793580eca453ee08d4f2b574
MD5 e76a52eec33674396add279f54ac4e16
BLAKE2b-256 dd9c8337030eb22131456f5739f323e15e2d39cddb45a76290e871298f7b8f01

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
  • Upload date:
  • Size: 1.6 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.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 4354f3125b337a11d3e44187ab2f25427f179aab657d98d61225d5839ea51f24
MD5 9b021c95631825317fe74627b560f186
BLAKE2b-256 4be10ec887790a926c06b8c1e7e486b93f12143871cff4e08abbb08ff0ea2daa

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.2-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.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 91eb865c440d3b8da3d12552e01b6b214d3dd1a6829d2a8f10f212b9dba54802
MD5 a55b6632b0fa0a7df2ca60b5c056a22f
BLAKE2b-256 be82162f3465a8941e1f0fdb65f4d0ca6f231381bd36793254b1ba1c7a7d5525

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.2-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.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 694a8fea1c8dcac1d42aec7ed1e45de8812af93ef15ffc75c07ba9fcd2e75dd9
MD5 1f2bede80dc65c874b03357405cab8d8
BLAKE2b-256 2d7c0810583e791431161e3ff985347fb5765d54d1b036844c980dc888a5a59f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
  • Upload date:
  • Size: 1.5 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.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 807721207ddca629f217011311e937b9b0a6b32f1d6e6e6a6befde0df975cbb9
MD5 7cc2302623e9e309ec287490f2dbfeae
BLAKE2b-256 77dfa8356b260aebd57db23365b788d07f3f4e3d524ebf8095d68bc71b673f0a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.2-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.2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c5a9b9c53dd1e85a882ff7e01d645f7c7ba708213fad8f06ff5538b15254762e
MD5 1648d48c4000bdb410b587765ca56e3f
BLAKE2b-256 1c37b8be3fea469a0a60f2135b489c9939a8caa4d47187af83952c8e9ad0fcb1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pegon-1.0.2-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.2-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c4ae91e171413d0448f39a4cbecd9a324ce5567dbc901903071f3c80623826e5
MD5 85013fb414ee493568c59ffa9b887cd9
BLAKE2b-256 bbd7e3bcf57d7e16cc2f4c18b2dd193861b3386883de3dfbd5a3c1df11e6e900

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