
enhancement: internal doc update with ascii diagram
Intro
YASnippet is a template system for Emacs. It allows you to type an abbreviation and automatically expand it into function templates. Bundled language templates includes: C, C++, C#, Perl, Python, Ruby,
SQL, LaTeX, HTML, CSS and more. The snippet syntax is inspired from TextMate's syntax, you can even import most TextMate templates to YASnippet. Watch a demo on YouTube or download a higher resolution version
Installation
Install the most recent version
Clone this repository somewhere
$ cd ~/.emacs.d/plugins
$ git clone https://github.com/capitaomorte/yasnippet
Add the following in your .emacs
file:
(add-to-list 'load-path
"~/.emacs.d/plugins/yasnippet")
(require 'yasnippet)
(yas/global-mode 1)
Add your own snippets to ~/.emacs.d/snippets
by placing files there or invoking yas/new-snippet
.
Install yasnippet with el-get
El-get is a nice way to get the most recent version, too
See https://github.com/dimitri/el-get for instructions
Contributing snippets
Please do not ask me to add snippets to the default collection under
/snippets
. This is considered frozen and by customizing
yas/snippet-dirs
you can point yasnippet to good snippet collections
out there.
There is a tool extras/textmate-import.rb
than can import many
actual Textmate snippets and there are
extras/imported/*-mode/.yas-setup.el
files that can help it with the
more difficult importation.
I'm focusing on developping textmate-import.rb
tool and the
yas-setup.el
files. In the future /snippets
snippets will be
deprecated and replaced with extras/imported
.
Follow through the following example to start using these snippets for
rails development. It will convert ruby
, rails
and html
bundles
from drnic's github repositories based on corresponding
.yas-setup.el
files.
Using imported textmate snippets (rails example)
After cloning this repository to ~/.emacs.d/plugins/yasnippet
cd ~/.emacs.d/plugins/yasnippet
git submodule init
git submodule update
gem install plist trollop
rake convert_bundles # will convert ruby, rails and html bundles from drnic
Then, in your .emacs file
(add-to-list 'load-path
"~/.emacs.d/plugins/yasnippet")
(require 'yasnippet)
(setq yas/snippet-dirs '("~/.emacs.d/snippets" "~/.emacs.d/plugins/yasnippet/extras/imported"))
(yas/global-mode 1)
Open some rails file (model, app, etc) and start using the textmate snippets.
Note thqt in the example above we abandon the default snippet collection on
~/.emacs.d/plugins/yasnippet/snippets
Documentation, issues, etc
Please refer to the comprehensive [documentation] docs for full customization and support. If you find a bug, please report it on the GitHub issue tracker. (please do not submit new issues to the old googlecode tracker)
If you run into problems using YASnippet, or have snippets to contribute, post to the yasnippet google group. Thank you very much for using YASnippet!