summaryrefslogtreecommitdiff
path: root/dot_config/nvim_new/lsp/autohotkey_lsp.lua
diff options
context:
space:
mode:
authorIbrahim Muftee <ibrahim@muftee.net>2025-08-04 07:45:42 -0500
committerIbrahim Muftee <ibrahim@muftee.net>2026-07-01 00:23:31 -0400
commit23d53b5d7bc2f31eed672c0a8d26dc608fb6d0ba (patch)
tree7b23cd20340dd0984bb1a9616744ef81c69d3b4c /dot_config/nvim_new/lsp/autohotkey_lsp.lua
parent1227ae992f4494d6a3d82d70d0bb9cb01dd50847 (diff)
feat(nvim) slim down new config
Diffstat (limited to 'dot_config/nvim_new/lsp/autohotkey_lsp.lua')
-rw-r--r--dot_config/nvim_new/lsp/autohotkey_lsp.lua50
1 files changed, 50 insertions, 0 deletions
diff --git a/dot_config/nvim_new/lsp/autohotkey_lsp.lua b/dot_config/nvim_new/lsp/autohotkey_lsp.lua
new file mode 100644
index 0000000..eac26a7
--- /dev/null
+++ b/dot_config/nvim_new/lsp/autohotkey_lsp.lua
@@ -0,0 +1,50 @@
+---@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
+
+return {
+ cmd = { 'autohotkey_lsp', '--stdio' },
+ filetypes = { 'autohotkey' },
+ root_markers = { 'package.json' },
+ 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,
+ },
+ },
+}