aboutsummaryrefslogtreecommitdiff
path: root/.config/nvim/lsp/efm.lua
diff options
context:
space:
mode:
Diffstat (limited to '.config/nvim/lsp/efm.lua')
-rw-r--r--.config/nvim/lsp/efm.lua25
1 files changed, 25 insertions, 0 deletions
diff --git a/.config/nvim/lsp/efm.lua b/.config/nvim/lsp/efm.lua
new file mode 100644
index 0000000..d421669
--- /dev/null
+++ b/.config/nvim/lsp/efm.lua
@@ -0,0 +1,25 @@
+--- @brief
+---
+--- https://github.com/mattn/efm-langserver
+---
+--- General purpose Language Server that can use specified error message format generated from specified command.
+---
+--- Requires at minimum EFM version [v0.0.38](https://github.com/mattn/efm-langserver/releases/tag/v0.0.38) to support
+--- launching the language server on single files.
+---
+--- Note: In order for neovim's built-in language server client to send the appropriate `languageId` to EFM, **you must
+--- specify `filetypes` in your call to `vim.lsp.config`**. Otherwise the server will be launch on the `BufEnter` instead
+--- of the `FileType` autocommand, and the `filetype` variable used to populate the `languageId` will not yet be set.
+---
+--- ```lua
+--- vim.lsp.config('efm', {
+--- filetypes = { 'python','cpp','lua' }
+--- settings = ..., -- You must populate this according to the EFM readme
+--- })
+--- ```
+
+---@type vim.lsp.Config
+return {
+ cmd = { 'efm-langserver' },
+ root_markers = { '.git' },
+}