Skip to content

Keep your project's spelling in check with cspell-tool.

License

Notifications You must be signed in to change notification settings

jellydn/cspell-tool

Repository files navigation

cspell-tool

Version Downloads/week LicensePrerequisite Twitter: jellydn

Keep your project's spelling in check with cspell-tool.

IT Man - Eliminate Typos in Your Code with Neovim [Vietnamese]

Table of Contents

Usage

Run the following command in your project's root directory to check for spelling issues:

npx cspell-tool@latest

Usage

Features

  • Supports common programming languages.
  • Easily customizable via cspell.json.
  • Extends your project-specific dictionary.

Usage with Neovim and null-ls

This assumes you have mason.nvim and null-ls.nvim installed.

  1. Installing cSpell with Mason

    Make sure your mason.nvim configuration in your init.lua includes cspell under ensure_installed:

    ensure_installed = {
      -- code spell
      "codespell",
      "misspell",
      "cspell",
    },
  2. Setting Up null-ls

    Add the following code to your init.lua to set up null-ls for spell checking:

    local cspell = require("cspell")
    local ok, none_ls = pcall(require, "null-ls")
    if not ok then
      return
    end
    
    local b = none_ls.builtins
    local sources = {
      -- spell check
      b.diagnostics.codespell,
      b.diagnostics.misspell,
      -- cspell
      cspell.diagnostics.with({
        diagnostics_postprocess = function(diagnostic)
          diagnostic.severity = vim.diagnostic.severity["HINT"]
        end,
      }),
      cspell.code_actions,
    }
    
    return {
      sources = sources,
      debounce = 200,
      debug = true,
    }

More details can be found in cspell example config with lazyvim.

Neovim Demo

Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Acknowledgements

  • zx for making scripting easier.
  • cspell for being the backbone of this tool.
  • cspell.nvim a companion plugin for null-ls, adding support for CSpell diagnostics and code actions.

Author

👤 Huynh Duc Dung

Show Your Support

If this guide has been helpful, please give it a ⭐️.

kofi paypal buymeacoffee