diff options
author | Fabian Affolter <fabian@bernewireless.net> | 2010-11-09 00:15:43 +0100 |
---|---|---|
committer | Fabian Affolter <fabian@bernewireless.net> | 2010-11-09 00:15:43 +0100 |
commit | 391406c85d86dc931f3fdb2483a14d0f1e7e6355 (patch) | |
tree | 97fe00f6a9dcf5d821139766b213418d57b5d31b /doc/development/emacs_snippet.txt | |
parent | 553c693618321fad2a88030b16d42d3253befaec (diff) | |
download | bcfg2-391406c85d86dc931f3fdb2483a14d0f1e7e6355.tar.gz bcfg2-391406c85d86dc931f3fdb2483a14d0f1e7e6355.tar.bz2 bcfg2-391406c85d86dc931f3fdb2483a14d0f1e7e6355.zip |
doc: Massive update
Diffstat (limited to 'doc/development/emacs_snippet.txt')
-rw-r--r-- | doc/development/emacs_snippet.txt | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/doc/development/emacs_snippet.txt b/doc/development/emacs_snippet.txt new file mode 100644 index 000000000..2905a2b45 --- /dev/null +++ b/doc/development/emacs_snippet.txt @@ -0,0 +1,60 @@ +.. -*- mode: rst -*- + +.. _development-emacs_snippet: + +====================== +Emacs + YASnippet mode +====================== + +This page describes using emacs with YASnippet mode with a set of +snippets that allow quick composition of bundles and base files. +More snippets are under development. + +#. Download YASnippet from http://code.google.com/p/yasnippet/ +#. Install it into your emacs load path (typically ~/.emacs.d/site-lisp) +#. Add YASnippet initialization to your .emacs (remember to re-byte-compile it if needed) + + .. code-block:: cl + + (require 'yasnippet-bundle) + + ;;; Bcfg2 snippet + + (yas/define-snippets 'sgml-mode + '( + ("<Bundle" "<Bundle name='${1:bundlename}' version='2.0'> + $0 + </Bundle>" nil) + ("<Base" "<Base> + $0 + </Base>" nil) + ("<Group" "<Group name='${1:groupname}> + $0 + </Group>" nil) + ("<Config" "<ConfigFile name='${1:filename}'/> + $0" nil) + ("<Service" "<Service name='${1:svcname}'/> + $0" nil) + ("<Package" "<Package name='${1:packagename}'/> + $0" nil) + ("<Action" "<Action name='${1:name}'/> + $0" nil) + ("<Directory" "<Directory name='${1:name}'/> + $0" nil) + ("<SymLink" "<SymLink name='${1:name}'/> + $0" nil) + ("<Permissions" "<Permissions name='${1:name}'/> + $0" nil) + ) + ) + +#. One quick M-x eval-current-buffer, and this code is enabled + +Each of these snippets activates on the opening element, ie <Bundle. +After this string is entered, but before entering a space, press <TAB>, +and the snippet will be expanded. The template will be inserted into +the text with a set of input prompts, which default to overwrite mode +and can be tabbed through. + +The code above only works for bundles and base, but will be expanded +to support other xml files as well. |