forked from loisch/dockercook
-
Notifications
You must be signed in to change notification settings - Fork 0
/
cookfile-mode.el
27 lines (22 loc) · 943 Bytes
/
cookfile-mode.el
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
;;; cookfile-mode.el --- Support for editing dockercook files
;; Copyright (C) 2014 factis research GmbH
;;
;; Author: David Leuschner <leuschner@factisresearch.com>
;; Created: 2014-08-19
;; Version: 0.0.2
;;
;; This file is not part of GNU Emacs.
;;
;; This software is released under the MIT license.
(require 'regexp-opt)
(defvar cook-keywords '("INCLUDE" "UNPACK" "BASE COOK" "BASE DOCKER" "RUN" "CMD" "EXPOSE" "ENV"
"ADD" "ENTRYPOINT" "VOLUME" "USER" "WORKDIR" "COPY" "PREPARE" "SCRIPT"
"BEGIN" "COMMIT" "DOWNLOAD" "COOKCOPY"))
(defvar cook-keywords-regexp
(concat "^\\s-*" (regexp-opt cook-keywords 'words)))
(defun cook-font-lock-keywords ()
`((,cook-keywords-regexp . font-lock-keyword-face)))
(define-derived-mode cookfile-mode sh-mode "dockercook"
"Major mode for editing dockercook files"
(setq font-lock-defaults '((cook-font-lock-keywords))))
(provide 'cookfile-mode)