337 lines
8.4 KiB
TOML
337 lines
8.4 KiB
TOML
# [language-server.basedpyright]
|
|
# command = "basedpyright"
|
|
# [language-server.basedpyright]
|
|
# command = "basedpyright"
|
|
# args = ["--stdio"]
|
|
[language-server.basedpyright.config.basedpyright.analysis]
|
|
typeCheckingMode = "standard"
|
|
inlayHints.genericTypes = true
|
|
|
|
# [language-server.yaml-language-server.config.yaml]
|
|
# format = {enable = true}
|
|
# validation = true
|
|
|
|
[language-server.codebook]
|
|
command = "codebook-lsp"
|
|
args = ["serve"]
|
|
|
|
[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 = "never"
|
|
# 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"]
|
|
language-servers = ["codebook", "marksman", "scls"]
|
|
# formatter = { command = "/home/fic/.config/helix/scripts/format_markdown.fish", args = [] }
|
|
formatter = { command = "dprint", args = ["fmt", "--stdin", "md"] }
|
|
# depends on aerc
|
|
auto-format = false
|
|
|
|
[language.auto-pairs]
|
|
"'" = "'"
|
|
'(' = ')'
|
|
'{' = '}'
|
|
'[' = ']'
|
|
'"' = '"'
|
|
# disable backtick autopair because it's annoying af on code blocks
|
|
# '`' = '`'
|
|
|
|
|
|
[[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", "scls"]
|
|
# 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",
|
|
"desktop",
|
|
# 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 = '"'
|
|
language-servers = ["scls"]
|
|
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"]
|
|
language-servers = ["scls"]
|
|
# 6557729f4afaf01dec7481d4e5975515ea8f0edd
|
|
[[grammar]]
|
|
name = "devicetree"
|
|
source = { git = "https://github.com/joelspadin/tree-sitter-devicetree", rev = "6557729f4afaf01dec7481d4e5975515ea8f0edd" }
|
|
|
|
|
|
[[language]]
|
|
name = "test"
|
|
scope = "source.test"
|
|
language-servers = ["scls"]
|
|
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-server.ruff.config.settings]
|
|
lineLength = 80
|
|
configurationPreference = "filesystemFirst"
|
|
|
|
[language-server.ruff.config.settings.lint]
|
|
preview = true
|
|
[language-server.ruff.config.settings.format]
|
|
preview = true
|
|
|
|
[[language]]
|
|
name = "python"
|
|
language-servers = ["basedpyright", "ruff", "codebook", "typos-lsp"]
|
|
auto-format = true
|
|
# ruff LSP can format too, including range format
|
|
# formatter = { command = "ruff", args = ["format", "-"] }
|
|
# formatter = { command = "ruff", args = ["format", "--line-length", "79", "-"] }
|
|
|
|
[[language]]
|
|
name = "kdl"
|
|
auto-format = true
|
|
# Configure kdlfmt to use stdin
|
|
formatter = { command = "kdlfmt", args = ["format", "-"] }
|
|
|
|
[language-server.typos-lsp]
|
|
command = "typos-lsp"
|
|
|
|
[[language]]
|
|
name = "go"
|
|
scope = "source.go"
|
|
injection-regex = "go"
|
|
file-types = ["go"]
|
|
roots = ["go.work", "go.mod"]
|
|
auto-format = true
|
|
formatter = { command = "goimports" }
|
|
comment-token = "//"
|
|
block-comment-tokens = { start = "/*", end = "*/" }
|
|
language-servers = ["gopls", "typos-lsp", "scls", "codebook", "typos-lsp"]
|
|
# TODO: gopls needs utf-8 offsets?
|
|
indent = { tab-width = 4, unit = "\t" }
|
|
|
|
[[language]]
|
|
name = "git-commit"
|
|
language-servers = ["scls"]
|
|
|
|
# [language-server.just-lsp]
|
|
# command = "just-lsp"
|
|
|
|
[[language]]
|
|
name = "just"
|
|
auto-format = true
|
|
formatter = { command = "just-formatter" } # See https://github.com/eli-yip/just-formatter
|
|
|
|
# scope = "source.just"
|
|
# file-types = [
|
|
# "just",
|
|
# { glob = "justfile" },
|
|
# { glob = "Justfile" },
|
|
# { glob = ".justfile" },
|
|
# { glob = ".Justfile" },
|
|
# ]
|
|
# injection-regex = "just"
|
|
# comment-token = "#"
|
|
# indent = { tab-width = 4, unit = " " }
|
|
# auto-format = true
|
|
# formatter = { command = "just-formatter" }
|
|
# # formatter = { command = "just", args = ['--justfile', '/dev/stdin', '--dump'] }
|
|
# # formatter = { command = "fish", args = ["-c", "justfmt"] }
|
|
# # formatter = { command = "just", args = ["--dump"] } # Please see: https://github.com/helix-editor/helix/issues/9703
|
|
# language-servers = ["just-lsp", "scls"]
|
|
|
|
|
|
[[language]]
|
|
name = "yaml"
|
|
auto-format = true
|
|
formatter = { command = "yamlfmt", args = ['-'] }
|
|
|
|
[language-server.fish-lsp]
|
|
command = "/home/fic/.config/helix/scripts/fish-lsp.fish"
|
|
|
|
[[language]]
|
|
name = "fish"
|
|
language-servers = ["fish-lsp"]
|
|
auto-format = true
|