Created
March 24, 2026 21:01
-
-
Save pengshp/3e9de86733c752ff60bc7bacadaeec76 to your computer and use it in GitHub Desktop.
Helix editor config
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # --------------- Python | |
| [[language]] | |
| name = "python" | |
| scope = "source.python" | |
| comment-token = "#" | |
| indent = { tab-width = 4, unit = " " } | |
| language-servers = [ | |
| "ruff", | |
| { name = "basedpyright", except-features = [ | |
| "format", | |
| ] }, | |
| ] | |
| formatter = { command = "ruff", args = ["format", "-"] } | |
| auto-format = true | |
| # ------------- golang | |
| [[language]] | |
| name = "go" | |
| scope = "source.go" | |
| injection-regex = "go" | |
| file-types = ["go"] | |
| roots = ["go.work", "go.mod"] | |
| auto-format = true | |
| comment-token = "//" | |
| block-comment-tokens = { start = "/*", end = "*/" } | |
| language-servers = ["gopls"] | |
| # TODO: gopls needs utf-8 offsets? | |
| indent = { tab-width = 4, unit = "\t" } | |
| # ------------- lua | |
| [[language]] | |
| name = "lua" | |
| injection-regex = "lua" | |
| scope = "source.lua" | |
| file-types = ["lua"] | |
| shebangs = ["lua", "luajit"] | |
| roots = [".luarc.json", ".luacheckrc", ".stylua.toml"] | |
| comment-token = "--" | |
| block-comment-tokens = { start = "--[[", end = "--]]" } | |
| indent = { tab-width = 2, unit = " " } | |
| language-servers = ["lua-language-server"] | |
| formatter = { command = "stylua", args = ["-"] } | |
| auto-format = true | |
| # -------------- toml | |
| [[language]] | |
| name = "toml" | |
| scope = "source.toml" | |
| injection-regex = "toml" | |
| file-types = ["toml", { glob = "Cargo.lock" }, { glob = "uv.lock" }] | |
| comment-token = "#" | |
| language-servers = ["tombi"] | |
| indent = { tab-width = 2, unit = " " } | |
| formatter = { command = "tombi", args = ["format", "-"] } | |
| auto-format = true | |
| # -------------- yaml | |
| [[language]] | |
| name = "yaml" | |
| scope = "source.yaml" | |
| file-types = ["yml", "yaml"] | |
| comment-token = "#" | |
| indent = { tab-width = 2, unit = " " } | |
| language-servers = ["yaml-language-server"] | |
| injection-regex = "yml|yaml" | |
| formatter = { command = "prettier", args = ["--parser", "yaml"] } | |
| auto-format = true | |
| # --------------- hcl | |
| [[language]] | |
| name = "hcl" | |
| scope = "source.hcl" | |
| injection-regex = "(hcl|tf|nomad)" | |
| language-id = "terraform" | |
| file-types = ["hcl", "tf", "nomad"] | |
| comment-token = "#" | |
| block-comment-tokens = { start = "/*", end = "*/" } | |
| indent = { tab-width = 2, unit = " " } | |
| language-servers = ["terraform-ls"] | |
| auto-format = true | |
| # --------------- kdl | |
| [[language]] | |
| name = "kdl" | |
| scope = "source.kdl" | |
| file-types = ["kdl"] | |
| comment-token = "//" | |
| block-comment-tokens = { start = "/*", end = "*/" } | |
| injection-regex = "kdl" | |
| # --------------- sql | |
| [[language]] | |
| name = "sql" | |
| scope = "source.sql" | |
| file-types = ["sql", "dsql"] | |
| comment-token = "--" | |
| block-comment-tokens = { start = "/*", end = "*/" } | |
| indent = { tab-width = 4, unit = " " } | |
| injection-regex = "sql" | |
| # --------------- dockerfile | |
| [[language]] | |
| name = "dockerfile" | |
| scope = "source.dockerfile" | |
| injection-regex = "docker|dockerfile" | |
| roots = ["Dockerfile", "Containerfile"] | |
| file-types = [ | |
| "Dockerfile", | |
| { glob = "Dockerfile" }, | |
| { glob = "Dockerfile.*" }, | |
| "dockerfile", | |
| { glob = "dockerfile" }, | |
| { glob = "dockerfile.*" }, | |
| "Containerfile", | |
| { glob = "Containerfile" }, | |
| { glob = "Containerfile.*" }, | |
| "containerfile", | |
| { glob = "containerfile" }, | |
| { glob = "containerfile.*" }, | |
| ] | |
| comment-token = "#" | |
| indent = { tab-width = 2, unit = " " } | |
| language-servers = ["docker-language-server"] | |
| # --------------- docker compose | |
| [[language]] | |
| name = "docker-compose" | |
| scope = "source.yaml.compose" | |
| roots = ["compose.yaml", "docker-compose.yaml"] | |
| language-servers = ["docker-compose-langserver", "yaml-language-server"] | |
| file-types = [{ glob = "compose.yaml" }, { glob = "docker-compose.yaml" }] | |
| formatter = { command = "prettier", args = ["--parser", "dockercompose"] } | |
| comment-token = "#" | |
| indent = { tab-width = 2, unit = " " } | |
| grammar = "yaml" | |
| # --------------- markdown | |
| [[language]] | |
| name = "markdown" | |
| scope = "text.md" | |
| injection-regex = "md|markdown" | |
| file-types = ["md", "markdown", { glob = "PULLREQ_EDITMSG" }] | |
| # roots = [".marksman.toml"] | |
| language-servers = ["rumdl"] | |
| indent = { tab-width = 2, unit = " " } | |
| block-comment-tokens = { start = "<!--", end = "-->" } | |
| # formatter = { command = "rumdl", args = ["fmt", "-", "--quiet"] } | |
| formatter = { command = "rumdl", args = ["check", "--fix", "--stdin"] } | |
| auto-format = true | |
| # soft-wrap.enable = true | |
| text-width = 80 | |
| # soft-wrap.wrap-at-text-width = true | |
| # --------------- css | |
| [[language]] | |
| name = "css" | |
| scope = "source.css" | |
| injection-regex = "css" | |
| file-types = ["css", "scss"] | |
| block-comment-tokens = { start = "/*", end = "*/" } | |
| language-servers = ["vscode-css-language-server"] | |
| auto-format = true | |
| indent = { tab-width = 4, unit = " " } | |
| formatter = { command = "prettier", args = [ | |
| "--parser", | |
| "css", | |
| "--tab-width", | |
| "4", | |
| ] } | |
| # --------------- json | |
| [[language]] | |
| name = "json" | |
| scope = "source.json" | |
| file-types = ["json", "jsonc"] | |
| language-servers = ["vscode-json-language-server"] | |
| auto-format = true | |
| formatter = { command = "prettier", args = [ | |
| "--parser", | |
| "json", | |
| "--tab-width", | |
| "4", | |
| ] } | |
| # --------------- bash | |
| [[language]] | |
| name = "bash" | |
| scope = "source.bash" | |
| injection-regex = "(shell|bash|zsh|sh)" | |
| shebangs = ["sh", "bash", "dash", "zsh"] | |
| file-types = ["sh", "bash", "zsh"] | |
| comment-token = "#" | |
| language-servers = ["bash-language-server"] | |
| indent = { tab-width = 4, unit = " " } | |
| formatter = { command = "shfmt", args = ["-i", "4"] } | |
| auto-format = true | |
| # --------------- log | |
| [[language]] | |
| name = "log" | |
| scope = "source.log" | |
| file-types = ["log"] | |
| # --------------- hyprlang | |
| [[language]] | |
| name = "hyprlang" | |
| scope = "source.hyprlang" | |
| roots = ["hyprland.conf"] | |
| file-types = [ | |
| { glob = "hyprland.conf" }, | |
| { glob = "hyprpaper.conf" }, | |
| { glob = "hypridle.conf" }, | |
| { glob = "hyprlock.conf" }, | |
| ] | |
| comment-token = "#" | |
| grammar = "hyprlang" | |
| [language-server.ruff] | |
| command = "ruff" | |
| args = ["server"] | |
| [language-server.basedpyright] | |
| command = "basedpyright-langserver" | |
| args = ["--stdio"] | |
| [language-server.basedpyright.config] | |
| basedpyright.analysis.diagnosticMode = "openFilesOnly" | |
| [language-server.gopls] | |
| command = "gopls" | |
| args = ["-logfile=/tmp/gopls.log", "serve"] | |
| [language-server.gopls.config] | |
| gofumpt = true | |
| ui.diagnostic.staticcheck = true | |
| # ------------- ansible | |
| [language-server.ansible-language-server] | |
| command = "ansible-language-server" | |
| args = ["--stdio"] | |
| [language-server.lua-language-server] | |
| command = "lua-language-server" | |
| args = ["--locale=zh-cn"] | |
| [language-server.lua-language-server.config.Lua.hint] | |
| enable = false | |
| setType = true | |
| paramName = "All" | |
| paramType = false | |
| await = true | |
| [language-server.tombi] | |
| command = "tombi" | |
| args = ["lsp"] | |
| [language-server.yaml-language-server] | |
| command = "yaml-language-server" | |
| args = ["--stdio"] | |
| [language-server.terraform-ls] | |
| command = "terraform-ls" | |
| args = ["serve"] | |
| [language-server.docker-language-server] | |
| command = "docker-language-server" | |
| args = ["start", "--stdio"] | |
| [language-server.docker-compose-langserver] | |
| command = "docker-language-server" | |
| args = ["start", "--stdio"] | |
| [language-server.rumdl] | |
| command = "rumdl" | |
| args = ["server"] | |
| [language-server.hx-lsp] | |
| command = "hx-lsp" | |
| [language-server.vscode-css-language-server] | |
| command = "vscode-css-language-server" | |
| args = ["--stdio"] | |
| config = { provideFormatter = true } | |
| css = { validate = { enable = true } } | |
| [language-server.vscode-json-language-server] | |
| command = "vscode-json-language-server" | |
| args = ["--stdio"] | |
| config = { provideFormatter = true, json = { validate = { enable = true } } } | |
| [language-server.bash-language-server] | |
| command = "bash-language-server" | |
| args = ["start"] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment