[language-server.gpt]
command = "helix-gpt"
args = ["--stdio", "--handler codeium"]

[language-server.emmet-ls]
command = "emmet-ls"
args = ["--stdio"]

[language-server.eslint]
command = "vscode-eslint-language-server"
args = ["--stdio"]

[language-server.eslint.config]
codeActionsOnSave = { mode = "all", "source.fixAll.eslint" = true }
format = { enable = true }
nodePath = ""
quiet = false
rulesCustomizations = []
run = "onType"
validate = "on"
experimental = {}
problems = { shortenToSingleLine = false }
provideFormatter = true

[language-server.eslint.config.codeAction]
disableRuleComment = { enable = true, location = "separateLine" }
showDocumentation = { enable = false }

[language-server.vscode-json-language-server.config]
json = { validate = { enable = true }, format = { enable = true } }
provideFormatter = true

[language-server.vscode-css-language-server.config]
css = { validate = { enable = true } }
scss = { validate = { enable = true } }
less = { validate = { enable = true } }
provideFormatter = true

[language-server.typescript-language-server]
command = "typescript-language-server"
args = ["--stdio"]
config.hostInfo = "helix"
config.plugins = [
  { name = "@vue/typescript-plugin", location = "/home/normankoehring/.nvm/versions/node/v20.12.2/lib/node_modules/@vue/typescript-plugin", languages = ["javascript", "typescript", "vue"] }
]

[language-server.vue-language-server]
command = "vue-language-server"
args = ["--stdio"]
config.hostInfo = "helix"
config.typescript = { tsdk = "/home/normankoehring/.nvm/versions/node/v20.12.2/lib/node_modules/typescript/lib" }

[language-server.vls]
command = "v"
args = ["ls", "--stdio"]
config.hostInfo = "helix"

[language-server.scls]
command = "simple-completion-language-server"

[language-server.scls.config]
max_completion_items = 10     # set max completion results len for each group: words, snippets, unicode-input
snippets_first = true         # completions will return before snippets by default
feature_words = true          # enable completion by word
feature_snippets = true       # enable snippets
feature_unicode_input = true  # enable "unicode input"
feature_paths = true          # enable path completion

[[language]]
name = "typescript"
auto-format = true
language-servers = [ "typescript-language-server", "eslint", "emmet-ls", "scls", "gpt" ]
formatter = { command = "prettier", args = [ "--parser", "typescript" ] }

[[language]]
name = "javascript"
language-servers = [ "typescript-language-server", "eslint", "emmet-ls", "scls", "gpt" ]
formatter = { command = "prettier", args = [ "--parser", "typescript" ] }
auto-format = true

[[language]]
name = "json"
formatter = { command = "prettier", args = [ "--parser", "json" ] }
auto-format = true

[[language]]
name = "html"
language-servers = [ "vscode-html-language-server", "emmet-ls", "scls", "gpt" ]
formatter = { command = 'prettier', args = ["--parser", "html"] }
auto-format = true
[language.auto-pairs]
'(' = ')'
'{' = '}'
'[' = ']'
'"' = '"'
"'" = "'"
'`' = '`'
'<' = '>'

[[language]]
name = "css"
language-servers = [ "vscode-css-language-server", "scls", "gpt" ]
formatter = { command = 'prettier', args = ["--parser", "css"] }
auto-format = true

[[language]]
name = "vue"
auto-format = true
scope = "source.vue"
injection-regex = "vue"
file-types = ["vue"]
language-servers = [ "scls", "vue-language-server", "eslint", "gpt" ]
formatter = {command = 'prettier', args= ["--parser", "vue"]}
roots = ["package.json", "vue.config.js", ".prettierrc.json"]
[language.auto-pairs]
'(' = ')'
'{' = '}'
'[' = ']'
'"' = '"'
"'" = "'"
'`' = '`'
'<' = '>'

[[language]]
name = "v"
auto-format = true
language-servers = [ "scls", "vls" ]
file-types = ["v"]
roots = ["v.mod"]

[[language]]
name = "zig"
auto-format = true
file-types = ["zig", "c", "cpp", "h", "hpp"]

[[language]]
name = "git-commit"
language-servers = [ "scls" ]
