coc-make
Jelmer VernooijMakefile language server support for coc.nvim
Published Package Summary
coc-make
A coc.nvim extension that provides Language Server Protocol support for Makefiles.
Features
- Diagnostics for parse errors
- Completions for targets, variables, and built-in functions
- Document symbols (outline of targets and variables)
- Folding ranges
- Semantic highlighting for targets, variables, prerequisites, recipes, and comments
Installation
Prerequisites
- coc.nvim installed in Vim/Neovim
- Node.js and npm
- The makefile-lsp server built and available
Local Installation
-
Build the makefile-lsp server first:
cd /path/to/makefile-lsp cargo build --release -
Install and build the coc extension:
cd coc-make npm install npm run build -
Install the extension in coc.nvim:
:CocInstall file:///absolute/path/to/makefile-lsp/coc-makeOr alternatively, create a symlink in your coc extensions directory:
ln -s /absolute/path/to/makefile-lsp/coc-make ~/.config/coc/extensions/node_modules/coc-make -
Configure the LSP server path:
Add the following to your coc-settings.json (
:CocConfigin Vim):{ "make.enable": true, "make.serverPath": "/absolute/path/to/makefile-lsp/target/release/makefile-lsp" }
Verify Installation
- Open a Makefile
- Try typing targets or variables and you should see completions
- Check
:CocList extensionsto see ifcoc-makeis listed and active
Development
To work on the extension:
# Watch for changes and rebuild
npm run watch
# After making changes, restart coc
:CocRestart
Troubleshooting
- LSP not starting: Check that the
make.serverPathpoints to the correct executable - No completions: Verify the file is recognized as a Makefile
- Extension not loading: Check
:CocList extensionsand look for any error messages
- Makefile language server support for coc.nvim
- onLanguage:make
Want to build, test, or contribute to coc.nvim extensions? Explore our official SDK and testing toolkits.
Open Developer GuideVersion History
This published npm package does not include a history.md or changelog.md file. Browse its npm versions or repository releases for available release information.
Contributed Commands
All contributes.commands entries from the published package manifest for coc-make@0.1.0.
This package does not declare any contributed commands.
Configuration Schema
All contributes.configuration entries from the published package manifest, including each raw property schema for coc-settings.json.
Raw JSON Schema
{
"type": "boolean",
"default": true,
"description": "Enable makefile language server"
}Raw JSON Schema
{
"type": "string",
"default": "makefile-lsp",
"description": "Path to makefile-lsp executable"
}