A Neovim plugin that runs svelte-check asynchronously, displays a spinner while running, and populates the quickfix list with the results.
https://github.com/user-attachments/assets/570747cf-7016-4e35-a85e-00fa050a63a7
Inspired by dmmulroy/tsc.nvim
The module has been renamed from sveltecheck to svelte-check. See the Migration Guide for details.
lazy.nvimlazy.nvim is set up in your Neovim configuration.-- 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,
},
}
packer.nvimpacker.nvim is set up in your Neovim configuration.-- 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 run svelte-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.