Skip to content

jolars/fatou

Repository files navigation

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, but the parser covers only a small Julia subset, the formatter is currently a lossless passthrough, 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).

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.

About

Julia language server, formatter, and linter built in Rust

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages