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.
go install github.com/mattn/efm-langserver@latestUsing 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
- VSCode: Generic LSP Client
- neovim:
require("lspconfig").efm.setup({}) - vim/kakoune/helix/emacs/etc: See
efm-langserver.
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