Function: hs-grok-mode-type
hs-grok-mode-type is a byte-compiled function defined in
hideshow.el.gz.
Signature
(hs-grok-mode-type)
Documentation
Set up hideshow variables for new buffers.
If hs-special-modes-alist has information associated with the current
buffer's major mode, use that. Otherwise, guess start, end and
comment-start regexps; forward-sexp function; and
adjust-block-beginning function.
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/hideshow.el.gz
;; TODO: When `hs-special-modes-alist' is removed, `hs-grok-mode-type'
;; and `hs--set-variable' will no longer be necessary, but
;; `hs-c-start-regexp' will still have to be set manually after enabling
;; `hs-minor-mode'.
(defun hs-grok-mode-type ()
"Set up hideshow variables for new buffers.
If `hs-special-modes-alist' has information associated with the current
buffer's major mode, use that. Otherwise, guess start, end and
`comment-start' regexps; `forward-sexp' function; and
adjust-block-beginning function."
(hs--set-variable 'hs-block-start-regexp
(lambda (v) (car (ensure-list (nth 1 v)))))
(hs--set-variable 'hs-block-start-mdata-select
(lambda (v) (cadr (ensure-list (nth 1 v)))))
(hs--set-variable 'hs-block-end-regexp 2)
(hs--set-variable 'hs-c-start-regexp 3
(string-trim-right (regexp-quote comment-start)))
(hs--set-variable 'hs-forward-sexp-function 4)
(hs--set-variable 'hs-adjust-block-beginning-function 5)
(hs--set-variable 'hs-find-block-beginning-function 6)
(hs--set-variable 'hs-find-next-block-function 7)
(hs--set-variable 'hs-looking-at-block-start-predicate 8))