# Helix Language Server Configuration # Auto-format on save and LSP settings per language # ───────────────────────────────────────────────────────────── # Rust # ───────────────────────────────────────────────────────────── [[language]] name = "rust" auto-format = true [language-server.rust-analyzer.config] check.command = "clippy" cargo.features = "all" # ───────────────────────────────────────────────────────────── # Python # ───────────────────────────────────────────────────────────── [[language]] name = "python" auto-format = true language-servers = ["ruff", "pyright"] [language-server.ruff] command = "ruff" args = ["server"] [language-server.pyright] command = "pyright-langserver" args = ["--stdio"] # ───────────────────────────────────────────────────────────── # JavaScript/TypeScript # ───────────────────────────────────────────────────────────── [[language]] name = "javascript" auto-format = true formatter = { command = "prettier", args = ["--parser", "javascript"] } [[language]] name = "typescript" auto-format = true formatter = { command = "prettier", args = ["--parser", "typescript"] } [[language]] name = "tsx" auto-format = true formatter = { command = "prettier", args = ["--parser", "typescript"] } [[language]] name = "jsx" auto-format = true formatter = { command = "prettier", args = ["--parser", "javascript"] } # ───────────────────────────────────────────────────────────── # Web Languages # ───────────────────────────────────────────────────────────── [[language]] name = "html" auto-format = true formatter = { command = "prettier", args = ["--parser", "html"] } [[language]] name = "css" auto-format = true formatter = { command = "prettier", args = ["--parser", "css"] } [[language]] name = "json" auto-format = true formatter = { command = "prettier", args = ["--parser", "json"] } # ───────────────────────────────────────────────────────────── # Go # ───────────────────────────────────────────────────────────── [[language]] name = "go" auto-format = true # ───────────────────────────────────────────────────────────── # Shell # ───────────────────────────────────────────────────────────── [[language]] name = "bash" auto-format = true formatter = { command = "shfmt", args = ["-i", "4"] } [[language]] name = "fish" auto-format = false # ───────────────────────────────────────────────────────────── # Markdown # ───────────────────────────────────────────────────────────── [[language]] name = "markdown" auto-format = true formatter = { command = "prettier", args = ["--parser", "markdown"] } # ───────────────────────────────────────────────────────────── # TOML/YAML # ───────────────────────────────────────────────────────────── [[language]] name = "toml" auto-format = true [[language]] name = "yaml" auto-format = true formatter = { command = "prettier", args = ["--parser", "yaml"] } # ───────────────────────────────────────────────────────────── # Nix # ───────────────────────────────────────────────────────────── [[language]] name = "nix" auto-format = true formatter = { command = "nixfmt" }