[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#23762: [PATCH] * lisp/generic-x.el (ansible-inventory-generic-mode):
From: |
Ted Zlatanov |
Subject: |
bug#23762: [PATCH] * lisp/generic-x.el (ansible-inventory-generic-mode): New mode. (generic-unix-modes): Add it. |
Date: |
Tue, 14 Jun 2016 12:43:54 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) |
Hi Tim,
please see attached for a slightly improved patch:
* fixes syntax error
* highlights variables and values correctly (see screenshot)
* leading space for section and host names is OK
* imenu adjusted accordingly as well
Let me know what you think. Thanks!
commit da2b5fa1f76d98d6656d77196f54c23358d231cc
Author: Tim Chambers <tbc@alum.mit.edu>
Date: Sat Jun 11 23:13:40 2016 -0600
* lisp/generic-x.el (ansible-inventory-generic-mode): New mode.
(generic-unix-modes): Add it.
diff --git a/lisp/generic-x.el b/lisp/generic-x.el
index 71ba1f7..bd0d831 100644
--- a/lisp/generic-x.el
+++ b/lisp/generic-x.el
@@ -215,6 +215,7 @@ generic-mswindows-modes
(defconst generic-unix-modes
'(alias-generic-mode
+ ansible-inventory-generic-mode
etc-fstab-generic-mode
etc-modules-conf-generic-mode
etc-passwd-generic-mode
@@ -646,6 +647,26 @@ alias-generic-mode
'((nil "^\\(alias\\|unalias\\)\\s-+\\([-a-zA-Z0-9_]+\\)" 2))))))
"Generic mode for C Shell alias files."))
+;; Ansible inventory files
+(when (memq 'ansible-inventory-generic-mode generic-extras-enable-list)
+
+(define-generic-mode ansible-inventory-generic-mode
+ '(?#)
+ nil
+ '(("^\\s-*\\(\\[.*\\]\\)" 1 font-lock-constant-face)
+ ("^\\s-*\\([^ \n\r]*\\)" 1 font-lock-function-name-face)
+ ("\\([^ =\n\r]+\\)=\\([^ \n\r]*\\)"
+ (1 font-lock-variable-name-face)
+ (2 font-lock-keyword-face)))
+ '("inventory")
+ (list
+ (function
+ (lambda ()
+ (setq imenu-generic-expression
+ '((nil "^\\s-*\\[\\(.*\\)\\]" 1)
+ ("*Variables*" "\\s-+\\([^ =\n\r]+\\)=" 1))))))
+ "Generic mode for Ansible inventory files."))
+
;;; Windows RC files
;; Contributed by ACorreir@pervasive-sw.com (Alfred Correira)
(when (memq 'rc-generic-mode generic-extras-enable-list)