Purescript language grammar for Tree-sitter.
Parsing and highlighting is handled rather well; for instance, parsing 57k LOC of PureScript code across 700 files returns no errors, so it will work very well for your regular syntax highlighting tasks.
The areas of potential improvement at the moment are cleaner, better structured node trees, more elaborate queries, reducing the size of and the dependency for the C scanner as well as increasing the amount of tests. Some documentation wouldn't hurt too.
PureScript support works out of the box.
Default configuration is present for kak-tree-sitter. Install the plugin and install PureScript grammar with ktsctl -fci purescript
.
PureScript support is available with nvim-treesitter plugin. First of all, make sure your Neovim installation recognizes PureScript filetype. If you have purescript-vim installed, this is already the case. If you haven't, you can either install it, or add PS filetype manually. To add it manually, add this to your init.lua
:
vim.filetype.add({ extension = { purs = 'purescript' }})
After that, install the grammar with :TSInstall purescript
and it's ready.
Our grammar seems to provide more extensive highlighting, but these two do not conflict. If you enjoy the features that purescript-vim
plugin provides, you can as well keep using both.
Zed editor includes PureScript support (thanks to @ivanmoreau).
TBA.
Please suggest your ideas via issues.
If you notice something not working correctly or simply have a suggestion or request to make, don't hesitate to open an issue, or open a pull request if you have code to share.
- purescript-language-cst-parser - PureScript CST Parser written in PureScript.
- tree-sitter-haskell contributors for developing the original grammar
- Maskhjarna/tree-sitter-purescript for starting the fork and inspiring further work