Function: treesit--read-major-mode

treesit--read-major-mode is a byte-compiled function defined in treesit.el.gz.

Signature

(treesit--read-major-mode)

Documentation

Read a major mode using completion.

Helper function to use in the interactive spec of treesit-check-indent.

Source Code

;; Defined in /usr/src/emacs/lisp/treesit.el.gz
(defun treesit--read-major-mode ()
  "Read a major mode using completion.
Helper function to use in the `interactive' spec of `treesit-check-indent'."
  (let* ((default (and (symbolp major-mode) (symbol-name major-mode)))
	 (mode
	  (completing-read
	   (format-prompt "Target major mode" default)
	   obarray
	   (lambda (sym)
	     (and (string-suffix-p "-mode" (symbol-name sym))
		  (not (or (memq sym minor-mode-list)
                           (string-suffix-p "-minor-mode"
                                            (symbol-name sym))))))
	   nil nil nil default nil)))
    (cond
     ((equal mode "nil") nil)
     ((and (stringp mode) (fboundp (intern mode))) (intern mode))
     (t mode))))