dotfiles/.config/helix/languages.toml

139 lines
3.5 KiB
TOML
Raw Normal View History

2025-02-06 20:15:20 +01:00
[[language]]
name = "rust"
auto-format = true
roots = [
"Cargo.toml",
"Cargo.lock"
]
[language.auto-pairs]
'(' = ')'
'{' = '}'
'[' = ']'
'"' = '"'
'`' = '`'
[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]]
name = "ai-chat"
language-servers = ["lsp-ai"]
scope = "my-lsp-ai"
file-types = [ { glob = "my-ai-chat.md" } ]
##############################
## Configuration for lsp-ai ##
##############################
[language-server.lsp-ai]
command = "lsp-ai"
[language-server.lsp-ai.config.memory]
file_store = { }
[language-server.lsp-ai.config.models.model1]
type = "mistral_fim"
# fim_endpoint = "https://api.mistral.ai/v1/chat/completions"
fim_endpoint = "https://codestral.mistral.ai/v1/chat/completions"
model = "codestral-latest"
auth_token_env_var_name = "CODESTRAL_API_KEY"
[language-server.lsp-ai.config.models.model2]
type = "mistral_fim"
# fim_endpoint = "https://api.mistral.ai/v1/fim/completions"
fim_endpoint = "https://codestral.mistral.ai/v1/fim/completions"
model = "codestral-latest"
auth_token_env_var_name = "CODESTRAL_API_KEY"
# auth_token_env_var_name = "MISTRAL_API_KEY"
[language-server.lsp-ai.config.models.model3]
type = "anthropic"
chat_endpoint = "https://api.anthropic.com/v1/messages"
model = "claude-3-5-sonnet-20240620"
auth_token_env_var_name = "ANTHROPIC_API_KEY"
[[language-server.lsp-ai.config.chat]]
trigger = "!C"
action_display_name = "Chat"
model = "model1"
[language-server.lsp-ai.config.chat.parameters]
max_context = 4096
max_tokens = 1024
system = "You are a code assistant chatbot. The user will ask you for assistance coding and you will do you best to answer succinctly and accurately"
[language-server.lsp-ai.config.completion]
model = "model2"
[language-server.lsp-ai.config.completion.parameters]
max_tokens = 64
max_context = 1024
[language-server.jinja-lsp]
command = "jinja-lsp"
config = { templates = "./templates", backend = ["./src"], lang = "rust"}
timeout = 5
[[language]]
name = "jinja"
language-servers = ["jinja-lsp"]
[[language]]
name = "python"
language-id = "python"
roots = ["pyproject.toml", "setup.py", "poetry.lock", ".git", ".jj", ".venv/"]
language-servers = ["ruff", "pyright", "lsp-ai"]
auto-format = true
# formatter = { command = "black", args = ["--quiet", "-", "--line-length=80"] }
formatter = { command = "ruff", args = ["format", "-" ] }
file-types = ["py", "ipynb"]
comment-token = "#"
shebangs = ["python"]
[language-server.pyright]
command = "pyright-langserver"
args = ["--stdio"]
[language-server.ruff]
command = "ruff"
args = ["server"]
environment = { "RUFF_TRACE" = "messages" }
[language-server.ruff.config.settings]
lineLength = 80
logLevel = "debug"
[language-server.ruff.config.settings.lint]
# select = ["E", "F", "W", "B", "I", "RUF", "N", "LOG", "ERA", "W", "D", "UP", "ANN", "ASYNC", "S", "RET", "TCH", "ARG", "PTH", "DOC"]
preview = true
[language-server.ruff.config.settings.format]
preview = true
# quote-style = "double"
docstring-code-format = true
# indent-style = "space"
2025-02-06 20:15:20 +01:00
[[language]]
name = "rust"
language-servers = ["rust-analyzer", "lsp-ai"]
[language-server.tinymist]
command = "tinymist"
[[language]]
name = "typst"
language-servers = ["tinymist", "lsp-ai"]