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, but the parser covers only a small Julia subset, the formatter is currently a lossless passthrough, and no lint rules ship yet. See
TODO.mdfor the roadmap andAGENTS.mdfor the design tenets.
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 stdioConfiguration lives in fatou.toml ([format] line_width/indent_width,
[lint] select/ignore).
cargo build
cargo test
cargo clippy --all-targets --all-features -- -D warnings
cargo fmt -- --checkOr via task: task test, task lint, task format.
MIT — see LICENSE.