dotfiles/.config/helix/languages.toml

227 lines
5.8 KiB
TOML

# [language-server.basedpyright]
# command = "basedpyright"
[language-server.basedpyright.config.basedpyright.analysis]
typeCheckingMode = "standard"
inlayHints.genericTypes = true
[language-server.harper-ls]
command = "harper-ls"
args = ["--stdio"]
# Config example
# [language-server.harper-ls.config.harper-ls]
# diagnosticSeverity = "warning"
[language-server.harper-ls.config.harper-ls.linters]
LongSentences = false
[language-server.lua-language-server.config.Lua]
workspace.library = [
"/usr/share/nvim/runtime/lua",
"/home/fic/.config/nvim/lua",
]
[language-server.tinymist]
command = "tinymist"
[language-server.tinymist.config]
exportPdf = "onType"
formatterMode = "typstyle"
[[language]]
name = "typst"
auto-format = true
language-servers = ["tinymist", "harper-ls"]
[language-server.buffer-language-server]
command = "buffer-language-server"
[language-server.scls]
command = "simple-completion-language-server"
[language-server.scls.config]
max_completion_items = 100 # set max completion results len for each group: words, snippets, unicode-input
feature_words = true # enable completion by word
feature_snippets = true # enable snippets
snippets_first = true # completions will return before snippets by default
snippets_inline_by_word_tail = false # suggest snippets by WORD tail, for example text `xsq|` become `x^2|` when snippet `sq` has body `^2`
feature_unicode_input = false # enable "unicode input"
feature_paths = false # enable path completion
feature_citations = false # enable citation completion (only on `citation` feature enabled)
# write logs to /tmp/completion.log
[language-server.scls.environment]
RUST_LOG = "info,simple-completion-language-server=info"
LOG_FILE = "/tmp/completion.log"
[[language]]
name = "toml"
roots = ["."]
language-servers = ["taplo", "scls"]
auto-format = false
[language-server.iwe]
command = "iwes"
[[language]]
name = "markdown"
file-types = ["md", "livemd", "markdown", "mdx", "mkd", "mkdn", "mdwn", "mdown", "markdn", "mdtxt", "mdtext", "workbook", { glob = "PULLREQ_EDITMSG" } ]
# language-servers = ["ltex-ls-plus", "marksman", "scls"]
language-servers = ["harper-ls", "marksman", "scls"]
formatter = { command = "dprint", args = ["fmt", "--stdin", "md", "-c", "~/.dprint.jsonc"] }
# depends on aerc
auto-format = false
[[language]]
name = "stub"
scope = "text.stub"
file-types = []
shebangs = []
roots = []
auto-format = false
language-servers = ["scls"]
[language-server.texlab.config.texlab.build]
onSave = true
[[language]]
name = "mail"
# scope = "text.mail"
# file-types = ["eml"]
# file-types = [
# "eml"
# ]
language-servers = ["harper-ls"]
# injection-regex = "mail|eml|email"
# [[language]]
# name = "aerc"
# scope = "text.aerc"
# file-types = [{ glob = "/tmp/aerc-compose-*.eml" }]
# # shebangs = []
# # roots = []
# auto-format = true
# formatter = { command = "/usr/lib/aerc/filters/wrap", args = ["-w", "74"] }
# [[grammar]]
# name = "aerc"
# source = { path = "/home/fic/tools/tree-sitter-markdown/tree-sitter-markdown"}
# # source = { git = "https://github.com/tree-sitter-grammars/tree-sitter-markdown", rev = "62516e8c78380e3b51d5b55727995d2c511436d8", subpath = "tree-sitter-markdown" }
[[grammar]]
name = "ini"
source = { git = "https://github.com/justinmk/tree-sitter-ini", rev = "32b31863f222bf22eb43b07d4e9be8017e36fb31" }
# [[grammar]]
# name = "ini"
# source.path = "/home/fic/dev/tree-sitter-ini"
[[language]]
scope = "source.ini"
injection-regex = "ini"
comment-token = "#"
indent = { tab-width = 4, unit = "\t" }
name = "ini"
language-servers = ["scls"]
file-types = [
"ini",
# Systemd unit files
"service",
"automount",
"device",
"mount",
"path",
"service",
"slice",
"socket",
"swap",
"target",
"timer",
# Podman quadlets
"container",
"volume",
"kube",
"network",
{ glob = ".editorconfig" },
{ glob = ".npmrc" },
{ glob = "hgrc" },
{ glob = "npmrc" },
{ glob = "rclone.conf" },
{ glob = "*/stylesets/*" },
{ glob = ".notmuch-config" },
# { glob = "config" },
"conf",
"properties",
"cfg",
"directory",
]
[[grammar]]
name = "vim"
source = { git = "https://github.com/tree-sitter-grammars/tree-sitter-vim", rev = "f3cd62d8bd043ef20507e84bb6b4b53731ccf3a7" }
[[language]]
name = "vim"
scope = "source.vim"
injection-regex = "vim"
comment-token = '"'
indent = { tab-width = 4, unit = "\t" }
file-types = [
"vim",
{ glob = ".vimrc" },
]
# [[grammar]]
# name = "mail"
# source.path = "/home/fic/dev/tree-sitter-mail"
# source.rev = "5f869321f8c8"
# source = { git = "https://github.com/stevenxxiu/tree-sitter-mail", rev = "e3d63ac2093e22777cb30d70b9264f48814622ad" }
[[language]]
name = "devicetree"
file-types = ["dts", "dtsi", "keymap"]
# 6557729f4afaf01dec7481d4e5975515ea8f0edd
[[grammar]]
name = "devicetree"
source = { git = "https://github.com/joelspadin/tree-sitter-devicetree", rev = "6557729f4afaf01dec7481d4e5975515ea8f0edd" }
[[language]]
name = "test"
scope = "source.test"
file-types = [{ glob = "test/corpus/*.txt" }]
[[grammar]]
name = "test"
source = { git = "https://github.com/tree-sitter-grammars/tree-sitter-test", rev = "93746e2e387ae757d21088ab0ab5657efffb973e" }
[[language]]
name = "mail"
scope = "text.mail"
file-types = ["eml"]
injection-regex = "mail|eml|email"
[[grammar]]
name = "mail"
source = { git = "https://github.com/ficcdaf/tree-sitter-mail", rev = "8e60f38efbae1cc5f22833ae13c5500dd0f3b12f" }
# source = { path = "/home/fic/dev/tree-sitter-mail"}
# [[language]]
# name = "config"
# scope = "text.config"
# file-types = [
# {glob = "config"}
# ]
# comment-token='#'
[[language]]
name = "python"
language-servers = ["basedpyright"]
formatter = { command = "ruff", args = ["format", "--line-length", "88", "-"] }
[[language]]
name = "kdl"
auto-format = true
# Configure kdlfmt to use stdin
formatter = { command = "kdlfmt", args = ["format", "-"] }