Function: treesit--explorer-generate-parser-alist
treesit--explorer-generate-parser-alist is a byte-compiled function
defined in treesit.el.gz.
Signature
(treesit--explorer-generate-parser-alist)
Documentation
Return an alist of (PARSER-NAME . PARSER) for relevant parsers.
Relevant parsers include all global parsers and local parsers that covers point. PARSER-NAME are unique.
Source Code
;; Defined in /usr/src/emacs/lisp/treesit.el.gz
(defun treesit--explorer-generate-parser-alist ()
"Return an alist of (PARSER-NAME . PARSER) for relevant parsers.
Relevant parsers include all global parsers and local parsers that
covers point. PARSER-NAME are unique."
(let* ((local-parsers (treesit-parser-list nil nil 'embedded))
(local-parsers-at-point
(treesit-local-parsers-at (point)))
res)
(dolist (parser (treesit-parser-list nil nil t))
;; Exclude local parsers that doesn't cover point.
(when (or (memq parser local-parsers-at-point)
(not (memq parser local-parsers)))
(push (cons (concat (format "%s" parser)
(if (treesit-parser-tag parser)
(format " tag=%s"
(treesit-parser-tag
parser))
"")
(if (memq parser
local-parsers-at-point)
" (local)"
"")
(propertize (format " %s" (gensym))
'invisible t))
parser)
res)))
(nreverse res)))