wisp
 
(Arne Babenhauserheide)
2013-08-10: wisp-mode: font-lock the empty list and the form 'name as constant.

wisp-mode: font-lock the empty list and the form 'name as constant. Also comment the font-locking.

diff --git a/wisp-mode.el b/wisp-mode.el
--- a/wisp-mode.el
+++ b/wisp-mode.el
@@ -57,20 +57,20 @@
 ; TODO: take all identifiers from scheme.el
 (defvar wisp-font-lock-keywords
   `((
-     ;; stuff between "
-     ("\\`#!.*" . font-lock-comment-face)
-     ("\"\\.\\*\\?" . font-lock-string-face)
-     ; ("\\_<let\\*\\_>" . font-lock-builtin-face)
-     ( ,(regexp-opt wisp-builtin 'symbols) . font-lock-builtin-face)
-     ("#[tf]"  . font-lock-constant-face)
-     ("#\\\\[^ 	]+"  . font-lock-constant-face)
-     ("^\\(?: *\\)[^ :][^ 	]*" . 'font-lock-function-name-face)
-     ; ("\\(?: : *\\)[^ ]+" . 'font-lock-function-name-face)
-     (" : " "\\=\\([^ 	]+\\)" nil nil (1 font-lock-function-name-face))
-     ("[^']( *" "\\=\\([^ 	)]+\\)" nil nil (1 font-lock-function-name-face))
+     ("\\`#!.*" . font-lock-comment-face) ; initial hashbang
+     ("\"\\.\\*\\?" . font-lock-string-face) ; strings (anything between "")
+     ( ,(regexp-opt wisp-builtin 'symbols) . font-lock-builtin-face) ; generic functions
+     ("#[tf]"  . font-lock-constant-face) ; #t and #f
+     ("#\\\\[^ 	]+"  . font-lock-constant-face) ; character literals
+     ;                    v there is a tab here.
+     ("^\\(?: *\\)[^ :][^ 	]*" . 'font-lock-function-name-face) ; function calls as start of the line
+     (" : " "\\=\\([^ 	]+\\)" nil nil (1 font-lock-function-name-face)) ; function calls with inline :
+     ("[^']( *" "\\=\\([^ 	)]+\\)" nil nil (1 font-lock-function-name-face)) ; function calls with (
      (";" . 'font-lock-comment-delimiter-face)
-     ("\\_<[0-9]+\\_>\\|\\_<[0-9]*\\.[0-9]*\\(e[+-]?[0-9]+\\)?\\_>" . font-lock-constant-face)
-     (" : \\| \\. " . font-lock-keywords-face)
+     ("\\_<[0-9]+\\_>\\|\\_<[0-9]*\\.[0-9]*\\(e[+-]?[0-9]+\\)?\\_>" . font-lock-constant-face) ; numbers
+     ("'()" . font-lock-constant-face) ; empty list
+     ("\\_<'[^	 ]+\\_>" . font-lock-constant-face) ; 'name
+     (" : \\| \\. " . font-lock-keywords-face) ; leading .
      ))
   "Default highlighting expressions for wisp mode.")