Skip to main content

A language server, formatter, and linter for Julia

Project description

Fatou

A language server, formatter, and linter for Julia, written in Rust.

Fatou follows the rust-analyzer design (a lossless rowan CST, salsa for incremental computation, and lsp-server for the language-server transport) and is modeled directly on the author's R tooling project, arity.

Status: early groundwork. The full architecture is in place; the parser covers a growing Julia subset, the formatter has started landing per-construct layout rules (gated by hand-authored fixtures), and no lint rules ship yet. See TODO.md for the roadmap and AGENTS.md for the design tenets.

Usage

fatou parse <file.jl>          # print the CST (stdin if no file)
fatou format <file.jl>         # format to stdout (stdin if omitted)
fatou format --check <dir>     # check formatting; non-zero exit if any differ
fatou lint --check <dir>       # lint
fatou lsp                      # run the language server on stdio

Configuration lives in fatou.toml ([format] line_width/indent_width, [lint] select/ignore).

Editor integration

The language server (fatou lsp) provides formatting and parse diagnostics over stdio. See docs/editors/neovim.md for a Neovim setup.

Development

cargo build
cargo test
cargo clippy --all-targets --all-features -- -D warnings
cargo fmt -- --check

Or via task: task test, task lint, task format.

License

MIT—see LICENSE.

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

fatou-0.3.0.tar.gz (198.1 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

fatou-0.3.0-py3-none-win_arm64.whl (1.7 MB view details)

Uploaded Python 3Windows ARM64

fatou-0.3.0-py3-none-win_amd64.whl (1.7 MB view details)

Uploaded Python 3Windows x86-64

fatou-0.3.0-py3-none-musllinux_1_2_x86_64.whl (1.9 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

fatou-0.3.0-py3-none-musllinux_1_2_aarch64.whl (1.7 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

fatou-0.3.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.8 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

fatou-0.3.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.7 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

fatou-0.3.0-py3-none-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

fatou-0.3.0-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 fatou-0.3.0.tar.gz.

File metadata

  • Download URL: fatou-0.3.0.tar.gz
  • Upload date:
  • Size: 198.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fatou-0.3.0.tar.gz
Algorithm Hash digest
SHA256 a7c182cb3fc566900c6f9c46b824e820bcbf62609dbfd6cc1c791ef87f6c9aed
MD5 c07b0315ca1481e536fa5125f4cbfb20
BLAKE2b-256 7411af2cf4e5cfb618f844440aec9d4371ea3115dc138e4bc43f69f156621e29

See more details on using hashes here.

Provenance

The following attestation bundles were made for fatou-0.3.0.tar.gz:

Publisher: publish-pypi.yml on jolars/fatou

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fatou-0.3.0-py3-none-win_arm64.whl.

File metadata

  • Download URL: fatou-0.3.0-py3-none-win_arm64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: Python 3, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fatou-0.3.0-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 41df7408604c599ffbb43b0c72519bfd1c75980b167b817e22b138089feaffa5
MD5 159b66700d661bd0a54c6d172f767365
BLAKE2b-256 b0d91ded50b2ea3fac07ace2a01d5fa4d0657e08d53a0f4df21f0605dc7fd853

See more details on using hashes here.

Provenance

The following attestation bundles were made for fatou-0.3.0-py3-none-win_arm64.whl:

Publisher: publish-pypi.yml on jolars/fatou

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fatou-0.3.0-py3-none-win_amd64.whl.

File metadata

  • Download URL: fatou-0.3.0-py3-none-win_amd64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fatou-0.3.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 197e3c49c2d29fb327fb19ff8f00e92567cf1846dceaca0a3bbed3da33d394fa
MD5 1ec9e98245e7756edd38f33d905f0852
BLAKE2b-256 9186cc6caa9219476b27e1f496ee2f61e3210bb2ad0007b5277a15aef81d7c33

See more details on using hashes here.

Provenance

The following attestation bundles were made for fatou-0.3.0-py3-none-win_amd64.whl:

Publisher: publish-pypi.yml on jolars/fatou

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fatou-0.3.0-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for fatou-0.3.0-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0325acfde0515346cbe69b2754ae0ec41a5f7968d1a55cbb65469eec981d95f7
MD5 52ea0ebc0ef0c8a0a565b1ae6f670536
BLAKE2b-256 e87a78c59ec1171e8a1091790ac98148777ef087d307fb80864a193013663cad

See more details on using hashes here.

Provenance

The following attestation bundles were made for fatou-0.3.0-py3-none-musllinux_1_2_x86_64.whl:

Publisher: publish-pypi.yml on jolars/fatou

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fatou-0.3.0-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for fatou-0.3.0-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 56dd1f30671452d2c0dd0503340743ce9799afbd17c0efd366b6c21bef9b1948
MD5 487fe2267e47b0e16342822fd00c5716
BLAKE2b-256 7ea16a6e79b68f5a166ad3f24bedff7e0779d7cbc8c056d445a6abf3b01c2720

See more details on using hashes here.

Provenance

The following attestation bundles were made for fatou-0.3.0-py3-none-musllinux_1_2_aarch64.whl:

Publisher: publish-pypi.yml on jolars/fatou

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fatou-0.3.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fatou-0.3.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bac885960c08ed87a43527a37102576847f8d9d079d469ff03544c41858dd9c6
MD5 648f7a214587bcb6e5e965eb22709811
BLAKE2b-256 c8b328fd2c67bf466dc2a2bd367e6f4e085c297c059723d21fab2974306523ed

See more details on using hashes here.

Provenance

The following attestation bundles were made for fatou-0.3.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish-pypi.yml on jolars/fatou

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fatou-0.3.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fatou-0.3.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c34e937f7dadc9482724c7be552c310ce9fafb81e9533d59ab1fb7f0c068dee4
MD5 9705adb640c0d4d7933590890bd32f19
BLAKE2b-256 eeb30bb9cd4731def093c2c82ce71ff1ad8d9c43f6389c36d29fb8685b716f69

See more details on using hashes here.

Provenance

The following attestation bundles were made for fatou-0.3.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish-pypi.yml on jolars/fatou

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fatou-0.3.0-py3-none-macosx_11_0_arm64.whl.

File metadata

  • Download URL: fatou-0.3.0-py3-none-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: Python 3, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fatou-0.3.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8cde6430230ca2d776e24bbbd4d7214d311473f86cf2407e17040677f1367706
MD5 04a4535d616839c3528a68ec39c7617d
BLAKE2b-256 1fb92da25d67cdf1bb6b78c704fe4452eb1dd8926ff8754c1ef65a3228d48d68

See more details on using hashes here.

Provenance

The following attestation bundles were made for fatou-0.3.0-py3-none-macosx_11_0_arm64.whl:

Publisher: publish-pypi.yml on jolars/fatou

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fatou-0.3.0-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for fatou-0.3.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a84307f9f83f2eeafa84ed67225d24a0b5a74ff816265d13178655328397cfb2
MD5 d407850ebc5200ef8d9ece792e46ab26
BLAKE2b-256 2b4cfbd063e45c4638110260c253a16645f329aaf6a834b947d312a4ca02c65a

See more details on using hashes here.

Provenance

The following attestation bundles were made for fatou-0.3.0-py3-none-macosx_10_12_x86_64.whl:

Publisher: publish-pypi.yml on jolars/fatou

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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