pi-lens
Version:
Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo
49 lines (44 loc) • 7.47 kB
Markdown
# Language Coverage
pi-lens supports **36+ languages** through dispatch runners and LSP integration.
Formatting uses a single selected formatter per file: explicit project config wins, otherwise pi-lens uses a smart default where supported, and config-first ecosystems do not autoformat without config.
Dispatch is diagnostics-oriented: automatic formatting and safe autofix happen in the post-write pipeline rather than through dispatch format-check runners.
| Language | LSP | Dispatch Runners | Formatter |
| --------------------- | --- | -------------------------------------------------------------------------------------------------------------- | ----------------------- |
| JavaScript/TypeScript | ✓ | lsp, ts-lsp, biome-check-json, tree-sitter, ast-grep-napi, type-safety, similarity, fact-rules, eslint, oxlint | biome, prettier |
| Python | ✓ | lsp, pyright, ruff-lint, tree-sitter | ruff, black |
| Go | ✓ | lsp, go-vet, golangci-lint, tree-sitter | gofmt |
| Rust | ✓ | lsp, rust-clippy, tree-sitter | rustfmt |
| Ruby | ✓ | lsp, rubocop, tree-sitter | rubocop, standardrb |
| C/C++ | ✓ | lsp, cpp-check, tree-sitter | clang-format |
| Shell | ✓ | lsp, shellcheck | shfmt |
| Fish | ✓ | lsp, fish-indent | fish_indent |
| CSS/SCSS/Less | ✓ | lsp, stylelint | biome, prettier |
| HTML | ✓ | lsp, htmlhint | prettier |
| YAML | ✓ | lsp, yamllint, actionlint (GitHub workflows) | prettier |
| JSON | ✓ | lsp | biome, prettier |
| Svelte | ✓ | lsp | — |
| Vue | ✓ | lsp | — |
| SQL | — | sqlfluff | sqlfluff |
| Markdown | — | spellcheck, markdownlint, vale | prettier |
| Docker | ✓ | lsp, hadolint | — |
| PHP | ✓ | lsp, php-lint, phpstan | php-cs-fixer |
| PowerShell | ✓ | lsp, psscriptanalyzer | psscriptanalyzer-format |
| Prisma | ✓ | lsp, prisma-validate | — |
| C# | ✓ | lsp, dotnet-build | csharpier |
| F# | ✓ | lsp | fantomas |
| Java | ✓ | lsp, javac | google-java-format |
| Java + Lombok | ✓ | JDT LS launched with `-javaagent:<lombok.jar>` when Lombok is detected and a jar is found (`PI_LENS_LOMBOK_JAR` / `LOMBOK_JAR`, project `.lombok/lombok.jar`, or Maven/Gradle cache) | google-java-format |
| Kotlin | ✓ | lsp, ktlint, detekt | ktlint |
| Swift | ✓ | lsp, swiftlint | swiftformat |
| Dart | ✓ | lsp, dart-analyze | dart format |
| Lua | ✓ | lsp | stylua |
| Zig | ✓ | lsp, zig-check | zig fmt |
| Haskell | ✓ | lsp | ormolu |
| Elixir | ✓ (ElixirLS default, Expert alternate) | lsp, elixir-check, credo | mix format |
| Gleam | ✓ | lsp, gleam-check | gleam format |
| OCaml | ✓ | lsp | ocamlformat |
| Clojure | ✓ | lsp | cljfmt |
| Terraform | ✓ | lsp, tflint | terraform fmt |
| Nix | ✓ | lsp | nixfmt |
| TOML | ✓ | lsp, taplo | taplo |
| CMake | ✓ | lsp | cmake-format |