diff options
Diffstat (limited to 'script/method/initialize.lua')
-rw-r--r-- | script/method/initialize.lua | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/script/method/initialize.lua b/script/method/initialize.lua new file mode 100644 index 00000000..02a96695 --- /dev/null +++ b/script/method/initialize.lua @@ -0,0 +1,50 @@ +local function allWords() + local str = [[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.:('"[,#*@| ]] + local list = {} + for c in str:gmatch '.' do + list[#list+1] = c + end + return list +end + +return function (lsp) + lsp._inited = true + return { + capabilities = { + hoverProvider = true, + definitionProvider = true, + referencesProvider = true, + renameProvider = true, + documentSymbolProvider = true, + documentHighlightProvider = true, + codeActionProvider = true, + foldingRangeProvider = true, + signatureHelpProvider = { + triggerCharacters = { '(', ',' }, + }, + -- 文本同步方式 + textDocumentSync = { + -- 打开关闭文本时通知 + openClose = true, + -- 文本改变时完全通知 TODO 支持差量更新(2) + change = 1, + }, + workspace = { + workspaceFolders = { + supported = true, + changeNotifications = true, + } + }, + documentOnTypeFormattingProvider = { + firstTriggerCharacter = '}', + }, + executeCommandProvider = { + commands = { + 'config', + 'removeSpace', + 'solve', + }, + }, + } + } +end |