summaryrefslogtreecommitdiff
path: root/lua/lsp-wrapper.lua
diff options
context:
space:
mode:
authorChristian Chiarulli <[email protected]>2021-03-09 23:55:11 -0500
committerGitHub <[email protected]>2021-03-09 23:55:11 -0500
commit474f961b2a31c0fe8281188150c08cc2849bf4df (patch)
tree8a25933cd7a63eddbcab05220d702a6ba7c7f2b6 /lua/lsp-wrapper.lua
parent56f65b12a446fe05483a23585dd4e3104205b062 (diff)
Native LSP, more Lua, less CoC
Diffstat (limited to 'lua/lsp-wrapper.lua')
-rw-r--r--lua/lsp-wrapper.lua258
1 files changed, 258 insertions, 0 deletions
diff --git a/lua/lsp-wrapper.lua b/lua/lsp-wrapper.lua
new file mode 100644
index 00000000..7df60a7f
--- /dev/null
+++ b/lua/lsp-wrapper.lua
@@ -0,0 +1,258 @@
+local lsp_wrapper = {}
+
+-- buf
+
+function lsp_wrapper.add_to_workspace_folder()
+ vim.lsp.buf.add_workspace_folder()
+end
+
+function lsp_wrapper.clear_references()
+ vim.lsp.buf.clear_references()
+end
+
+function lsp_wrapper.code_action()
+ vim.lsp.buf.code_action()
+end
+
+function lsp_wrapper.declaration()
+ vim.lsp.buf.declaration()
+ vim.lsp.buf.clear_references()
+end
+
+function lsp_wrapper.definition()
+ vim.lsp.buf.definition()
+ vim.lsp.buf.clear_references()
+end
+
+function lsp_wrapper.document_highlight()
+ vim.lsp.buf.document_highlight()
+end
+
+function lsp_wrapper.document_symbol()
+ vim.lsp.buf.document_symbol()
+end
+
+function lsp_wrapper.formatting()
+ vim.lsp.buf.formatting()
+end
+
+function lsp_wrapper.formatting_sync()
+ vim.lsp.buf.formatting_sync()
+end
+
+function lsp_wrapper.hover()
+ vim.lsp.buf.hover()
+end
+
+function lsp_wrapper.implementation()
+ vim.lsp.buf.implementation()
+end
+
+function lsp_wrapper.incoming_calls()
+ vim.lsp.buf.incoming_calls()
+end
+
+function lsp_wrapper.list_workspace_folders()
+ vim.lsp.buf.list_workspace_folders()
+end
+
+function lsp_wrapper.outgoing_calls()
+ vim.lsp.buf.outgoing_calls()
+end
+
+function lsp_wrapper.range_code_action()
+ vim.lsp.buf.range_code_action()
+end
+
+function lsp_wrapper.range_formatting()
+ vim.lsp.buf.range_formatting()
+end
+
+function lsp_wrapper.references()
+ vim.lsp.buf.references()
+ vim.lsp.buf.clear_references()
+end
+
+function lsp_wrapper.remove_workspace_folder()
+ vim.lsp.buf.remove_workspace_folder()
+end
+
+function lsp_wrapper.rename()
+ vim.lsp.buf.rename()
+end
+
+function lsp_wrapper.signature_help()
+ vim.lsp.buf.signature_help()
+end
+
+function lsp_wrapper.type_definition()
+ vim.lsp.buf.type_definition()
+end
+
+function lsp_wrapper.workspace_symbol()
+ vim.lsp.buf.workspace_symbol()
+end
+
+-- diagnostic
+
+function lsp_wrapper.get_all()
+ vim.lsp.diagnostic.get_all()
+end
+
+function lsp_wrapper.get_next()
+ vim.lsp.diagnostic.get_next()
+end
+
+function lsp_wrapper.get_prev()
+ vim.lsp.diagnostic.get_prev()
+end
+
+function lsp_wrapper.goto_next()
+ vim.lsp.diagnostic.goto_next()
+end
+
+function lsp_wrapper.goto_prev()
+ vim.lsp.diagnostic.goto_prev()
+end
+
+function lsp_wrapper.show_line_diagnostics()
+ vim.lsp.diagnostic.show_line_diagnostics()
+end
+
+-- misc
+
+-- :lua print(vim.inspect(vim.lsp.buf_get_clients()))
+
+-- autoformat
+-- autocmd BufWritePre *.rs lua vim.lsp.buf.formatting_sync(nil, 1000)
+
+return lsp_wrapper
+
+
+
+
+-- You can see more about the differences in types here:
+-- https://microsoft.github.io/language-server-protocol/specification#textDocument_documentHighlight
+
+-- *hl-LspReferenceText*
+-- LspReferenceText used for highlighting "text" references
+-- *hl-LspReferenceRead*
+-- LspReferenceRead used for highlighting "read" references
+-- *hl-LspReferenceWrite*
+-- LspReferenceWrite used for highlighting "write" references
+
+
+-- *lsp-highlight-diagnostics*
+-- All highlights defined for diagnostics begin with `LspDiagnostics` followed by
+-- the type of highlight (e.g., `Sign`, `Underline`, etc.) and then the Severity
+-- of the highlight (e.g. `Error`, `Warning`, etc.)
+
+-- Sign, underline and virtual text highlights (by default) are linked to their
+-- corresponding LspDiagnosticsDefault highlight.
+
+-- For example, the default highlighting for |hl-LspDiagnosticsSignError| is
+-- linked to |hl-LspDiagnosticsDefaultError|. To change the default (and
+-- therefore the linked highlights), use the |:highlight| command: >
+
+-- highlight LspDiagnosticsDefaultError guifg="BrightRed"
+-- <
+
+-- *hl-LspDiagnosticsDefaultError*
+-- LspDiagnosticsDefaultError
+-- Used as the base highlight group.
+-- Other LspDiagnostic highlights link to this by default (except Underline)
+
+-- *hl-LspDiagnosticsDefaultWarning*
+-- LspDiagnosticsDefaultWarning
+-- Used as the base highlight group.
+-- Other LspDiagnostic highlights link to this by default (except Underline)
+
+-- *hl-LspDiagnosticsDefaultInformation*
+-- LspDiagnosticsDefaultInformation
+-- Used as the base highlight group.
+-- Other LspDiagnostic highlights link to this by default (except Underline)
+
+-- *hl-LspDiagnosticsDefaultHint*
+-- LspDiagnosticsDefaultHint
+-- Used as the base highlight group.
+-- Other LspDiagnostic highlights link to this by default (except Underline)
+
+-- *hl-LspDiagnosticsVirtualTextError*
+-- LspDiagnosticsVirtualTextError
+-- Used for "Error" diagnostic virtual text.
+-- See |vim.lsp.diagnostic.set_virtual_text()|
+
+-- *hl-LspDiagnosticsVirtualTextWarning*
+-- LspDiagnosticsVirtualTextWarning
+-- Used for "Warning" diagnostic virtual text.
+-- See |vim.lsp.diagnostic.set_virtual_text()|
+
+-- *hl-LspDiagnosticsVirtualTextInformation*
+-- LspDiagnosticsVirtualTextInformation
+-- Used for "Information" diagnostic virtual text.
+-- See |vim.lsp.diagnostic.set_virtual_text()|
+
+-- *hl-LspDiagnosticsVirtualTextHint*
+-- LspDiagnosticsVirtualTextHint
+-- Used for "Hint" diagnostic virtual text.
+-- See |vim.lsp.diagnostic.set_virtual_text()|
+
+-- *hl-LspDiagnosticsUnderlineError*
+-- LspDiagnosticsUnderlineError
+-- Used to underline "Error" diagnostics.
+-- See |vim.lsp.diagnostic.set_underline()|
+
+-- *hl-LspDiagnosticsUnderlineWarning*
+-- LspDiagnosticsUnderlineWarning
+-- Used to underline "Warning" diagnostics.
+-- See |vim.lsp.diagnostic.set_underline()|
+
+-- *hl-LspDiagnosticsUnderlineInformation*
+-- LspDiagnosticsUnderlineInformation
+-- Used to underline "Information" diagnostics.
+-- See |vim.lsp.diagnostic.set_underline()|
+
+-- *hl-LspDiagnosticsUnderlineHint*
+-- LspDiagnosticsUnderlineHint
+-- Used to underline "Hint" diagnostics.
+-- See |vim.lsp.diagnostic.set_underline()|
+
+-- *hl-LspDiagnosticsFloatingError*
+-- LspDiagnosticsFloatingError
+-- Used to color "Error" diagnostic messages in diagnostics float.
+-- See |vim.lsp.diagnostic.show_line_diagnostics()|
+
+-- *hl-LspDiagnosticsFloatingWarning*
+-- LspDiagnosticsFloatingWarning
+-- Used to color "Warning" diagnostic messages in diagnostics float.
+-- See |vim.lsp.diagnostic.show_line_diagnostics()|
+
+-- *hl-LspDiagnosticsFloatingInformation*
+-- LspDiagnosticsFloatingInformation
+-- Used to color "Information" diagnostic messages in diagnostics float.
+-- See |vim.lsp.diagnostic.show_line_diagnostics()|
+
+-- *hl-LspDiagnosticsFloatingHint*
+-- LspDiagnosticsFloatingHint
+-- Used to color "Hint" diagnostic messages in diagnostics float.
+-- See |vim.lsp.diagnostic.show_line_diagnostics()|
+
+-- *hl-LspDiagnosticsSignError*
+-- LspDiagnosticsSignError
+-- Used for "Error" signs in sign column.
+-- See |vim.lsp.diagnostic.set_signs()|
+
+-- *hl-LspDiagnosticsSignWarning*
+-- LspDiagnosticsSignWarning
+-- Used for "Warning" signs in sign column.
+-- See |vim.lsp.diagnostic.set_signs()|
+
+-- *hl-LspDiagnosticsSignInformation*
+-- LspDiagnosticsSignInformation
+-- Used for "Information" signs in sign column.
+-- See |vim.lsp.diagnostic.set_signs()|
+
+-- *hl-LspDiagnosticsSignHint*
+-- LspDiagnosticsSignHint
+-- Used for "Hint" signs in sign column.
+-- See |vim.lsp.diagnostic.set_signs()|