Variable: c-ts-mode-map
c-ts-mode-map is a variable defined in c-ts-mode.el.gz.
Value
Documentation
Keymap for c-ts-mode.
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/c-ts-mode.el.gz
;;;###autoload
(define-derived-mode c-ts-mode c-ts-base-mode "C"
"Major mode for editing C, powered by tree-sitter.
This mode is independent from the classic cc-mode.el based
`c-mode', so configuration variables of that mode, like
`c-basic-offset', don't affect this mode.
To use tree-sitter C/C++ modes by default, evaluate
(add-to-list \\='major-mode-remap-alist \\='(c-mode . c-ts-mode))
(add-to-list \\='major-mode-remap-alist \\='(c++-mode . c++-ts-mode))
(add-to-list \\='major-mode-remap-alist
\\='(c-or-c++-mode . c-or-c++-ts-mode))
in your init files, or customize `treesit-enabled-modes'."
:group 'c
:after-hook (c-ts-mode-set-modeline)
(when (treesit-ensure-installed 'c)
;; Create an "for-each" parser, see `c-ts-mode--emacs-set-ranges'
;; for more.
(when c-ts-mode-emacs-sources-support
(setq-local treesit-primary-parser
(treesit-parser-create 'c nil nil 'for-each)))
(let ((primary-parser (treesit-parser-create 'c)))
;; Comments.
(setq-local comment-start "/* ")
(setq-local comment-end " */")
;; Indent.
(setq-local treesit-simple-indent-rules
(if (functionp c-ts-mode-indent-style)
(funcall c-ts-mode-indent-style)
(c-ts-mode--simple-indent-rules
'c c-ts-mode-indent-style)))
;; (setq-local treesit-simple-indent-rules
;; `((c . ,(alist-get 'gnu (c-ts-mode--indent-styles 'c)))))
;; Font-lock.
(setq-local treesit-font-lock-settings
(c-ts-mode--font-lock-settings 'c))
;; Navigation.
(setq-local treesit-defun-tactic 'top-level)
(treesit-major-mode-setup)
;; Emacs source support: handle DEFUN and FOR_EACH_* gracefully.
(when c-ts-mode-emacs-sources-support
(setq-local add-log-current-defun-function
#'c-ts-mode--emacs-current-defun-name)
(setq-local treesit-range-settings
(treesit-range-rules 'c-ts-mode--emacs-set-ranges))
(treesit-font-lock-recompute-features '(emacs-devel)))
;; Inject doxygen parser for comment.
(when (and c-ts-mode-enable-doxygen
(treesit-ensure-installed 'doxygen))
(setq-local treesit-primary-parser primary-parser)
(setq-local treesit-font-lock-settings
(append
treesit-font-lock-settings
c-ts-mode-doxygen-comment-font-lock-settings))
(setq-local treesit-range-settings
(append treesit-range-settings
(treesit-range-rules
:embed 'doxygen
:host 'c
:local t
`(((comment) @cap
(:match
,c-ts-mode--doxygen-comment-regex @cap))))))))))