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.