;;; novaboot-mode.el --- Major mode for novaboot scripts
-;; Copyright (C) 2014 Michal Sojka
+;; Copyright (C) 2014, 2015, 2016 Michal Sojka
;; Author: Michal Sojka <sojkam1@fel.cvut.cz>
;; Keywords: languages, tools, files
(modify-syntax-entry (pop list) (pop list) table))
table))
-(defvar novaboot-mode-font-lock-keywords
+(defvar novaboot-mode-font-lock-keywords)
+(setq novaboot-mode-font-lock-keywords
`(("^#.*" . font-lock-comment-face)
- ("^load\\>.*\\(<<EOF\\)\n\\(\\(?:.*\n\\)*?\\)\\(EOF\\)\n"
+ ("^\\(?:load\\|copy\\|chld\\)\\>.*\\(<<EOF\\)\n\\(\\(?:.*\n\\)*?\\)\\(EOF\\)\n"
(1 font-lock-preprocessor-face)
(2 font-lock-string-face)
(3 font-lock-preprocessor-face))
- ("^\\(load\\)\\s-+\\([^ \n\t]*\\)"
+ ("^\\(load\\|copy\\|chld\\)\\s-+\\([^ \n\t]*\\)"
(1 font-lock-keyword-face)
(2 font-lock-function-name-face))
- ("^load\\>.*?< \\(.*\\)"
+ ("^\\(?:load\\|copy\\|chld\\)\\>.*?< \\(.*\\)"
(1 font-lock-string-face))
- ("^run\\>" . font-lock-keyword-face)
+ ("^\\(run\\|uboot\\)\\>" . font-lock-keyword-face)
("^\\([A-Z_]+\\)=" (1 font-lock-variable-name-face))
+ ("\\$\\(NB_\\(MYIP\\|PREFIX\\)\\)\\>" (1 font-lock-variable-name-face))
))
(defun novaboot-font-lock-extend-region ()
(set (make-local-variable 'font-lock-defaults)
'(novaboot-mode-font-lock-keywords t))
(set (make-local-variable 'font-lock-verbose) t)
+ (set (make-local-variable 'comment-start) "# ")
+ (set (make-local-variable 'comment-end) "")
(setq font-lock-multiline t)
(add-hook 'font-lock-extend-region-functions 'novaboot-font-lock-extend-region)
(add-hook 'post-self-insert-hook 'novaboot-post-self-insert))