https://github.com/jellydn/typecheck.nvim
A Neovim plugin for seamless TypeScript type checking.
https://github.com/jellydn/typecheck.nvim
neovim-plugin tsc typescript
Last synced: about 2 months ago
JSON representation
A Neovim plugin for seamless TypeScript type checking.
- Host: GitHub
- URL: https://github.com/jellydn/typecheck.nvim
- Owner: jellydn
- License: mit
- Created: 2023-11-20T14:04:14.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-02-28T00:37:32.000Z (7 months ago)
- Last Synced: 2025-03-28T10:50:30.634Z (7 months ago)
- Topics: neovim-plugin, tsc, typescript
- Language: Lua
- Homepage:
- Size: 77.1 KB
- Stars: 31
- Watchers: 2
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Welcome to typecheck.nvim 👋
A Neovim plugin for seamless TypeScript type checking.[![IT Man - Revolutionize Your TypeScript with typecheck.nvim [Vietnamese]](https://i.ytimg.com/vi/XkH--D09ENY/hqdefault.jpg)](https://www.youtube.com/watch?v=XkH--D09ENY)
## Introduction
`typecheck.nvim` is a Neovim plugin designed to enhance your TypeScript development workflow. It provides real-time type checking and integrates smoothly with Neovim's quickfix window, allowing you to easily navigate and fix type errors in your TypeScript projects.
## Features
- Asynchronous type checking: Run TypeScript compiler (`tsc`) checks without blocking the Neovim UI.
- Integration with quickfix or [trouble.nvim](https://github.com/folke/trouble.nvim) window: View and navigate TypeScript errors and warnings directly within Neovim.## Installation
Include `typecheck.nvim` in your plugin manager's configuration. For example, using [lazy.nvim](https://github.com/folke/lazy.nvim):
```lua
return {
"jellydn/typecheck.nvim",
dependencies = { "folke/trouble.nvim", dependencies = { "nvim-tree/nvim-web-devicons" } },
ft = { "javascript", "javascriptreact", "json", "jsonc", "typescript", "typescriptreact" },
opts = {
debug = true,
mode = "trouble", -- "quickfix" | "trouble"
},
keys = {
{
"ck",
"Typecheck",
desc = "Run Type Check",
},
}
}
```### Demo
Run `:Typecheck` to start type checking. The quickfix window will open if there are any errors or warnings.
[](https://gyazo.com/5009755ceb575afc78d7303983a2f7c0)
#### Integration with [trouble.nvim](https://github.com/folke/trouble.nvim)
[](https://gyazo.com/fc367f6cc005dd53f696c299e383318a)
## Roadmap
`typecheck.nvim` is continuously evolving, and there are exciting plans for future enhancements. Here's what's on the horizon:
- **Bun Support**:
- Detect and utilize Bun (a fast, modern JavaScript runtime) for TypeScript checking.
- This feature will be explored if `bun.lock` is present and Bun is installed with TypeScript compiler (`tsc`) support.- **Deno Integration**:
- Implement support for Deno (a secure runtime for JavaScript and TypeScript).
- Integration will be prioritized if `deno.lock` is detected and Deno is installed with TypeScript compiler capabilities.These features aim to broaden the compatibility and functionality of `typecheck.nvim`, making it a more versatile tool for TypeScript developers using different environments and setups.
## Credits
- Inspired by [dmmulroy/tsc.nvim:](https://github.com/dmmulroy/tsc.nvim) A Neovim plugin for seamless, asynchronous project-wide TypeScript type-checking using the TypeScript compiler (tsc)
## Contributing
Contributions, issues, and feature requests are welcome! Feel free to check [issues page](https://github.com/jellydn/typecheck.nvim/issues).
## License
`typecheck.nvim` is available under the [MIT License](./LICENSE).
## Author
👤 **Huynh Duc Dung**
- Website: https://productsway.com/
- Twitter: [@jellydn](https://twitter.com/jellydn)
- Github: [@jellydn](https://github.com/jellydn)## Show your support
If this guide has been helpful, please give it a ⭐️.
[](https://ko-fi.com/dunghd)
[](https://paypal.me/dunghd)
[](https://www.buymeacoffee.com/dunghd)