mirror of
https://github.com/joaotavora/yasnippet.git
synced 2025-10-13 21:13:04 +00:00
103 lines
3.5 KiB
Org Mode
103 lines
3.5 KiB
Org Mode
# -*- mode: org; fill-column: 80 -*-
|
|
#+TITLE: Yet another snippet extension
|
|
#+OPTIONS: toc:1
|
|
#+STARTUP: showall
|
|
|
|
#+STYLE: <link rel="stylesheet" type="text/css" href="assets/stylesheet.css" />
|
|
|
|
# External links
|
|
#
|
|
#+LINK: smart-snippet http://code.google.com/p/smart-snippet
|
|
#+LINK: pluskid http://pluskid.lifegoo.org
|
|
|
|
|
|
#+LINK: screencast http://www.youtube.com/watch?v=ZCGmZK4V7Sg
|
|
#+LINK: docs http://capitaomorte.github.com/yasnippet
|
|
#+LINK: issues https://github.com/capitaomorte/yasnippet/issues
|
|
#+LINK: googlecode-tracker http://code.google.com/p/yasnippet/issues/list
|
|
#+LINK: forum http://groups.google.com/group/smart-snippet
|
|
|
|
*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-textmate][import most TextMate snippets]]
|
|
|
|
YASnippet is an original creation of [[pluskid]] who also wrote its predecessor
|
|
[[smart-snippet]].
|
|
|
|
* Watch a demo [[screencast]]
|
|
|
|
* Install the most recent version with git
|
|
|
|
Clone this repository somewhere
|
|
|
|
#+BEGIN_EXAMPLE
|
|
$ cd ~/.emacs.d/plugins
|
|
$ git clone https://github.com/capitaomorte/yasnippet
|
|
#+END_EXAMPLE
|
|
|
|
Add the following in your =.emacs= file:
|
|
|
|
#+BEGIN_EXAMPLE
|
|
(add-to-list 'load-path
|
|
"~/.emacs.d/plugins/yasnippet")
|
|
(require 'yasnippet)
|
|
(yas/global-mode 1)
|
|
#+END_EXAMPLE
|
|
|
|
Add your own snippets to `~/.emacs.d/snippets` by placing files there or invoking `yas/new-snippet`.
|
|
|
|
* Install yasnippet with el-get
|
|
|
|
[[https://github.com/dimitri/el-get.gti][El-get]] is a nice way to get the most recent version.
|
|
|
|
* Import textmate snippets (rails example)
|
|
:PROPERTIES:
|
|
:CUSTOM_ID: import-textmate
|
|
:END:
|
|
|
|
Clone the yasnippet repository to `~/.emacs.d/plugins/yasnippet`
|
|
|
|
#+BEGIN_EXAMPLE
|
|
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
|
|
#+END_EXAMPLE
|
|
|
|
Then, in your .emacs file
|
|
|
|
#+BEGIN_EXAMPLE
|
|
(add-to-list 'load-path
|
|
"~/.emacs.d/plugins/yasnippet")
|
|
(require 'yasnippet)
|
|
(setq yas/snippet-dirs '("~/.emacs.d/snippets" "~/.emacs.d/extras/imported"))
|
|
(yas/global-mode 1)
|
|
#+END_EXAMPLE
|
|
|
|
Open some rails file (model, app, etc) and start using the textmate snippets.
|
|
|
|
* 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.
|
|
|
|
The =extras/textmate-import.rb= tool can import many actual Textmate
|
|
snippets. See [[import-textmate]].
|
|
|
|
I'm focusing on developping =textmate-import.rb= tool and the =yas-setup.el=
|
|
files that guide it with more difficult importation. In the future =/snippets=
|
|
snippets will be deprecated and replaced with =extras/imported=.
|
|
|
|
* Documentation, issues, etc
|
|
|
|
Please refer to the comprehensive [[docs][documentation]] for full customization and
|
|
support. If you think you've found a bug, please report it on [[issues][the GitHub issue
|
|
tracker]]. (please **do not** submit new issues to the old [[googlecode-tracker][googlecode tracker]])
|
|
|
|
If you run into problems using YASnippet, or have snippets to contribute, post
|
|
to the [[forum][yasnippet forum]]. Thank you very much for using YASnippet!
|