[[language]] name = "rust" scope = "source.rust" injection-regex = "rust" grammar = "rust" file-types = ["rs"] roots = ["Cargo.toml", "Cargo.lock", "tailwind.config.js"] language-servers = ["rust-analyzer", "tailwindcss-language-server"] formatter = { command = "dprint", args = ["fmt", "--stdin", "rs"] } auto-format = true [[grammar]] name = "rust_with_rstml" source = { git = "https://github.com/rayliwell/tree-sitter-rstml", rev = "c0a807f052c80575e2b5e2c0e01a5c65baaaa08c", subpath = "rust_with_rstml" } [language-server.rust-analyzer.config] cargo.allFeatures = true check.command = "clippy" except-features = ["format"] diagnostics = { experimental = { enable = true } } hover = { actions = { enable = true } } typing = { autoClosingAngleBrackets = { enable = true } } procMacro = { enable = true } [language-server.tailwindcss-language-server] command = "tailwindcss-language-server" args = ["--stdio"] config = { userLanguages = { rust = "html", "*.rs" = "html" }, tailwindCSS = { experimental = { classRegex = ['(class="(.*?)"|.class\("(.*?)"\)|.trace\("(.*?)"\)|.inline\("(.*?)"\)|(_?)(CLASSES|classes|CLASS|class)(:\s(&str|&\x27static str|String))?.=.(String::new\("(.*?)"\)|String::from\("(.*?)"\)|"(.*?)"))'] } } } # [language-server.dprint-language-server] # command = "dprint" # args = ["lsp"] [[language]] name = "html" file-types = ["html"] language-servers = [ "vscode-html-language-server", "tailwindcss-language-server", ] formatter = { command = "dprint", args = ["fmt", "--stdin", "html"] } auto-format = true [language-server.vscode-html-language-server] command = "vscode-html-language-server" args = ["--stdio"] [[language]] name = "css" file-types = ["css"] language-servers = ["vscode-css-language-server", "tailwindcss-language-server"] formatter = { command = "dprint", args = ["fmt", "--stdin", "css"] } auto-format = true [language-server.vscode-css-language-server] command = "vscode-css-language-server" args = ["--stdio"] [language-server.vscode-css-language-server.config] css = { validate = { enable = true } } scss = { validate = { enable = true } } less = { validate = { enable = true } } provideFormatter = true [[language]] name = "json" file-types = ["json"] language-servers = ["vscode-json-language-server"] formatter = { command = "dprint", args = ["fmt", "--stdin", "json"] } auto-format = true [[language]] name = "jsonc" file-types = ["jsonc"] language-servers = ["vscode-json-language-server"] formatter = { command = "dprint", args = ["fmt", "--stdin", "jsonc"] } auto-format = true [language-server.vscode-json-language-server] command = "vscode-json-language-server" args = ["--stdio"] [[language]] name = "javascript" file-types = ["js", "jsx"] language-servers = ["typescript-language-server"] formatter = { command = "dprint", args = ["fmt", "--stdin", "js"] } auto-format = true [[language]] name = "typescript" file-types = ["js", "jsx"] language-servers = ["typescript-language-server"] formatter = { command = "dprint", args = ["fmt", "--stdin", "ts"] } auto-format = true [[language]] name = "jsx" language-servers = ["typescript-language-server"] formatter = { command = "dprint", args = ["fmt", "--stdin", "jsx"] } auto-format = true [[language]] name = "tsx" language-servers = ["typescript-language-server"] formatter = { command = "dprint", args = ["fmt", "--stdin", "tsx"] } auto-format = true [[language]] name = "toml" file-types = ["toml"] roots = ["."] language-servers = ["taplo"] formatter = { command = "dprint", args = ["fmt", "--stdin", "toml"] } auto-format = true [language-server.taplo] command = "taplo" args = ["lsp", "stdio"] [language-server.taplo.config] root_dir = [".git", "*.toml"] [[language]] name = "markdown" file-types = ["md"] language-servers = ["marksman"] formatter = { command = "dprint", args = ["fmt", "--stdin", "md"] } auto-format = true