summaryrefslogtreecommitdiff
path: root/config/essentials/nvim/lua/user/cmp/rust.lua
blob: 46a97ebdaf4d8a93aec0f7881e16e0bfdadb4f44 (plain)
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
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
		}
	}
}