Home

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

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

Acknowledgments