diff options
| author | Makarius Wenzel | 2001-09-26 20:47:28 +0000 |
|---|---|---|
| committer | Makarius Wenzel | 2001-09-26 20:47:28 +0000 |
| commit | 8df27798439eb18aedced8d5b47edbb2efae4961 (patch) | |
| tree | c1d740679b823a309a970654e310bc4e70b58214 | |
| parent | 953ab1a42f8d6be0ecf20c82aecf38e4d51a42de (diff) | |
support \<^bold> control symbols;
| -rw-r--r-- | isa/x-symbol-isabelle.el | 42 |
1 files changed, 30 insertions, 12 deletions
diff --git a/isa/x-symbol-isabelle.el b/isa/x-symbol-isabelle.el index bc00f5e2..1d5c2ba2 100644 --- a/isa/x-symbol-isabelle.el +++ b/isa/x-symbol-isabelle.el @@ -32,29 +32,47 @@ (defvar x-symbol-isabelle-electric-ignore "[:'][A-Za-z]\\|<=\\|\\[\\[\\|\\]\\]\\|~=") -;; Super- and subscripts +;; Bold, super- and subscripts -(defconst x-symbol-isabelle-font-lock-regexp - "\\(\\\\?\\\\<\\^su[bp]>\\)\\(\\\\?\\\\<[A-Za-z][A-Za-z0-9_']*>\\|[^\\]\\)" +(defun x-symbol-isabelle-make-ctrl-regexp (s) + (concat "\\(\\\\?\\\\<\\^" s ">\\)\\(\\\\?\\\\<[A-Za-z][A-Za-z0-9_']*>\\|[^\\]\\)")) + +(defconst x-symbol-isabelle-font-lock-bold-regexp + (x-symbol-isabelle-make-ctrl-regexp "bold") + "Regexp matching bold marker in Isabelle.") + +(defconst x-symbol-isabelle-font-lock-scripts-regexp + (x-symbol-isabelle-make-ctrl-regexp "su[bp]") "Regexp matching super- and subscript markers in Isabelle.") -(defun x-symbol-isabelle-match-subscript (limit) +(defun x-symbol-isabelle-match-bold (limit) + ;; checkdoc-params: (limit) + "Match and skip over bold face. +Return nil if `x-symbol-mode' is nil. +Uses `x-symbol-isabelle-font-lock-bold-regexp'." + (and (proof-ass x-symbol-enable) + (or (proof-looking-at x-symbol-isabelle-font-lock-bold-regexp) + (proof-re-search-forward x-symbol-isabelle-font-lock-bold-regexp limit t)))) + +(defun x-symbol-isabelle-match-scripts (limit) ;; checkdoc-params: (limit) "Match and skip over super- and subscripts. -Return nil if `x-symbol-mode' or `x-symbol-subscripts' is nil. Uses -`x-symbol-isabelle-font-lock-regexp'." +Return nil if `x-symbol-mode' is nil. +Uses `x-symbol-isabelle-font-lock-scripts-regexp'." (and (proof-ass x-symbol-enable) - (or (proof-looking-at x-symbol-isabelle-font-lock-regexp) - (proof-re-search-forward x-symbol-isabelle-font-lock-regexp limit t)))) + (or (proof-looking-at x-symbol-isabelle-font-lock-scripts-regexp) + (proof-re-search-forward x-symbol-isabelle-font-lock-scripts-regexp limit t)))) (defvar x-symbol-isabelle-font-lock-keywords - '((x-symbol-isabelle-match-subscript + '((x-symbol-isabelle-match-bold + (1 x-symbol-invisible-face t) + (2 'underline prepend)) + (x-symbol-isabelle-match-scripts (1 x-symbol-invisible-face t) (2 (if (or (eq (char-after (+ 5 (match-beginning 1))) ?b) (eq (char-after (+ 6 (match-beginning 1))) ?b)) - 'x-symbol-sub-face 'x-symbol-sup-face) - prepend))) - "Isabelle font-lock keywords for super- and subscripts.") + 'x-symbol-sub-face 'x-symbol-sup-face) prepend))) + "Isabelle font-lock keywords for bold, super- and subscripts.") (defvar x-symbol-isabelle-master-directory 'ignore) |
