X-Git-Url: https://git.distorted.org.uk/~mdw/profile/blobdiff_plain/81fb08fcc06095c2ee93a821b33a3865ef463af4..2287504f893d7f04037e55e557a770a1838f854f:/el/dot-emacs.el diff --git a/el/dot-emacs.el b/el/dot-emacs.el index dc96aaf..10eddb2 100644 --- a/el/dot-emacs.el +++ b/el/dot-emacs.el @@ -1654,7 +1654,16 @@ doesn't match any of the regular expressions in "default" "defer" "else" "fallthrough" "for" "func" "go" "goto" "if" "import" "interface" "map" "package" "range" "return" - "select" "struct" "switch" "type" "var"))) + "select" "struct" "switch" "type" "var")) + (go-intrinsics + (mdw-regexps "bool" "byte" "complex64" "complex128" "error" + "float32" "float64" "int" "uint8" "int16" "int32" + "int64" "rune" "string" "uint" "uint8" "uint16" + "uint32" "uint64" "uintptr" "void" + "false" "iota" "nil" "true" + "init" "main" + "append" "cap" "copy" "delete" "imag" "len" "make" + "new" "panic" "real" "recover"))) (setq font-lock-keywords (list @@ -1662,6 +1671,8 @@ doesn't match any of the regular expressions in ;; Handle the keywords defined above. (list (concat "\\<\\(" go-keywords "\\)\\>") '(0 font-lock-keyword-face)) + (list (concat "\\<\\(" go-intrinsics "\\)\\>") + '(0 font-lock-variable-name-face)) ;; Handle numbers too. ;; @@ -2271,6 +2282,12 @@ strip numbers instead." (modify-syntax-entry ?} ". 4b") (modify-syntax-entry ?\n ">") + ;; Make punctuation be punctuation + (let ((punct "=<>+-*/|&%!@?$.^:#`")) + (do ((i 0 (1+ i))) + ((>= i (length punct))) + (modify-syntax-entry (aref punct i) "."))) + ;; Set fill prefix. (mdw-standard-fill-prefix "\\([ \t]*{?--?[ \t]*\\)") @@ -2839,9 +2856,26 @@ setting once it's actually been made." ;; Not much fontification needed. (make-local-variable 'font-lock-keywords) (setq font-lock-keywords - (list - (list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)" - '(0 mdw-punct-face)))) + (list (list (concat "\\(" + "\\_<[-+]?" + "\\(" "[0-9]+/[0-9]+" + "\\|" "\\(" "[0-9]+" "\\(\\.[0-9]*\\)?" "\\|" + "\\.[0-9]+" "\\)" + "\\([dDeEfFlLsS][-+]?[0-9]+\\)?" + "\\)" + "\\|" + "#" + "\\(" "x" "[-+]?" + "[0-9A-Fa-f]+" "\\(/[0-9A-Fa-f]+\\)?" + "\\|" "o" "[-+]?" "[0-7]+" "\\(/[0-7]+\\)?" + "\\|" "b" "[-+]?" "[01]+" "\\(/[01]+\\)?" + "\\|" "[0-9]+" "r" "[-+]?" + "[0-9a-zA-Z]+" "\\(/[0-9a-zA-Z]+\\)?" + "\\)" + "\\)\\_>") + '(0 mdw-number-face)) + (list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)" + '(0 mdw-punct-face)))) (mdw-post-config-mode-hack))