[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
progmodes cc: addition of builtin def-const
From: |
Vincent Belaïche |
Subject: |
progmodes cc: addition of builtin def-const |
Date: |
Mon, 03 Dec 2012 21:01:54 +0100 |
Hello,
DXL has a number of language specific functions which I think would be
better to fontify like builtins, similar to what is done in AWK.
On the other hand DXL is more typed than AWK, so the 3 level
fontification of cc-fonts.el is better to use than do a specific
fontification like in AWK mode.
In order to achieve this goal of reusing cc-fonts, I propose the
addition of a new lang constant c-builtin-kwds. This allows the
dxl-mode.el which I am elaborating to plug more readily on EMACS CC
progmode.
If nobody objects I would commit the change the patch thereof is herein
attached.
VBR,
Vincent.
=== modified file 'lisp/ChangeLog'
--- lisp/ChangeLog 2012-12-03 17:23:42 +0000
+++ lisp/ChangeLog 2012-12-03 19:55:20 +0000
@@ -1,3 +1,12 @@
+2012-12-03 Vincent Belaïche <address@hidden>
+
+ * progmodes/cc-fonts.el (c-basic-matchers-before): Use new lang
+ constant `c-builtin-kwds' for handling language specific keyword
+ fontification.
+
+ * progmodes/cc-langs.el (c-builtin-kwds): New lang constant for
+ handling language specific keyword fontification.
+
2012-12-03 AgustÃn MartÃn Domingo <address@hidden>
* textmodes/ispell.el (ispell-init-process)
=== modified file 'lisp/progmodes/cc-langs.el'
--- lisp/progmodes/cc-langs.el 2012-09-13 18:41:21 +0000
+++ lisp/progmodes/cc-langs.el 2012-12-03 17:24:59 +0000
@@ -649,6 +649,15 @@
(prefix "::")
(left-assoc ".")))
+(c-lang-defconst c-builtin-kwds
+ "Keywords for builtin keywords constants."
+ ;; This is for functions that are not part of a library but builtin in the
+ ;; language. AWK mode does not use this constant but could have done
+ ;; so. Currently this is used only as a hook for languages not yes part of
+ ;; cc-xxx progmode, like DXL.
+ t nil
+ )
+
(c-lang-defconst c-opt-identifier-concat-key
;; Appendable adorned regexp matching the operators that join
;; symbols to fully qualified identifiers, or nil in languages that
=== modified file 'lisp/progmodes/cc-fonts.el'
--- lisp/progmodes/cc-fonts.el 2012-01-19 07:21:25 +0000
+++ lisp/progmodes/cc-fonts.el 2012-12-03 17:26:28 +0000
@@ -763,6 +763,12 @@
`((eval . (list ,(concat "\\<\\(" re "\\)\\>")
1 c-constant-face-name))))))
+ ;; Fontify builtins keyword constants.
+ ,@(when (c-lang-const c-builtin-kwds)
+ (let ((re (c-make-keywords-re nil (c-lang-const c-builtin-kwds))))
+ `((eval . (list ,(concat "\\<\\(" re "\\)\\>")
+ 1 c-preprocessor-face-name)))))
+
;; Fontify all keywords except the primitive types.
,(if (c-major-mode-is 'pike-mode)
;; No symbol is a keyword after "->" in Pike.
- progmodes cc: addition of builtin def-const,
Vincent Belaïche <=