summaryrefslogtreecommitdiffstats
path: root/doc/unsorted/emacs_snippet.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/unsorted/emacs_snippet.txt')
-rw-r--r--doc/unsorted/emacs_snippet.txt53
1 files changed, 53 insertions, 0 deletions
diff --git a/doc/unsorted/emacs_snippet.txt b/doc/unsorted/emacs_snippet.txt
new file mode 100644
index 000000000..471a3b244
--- /dev/null
+++ b/doc/unsorted/emacs_snippet.txt
@@ -0,0 +1,53 @@
+.. -*- mode: rst -*-
+
+.. _unsorted-emacs_snippet:
+
+=======================================
+Using Bcfg2 with 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.