Skip to content

Instantly share code, notes, and snippets.

@marioidival
Created February 5, 2025 11:17
Show Gist options
  • Save marioidival/c471fb206b83fbe36098c012b0886a65 to your computer and use it in GitHub Desktop.
Save marioidival/c471fb206b83fbe36098c012b0886a65 to your computer and use it in GitHub Desktop.
Helix Config
theme = "emacs"
[editor]
line-number = "relative"
mouse = false
true-color = true
text-width = 110
[editor.cursor-shape]
insert = "bar"
normal = "block"
select = "underline"
[editor.statusline]
left = ["mode", "spinner", "version-control"]
center = ["file-name"]
right = ["diagnostics", "selections", "position", "position-percentage", "file-encoding", "file-type"]
separator = "│"
mode.normal = "NORMAL"
mode.insert = "INSERT"
mode.select = "SELECT"
[editor.gutters]
layout = ["diff", "diagnostics", "line-numbers", "spacer"]
[editor.gutters.line-numbers]
min-width = 2
[keys.insert]
j = { k = "normal_mode" }
up = "no_op"
down = "no_op"
left = "no_op"
right = "no_op"
pageup = "no_op"
pagedown = "no_op"
home = "no_op"
end = "no_op"
[keys.normal]
";" = "command_mode"
[language-server.rust-analyzer]
command = "rust-analyzer"
[language-server.rust-analyzer.config]
inlayHints.bindingModeHints.enable = false
inlayHints.closingBraceHints.minLines = 10
inlayHints.closureReturnTypeHints.enable = "with_block"
inlayHints.discriminantHints.enable = "fieldless"
inlayHints.lifetimeElisionHints.enable = "skip_trivial"
inlayHints.typeHints.hideClosureInitialization = false
[language-server.ruff]
command = "ruff-lsp"
[[language]]
name = "python"
language-servers = [ "ruff" ]
auto-format = true
[language-server.gopls]
command = "gopls"
[language-server.gopls.config]
gofumpt = true
[[language]]
name = "go"
roots = ["go.work", "go.mod"]
auto-format = true
comment-token = "//"
language-servers = ["gopls"]
[language-server.haskell-language-server]
config.haskell.formattingProvider = "stylish-haskell" # default is "ormolu"
config.haskell.checkParents = "NeverCheck" # default is "OnSave"
config.haskell.maxCompletions = 2 # default is 40
[[language]]
name = "haskell"
roots = ["Setup.hs", "stack.yaml", "*.cabal"]
auto-format = true
[[language]]
name = "erlang"
auto-format = true
[[language]]
name = "bash"
language-servers = ["bash-language-server"]
auto-format = true

Comments are disabled for this gist.