aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2022-02-20 14:10:31 +0100
committerFlorian Fischer <florian.fischer@muhq.space>2022-02-20 14:16:42 +0100
commitd423105cf6490331039ddfe53514f7a61d2eea88 (patch)
treee612945c22ab1ee88015ca8348fbebe1b38fcf9b
parent47b7b1e47bb10183f5b4ee84d90b4e3eefabe75c (diff)
downloadvis-lspc-add-markup-type-detection-functions.tar.gz
vis-lspc-add-markup-type-detection-functions.zip
add utility functions detecting certain return typesadd-markup-type-detection-functions
-rw-r--r--init.lua13
1 files changed, 13 insertions, 0 deletions
diff --git a/init.lua b/init.lua
index 840fb38..2b58ccf 100644
--- a/init.lua
+++ b/init.lua
@@ -574,6 +574,19 @@ local function vis_apply_workspaceEdit(_, _, workspaceEdit)
end
end
+-- Detect a MarkedString
+-- https://microsoft.github.io/language-server-protocol/specifications/specification-3-17/#markedString
+local function lsp_is_marked_string(s)
+ return type(s) == 'string' or (type(s) == 'table' and s.language and s.value)
+end
+
+-- Detect MarkupContent
+-- https://microsoft.github.io/language-server-protocol/specifications/specification-3-17/#markupContent
+local function lsp_is_markup_content(s)
+ return type(s) == 'table' and s.kind and
+ (s.kind == 'markdown' or s.kind == 'plaintext') and s.value
+end
+
local function lspc_highlight_diagnostics(win, diagnostics)
for _, diagnostic in ipairs(diagnostics) do
local range = diagnostic.vis_range