From a7f2d6fcc71a33db60cf759ffc79fdc711aaee30 Mon Sep 17 00:00:00 2001 From: sumneko Date: Mon, 15 Apr 2019 12:35:01 +0800 Subject: =?UTF-8?q?VSCode=E9=BB=98=E8=AE=A4=E5=85=B3=E9=97=AD=E8=BE=93?= =?UTF-8?q?=E5=85=A5=E6=97=B6=E6=A0=BC=E5=BC=8F=E5=8C=96=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=EF=BC=8C=E6=89=80=E4=BB=A5=E8=BF=99=E4=B8=AA=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E5=85=88=E6=90=81=E7=BD=AE=E3=80=82=E4=BB=A5=E5=90=8E=E8=80=83?= =?UTF-8?q?=E8=99=91=E5=B8=AE=E7=94=A8=E6=88=B7=E4=BF=AE=E6=94=B9=E5=B7=A5?= =?UTF-8?q?=E4=BD=9C=E5=8C=BA=E8=AE=BE=E7=BD=AE=EF=BC=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/src/method/init.lua | 1 + server/src/method/initialize.lua | 3 +++ server/src/method/textDocument/onTypeFormatting.lua | 14 ++++++++++++++ 3 files changed, 18 insertions(+) create mode 100644 server/src/method/textDocument/onTypeFormatting.lua (limited to 'server/src') diff --git a/server/src/method/init.lua b/server/src/method/init.lua index 565fdb64..7e81eb00 100644 --- a/server/src/method/init.lua +++ b/server/src/method/init.lua @@ -18,6 +18,7 @@ init 'textDocument/documentHighlight' init 'textDocument/documentSymbol' init 'textDocument/hover' init 'textDocument/implementation' +init 'textDocument/onTypeFormatting' init 'textDocument/publishDiagnostics' init 'textDocument/rename' init 'textDocument/references' diff --git a/server/src/method/initialize.lua b/server/src/method/initialize.lua index e7c48545..930ff75e 100644 --- a/server/src/method/initialize.lua +++ b/server/src/method/initialize.lua @@ -39,6 +39,9 @@ return function (lsp) changeNotifications = true, } }, + documentOnTypeFormattingProvider = { + firstTriggerCharacter = '}', + }, executeCommandProvider = { commands = { 'config', diff --git a/server/src/method/textDocument/onTypeFormatting.lua b/server/src/method/textDocument/onTypeFormatting.lua new file mode 100644 index 00000000..4943c609 --- /dev/null +++ b/server/src/method/textDocument/onTypeFormatting.lua @@ -0,0 +1,14 @@ +return function (lsp, params) + local uri = params.textDocument.uri + local vm, lines = lsp:loadVM(uri) + log.debug(table.dump(params)) + if not vm then + return nil + end + local position = lines:position(params.position.line + 1, params.position.character) + local ch = params.ch + local options = params.options + local tabSize = options.tabSize + local insertSpaces = options.insertSpaces + return nil +end -- cgit v1.2.3