nvim/lsp/autohotkey_lsp.lua
Simon Lasbrugnas a2e5555c64
fix(lsp)!: actually use the root lsp/ folder and remove
lua/custom/lsp/** configs

This commit removes the need for nvim-lspconfig which is replaced by the
vim.lsp API.

The lsp/ folder is a copy of nvim-lspconfig's lsp/ folder as it makes it
easy to modify LSP configurations on the fly.

Conform: biome has been replaced with oxfmt
2026-02-02 16:16:06 +01:00

52 lines
1.4 KiB
Lua

---@brief
---
--- https://github.com/thqby/vscode-autohotkey2-lsp
---
--- AutoHotkey v2.0 LSP implementation
---
--- NOTE: AutoHotkey is Windows-only.
local function get_autohotkey_path()
local path = vim.fn.exepath('autohotkey.exe')
return #path > 0 and path or ''
end
---@type vim.lsp.Config
return {
cmd = { 'autohotkey_lsp', '--stdio' },
filetypes = { 'autohotkey' },
root_markers = { 'package.json' },
---@diagnostic disable-next-line: missing-fields
flags = { debounce_text_changes = 500 },
--capabilities = capabilities,
--on_attach = custom_attach,
init_options = {
locale = 'en-us',
InterpreterPath = get_autohotkey_path(),
AutoLibInclude = 'All',
CommentTags = '^;;\\s*(?<tag>.+)',
CompleteFunctionParens = false,
SymbolFoldinFromOpenBrace = false,
Diagnostics = {
ClassStaticMemberCheck = true,
ParamsCheck = true,
},
ActionWhenV1IsDetected = 'Continue',
FormatOptions = {
array_style = 'expand',
break_chained_methods = false,
ignore_comment = false,
indent_string = '\t',
max_preserve_newlines = 2,
brace_style = 'One True Brace',
object_style = 'none',
preserve_newlines = true,
space_after_double_colon = true,
space_before_conditional = true,
space_in_empty_paren = false,
space_in_other = true,
space_in_paren = false,
wrap_line_length = 0,
},
},
}