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.nvimis 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,
},
})or
return {
{
"nvim-svelte/nvim-svelte-check",
config = function()
require("svelte-check").setup({
command = "pnpm run check", -- Default command for pnpm
})
end,
},
}- Ensure
packer.nvimis 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:
:SvelteCheckThis 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-checkcommand 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.