summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaymaekers Luca <raymaekers.luca@gmail.com>2023-09-28 15:31:41 +0200
committerRaymaekers Luca <raymaekers.luca@gmail.com>2023-09-28 15:31:41 +0200
commitf235c957d69bee3b4942ec6ecf4650cc6a9a08ae (patch)
treef4bb37beb1d8fd281c26c7422a2d43781adccb1a
parent376d8127ec219499aa8a2279eab45648be070885 (diff)
added rust completino
-rw-r--r--config/essentials/nvim/lua/user/cmp/init.lua6
-rw-r--r--config/essentials/nvim/lua/user/cmp/rust.lua173
2 files changed, 176 insertions, 3 deletions
diff --git a/config/essentials/nvim/lua/user/cmp/init.lua b/config/essentials/nvim/lua/user/cmp/init.lua
index 1306e98..1ca0a10 100644
--- a/config/essentials/nvim/lua/user/cmp/init.lua
+++ b/config/essentials/nvim/lua/user/cmp/init.lua
@@ -4,12 +4,12 @@ require("user.cmp.arduino")
require("user.cmp.bash")
require("user.cmp.clangd")
require("user.cmp.cs")
-require("user.cmp.html")
require("user.cmp.css")
+require("user.cmp.emmet")
+require("user.cmp.html")
require("user.cmp.java")
require("user.cmp.js")
-require("user.cmp.emmet")
require("user.cmp.lua")
require("user.cmp.php")
require("user.cmp.python")
-require("user.cmp.cs")
+require("user.cmp.rust")
diff --git a/config/essentials/nvim/lua/user/cmp/rust.lua b/config/essentials/nvim/lua/user/cmp/rust.lua
new file mode 100644
index 0000000..46a97eb
--- /dev/null
+++ b/config/essentials/nvim/lua/user/cmp/rust.lua
@@ -0,0 +1,173 @@
+require'lspconfig'.rust_analyzer.setup{
+ settings = {
+ ['rust-analyzer'] = {
+ diagnostics = {
+ enable = false;
+ }
+ }
+ },
+ capabilities =
+ {
+ experimental = {
+ serverStatusNotification = true
+ },
+ general = {
+ positionEncodings = { "utf-16" }
+ },
+ textDocument = {
+ callHierarchy = {
+ dynamicRegistration = false
+ },
+ codeAction = {
+ codeActionLiteralSupport = {
+ codeActionKind = {
+ valueSet = { "", "quickfix", "refactor", "refactor.extract", "refactor.inline", "refactor.rewrite", "source", "source.organizeImports" }
+ }
+ },
+ dataSupport = true,
+ dynamicRegistration = true,
+ isPreferredSupport = true,
+ resolveSupport = {
+ properties = { "edit" }
+ }
+ },
+ completion = {
+ completionItem = {
+ commitCharactersSupport = false,
+ deprecatedSupport = false,
+ documentationFormat = { "markdown", "plaintext" },
+ preselectSupport = false,
+ snippetSupport = false
+ },
+ completionItemKind = {
+ valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }
+ },
+ contextSupport = false,
+ dynamicRegistration = false
+ },
+ declaration = {
+ linkSupport = true
+ },
+ definition = {
+ dynamicRegistration = true,
+ linkSupport = true
+ },
+ diagnostic = {
+ dynamicRegistration = false
+ },
+ documentHighlight = {
+ dynamicRegistration = false
+ },
+ documentSymbol = {
+ dynamicRegistration = false,
+ hierarchicalDocumentSymbolSupport = true,
+ symbolKind = {
+ valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }
+ }
+ },
+ formatting = {
+ dynamicRegistration = true
+ },
+ hover = {
+ contentFormat = { "markdown", "plaintext" },
+ dynamicRegistration = true
+ },
+ implementation = {
+ linkSupport = true
+ },
+ inlayHint = {
+ dynamicRegistration = true,
+ resolveSupport = {
+ properties = {}
+ }
+ },
+ publishDiagnostics = {
+ dataSupport = true,
+ relatedInformation = true,
+ tagSupport = {
+ valueSet = { 1, 2 }
+ }
+ },
+ rangeFormatting = {
+ dynamicRegistration = true
+ },
+ references = {
+ dynamicRegistration = false
+ },
+ rename = {
+ dynamicRegistration = true,
+ prepareSupport = true
+ },
+ semanticTokens = {
+ augmentsSyntaxTokens = true,
+ dynamicRegistration = false,
+ formats = { "relative" },
+ multilineTokenSupport = false,
+ overlappingTokenSupport = true,
+ requests = {
+ full = {
+ delta = true
+ },
+ range = false
+ },
+ serverCancelSupport = false,
+ tokenModifiers = { "declaration", "definition", "readonly", "static", "deprecated", "abstract", "async", "modification", "documentation", "defaultLibrary" },
+ tokenTypes = { "namespace", "type", "class", "enum", "interface", "struct", "typeParameter", "parameter", "variable", "property", "enumMember", "event", "function", "method", "macro", "keyword", "modifier", "comment", "string", "number", "regexp", "operator", "decorator" }
+ },
+ signatureHelp = {
+ dynamicRegistration = false,
+ signatureInformation = {
+ activeParameterSupport = true,
+ documentationFormat = { "markdown", "plaintext" },
+ parameterInformation = {
+ labelOffsetSupport = true
+ }
+ }
+ },
+ synchronization = {
+ didSave = true,
+ dynamicRegistration = false,
+ willSave = true,
+ willSaveWaitUntil = true
+ },
+ typeDefinition = {
+ linkSupport = true
+ }
+ },
+ window = {
+ showDocument = {
+ support = true
+ },
+ showMessage = {
+ messageActionItem = {
+ additionalPropertiesSupport = false
+ }
+ },
+ workDoneProgress = true
+ },
+ workspace = {
+ applyEdit = true,
+ configuration = true,
+ didChangeWatchedFiles = {
+ dynamicRegistration = true,
+ relativePatternSupport = true
+ },
+ inlayHint = {
+ refreshSupport = true
+ },
+ semanticTokens = {
+ refreshSupport = true
+ },
+ symbol = {
+ dynamicRegistration = false,
+ symbolKind = {
+ valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }
+ }
+ },
+ workspaceEdit = {
+ resourceOperations = { "rename", "create", "delete" }
+ },
+ workspaceFolders = true
+ }
+ }
+}