A Neovim plugin that runs svelte-check
asynchronously, displays a spinner while running, and populates the quickfix list with the results.
2025-03-10.13-48-26.mp4
Inspired by dmmulroy/tsc.nvim
The module has been renamed from sveltecheck
to svelte-check
. See the Migration Guide for details.
- Ensure
lazy.nvim
is set up in your Neovim configuration. - Add the plugin to your plugin list:
-- lazy.nvim plugin configuration
require('lazy').setup({
{
'nvim-svelte/nvim-svelte-check',
config = function()
require('svelte-check').setup({
command = "pnpm run check", -- Default command for pnpm
})
end,
},
})
- Ensure
packer.nvim
is set up in your Neovim configuration. - Add the plugin to your plugin list:
-- packer.nvim plugin configuration
return require('packer').startup(function(use)
use {
'nvim-svelte/nvim-svelte-check',
config = function()
require('svelte-check').setup({
command = "pnpm run check", -- Default command for pnpm
})
end
}
-- Add other plugins as needed
end)
After installation, run the svelte-check
command in Neovim:
:SvelteCheck
This command will start the svelte-check
process, display a spinner, and populate the quickfix list with any errors or warnings found. A summary of the check will be printed upon completion.
Customize the plugin by passing configuration options to the setup
function:
command
(string): The command to runsvelte-check
(default:"pnpm run check"
).spinner_frames
(table): Frames for the spinner animation (default:{ "⣾", "⣽", "⣻", "⢿", "⡿", "⣟", "⣯", "⣷" }
)debug_mode
(boolean): Enable debug logging for troubleshooting (default:false
)
require('svelte-check').setup({
command = "npm run svelte-check", -- Custom command for npm, defaults to pnpm
spinner_frames = { "⣾", "⣽", "⣻", "⢿", "⡿", "⣟", "⣯", "⣷" }, -- spinner frames
debug_mode = false, -- will print debug messages if true (default is false)
})
If the plugin isn't correctly detecting errors or warnings:
-
Try enabling debug mode to see detailed logging:
require('svelte-check').setup({ command = "npm run check", debug_mode = true })
-
Verify that your project's
svelte-check
command works correctly in the terminal -
Make sure the command in your config matches the exact script name in package.json
-
Check if your project uses a custom output format for svelte-check that might not be compatible with the plugin
This project is licensed under the MIT License. See the LICENSE file for details.