[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Major mode hooks for minor modes and functions
From: |
uzibalqa |
Subject: |
Major mode hooks for minor modes and functions |
Date: |
Sat, 24 Jun 2023 09:48:43 +0000 |
Does it make sense for me to call major-mode hooks to enable tika-minor-mode
and then call other hooks to other functions such as in tika-addhook-hgptn.
Then call (tika-outlhg) when the minor mode is enabled as I do in
define-minor-mode tika-minor-mode
Here is the contents of my .emacs
(require 'tika)
(tika-addhook)
Here is the minor mode
(defun tika-outlhg-regexp ()
(cond
((eq major-mode 'emacs-lisp-mode)
(let ( (hrklevels tematika-elisp-hrklevels) )
(setq outline-regexp
(concat (regexp-opt (mapcar 'car hrklevels)) "\\>"))
(setq outline-heading-alist hrklevels)
(setq-local outline-level 'outline-level)))
((eq major-mode 'sh-mode)
(let ( (hrklevels tematika-bash-hrklevels) )
(setq outline-regexp
(concat (regexp-opt (mapcar 'car hrklevels)) "\\>"))
(setq outline-heading-alist hrklevels)))
((eq major-mode 'f90-mode)
(let ( (hrklevels tematika-fortran-hrklevels) )
(setq outline-regexp
(concat (regexp-opt (mapcar 'car hrklevels)) "\\>"))
(setq outline-heading-alist hrklevels)))
((eq major-mode 'fortran-mode)
(let ( (hrklevels tematika-f77-hrklevels) )
(setq outline-regexp
(concat (regexp-opt (mapcar 'car hrklevels)) "\\>"))
(setq outline-heading-alist hrklevels)))
((eq major-mode 'latex-mode)
(let ( (hrklevels tematika-latex-hrklevels) )
(setq outline-regexp
(concat (regexp-opt (mapcar 'car hrklevels)) "\\>"))
(setq outline-heading-alist hrklevels)
(setq-local outline-level 'outline-level)))
((eq major-mode 'plain-tex-mode)
(let ( (hrklevels tematika-tex-hrklevels) )
(setq outline-regexp
(concat (regexp-opt (mapcar 'car hrklevels)) "\\>"))
(setq outline-heading-alist hrklevels))) ))
(defun tika-addhook-hgptn ()
"Specify the outline hierarchy functions to be executed when a
major mode is activated."
(add-hook 'emacs-lisp-mode-hook #'tika-outlhg-regexp)
(add-hook 'sh-mode-hook #'tika-outlhg-regexp)
(add-hook 'f90-mode-hook #'tika-outlhg-regexp)
(add-hook 'fortran-mode-hook #'tika-outlhg-regexp)
(add-hook 'latex-mode-hook #'tika-outlhg-regexp)
(add-hook 'plain-tex-mode-hook #'tika-outlhg-regexp) )
(defun tika-outlhg ()
"Set pattern and typeface for outline headings."
(setq outline-minor-mode-highlight 'override)
(tika-addhook-hgptn)
(tika-outlhg-tyface))
;;;###autoload
(define-minor-mode tika-minor-mode
"Enhances visibility of heading levels and text emphasis."
(if tika-minor-mode
(progn (outline-minor-mode 1) (tika-outlhg))
(outline-minor-mode 0)) )
;;;###autoload
(defun tika-addhook ()
"Activate minor-mode' automatically for specific major-modes."
(add-hook 'emacs-lisp-mode-hook #'tika-minor-mode)
(add-hook 'sh-mode-hook #'tika-minor-mode)
(add-hook 'f90-mode-hook #'tika-minor-mode)
(add-hook 'fortran-mode-hook #'tika-minor-mode)
(add-hook 'latex-mode-hook #'tika-minor-mode)
(add-hook 'plain-tex-mode-hook #'tika-minor-mode))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Major mode hooks for minor modes and functions,
uzibalqa <=