FUEL: ensures fuel-listener-mode and factor-mode has the same syntax table
parent
3dd40b5ef3
commit
6649e4a426
|
@ -704,43 +704,7 @@ With prefix, non-existing files will be created."
|
||||||
|
|
||||||
;;; factor-mode:
|
;;; factor-mode:
|
||||||
|
|
||||||
;; I think it is correct to put almost all punctuation characters in
|
(defvar factor-mode-syntax-table (fuel-syntax-table))
|
||||||
;; the word class because Factor words can be made up of almost
|
|
||||||
;; anything. Otherwise you get incredibly annoying regexps.
|
|
||||||
(defvar factor-mode-syntax-table
|
|
||||||
(let ((table (make-syntax-table prog-mode-syntax-table)))
|
|
||||||
(modify-syntax-entry ?\" "\"" table)
|
|
||||||
(modify-syntax-entry ?# "_" table)
|
|
||||||
(modify-syntax-entry ?! "_" table)
|
|
||||||
(modify-syntax-entry ?\n "> " table)
|
|
||||||
(modify-syntax-entry ?$ "_" table)
|
|
||||||
(modify-syntax-entry ?@ "_" table)
|
|
||||||
(modify-syntax-entry ?? "_" table)
|
|
||||||
(modify-syntax-entry ?_ "_" table)
|
|
||||||
(modify-syntax-entry ?: "_" table)
|
|
||||||
(modify-syntax-entry ?< "_" table)
|
|
||||||
(modify-syntax-entry ?> "_" table)
|
|
||||||
(modify-syntax-entry ?. "_" table)
|
|
||||||
(modify-syntax-entry ?, "_" table)
|
|
||||||
(modify-syntax-entry ?& "_" table)
|
|
||||||
(modify-syntax-entry ?| "_" table)
|
|
||||||
(modify-syntax-entry ?% "_" table)
|
|
||||||
(modify-syntax-entry ?= "_" table)
|
|
||||||
(modify-syntax-entry ?/ "_" table)
|
|
||||||
(modify-syntax-entry ?+ "_" table)
|
|
||||||
(modify-syntax-entry ?* "_" table)
|
|
||||||
(modify-syntax-entry ?- "_" table)
|
|
||||||
(modify-syntax-entry ?\; "_" table)
|
|
||||||
(modify-syntax-entry ?\' "_" table)
|
|
||||||
(modify-syntax-entry ?^ "_" table)
|
|
||||||
(modify-syntax-entry ?~ "_" table)
|
|
||||||
(modify-syntax-entry ?\( "()" table)
|
|
||||||
(modify-syntax-entry ?\) ")(" table)
|
|
||||||
(modify-syntax-entry ?\{ "(}" table)
|
|
||||||
(modify-syntax-entry ?\} "){" table)
|
|
||||||
(modify-syntax-entry ?\[ "(]" table)
|
|
||||||
(modify-syntax-entry ?\] ")[" table)
|
|
||||||
table))
|
|
||||||
|
|
||||||
(defun factor-setup-buffer-font-lock ()
|
(defun factor-setup-buffer-font-lock ()
|
||||||
(setq-local comment-start "! ")
|
(setq-local comment-start "! ")
|
||||||
|
|
|
@ -80,7 +80,44 @@
|
||||||
(save-buffer buffer))
|
(save-buffer buffer))
|
||||||
(cons file buffer)))
|
(cons file buffer)))
|
||||||
|
|
||||||
|
;; I think it is correct to put almost all punctuation characters in
|
||||||
|
;; the word class because Factor words can be made up of almost
|
||||||
|
;; anything. Otherwise you get incredibly annoying regexps.
|
||||||
|
(defun fuel-syntax-table ()
|
||||||
|
(let ((table (make-syntax-table prog-mode-syntax-table)))
|
||||||
|
(modify-syntax-entry ?\" "\"" table)
|
||||||
|
(modify-syntax-entry ?# "_" table)
|
||||||
|
(modify-syntax-entry ?! "_" table)
|
||||||
|
(modify-syntax-entry ?\n "> " table)
|
||||||
|
(modify-syntax-entry ?$ "_" table)
|
||||||
|
(modify-syntax-entry ?@ "_" table)
|
||||||
|
(modify-syntax-entry ?? "_" table)
|
||||||
|
(modify-syntax-entry ?_ "_" table)
|
||||||
|
(modify-syntax-entry ?: "_" table)
|
||||||
|
(modify-syntax-entry ?< "_" table)
|
||||||
|
(modify-syntax-entry ?> "_" table)
|
||||||
|
(modify-syntax-entry ?. "_" table)
|
||||||
|
(modify-syntax-entry ?, "_" table)
|
||||||
|
(modify-syntax-entry ?& "_" table)
|
||||||
|
(modify-syntax-entry ?| "_" table)
|
||||||
|
(modify-syntax-entry ?% "_" table)
|
||||||
|
(modify-syntax-entry ?= "_" table)
|
||||||
|
(modify-syntax-entry ?/ "_" table)
|
||||||
|
(modify-syntax-entry ?+ "_" table)
|
||||||
|
(modify-syntax-entry ?* "_" table)
|
||||||
|
(modify-syntax-entry ?- "_" table)
|
||||||
|
(modify-syntax-entry ?\; "_" table)
|
||||||
|
(modify-syntax-entry ?\' "_" table)
|
||||||
|
(modify-syntax-entry ?^ "_" table)
|
||||||
|
(modify-syntax-entry ?~ "_" table)
|
||||||
|
(modify-syntax-entry ?\( "()" table)
|
||||||
|
(modify-syntax-entry ?\) ")(" table)
|
||||||
|
(modify-syntax-entry ?\{ "(}" table)
|
||||||
|
(modify-syntax-entry ?\} "){" table)
|
||||||
|
(modify-syntax-entry ?\[ "(]" table)
|
||||||
|
(modify-syntax-entry ?\] ")[" table)
|
||||||
|
table))
|
||||||
|
|
||||||
(provide 'fuel-base)
|
(provide 'fuel-base)
|
||||||
|
|
||||||
;;; fuel-base.el ends here
|
;;; fuel-base.el ends here
|
||||||
|
|
|
@ -266,7 +266,8 @@ the vocabulary name."
|
||||||
(setq-local comint-use-prompt-regexp nil)
|
(setq-local comint-use-prompt-regexp nil)
|
||||||
(setq-local comint-prompt-read-only fuel-listener-prompt-read-only-p)
|
(setq-local comint-prompt-read-only fuel-listener-prompt-read-only-p)
|
||||||
(fuel-listener--setup-completion)
|
(fuel-listener--setup-completion)
|
||||||
(fuel-listener--setup-stack-mode))
|
(fuel-listener--setup-stack-mode)
|
||||||
|
(set-syntax-table (fuel-syntax-table)))
|
||||||
|
|
||||||
(define-key fuel-listener-mode-map "\C-a" 'fuel-listener--bol)
|
(define-key fuel-listener-mode-map "\C-a" 'fuel-listener--bol)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue