doomemacs/modules/tools/ansible/config.el
Chris Rose 11ff294f7d Add detection for projects that are ansible roles
Ansible roles _often_ have a `tasks/main.yml` file in them, and benefit
from some of the nice ansible syntax highlighting.
2020-11-04 19:07:59 -08:00

33 lines
1.1 KiB
EmacsLisp

;;; tools/ansible/config.el -*- lexical-binding: t; -*-
(use-package! ansible
:commands ansible-auto-decrypt-encrypt
:init
(put 'ansible-vault-password-file 'safe-local-variable #'stringp)
:config
(setq ansible-section-face 'font-lock-variable-name-face
ansible-task-label-face 'font-lock-doc-face)
(map! :map ansible-key-map
:localleader
:desc "Decrypt buffer" "d" #'ansible-decrypt-buffer
:desc "Encrypt buffer" "e" #'ansible-encrypt-buffer
:desc "Look up in Ansible docs" "h" #'ansible-doc))
(after! ansible-doc
(set-evil-initial-state! '(ansible-doc-module-mode) 'emacs))
(use-package! jinja2-mode
:mode "\\.j2$"
:config
;; The default behavior is to reindent the whole buffer on save. This is
;; disruptive and imposing. There are indentation commands available; the user
;; can decide when they want their code reindented.
(setq jinja2-enable-indent-on-save nil))
(def-project-mode! +ansible-yaml-mode
:modes '(yaml-mode)
:add-hooks '(ansible ansible-auto-decrypt-encrypt ansible-doc-mode)
:files (or "roles/" "tasks/main.yml"))