The package app-emacs/exheres-mode provides modes for exhereses, exlibs, and eclectic configuration files.
These modes are exheres- and exlib-syntax aware, so that global keywords are recognised; keywords from some exlibs are supported as well.
On top of that, the function
insert-exheres-skeleton is provided, which is bound to
C-c C-n by default. It inserts a skeleton for an exheres. The name for the copyright header is taken from the customisable variable
When an exheres is saved, the PLATFORMS field is sorted; a warning is issued if the field does not exist.
When an exlib is saved, no PLATFORMS field should be present; a warning is issued otherwise.
The following code makes
C-c C-p in diff-mode insert a patch header. For this as well, the variable
exheres-skeleton-realname is used.
(eval-after-load "diff" (progn (require 'skeleton) (define-skeleton insert-exherbo-patch-header-skeleton "Inserts the standard Exherbo header for patches" nil "Source: " exheres-skeleton-realname "\n" "Upstream: \n" "Reason: ") (require 'diff-mode) (define-key diff-mode-map "\C-c\C-p" 'insert-exherbo-patch-header-skeleton)))