X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/4fc35edd5fcdfe258c04cfed707753fdd8795a72..0ea47a6159f351f32b7dbc68debe99eb02f2dd8d:/lisp/generic-x.el diff --git a/lisp/generic-x.el b/lisp/generic-x.el index 56e1761ae5..1e3a6e183b 100644 --- a/lisp/generic-x.el +++ b/lisp/generic-x.el @@ -1,6 +1,6 @@ ;;; generic-x.el --- A collection of generic modes -;; Copyright (C) 1997-1998, 2001-2015 Free Software Foundation, Inc. +;; Copyright (C) 1997-1998, 2001-2016 Free Software Foundation, Inc. ;; Author: Peter Breton ;; Created: Tue Oct 08 1996 @@ -62,7 +62,7 @@ ;; Folding mode should use invisible text properties instead. -- Dave ;; Love] ;; -;; From Anders Lindgren +;; From Anders Lindgren ;; ;; Problem summary: Wayne Adams has found a problem when using folding ;; mode in conjunction with font-lock for a mode defined in @@ -215,6 +215,7 @@ This hook will be installed if the variable (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,30 @@ like an INI file. You can add this hook to `find-file-hook'." '((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) + ;; Variable assignments must be x=y, so highlight as warning if + ;; the value is missing. + ("\\s-\\([^ =\n\r]+\\)[\n\r ]" 1 font-lock-warning-face) + ;; Variable assignments: x=y + ("\\([^ =\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) @@ -1315,7 +1340,7 @@ like an INI file. You can add this hook to `find-file-hook'." ;;; comment-start-skip "" ) ;; (set-syntax-table rul-generic-mode-syntax-table) - (setq font-lock-syntax-table rul-generic-mode-syntax-table)) + (setq-local font-lock-syntax-table rul-generic-mode-syntax-table)) ;; moved mode-definition behind defun-definition to be warning-free - 15.11.02/RSan (define-generic-mode rul-generic-mode