| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254 | local lsp_wrapper = {}-- buffunction lsp_wrapper.add_to_workspace_folder()    vim.lsp.buf.add_workspace_folder()endfunction lsp_wrapper.clear_references()    vim.lsp.buf.clear_references()endfunction lsp_wrapper.code_action()    vim.lsp.buf.code_action()endfunction lsp_wrapper.declaration()    vim.lsp.buf.declaration()    vim.lsp.buf.clear_references()endfunction lsp_wrapper.definition()    vim.lsp.buf.definition()    vim.lsp.buf.clear_references()endfunction lsp_wrapper.document_highlight()    vim.lsp.buf.document_highlight()endfunction lsp_wrapper.document_symbol()    vim.lsp.buf.document_symbol()endfunction lsp_wrapper.formatting()    vim.lsp.buf.formatting()endfunction lsp_wrapper.formatting_sync()    vim.lsp.buf.formatting_sync()endfunction lsp_wrapper.hover()    vim.lsp.buf.hover()endfunction lsp_wrapper.implementation()    vim.lsp.buf.implementation()endfunction lsp_wrapper.incoming_calls()    vim.lsp.buf.incoming_calls()endfunction lsp_wrapper.list_workspace_folders()    vim.lsp.buf.list_workspace_folders()endfunction lsp_wrapper.outgoing_calls()    vim.lsp.buf.outgoing_calls()endfunction lsp_wrapper.range_code_action()    vim.lsp.buf.range_code_action()endfunction lsp_wrapper.range_formatting()    vim.lsp.buf.range_formatting()endfunction lsp_wrapper.references()    vim.lsp.buf.references()    vim.lsp.buf.clear_references()endfunction lsp_wrapper.remove_workspace_folder()    vim.lsp.buf.remove_workspace_folder()endfunction lsp_wrapper.rename()    vim.lsp.buf.rename()endfunction lsp_wrapper.signature_help()    vim.lsp.buf.signature_help()endfunction lsp_wrapper.type_definition()    vim.lsp.buf.type_definition()endfunction lsp_wrapper.workspace_symbol()    vim.lsp.buf.workspace_symbol()end-- diagnosticfunction lsp_wrapper.get_all()    vim.lsp.diagnostic.get_all()endfunction lsp_wrapper.get_next()    vim.lsp.diagnostic.get_next()endfunction lsp_wrapper.get_prev()    vim.lsp.diagnostic.get_prev()endfunction lsp_wrapper.goto_next()    vim.lsp.diagnostic.goto_next()endfunction lsp_wrapper.goto_prev()    vim.lsp.diagnostic.goto_prev()endfunction 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()|
 |