Variable: heex-ts-mode-abbrev-table

heex-ts-mode-abbrev-table is a variable defined in heex-ts-mode.el.gz.

Value

#<obarray n=1>

Documentation

Abbrev table for heex-ts-mode.

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/heex-ts-mode.el.gz
;;;###autoload
(define-derived-mode heex-ts-mode html-mode "HEEx"
  "Major mode for editing HEEx, powered by tree-sitter."
  :group 'heex-ts

  (when (treesit-ready-p 'heex)
    (treesit-parser-create 'heex)

    ;; Comments
    (setq-local treesit-thing-settings
                `((heex
                   (text ,(regexp-opt '("comment" "text"))))))

    (setq-local forward-sexp-function #'heex-ts--forward-sexp)

    ;; Navigation.
    (setq-local treesit-defun-type-regexp
                (rx bol (or "component" "tag" "slot") eol))
    (setq-local treesit-defun-name-function #'heex-ts--defun-name)

    ;; Imenu
    (setq-local treesit-simple-imenu-settings
                '(("Component" "\\`component\\'" nil nil)
                  ("Slot" "\\`slot\\'" nil nil)
                  ("Tag" "\\`tag\\'" nil nil)))

    ;; Outline minor mode
    ;; `heex-ts-mode' inherits from `html-mode' that sets
    ;; regexp-based outline variables.  So need to restore
    ;; the default values of outline variables to be able
    ;; to use `treesit-outline-predicate' derived
    ;; from `treesit-simple-imenu-settings' above.
    (kill-local-variable 'outline-heading-end-regexp)
    (kill-local-variable 'outline-regexp)
    (kill-local-variable 'outline-level)

    (setq-local treesit-font-lock-settings heex-ts--font-lock-settings)

    (setq-local treesit-simple-indent-rules heex-ts--indent-rules)

    (setq-local treesit-font-lock-feature-list
                '(( heex-comment heex-keyword heex-doctype )
                  ( heex-component heex-tag heex-attribute heex-string )
                  () ()))

    (treesit-major-mode-setup)))