Awesome
Tool Definitions for efm-langserver
efm-langserver
wraps CLIs and serves them over LSP for integration into code editors. It requires tool definitions to specify how to call the executable and parse the output.
With efm-tool-definitions.yaml
you can expedite this server configuration and just set up the client.
Installation and Usage
Install and configure the server
go install github.com/mattn/efm-langserver@latest
Using config.example.yaml
(you can switch it out for your own):
mkdir -p ~/.config/efm-langserver
cat tool-definitions.yaml config.example.yaml > ~/.config/efm-langserver/config.yaml
Configure the client
- VSCode: Generic LSP Client
- neovim:
require("lspconfig").efm.setup({})
- vim/kakoune/helix/emacs/etc: See
efm-langserver
.
Install Linter/Formatter Executables
Each tools
entry in tool-definitions.yaml
has a comment with the install command.
Example (edit to install only what you need):
npm install -g alex @fsouza/prettierd
cargo install stylua
go install github.com/rhysd/actionlint/cmd/actionlint@latest
go install mvdan.cc/sh/v3/cmd/shfmt@latest
go install github.com/mrtazz/checkmake/cmd/checkmake@latest
pip install black yamllint fixit cmakelang proselint
luarocks install luacheck
brew install hadolint shellcheck # or pacman, apt, yum, etc