(add-to-list 'load-path (or (file-name-directory #$) (car load-path))) ;; Regex / font-lock major mode. Fallback for Emacs < 29 and for users ;; who have not installed the tree-sitter-sisu parser. (autoload 'sisu-spine-mode "sisu-spine-mode" "\ Major mode for editing SiSU (spine) markup files. SiSU (https://www.sisudoc.org/) document structuring, publishing and search. \(fn)" t nil) ;; Tree-sitter major mode (Emacs 29+). When the parser is installed it ;; is selected by `auto-mode-alist'; otherwise the regex mode is used. (autoload 'sisu-spine-ts-mode "sisu-spine-ts-mode" "\ Tree-sitter major mode for editing SiSU (spine) markup files. \(fn)" t nil) (autoload 'sisu-spine-ts-install-grammar "sisu-spine-ts-mode" "\ Install the tree-sitter-sisu grammar for `sisu-spine-ts-mode'. \(fn)" t nil) (defun sisu-spine-auto-mode () "Choose `sisu-spine-ts-mode' if the parser is installed, else fall back." (if (and (fboundp 'treesit-ready-p) (treesit-ready-p 'sisu t)) (sisu-spine-ts-mode) (sisu-spine-mode))) (add-to-list 'auto-mode-alist '("\\.sst\\'" . sisu-spine-auto-mode)) (add-to-list 'auto-mode-alist '("\\.ssm\\'" . sisu-spine-auto-mode)) (add-to-list 'auto-mode-alist '("\\.ssi\\'" . sisu-spine-auto-mode))