Function: combobulate-query-builder-change-parser
combobulate-query-builder-change-parser is an interactive and natively
compiled function defined in combobulate-query.el.
Signature
(combobulate-query-builder-change-parser)
Documentation
Change the parser used by combobulate-query-mode.
Key Bindings
combobulate-query-mode-map C-c p
Source Code
;; Defined in /nix/store/b5fvrwzi3zvkabyzx0in6gw1cj963z46-emacs-packages-deps/share/emacs/site-lisp/combobulate-query.el
(defun combobulate-query-builder-change-parser ()
"Change the parser used by `combobulate-query-mode'."
(interactive)
(unless (buffer-live-p combobulate-query-builder-target-buffer-name)
(error "Buffer `%s' is not live" combobulate-query-builder-target-buffer-name))
(let ((parsers (mapcar (lambda (p) (cons (format "%s" p) p)) (combobulate-parser-list))))
(setq combobulate-query-builder-parser
(cond
((length= parsers 1) (cdr (car parsers)))
((length> parsers 1)
(cdr (assoc (completing-read "Pick a parser" parsers) parsers)))
(t (if-let ((p (completing-read "There are no associated parsers. Pick a parser Combobulate knows about: "
combobulate-rules-languages)))
(combobulate-parser-create (intern p) combobulate-query-builder-target-buffer-name)
(error "No parser selected")))))
(when combobulate-query-builder-parser
(combobulate-message
(format "Parser changed to `%s'" (combobulate-parser-language combobulate-query-builder-parser))))))