nushell / nushell/tree-sitter-nu

Neovim installation

Open
#141 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Nushell
Stars
180
Forks
38
Avg merge
12m
Merged PRs (30d)
1

Description

There is now this. A config and highlights for tree-sitter-nu within nvim-treesitter.

Currently, - following installation/neovim.md - we override both, namely the config in plugin/init.lua and queries in queries/nu/*.scm.

plugin/init.lua also sets up filetype detection, which we might also be able to get upstreamed to neovim itself.

Then users would not have to install this repo as neovim plugin, see

{ "nushell/tree-sitter-nu", build = ":TSUpdate nu" },

in installation/neovim.md, probably saving users some diskspace but, more importantly, also supports installing nu support via just :TSInstall nu, without any additional line of configuration.

However, as it currently is, we have the advantage that we manage our queries/nu/*.scm ourselves. So we can easily make braking changes - i.e., renaming or removing nodes that queries refer to - because we directly control both, the grammar and the highlights. With a transition to the nvim-treesitter, we have to be careful whenever we do one of the two changes to our grammar, because we have to adjust queries in a different repo.

I hope that I made the situation clear to everyone who uses this parser in neovim.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with installation/neovim.md, then inspect plugin/init.lua and the queries/nu/*.scm files alongside the referenced nvim-treesitter commit. Determine which configuration and queries could move upstream and how grammar changes would be coordinated. Done means the integration plan is resolved and the affected installation or upstream changes are documented.

Written by the indexing model from the issue text.

Assessment

Tech stack
neovim
Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.