FUEL: Ignore paren chars in \, POSTPONE: and stack effects.
parent
66f5694462
commit
befeff625d
|
@ -84,6 +84,8 @@
|
||||||
(t 'default))))
|
(t 'default))))
|
||||||
((char-equal (char-after (nth 8 state)) ?U)
|
((char-equal (char-after (nth 8 state)) ?U)
|
||||||
'factor-font-lock-parsing-word)
|
'factor-font-lock-parsing-word)
|
||||||
|
((char-equal (char-after (nth 8 state)) ?\()
|
||||||
|
'factor-font-lock-stack-effect)
|
||||||
(t 'factor-font-lock-comment)))
|
(t 'factor-font-lock-comment)))
|
||||||
|
|
||||||
(defconst fuel-font-lock--font-lock-keywords
|
(defconst fuel-font-lock--font-lock-keywords
|
||||||
|
@ -135,16 +137,18 @@
|
||||||
|
|
||||||
;;; Fontify strings as Factor code:
|
;;; Fontify strings as Factor code:
|
||||||
|
|
||||||
(defvar fuel-font-lock--font-lock-buffer
|
(defun fuel-font-lock--font-lock-buffer ()
|
||||||
(let ((buffer (get-buffer-create " *fuel font lock*")))
|
(let ((name " *fuel font lock*"))
|
||||||
(set-buffer buffer)
|
(or (get-buffer name)
|
||||||
(set-syntax-table fuel-syntax--syntax-table)
|
(let ((buffer (get-buffer-create name)))
|
||||||
(fuel-font-lock--font-lock-setup)
|
(set-buffer buffer)
|
||||||
buffer))
|
(set-syntax-table fuel-syntax--syntax-table)
|
||||||
|
(fuel-font-lock--font-lock-setup)
|
||||||
|
buffer))))
|
||||||
|
|
||||||
(defun fuel-font-lock--factor-str (str)
|
(defun fuel-font-lock--factor-str (str)
|
||||||
(save-current-buffer
|
(save-current-buffer
|
||||||
(set-buffer fuel-font-lock--font-lock-buffer)
|
(set-buffer (fuel-font-lock--font-lock-buffer))
|
||||||
(erase-buffer)
|
(erase-buffer)
|
||||||
(insert str)
|
(insert str)
|
||||||
(let ((font-lock-verbose nil)) (font-lock-fontify-buffer))
|
(let ((font-lock-verbose nil)) (font-lock-fontify-buffer))
|
||||||
|
|
|
@ -240,10 +240,11 @@
|
||||||
|
|
||||||
(defconst fuel-syntax--syntactic-keywords
|
(defconst fuel-syntax--syntactic-keywords
|
||||||
`(;; CHARs:
|
`(;; CHARs:
|
||||||
("CHAR: \\(.\\)\\( \\|$\\)" (1 "w"))
|
("\\(CHAR:\\|POSTPONE:\\|\\\\\\) \\(.\\)\\( \\|$\\)" (2 "w"))
|
||||||
;; Comments:
|
;; Comments:
|
||||||
("\\_<\\(#?!\\) .*\\(\n\\|$\\)" (1 "<") (2 ">"))
|
("\\_<\\(#?!\\) .*\\(\n\\|$\\)" (1 "<") (2 ">"))
|
||||||
("\\_<\\(#?!\\)\\(\n\\|$\\)" (1 "<") (2 ">"))
|
("\\_<\\(#?!\\)\\(\n\\|$\\)" (1 "<") (2 ">"))
|
||||||
|
("\\_<\\((\\) \\([^)\n]*?\\) \\()\\)\\_>" (1 "<b") (2 "w") (3 ">b"))
|
||||||
;; Strings
|
;; Strings
|
||||||
("\\_<\\(\"\\)\\([^\n\r\f\"]\\|\\\\\"\\)*\\(\"\\)\\_>" (1 "\"") (3 "\""))
|
("\\_<\\(\"\\)\\([^\n\r\f\"]\\|\\\\\"\\)*\\(\"\\)\\_>" (1 "\"") (3 "\""))
|
||||||
("\\_<<\\(\"\\)\\_>" (1 "\""))
|
("\\_<<\\(\"\\)\\_>" (1 "\""))
|
||||||
|
|
Loading…
Reference in New Issue