From d0cd8444fa69269803d9cda8af6277d2cdbecaee Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Fri, 15 May 2026 17:25:47 -0400 Subject: editors syntax highlighting ... - emacs syntax: add tree-sitter major mode for SiSU spine markup New file sisu-spine-ts-mode.el is a sibling of the existing regex mode, backed by Emacs 29+'s built-in treesit.el and the tree-sitter-sisu grammar. It replaces the long font-lock keyword list with treesit-font-lock-rules grouped into eight features (comment, header, heading, block, inline, note, link, index, misc) so users can dial verbosity via treesit-font-lock-level. It also wires up: - treesit-simple-imenu-settings for a heading outline, - treesit-thing-settings for sentence / paragraph motions, - treesit-defun-type-regexp so C-M-a / C-M-e jump heading-to-heading, - a sisu-spine-ts-install-grammar command that registers treesit-language-source-alist and runs treesit-install-language-grammar so users can install the parser from inside Emacs without leaving the editor. - the original sisu-spine-mode.el is unchanged and supported for Emacs < 29 and for users who prefer regex highlighting. - nvim drop-in: point parser fetch at tools/tree-sitter-sisu sundry/editor-syntax-etc/nvim/ The nvim-treesitter install_info now fetches the parser from https://git.sisudoc.org/projects/tree-sitter-sisu which can be cloned via git://git.sisudoc.org/tools/tree-sitter-sisu The fetched paths: files = { "src/parser.c", "src/scanner.c" } submission of the sisu parser to nvim-treesitter's parsers.lua should be a near-trivial one-liner. - the original vim regex highlighter remains as before - sundry/editor-syntax-etc/vim/syntax/sisu-spine.vim - sundry/editor-syntax-etc/vim/templates/{sst,ssm,ssi}.tpl new skeleton templates for the three SiSU markup file types sets up the YAML header (title, creator, date, rights, classify, identfier) - .gitignore - whitelist the new files (assisted by Claude-Code) --- makefile | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) (limited to 'makefile') diff --git a/makefile b/makefile index b91d722..d8703de 100644 --- a/makefile +++ b/makefile @@ -642,14 +642,14 @@ skel: mkdir -p build; \ mkdir -p views; \ mkdir -p data; \ - mkdir -p sundry/misc/util/d/cgi/search/cgi-bin/src; \ - mkdir -p sundry/misc/util/d/tools/markup_conversion; \ - mkdir -p sundry/misc/editor-syntax-etc/emacs; \ - mkdir -p sundry/misc/editor-syntax-etc/vim/syntax; \ - mkdir -p sundry/misc/editor-syntax-etc/vim/colors; \ - mkdir -p sundry/misc/editor-syntax-etc/vim/ftplugin; \ - mkdir -p sundry/misc/editor-syntax-etc/vim/rc; \ - mkdir -p sundry/misc/editor-syntax-etc/vim/templates; \ + mkdir -p sundry/util/d/cgi/search/cgi-bin/src; \ + mkdir -p sundry/util/d/tools/markup_conversion; \ + mkdir -p sundry/editor-syntax-etc/emacs; \ + mkdir -p sundry/editor-syntax-etc/vim/syntax; \ + mkdir -p sundry/editor-syntax-etc/vim/colors; \ + mkdir -p sundry/editor-syntax-etc/vim/ftplugin; \ + mkdir -p sundry/editor-syntax-etc/vim/rc; \ + mkdir -p sundry/editor-syntax-etc/vim/templates; \ mkdir -p $(PRG_SRCDIR)/$(PRG_NAME_DIR)/conf; \ mkdir -p $(PRG_SRCDIR)/$(PRG_NAME_DIR)/io_in; \ mkdir -p $(PRG_SRCDIR)/$(PRG_NAME_DIR)/io_out; \ @@ -685,14 +685,14 @@ distclean: expunge distclean_and_init: expunge mkdir -p views; \ - mkdir -p sundry/misc/util/d/cgi/search/cgi-bin/src; \ - mkdir -p sundry/misc/util/d/tools/markup_conversion; \ - mkdir -p sundry/misc/editor-syntax-etc/emacs; \ - mkdir -p sundry/misc/editor-syntax-etc/vim/syntax; \ - mkdir -p sundry/misc/editor-syntax-etc/vim/colors; \ - mkdir -p sundry/misc/editor-syntax-etc/vim/ftplugin; \ - mkdir -p sundry/misc/editor-syntax-etc/vim/rc; \ - mkdir -p sundry/misc/editor-syntax-etc/vim/templates; \ + mkdir -p sundry/util/d/cgi/search/cgi-bin/src; \ + mkdir -p sundry/util/d/tools/markup_conversion; \ + mkdir -p sundry/editor-syntax-etc/emacs; \ + mkdir -p sundry/editor-syntax-etc/vim/syntax; \ + mkdir -p sundry/editor-syntax-etc/vim/colors; \ + mkdir -p sundry/editor-syntax-etc/vim/ftplugin; \ + mkdir -p sundry/editor-syntax-etc/vim/rc; \ + mkdir -p sundry/editor-syntax-etc/vim/templates; \ mkdir -p $(PRG_SRCDIR)/$(PRG_NAME_DIR); \ mkdir -p $(PRG_BINDIR); -- cgit v1.2.3