blob: 098a28c67788930d4f61a05b843480fb6c271334 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
(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))
|