@@ -198,6 +198,27 @@ return {
198
198
-- So, we create new capabilities with blink.cmp, and then broadcast that to the servers.
199
199
local capabilities = require (' blink.cmp' ).get_lsp_capabilities ()
200
200
201
+ local ltex_plus_filetypes = {
202
+ ' bib' ,
203
+ ' context' ,
204
+ ' gitcommit' ,
205
+ ' html' ,
206
+ ' markdown' ,
207
+ ' org' ,
208
+ ' pandoc' ,
209
+ ' plaintex' ,
210
+ ' quarto' ,
211
+ ' mail' ,
212
+ ' mdx' ,
213
+ ' rmd' ,
214
+ ' rnoweb' ,
215
+ ' rst' ,
216
+ ' tex' ,
217
+ -- 'text',
218
+ ' typst' ,
219
+ ' xhtml' ,
220
+ }
221
+
201
222
-- Enable the following language servers
202
223
-- Feel free to add/remove any LSPs that you want here. They will automatically be installed.
203
224
--
@@ -208,18 +229,41 @@ return {
208
229
-- - settings (table): Override the default settings passed when initializing the server.
209
230
-- For example, to see the options for `lua_ls`, you could go to: https://luals.github.io/wiki/settings/
210
231
local servers = {
211
- -- clangd = {},
212
232
-- gopls = {},
213
233
-- pyright = {},
214
234
-- rust_analyzer = {},
215
235
-- ... etc. See `:help lspconfig-all` for a list of all the pre-configured LSPs
216
236
--
217
- -- Some languages (like typescript) have entire language plugins that can be useful:
218
- -- https://github.com/pmizio/typescript-tools.nvim
219
- --
220
- -- But for many setups, the LSP (`ts_ls`) will work just fine
221
- -- ts_ls = {},
222
- --
237
+ awk_ls = {},
238
+ bashls = {},
239
+ clangd = {}, -- TODO: setup compile_commands.json generation for any projects that need to use this LSP
240
+ csharp_ls = {}, -- or use omnisharp or rosyln_ls instead?
241
+ css_variables = {},
242
+ cssls = {},
243
+ docker_compose_language_service = {},
244
+ dockerls = {},
245
+ eslint = {},
246
+ -- gdscript = {}, -- TODO: in docs but causes mason error
247
+ -- gdshader_lsp = {}, -- TODO: in docs but causes mason error
248
+ gh_actions_ls = {},
249
+ gitlab_ci_ls = {},
250
+ glsl_analyzer = {},
251
+ gradle_ls = {},
252
+ graphql = {},
253
+ groovyls = {},
254
+ html = {},
255
+ -- java_language_server = {}, -- Note - for fancier use cases jdtls lsp or nvim-jdtls plugin may be better -- TODO: mason errors during install
256
+ jqls = {},
257
+ jsonls = {},
258
+ kotlin_language_server = {},
259
+ ltex_plus = {
260
+ filetypes = ltex_plus_filetypes ,
261
+ settings = {
262
+ ltex = {
263
+ enabled = ltex_plus_filetypes ,
264
+ },
265
+ },
266
+ }, -- LaTeX, Markdown, etc. LSP
223
267
224
268
lua_ls = {
225
269
-- cmd = { ... },
@@ -235,6 +279,28 @@ return {
235
279
},
236
280
},
237
281
},
282
+
283
+ -- metals = {}, -- Scala LSP -- TODO: in docs but causes mason error
284
+ perlnavigator = {}, -- Other ones that have about the same level of activity are perlls and perlpls
285
+ pico8_ls = {},
286
+ ruby_lsp = {}, -- or use solargraph? see also standardrb, syntax_tree, and typeprof
287
+ spyglassmc_language_server = {}, -- Minecraft datapacks, may require additional configuration
288
+ sqls = {}, -- See also the confusingly similarly named sqlls, and sqruff
289
+ terraformls = {}, -- This is the official hashicorp one, see also terraform_lsp
290
+ tflint = {},
291
+ typos_lsp = {}, -- Code spellchecker
292
+
293
+ -- Some languages (like typescript) have entire language plugins that can be useful:
294
+ -- https://github.com/pmizio/typescript-tools.nvim
295
+ --
296
+ -- But for many setups, the LSP (`ts_ls`) will work just fine
297
+ ts_ls = {}, -- see also ts_query_ls, tsgo
298
+
299
+ vacuum = {}, -- OpenAPI/Swagger linter/analyzer, requires filetypes to be registered
300
+ vimls = {}, -- Vimscript
301
+ yamlls = {},
302
+
303
+ -- TODO: There are a shitload of python LSPs - research and pick one
238
304
}
239
305
240
306
-- Ensure the servers and tools above are installed
0 commit comments