A mode for Nushell that uses tree-sitter. (treesit introduced in Emacs 29)
- https://www.nushell.sh/
- https://github.com/nushell/tree-sitter-nu
- https://tree-sitter.github.io/tree-sitter/
As of 2023-09-08 nushell-ts-babel moved to separate repository.
- Syntax highlighting
- Indentation
- Completion
- Using completion-at-point-functions
- Using known keywords
- Simple variable completion using tree-sitter variable query
- Org babel integration
- Highlighting
- Execute source code blocks
- Run
treesit-install-language-grammar
- Select "nu"
- Use URL https://github.com/nushell/tree-sitter-nu
- Pick "src"
You will need to clone the repo and load it manually or use whatever package manager you use.
(straight-use-package
'(nushell-ts-mode :type git :host github :repo "herbertjones/nushell-ts-mode"))
For instance, on my system I have:
(use-package nushell-ts-mode
:straight (nushell-ts-mode :type git :host github :repo "herbertjones/nushell-ts-mode")
:config
(require 'nushell-ts-babel)
(defun hfj/nushell/mode-hook ()
(corfu-mode 1)
(highlight-parentheses-mode 1)
(electric-pair-local-mode 1)
(electric-indent-local-mode 1))
(add-hook 'nushell-ts-mode-hook 'hfj/nushell/mode-hook))