Move if, else, true, false into a keyword category
This moves the if and else keywords out of the list of target
types and also marks true and false as keywords, bringing this
mode in line with the GN grammar.
Also remove a seemingly unnecessary line.
Change-Id: I9b28f7ca5bc60adae6302c9702960059e0285f1d
Reviewed-on: https://chromium-review.googlesource.com/540777
Reviewed-by: Elliot Glaysher <erg@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Kevin Peng <kevpeng@google.com>
Cr-Original-Commit-Position: refs/heads/master@{#480900}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 18697c83b41fc147f21b373a55da451f0fd44117diff --git a/tools/gn/misc/emacs/gn-mode.el b/tools/gn/misc/emacs/gn-mode.el
index 435e872..c2cd1bd 100644
--- a/tools/gn/misc/emacs/gn-mode.el
+++ b/tools/gn/misc/emacs/gn-mode.el
@@ -23,7 +23,6 @@
-(eval-when-compile (require 'cl)) ;For the `case' macro.
(require 'smie)
(defgroup gn nil
@@ -58,9 +57,12 @@
variable name or the '{{' and '}}' which surround it."
:group 'gn-faces)
+(defvar gn-font-lock-reserved-keywords
+ '("true" "false" "if" "else"))
+
(defvar gn-font-lock-target-declaration-keywords
'("action" "action_foreach" "copy" "executable" "group" "loadable_module"
- "shared_library" "source_set" "static_library" "if" "else"))
+ "shared_library" "source_set" "static_library"))
(defvar gn-font-lock-buildfile-fun-keywords
'("assert" "config" "declare_args" "defined" "exec_script" "foreach"
@@ -83,8 +85,10 @@
"public_deps" "script" "sources" "testonly" "visibility"))
(defconst gn-font-lock-keywords
- `((,(regexp-opt gn-font-lock-target-declaration-keywords 'words) .
+ `((,(regexp-opt gn-font-lock-reserved-keywords 'words) .
font-lock-keyword-face)
+ (,(regexp-opt gn-font-lock-target-declaration-keywords 'words) .
+ font-lock-type-face)
(,(regexp-opt gn-font-lock-buildfile-fun-keywords 'words) .
font-lock-function-name-face)
(,(regexp-opt gn-font-lock-predefined-var-keywords 'words) .