Mercurial > emacs
changeset 14760:c6e53d665cec
(texinfo-section-types-regexp)
(texinfo-section-level-regexp, texinfo-subsection-level-regexp)
(texinfo-subsubsection-level-regexp): Add defvars.
(texinfo-section-list): New variable.
(texinfo-outline-level): New function.
(texinfo-mode): Use them.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Tue, 05 Mar 1996 21:42:17 +0000 |
parents | f93ed65c0584 |
children | bef2b46521de |
files | lisp/textmodes/texinfo.el |
diffstat | 1 files changed, 47 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/textmodes/texinfo.el Tue Mar 05 21:19:11 1996 +0000 +++ b/lisp/textmodes/texinfo.el Tue Mar 05 21:42:17 1996 +0000 @@ -223,6 +223,40 @@ ("@\\(end\\|itemx?\\) +\\(.+\\)" 2 font-lock-function-name-face keep) ) "Additional expressions to highlight in TeXinfo mode.") + +(defvar texinfo-section-list + '(("top" 1) + ("majorheading" 1) + ("chapter" 2) + ("unnumbered" 2) + ("appendix" 2) + ("chapheading" 2) + ("section" 3) + ("unnumberedsec" 3) + ("appendixsec" 3) + ("heading" 3) + ("subsection" 4) + ("unnumberedsubsec" 4) + ("appendixsubsec" 4) + ("subheading" 4) + ("subsubsection" 5) + ("unnumberedsubsubsec" 5) + ("appendixsubsubsec" 5) + ("subsubheading" 5)) + "Alist of sectioning commands and their relative level.") + +(defun texinfo-outline-level () + ;; Calculate level of current texinfo outline heading. + (save-excursion + (if (bobp) + 0 + (forward-char 1) + (let* ((word (buffer-substring-no-properties + (point) (progn (forward-word 1) (point)))) + (entry (assoc word texinfo-section-list))) + (if entry + (nth 1 entry) + 5))))) ;;; Keybindings (defvar texinfo-mode-map nil) @@ -401,6 +435,13 @@ (setq imenu-generic-expression texinfo-imenu-generic-expression) (make-local-variable 'font-lock-defaults) (setq font-lock-defaults '(texinfo-font-lock-keywords t)) + (make-local-variable 'outline-regexp) + (setq outline-regexp + (concat "@\\(" + (mapconcat 'car texinfo-section-list "\\>\\|") + "\\>\\)")) + (make-local-variable 'outline-level) + (setq outline-level 'texinfo-outline-level) (make-local-variable 'tex-start-of-header) (setq tex-start-of-header "%**start") (make-local-variable 'tex-end-of-header) @@ -544,6 +585,12 @@ ;;; Texinfo file structure +;; These are defined in tenfo-upd.el. +(defvar texinfo-section-types-regexp) +(defvar texinfo-section-level-regexp) +(defvar texinfo-subsection-level-regexp) +(defvar texinfo-subsubsection-level-regexp) + (defun texinfo-show-structure (&optional nodes-too) "Show the structure of a Texinfo file. List the lines in the file that begin with the @-sign commands for