X-Git-Url: https://git.distorted.org.uk/~mdw/profile/blobdiff_plain/aec3b793a4877cbf5aee98eaac0f9efbc70eae33..07965a3978b656cabc38cbac52fde1ed17dd8332:/el/dot-emacs.el diff --git a/el/dot-emacs.el b/el/dot-emacs.el index 1112f35..7bb8214 100644 --- a/el/dot-emacs.el +++ b/el/dot-emacs.el @@ -742,8 +742,7 @@ doesn't match any of the regular expressions in `(progn (make-face ',name) (defvar ,name ',name) - (put ',name 'face-defface-spec ',body) - )) + (put ',name 'face-defface-spec ',body))) (mdw-define-face default (((type w32)) :family "courier new" :height 85) @@ -798,6 +797,8 @@ doesn't match any of the regular expressions in (t :slant italic)) (mdw-define-face font-lock-builtin-face (t :weight bold)) +(mdw-define-face font-lock-type-face + (t :weight bold :slant italic)) (mdw-define-face font-lock-reference-face (t :weight bold)) (mdw-define-face font-lock-variable-name-face @@ -1289,6 +1290,39 @@ doesn't match any of the regular expressions in "Major mode for editing C# code.") ;;;-------------------------------------------------------------------------- +;;; Go programming configuration. + +(defun mdw-fontify-go () + + (make-local-variable 'font-lock-keywords) + (let ((go-keywords + (mdw-regexps "break" "case" "chan" "const" "continue" + "default" "defer" "else" "fallthrough" "for" + "func" "go" "goto" "if" "import" + "interface" "map" "package" "range" "return" + "select" "struct" "switch" "type" "var"))) + + (setq font-lock-keywords + (list + + ;; Handle the keywords defined above. + (list (concat "\\<\\(" go-keywords "\\)\\>") + '(0 font-lock-keyword-face)) + + ;; Handle numbers too. + ;; + ;; The following isn't quite right, but it's close enough. + (list (concat "\\<\\(" + "0\\([xX][0-9a-fA-F]+\\|[0-7]+\\)\\|" + "[0-9]+\\(\\.[0-9]*\\|\\)" + "\\([eE]\\([-+]\\|\\)[0-9]+\\|\\)\\)") + '(0 mdw-number-face)) + + ;; And anything else is punctuation. + (list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)" + '(0 mdw-punct-face)))))) + +;;;-------------------------------------------------------------------------- ;;; Awk programming configuration. ;; Make Awk indentation nice. @@ -2236,6 +2270,9 @@ strip numbers instead." (setq hs-hide-comments-when-hiding-all nil) +(defadvice hs-hide-all (after hide-first-comment activate) + (save-excursion (hs-hide-initial-comment-block))) + ;;;-------------------------------------------------------------------------- ;;; Shell mode.