aboutsummaryrefslogtreecommitdiff
path: root/.config/nvim/lsp/autohotkey_lsp.lua
diff options
context:
space:
mode:
authorawy <awy@awy.one>2025-10-14 18:27:29 +0300
committerawy <awy@awy.one>2025-10-14 18:27:29 +0300
commitde009fd679e10d053fdcc10785f91ad5317449ea (patch)
tree60918a488b579588596cf4d509fde298dccbf15d /.config/nvim/lsp/autohotkey_lsp.lua
parent9ea6cf81adb5d6abc59843de1db45913210f9320 (diff)
downloadhyprdots-de009fd679e10d053fdcc10785f91ad5317449ea.tar.gz
nvim revamp
Diffstat (limited to '.config/nvim/lsp/autohotkey_lsp.lua')
-rw-r--r--.config/nvim/lsp/autohotkey_lsp.lua51
1 files changed, 51 insertions, 0 deletions
diff --git a/.config/nvim/lsp/autohotkey_lsp.lua b/.config/nvim/lsp/autohotkey_lsp.lua
new file mode 100644
index 0000000..cb92330
--- /dev/null
+++ b/.config/nvim/lsp/autohotkey_lsp.lua
@@ -0,0 +1,51 @@
+---@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' },
+ 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,
+ },
+ },
+}