refactor: removed extras and snippets tree, both point to submodules

This commit is contained in:
Joao Tavora 2013-11-27 23:19:04 +00:00
parent fd3fa39444
commit 4f27187477
608 changed files with 62 additions and 66853 deletions

15
.gitmodules vendored
View File

@ -1,9 +1,6 @@
[submodule "extras/bundles/ruby-tmbundle"] [submodule "snippets"]
path = extras/bundles/ruby-tmbundle path = snippets
url = https://github.com/textmate/ruby.tmbundle.git url = git@github.com:AndreaCrotti/yasnippet-snippets.git
[submodule "extras/bundles/html-tmbundle"] [submodule "yasmate"]
path = extras/bundles/html-tmbundle path = yasmate
url = https://github.com/textmate/html.tmbundle.git url = git@github.com:capitaomorte/yasmate.git
[submodule "extras/bundles/rails-tmbundle"]
path = extras/bundles/rails-tmbundle
url = https://github.com/textmate/ruby-on-rails-tmbundle.git

View File

@ -5,12 +5,11 @@ type an abbreviation and automatically expand it into function
templates. Bundled language templates include: C, C++, C#, Perl, templates. Bundled language templates include: C, C++, C#, Perl,
Python, Ruby, SQL, LaTeX, HTML, CSS and more. The snippet syntax Python, Ruby, SQL, LaTeX, HTML, CSS and more. The snippet syntax
is inspired from [TextMate's][textmate-snippets] syntax, you can is inspired from [TextMate's][textmate-snippets] syntax, you can
even [import][import-docs] most TextMate templates to even [import][#import] most TextMate templates to
YASnippet. Watch [a demo on YouTube][youtube-demo] or download a YASnippet. Watch [a demo on YouTube][youtube-demo] or download a
[higher resolution version][high-res-demo]. [higher resolution version][high-res-demo].
[textmate-snippets]: http://manual.macromates.com/en/snippets [textmate-snippets]: http://manual.macromates.com/en/snippets
[import-docs]: http://yasnippet.googlecode.com/svn/trunk/doc/snippet-development.html#importing-textmate-snippets
[youtube-demo]: http://www.youtube.com/watch?v=ZCGmZK4V7Sg [youtube-demo]: http://www.youtube.com/watch?v=ZCGmZK4V7Sg
[high-res-demo]: http://yasnippet.googlecode.com/files/yas_demo.avi [high-res-demo]: http://yasnippet.googlecode.com/files/yas_demo.avi
@ -21,7 +20,7 @@ YASnippet. Watch [a demo on YouTube][youtube-demo] or download a
Clone this repository somewhere Clone this repository somewhere
$ cd ~/.emacs.d/plugins $ cd ~/.emacs.d/plugins
$ git clone https://github.com/capitaomorte/yasnippet $ git clone --recursive https://github.com/capitaomorte/yasnippet
Add the following in your `.emacs` file: Add the following in your `.emacs` file:
@ -63,66 +62,49 @@ To use YASnippet as a non-global minor mode, replace `(yas-global-mode 1)` with
'(lambda () '(lambda ()
(yas-minor-mode))) (yas-minor-mode)))
# (NOT) Contributing snippets # Where are the snippets?
Please **do not** open pull requests or ask me to add snippets to Yasnippet no longer bundles snippets directly, but it's very easy to
YASnippet. get some!
The bundled collection under `/snippets` is considered frozen: **I If you git-cloned yasnippet with the `--recursive` option you'll also
will not add more snippets to it**. download "git submodules" and find two subdirs under the main tree.
You can point `yas-snippet-dirs` to good snippet collections out 1. `snippets/`
Points to [yasnippet-snippets][yasnippet-snippets] the snippet
collection of [AndreaCrotti](https://github.com/AndreaCrotti).
The default configuraiton already points to this dir, so to use
them, just make sure the submodule really was downloaded
(i.e. there are some files under `snippets/`)
2. `yasmate/`
Points to a github repo of the [yasmate][yasmate] tool, which is
dedicated to converting textmate bundles into yasnippet snippets.
To use these snippets you have to run the tool first, so
[see its doc][yasmate]), and then point the `yas-snippet-dirs`
variable to the `.../yasmate/snippets` subdir.
If you have a working ruby environment, you can probably get lucky
directly with `rake convert-bundles`.
Naturally, you can point `yas-snippet-dirs` to good snippet collections out
there. If you have created snippets for a mode, or multiple modes, there. If you have created snippets for a mode, or multiple modes,
consider creating a repository to host them, then tell users that it consider creating a repository to host them, then tell users that it
should be added like this to `yas-snippet-dirs`: should be added like this to `yas-snippet-dirs`:
(setq yas-snippet-dirs (setq yas-snippet-dirs
'("~/.emacs.d/snippets" ;; personal snippets '("~/.emacs.d/snippets" ;; personal snippets
"/path/to/some/collection/" ;; just some foo-mode snippets "/path/to/some/collection/" ;; foo-mode and bar-mode snippet collection
"/path/to/some/othercollection/" ;; some more foo-mode and a complete baz-mode "/path/to/yasnippet/yasmate/snippets" ;; the yasmate collection
"/path/to/yasnippet/snippets" ;; the default collection "/path/to/yasnippet/snippets" ;; the default collection
)) ))
(yas-global-mode 1) ;; or M-x yas-reload-all if you've started YASnippet already. (yas-global-mode 1) ;; or M-x yas-reload-all if you've started YASnippet already.
# Importing TextMate snippets
There is a tool `extras/textmate-import.rb` than can import many
actual TextMate snippets. These can be quite complex so the
`extras/imported/*-mode/.yas-setup.el` files help it with the more
difficult importation.
I'm focusing on developing `textmate-import.rb` tool and some
`yas-setup.el` files. In the future `/snippets` snippets will be
deprecated and might be replaced with `extras/imported`.
## Example importation of rails snippets
To start using [drnic's](https://github.com/drnic) snippets for rails
development, follow this example. It will convert `ruby`, `rails` and
`html` bundles from github repositories. The importation will be
guided by the `.yas-setup.el` files.
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
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 that in the example above we have abandoned the
default snippet collection on `~/.emacs.d/plugins/yasnippet/snippets`
# Documentation, issues, etc # Documentation, issues, etc
Please refer to the comprehensive (albeit slightly outdated) Please refer to the comprehensive (albeit slightly outdated)
@ -133,20 +115,20 @@ and support. If you find a bug, please report it on
## Important note regarding bug reporting ## Important note regarding bug reporting
If you think have found a bug, please report it clearly. Yasnippet If you think have found a bug, please report it clearly. Yasnippet
does have (lots of) bugs and your reports are very valuable. Here's does have (lots of) bugs and your reports are very valuable. Here's
a [great example](https://github.com/capitaomorte/yasnippet/issues/318) a [great example](https://github.com/capitaomorte/yasnippet/issues/318)
of a bug report. It has everything needed for a sucessfull analysis and of a bug report. It has everything needed for a sucessfull analysis and
speedy resolution: speedy resolution:
*Before* reporting try to reproduce the bug **without** your usual *Before* reporting try to reproduce the bug **without** your usual
`.emacs` (or whatever startup file you use). Do so either by starting `.emacs` (or whatever startup file you use). Do so either by starting
emacs from the command line with the `-Q` switch, or by temporarily emacs from the command line with the `-Q` switch, or by temporarily
moving away your `.emacs` and creating a new smaller one just for moving away your `.emacs` and creating a new smaller one just for
reproducing the bug. Paste that file in your bug report. Paste any sequence reproducing the bug. Paste that file in your bug report. Paste any sequence
of relevant shell commands before you launch Emacs. of relevant shell commands before you launch Emacs.
*Then*, describe steps taken to reproduce from an *Then*, describe steps taken to reproduce from an
end-user perspective. Try to be as unambiguous as possible. end-user perspective. Try to be as unambiguous as possible.
Also, don't forget to state the Emacs version (use `M-x emacs-version`) and Also, don't forget to state the Emacs version (use `M-x emacs-version`) and
the yasnippet version you are using (if using the latest from github, the yasnippet version you are using (if using the latest from github,
@ -169,3 +151,5 @@ Finally, thank you very much for using YASnippet!
[googlecode tracker]: http://code.google.com/p/yasnippet/issues/list [googlecode tracker]: http://code.google.com/p/yasnippet/issues/list
[forum]: http://groups.google.com/group/smart-snippet [forum]: http://groups.google.com/group/smart-snippet
[melpa]: http://melpa.milkbox.net/ [melpa]: http://melpa.milkbox.net/
[yasmate]: http://github.com/capitaomorte/yasmate
[yasnippet-snippets]: http://github.com/AndreaCrotti/yasnippet-snippets

View File

@ -18,18 +18,6 @@ task :tests do
" --batch --eval '#{batch_run_line}'" " --batch --eval '#{batch_run_line}'"
end end
desc "convert some textmate bundles to yasnippets"
task :convert_bundles do
Dir.glob "extras/bundles/*-tmbundle" do |bundle_dir|
puts "Converting from #{bundle_dir}"
mode_prefix = File.basename(bundle_dir).match(/[^-]*/)[0]
raise "Couldn't guess mode name for #{bundle_dir}" unless mode_prefix
output = "./extras/imported/#{mode_prefix}-mode"
FileUtils.mkdir_p output
sh "./extras/textmate_import.rb -d #{bundle_dir} -o #{output} -q"
end
end
desc "create a release package" desc "create a release package"
task :package do task :package do
release_dir = "pkg/yasnippet-#{$version}" release_dir = "pkg/yasnippet-#{$version}"
@ -97,3 +85,9 @@ end
task :compile => FileList["yasnippet.el"].ext('elc') task :compile => FileList["yasnippet.el"].ext('elc')
task :default => :doc task :default => :doc
desc "use yasmate to convert textmate bundles"
task :convert_bundles do
cd "yasmate"
sh "rake convert_bundles"
end

View File

@ -191,7 +191,7 @@ escaped as =\\= sometimes.
Emacs-Lisp code can be embedded inside the template, written inside Emacs-Lisp code can be embedded inside the template, written inside
back-quotes (==). The lisp forms are evaluated when the snippet is back-quotes (==). The lisp forms are evaluated when the snippet is
being expanded. The evaluation is done in the same buffer as the being expanded. The evaluation is done in the same buffer as the
snippet being expanded. snippet being expanded.
Here's an example for c-mode` to calculate the header file guard Here's an example for c-mode` to calculate the header file guard
dynamically: dynamically:
@ -199,9 +199,9 @@ dynamically:
#+BEGIN_SRC snippet #+BEGIN_SRC snippet
#ifndef ${1:_`(upcase (file-name-nondirectory (file-name-sans-extension (buffer-file-name))))`_H_} #ifndef ${1:_`(upcase (file-name-nondirectory (file-name-sans-extension (buffer-file-name))))`_H_}
#define $1 #define $1
$0 $0
#endif /* $1 */ #endif /* $1 */
#+END_SRC #+END_SRC
@ -279,7 +279,7 @@ contained in the field =n=.Here's an example for Objective-C:
{ {
return $2; return $2;
} }
- (void)set${2:$(capitalize text)}:($1)aValue - (void)set${2:$(capitalize text)}:($1)aValue
{ {
[$2 autorelease]; [$2 autorelease];
@ -319,7 +319,7 @@ is not. Here's an snippet for rst title:
${1:$(make-string (string-width text) ?\=)} ${1:$(make-string (string-width text) ?\=)}
${1:Title} ${1:Title}
${1:$(make-string (string-width text) ?\=)} ${1:$(make-string (string-width text) ?\=)}
$0 $0
#+END_SRC #+END_SRC
@ -377,12 +377,11 @@ enter snippet field 2. This one makes use of [[sym:yas-modified-p][=yas-modified
\section{${1:"Titel der Tour"}}% \section{${1:"Titel der Tour"}}%
\index{$1}% \index{$1}%
\label{{2:"waiting for reftex-label call..."$(unless yas-modified-p (reftex-label nil 'dont- \label{{2:"waiting for reftex-label call..."$(unless yas-modified-p (reftex-label nil 'dont-
insert))}}% insert))}}%
#+END_SRC #+END_SRC
The function [[sym:yas-verify-value][=yas-verify-value=]] has another neat trick, and makes use of The function [[sym:yas-verify-value][=yas-verify-value=]] has another neat trick, and makes use
[[sym:yas-moving-away-p][=yas-moving-away-p=]]. Try it and see! Also, check out this of [[sym:yas-moving-away-p][=yas-moving-away-p=]]. Try it and see! Also, check out this [[http://groups.google.com/group/smart-snippet/browse_thread/thread/282a90a118e1b662][thread]]
[[http://groups.google.com/group/smart-snippet/browse_thread/thread/282a90a118e1b662][thread]]
** Nested placeholder fields ** Nested placeholder fields
@ -401,50 +400,3 @@ the exit marker.
By the way, =C-d= will only clear the field if you cursor is at the By the way, =C-d= will only clear the field if you cursor is at the
beginning of the field /and/ it hasn't been changed yet. Otherwise, it beginning of the field /and/ it hasn't been changed yet. Otherwise, it
performs the normal Emacs =delete-char= command. performs the normal Emacs =delete-char= command.
* Importing TextMate snippets
There are a couple of tools that take TextMate's ".tmSnippet" xml files
and create YASnippet definitions:
- [[http://code.nokrev.com/?p=snippet-copier.git;a=blob_plain;f=snippet_copier.py][a python script by Jeff Wheeler]]
- a [[http://yasnippet.googlecode.com/svn/trunk/extras/textmate_import.rb][ruby tool]] , =textmate_import.rb= adapted from [[http://www.neutronflux.net/2009/07/28/shoulda-snippets-for-emacs/][Rob Christie's]],
which I have uploaded to the repository.
In this section, i'll shortly cover the *second* option.
Download the =textmate_import.rb= tool and the TextMate bundle you're
interested in.
#+BEGIN_EXAMPLE
$ curl -O http://yasnippet.googlecode.com/svn/trunk/extras/textmate_import.rb
$ svn export http://svn.textmate.org/trunk/Bundles/HTML.tmbundle/
#+END_EXAMPLE
Then invoke =textmate_import.rb= like this:
#+BEGIN_EXAMPLE
$ ./textmate_import.rb -d HTML.tmbundle/Snippets/ -o html-mode -g HTML.tmbundle/info.plist
#+END_EXAMPLE
You should end up with a =html-mode= subdir containing snippets exported
from textmate.
#+BEGIN_EXAMPLE
$ tree html-mode # to view dir contents, if you have 'tree' installed
#+END_EXAMPLE
The =-g= is optional but helps the tool figure out the grouping.
According to [[./snippet-organization.org][Organizing Snippets]], don't forget to touch
=.yas-make-groups= and =.yas-ignore-filename-triggers= inside the
=html-mode= dir.
Also try =textmate_import.rb --help= for a list of options.
Please note that snippet importation is not yet perfect. You'll probably
have some adjustments to some/many snippets. Please contribute these
adjustments to the google group or, better yet, patch the
=textmate_import.rb= to automatically perform them and submit that.

@ -1 +0,0 @@
Subproject commit 993588a35d665427209936618a9e524679480e95

@ -1 +0,0 @@
Subproject commit 8091f39a6efd288c8793321e8822a639db3cc940

@ -1 +0,0 @@
Subproject commit da63813a86d46f17abf0a9303de1149ca7cee60a

View File

@ -1,690 +0,0 @@
;; .yas-setup.el for html-mode
(defvar yas-html-default-tag "p")
(defvar yas-html-xhtml-attr "")
(defvar yas-html-just-like-tm nil
"Html-mode snippets behave as close to TextMate as possible.")
(defun yas-html-activate ()
(add-to-list (make-local-variable 'yas-extra-modes) 'html-mode))
(add-hook 'nxml-mode-hook 'yas-html-activate)
(add-hook 'rhtml-mode-hook 'yas-html-activate)
(defun yas-html-remove-preceding-word ()
(interactive)
(let (word-begin
word-end
(line-beginning-position (line-beginning-position))
(orig-point (point))
retval)
(save-excursion
(when (and (forward-word -1)
(setq word-begin (point))
(forward-word 1)
(setq word-end (point))
(< word-begin orig-point)
(>= word-end orig-point)
(<= (line-beginning-position) word-begin)
;; (not (string-match "^[\s\t]+$" " "))
)
(setq retval
(cons
(buffer-substring-no-properties word-begin orig-point)
(buffer-substring-no-properties word-end orig-point)))
(delete-region word-begin word-end)
retval))))
(defun yas-html-first-word (string)
(replace-regexp-in-string "\\\W.*" "" string))
(defun yas-html-insert-tag-pair-snippet ()
(let* ((tag-and-suffix (or (and yas-selected-text
(cons yas-selected-text nil))
(yas-html-remove-preceding-word)))
(tag (car tag-and-suffix))
(suffix (or (cdr tag-and-suffix) ""))
(single-no-arg "\\(br\\|hr\\)")
(single "\\(img\\|meta\\|link\\|input\\|base\\|area\\|col\\|frame\\|param\\)"))
(cond ((null tag)
(yas-expand-snippet (format "<${1:%s}>%s</${1:$(yas-html-first-word yas-text)}>%s"
(or yas-html-default-tag
"p")
(if yas-html-just-like-tm "$2" "$0")
suffix)))
((string-match single-no-arg tag)
(insert (format "<%s%s/>%s" tag yas-html-xhtml-attr suffix)))
((string-match single tag)
(yas-expand-snippet (format "<%s $1%s/>%s" tag yas-html-xhtml-attr suffix)))
(t
(yas-expand-snippet (format "<%s>%s</%s>%s"
tag
(if yas-html-just-like-tm "$1" "$0")
(replace-regexp-in-string "\\\W.*" "" tag)
suffix))))))
(defun yas-html-wrap-each-line-in-openclose-tag ()
(let* ((mirror "${1:$(yas-html-first-word yas-text)}")
(yas-html-wrap-newline (when (string-match "\n" yas-selected-text) "\n"))
(template (concat (format "<${1:%s}>" (or yas-html-default-tag "p"))
yas-selected-text
"</" mirror ">")))
(setq template (replace-regexp-in-string "\n" (concat "</" mirror ">\n<$1>") template))
(yas-expand-snippet template)))
(defun yas-html-toggle-wrap (string wrap)
(or (and string
(string-match (format "<%s>\\(.*\\)</%s>" wrap wrap)
string)
(match-string 1 string))
(concat wrap string wrap)))
(defun yas-html-between-tag-pair-p ()
(save-excursion
(backward-word)
(looking-at "\\\w+></\\\w+>")))
(defun yas-html-id-from-string (string)
(replace-regexp-in-string " " "_" (downcase string)))
(defun yas-html-tidy ()
(interactive)
(let ((start (or (and mark-active
(region-beginning))
(point-min)))
(end (or (and mark-active
(region-end))
(point-max)))
(orig (point))
(orig-line (count-screen-lines (window-start) (line-beginning-position))))
(shell-command-on-region start end "tidy" (current-buffer) t (get-buffer-create "*tidy errors*") t)
(goto-char (min (point-max) orig))
(recenter (1- orig-line))))
(defun yas-html-tag-description ()
(interactive)
(let* ((tag-at-point (sgml-beginning-of-tag))
(fragment (and tag-at-point
(cdr (assoc (upcase tag-at-point) yas-html-tag-description-urls)))))
(if fragment
(browse-url (concat "http://www.w3.org/TR/html4/index/"
fragment))
(if tag-at-point
(message "No documentation for " tag-at-point)
(message "Not on a HTML tag.")))))
(defvar yas-html-tag-description-urls
'(("A" . "../struct/links.html#edef-A")
("ABBR" . "../struct/text.html#edef-ABBR")
("ACRONYM" . "../struct/text.html#edef-ACRONYM")
("ADDRESS" . "../struct/global.html#edef-ADDRESS")
("APPLET" . "../struct/objects.html#edef-APPLET")
("AREA" . "../struct/objects.html#edef-AREA")
("B" . "../present/graphics.html#edef-B")
("BASE" . "../struct/links.html#edef-BASE")
("BASEFONT" . "../present/graphics.html#edef-BASEFONT")
("BDO" . "../struct/dirlang.html#edef-BDO")
("BIG" . "../present/graphics.html#edef-BIG")
("BLOCKQUOTE" . "../struct/text.html#edef-BLOCKQUOTE")
("BODY" . "../struct/global.html#edef-BODY")
("BR" . "../struct/text.html#edef-BR")
("BUTTON" . "../interact/forms.html#edef-BUTTON")
("CAPTION" . "../struct/tables.html#edef-CAPTION")
("CENTER" . "../present/graphics.html#edef-CENTER")
("CITE" . "../struct/text.html#edef-CITE")
("CODE" . "../struct/text.html#edef-CODE")
("COL" . "../struct/tables.html#edef-COL")
("COLGROUP" . "../struct/tables.html#edef-COLGROUP")
("DD" . "../struct/lists.html#edef-DD")
("DEL" . "../struct/text.html#edef-del")
("DFN" . "../struct/text.html#edef-DFN")
("DIR" . "../struct/lists.html#edef-DIR")
("DIV" . "../struct/global.html#edef-DIV")
("DL" . "../struct/lists.html#edef-DL")
("DT" . "../struct/lists.html#edef-DT")
("EM" . "../struct/text.html#edef-EM")
("FIELDSET" . "../interact/forms.html#edef-FIELDSET")
("FONT" . "../present/graphics.html#edef-FONT")
("FORM" . "../interact/forms.html#edef-FORM")
("FRAME" . "../present/frames.html#edef-FRAME")
("FRAMESET" . "../present/frames.html#edef-FRAMESET")
("H1" . "../struct/global.html#edef-H1")
("H2" . "../struct/global.html#edef-H2")
("H3" . "../struct/global.html#edef-H3")
("H4" . "../struct/global.html#edef-H4")
("H5" . "../struct/global.html#edef-H5")
("H6" . "../struct/global.html#edef-H6")
("HEAD" . "../struct/global.html#edef-HEAD")
("HR" . "../present/graphics.html#edef-HR")
("HTML" . "../struct/global.html#edef-HTML")
("I" . "../present/graphics.html#edef-I")
("IFRAME" . "../present/frames.html#edef-IFRAME")
("IMG" . "../struct/objects.html#edef-IMG")
("INPUT" . "../interact/forms.html#edef-INPUT")
("INS" . "../struct/text.html#edef-ins")
("ISINDEX" . "../interact/forms.html#edef-ISINDEX")
("KBD" . "../struct/text.html#edef-KBD")
("LABEL" . "../interact/forms.html#edef-LABEL")
("LEGEND" . "../interact/forms.html#edef-LEGEND")
("LI" . "../struct/lists.html#edef-LI")
("LINK" . "../struct/links.html#edef-LINK")
("MAP" . "../struct/objects.html#edef-MAP")
("MENU" . "../struct/lists.html#edef-MENU")
("META" . "../struct/global.html#edef-META")
("NOFRAMES" . "../present/frames.html#edef-NOFRAMES")
("NOSCRIPT" . "../interact/scripts.html#edef-NOSCRIPT")
("OBJECT" . "../struct/objects.html#edef-OBJECT")
("OL" . "../struct/lists.html#edef-OL")
("OPTGROUP" . "../interact/forms.html#edef-OPTGROUP")
("OPTION" . "../interact/forms.html#edef-OPTION")
("P" . "../struct/text.html#edef-P")
("PARAM" . "../struct/objects.html#edef-PARAM")
("PRE" . "../struct/text.html#edef-PRE")
("Q" . "../struct/text.html#edef-Q")
("S" . "../present/graphics.html#edef-S")
("SAMP" . "../struct/text.html#edef-SAMP")
("SCRIPT" . "../interact/scripts.html#edef-SCRIPT")
("SELECT" . "../interact/forms.html#edef-SELECT")
("SMALL" . "../present/graphics.html#edef-SMALL")
("SPAN" . "../struct/global.html#edef-SPAN")
("STRIKE" . "../present/graphics.html#edef-STRIKE")
("STRONG" . "../struct/text.html#edef-STRONG")
("STYLE" . "../present/styles.html#edef-STYLE")
("SUB" . "../struct/text.html#edef-SUB")
("SUP" . "../struct/text.html#edef-SUP")
("TABLE" . "../struct/tables.html#edef-TABLE")
("TBODY" . "../struct/tables.html#edef-TBODY")
("TD" . "../struct/tables.html#edef-TD")
("TEXTAREA" . "../interact/forms.html#edef-TEXTAREA")
("TFOOT" . "../struct/tables.html#edef-TFOOT")
("TH" . "../struct/tables.html#edef-TH")
("THEAD" . "../struct/tables.html#edef-THEAD")
("TITLE" . "../struct/global.html#edef-TITLE")
("TR" . "../struct/tables.html#edef-TR")
("TT" . "../present/graphics.html#edef-TT")
("U" . "../present/graphics.html#edef-U")
("UL" . "../struct/lists.html#edef-UL")
("VAR" . "../struct/text.html#edef-VAR")))
;;
;;
;; Substitutions for: content
;; # as in Snippets/Emphasize.yasnippet
;; ${TM_SELECTED_TEXT/\A<em>(.*)<\/em>\z|.*/(?1:$1:<em>$0<\/em>)/m} =yyas> `(yas-html-toggle-wrap yas-selected-text "em")`
;; ${TM_SELECTED_TEXT/\A<strong>(.*)<\/strong>\z|.*/(?1:$1:<strong>$0<\/strong>)/m} =yyas> `(yas-html-toggle-wrap yas-selected-text "strong")`
;; ${1/\s.*//} =yyas> ${1:$(replace-regexp-in-string "[\s\t\n].*" "" yas-text)}
;; ${1/[[:alpha:]]+|( )/(?1:_:\L$0)/g} =yyas> ${1:$(replace-regexp-in-string " " "_" (downcase yas-text))}
;; ${TM_XHTML} =yyas> `yas-html-xhtml-attr`
;; # as in Commands/Preview in All Active Browsers.yasnippet
;; 970EE6B4-A091-11D9-A5A2-000D93C8BE28 =yyas> (browse-url-of-buffer)
;; 637CEA2B-578C-429C-BB74-30E8D42BFA22 =yyas> (yas-html-tag-description)
;; 2ED44A32-C353-447F-BAE4-E3522DB6944D =yyas> (yas-html-insert-tag-pair-snippet)
;; 991E7EBD-F3F5-469A-BA01-DC30E04AD472 =yyas> (yas-html-wrap-each-line-in-openclose-tag)
;; Substitutions for: binding
;;
;; # as in Snippets/Strong.yasnippet
;; @b =yyas> s-b
;;
;; # as in Snippets/Emphasize.yasnippet
;; ^@i =yyas>
;; @i =yyas> s-i
;;
;; # as in Snippets/Wrap Selection In Tag.yasnippet
;; ^W =yyas> C-c M-w
;;
;; # as in Commands/Insert Tag Pair.yasnippet
;; ^< =yyas> C-<
;;
;; # as in Commands/Documentation for Tag.yasnippet
;; ^h =yyas> C-c M-h
;;
;; # as in Commands/Wrap Each Selected Line in OpenClose Tag.yasnippet
;; ^@W =yyas> C-c M-W
;;
;; # as in Snippets/XHTML &nbsp NonBreakingSpace.yasnippet
;; ~ =yyas> (yas-unknown)
;;
;; # as in Commands/Insert Entity.yasnippet
;; @& =yyas> (yas-unknown)
;;
;; # as in Commands/Refresh All Active Browsers.yasnippet
;; @r =yyas> (yas-unknown)
;;
;; # as in Commands/Persistent Include.yasnippet
;; ^@i =yyas> (yas-unknown)
;;
;; # as in Commands/CodeCompletion HTML Tags.yasnippet
;; ~ =yyas> (yas-unknown)
;;
;; # as in Commands/Update Includes.yasnippet
;; ^@u =yyas> (yas-unknown)
;;
;; # as in Macros/Delete whitespace between tags.yasnippet
;; ^~ =yyas> (yas-unknown)
;;
;; # as in Commands/Tidy.yasnippet
;; ^H =yyas> (yas-unknown)
;;
;;
;; --**--
;; Automatically generated code, do not edit this part
;;
;; Translated menu
;;
(yas-define-menu 'html-mode
'(;; Documentation for Tag
(yas-item "637CEA2B-578C-429C-BB74-30E8D42BFA22")
;; Ignoring Validate Syntax (W3C)
(yas-ignore-item "3F26240E-6E4A-11D9-B411-000D93589AF6")
;; Open Document in Running Browser(s)
(yas-item "970EE6B4-A091-11D9-A5A2-000D93C8BE28")
;; Ignoring Refresh Running Browser(s)
(yas-ignore-item "B8651C6E-A05E-11D9-86AC-000D93C8BE28")
(yas-submenu "Entities"
(;; Ignoring Convert Character / Selection to Entities
(yas-ignore-item "3DD8406C-A116-11D9-A5A2-000D93C8BE28")
;; Ignoring Convert Character / Selection to Entities Excl. Tags
(yas-ignore-item "43C9E8AE-3E53-4B82-A1AF-56697BB3EF09")
;; Ignoring Decode Entities in Line / Selection
(yas-ignore-item "C183920D-A126-11D9-A5A2-000D93C8BE28")
;; Non-Breaking Space
(yas-item "73B40BAE-A295-11D9-87F7-000D93C8BE28")
;; →
(yas-item "C70BB693-0954-4440-AEB4-F2ADD6D923F0")
;; ←
(yas-item "C0418A4A-7E42-4D49-8F86-6E339296CB84")
;; ⇤
(yas-item "7F102705-27D8-4029-BF61-2F042FB61E06")
;; ⌅
(yas-item "7062316B-4236-4793-AD35-05E4A6577393")
;; ⌃
(yas-item "B4987DA5-9C2F-4D2D-AC14-678115079205")
;; ⌦
(yas-item "44E448B6-37CE-4BFE-8611-C5113593B74B")
;; ↩
(yas-item "9B216475-D73D-4518-851F-CACD0066A909")
;; ⇥
(yas-item "ADC78A82-40C2-4AAC-8968-93AF0ED98DF0")
;; ⌫
(yas-item "38E50882-27AF-4246-A039-355C3E1A699E")
;; ⌘
(yas-item "7214ACD1-93D9-4D3F-A428-8A7302E0A35E")
;; ↓
(yas-item "35654B4E-2D76-4CD3-8FBB-2DA1F314BA19")
;; →
(yas-item "AC15621A-8A16-40DD-A671-EA4C37637215")
;; ↑
(yas-item "0E2F4A47-EADE-4A05-931E-FC874FA28FC3")
;; ⇧
(yas-item "1B8D58B9-D9DB-484C-AACD-5D5DF5385308")
;; ⎋
(yas-item "D7CC7C7C-CD01-4357-AF91-AEFFD914DF98")
;; ⌥
(yas-item "980A8D39-CA8B-4EC2-9739-DC36A262F28E")
(yas-separator)
;; Ignoring Insert Entity…
(yas-ignore-item "89E5CC0A-3EFF-4DEF-A299-2E9651DE6529")))
(yas-submenu "URL Escapes"
(;; Ignoring URL Escape Line / Selection
(yas-ignore-item "6B024865-6095-4CE3-8EDD-DC6F2230C2FF")
;; Ignoring URL Unescape Line / Selection
(yas-ignore-item "2C4C9673-B166-432A-8938-75A5CA622481")))
;; Ignoring Encrypt Line / Selection (ROT 13)
(yas-ignore-item "9B13543F-8356-443C-B6E7-D9259B604927")
;; Ignoring CodeCompletion HTML Attributes
(yas-ignore-item "CBD82CF3-74E9-4E7A-B3F6-9348754EB5AA")
;; Insert Open/Close Tag (With Current Word)
(yas-item "2ED44A32-C353-447F-BAE4-E3522DB6944D")
;; Ignoring Insert Close Tag
(yas-ignore-item "0658019F-3635-462E-AAC2-74E4FE508A9B")
(yas-submenu "Insert DocType"
(;; HTML — 4.01 Strict
(yas-item "944F1410-188C-4D70-8340-CECAA56FC7F2")
;; HTML — 4.01 Transitional
(yas-item "B2AAEE56-42D8-42C3-8F67-865473F50E8D")
(yas-separator)
;; XHTML — 1.0 Frameset
(yas-item "9ED6ABBE-A802-11D9-BFC8-000D93C8BE28")
;; XHTML — 1.0 Strict
(yas-item "C8B83564-A802-11D9-BFC8-000D93C8BE28")
;; XHTML — 1.0 Transitional
(yas-item "7D8C2F74-A802-11D9-BFC8-000D93C8BE28")
;; XHTML — 1.1
(yas-item "5CE8FC6E-A802-11D9-BFC8-000D93C8BE28")))
(yas-submenu "Insert Tag"
(;; Ignoring CodeCompletion HTML Tags
(yas-ignore-item "3463E85F-F500-49A0-8631-D78ED85F9D60")
;; Base
(yas-item "4462A6B8-A08A-11D9-A5A2-000D93C8BE28")
;; Body
(yas-item "4905D47B-A08B-11D9-A5A2-000D93C8BE28")
;; Br
(yas-item "3E008E42-A5C9-11D9-9BCD-000D93C8BE28")
;; Div
(yas-item "576036C0-A60E-11D9-ABD6-000D93C8BE28")
;; Embed QT Movie
(yas-item "42F15753-9B6D-4DD8-984C-807B94363277")
;; Fieldset
(yas-item "9BD2BE01-A854-4D55-B584-725D04C075C0")
;; Form
(yas-item "232C2E8B-A08E-11D9-A5A2-000D93C8BE28")
;; Head
(yas-item "9CF008C4-A086-11D9-A5A2-000D93C8BE28")
;; Heading
(yas-item "65BA66DC-A07F-11D9-A5A2-000D93C8BE28")
;; Input
(yas-item "44180979-A08E-11D9-A5A2-000D93C8BE28")
;; Input with Label
(yas-item "D8DCCC81-749A-4E2A-B4BC-D109D5799CAA")
;; Link
(yas-item "77BFD0C0-A08A-11D9-A5A2-000D93C8BE28")
;; Mail Anchor
(yas-item "81DA4C74-A530-11D9-9BCD-000D93C8BE28")
;; Meta
(yas-item "DA99AC44-A083-11D9-A5A2-000D93C8BE28")
;; Option
(yas-item "5820372E-A093-4F38-B25C-B0CCC50A0FC4")
;; Script
(yas-item "6592050A-A087-11D9-A5A2-000D93C8BE28")
;; Script With External Source
(yas-item "7D676C4C-A087-11D9-A5A2-000D93C8BE28")
;; Select Box
(yas-item "26023CFF-C73F-4EF5-9803-E4DBA2CBEADD")
;; Style
(yas-item "3C518074-A088-11D9-A5A2-000D93C8BE28")
;; Table
(yas-item "57176082-A12F-11D9-A5A2-000D93C8BE28")
;; Text Area
(yas-item "AAC9D7B8-A12C-11D9-A5A2-000D93C8BE28")
;; Title
(yas-item "B62ECABE-A086-11D9-A5A2-000D93C8BE28")))
(yas-submenu "Includes"
(;; Ignoring Add Persistent Include
(yas-ignore-item "0D814247-7A00-46EE-A2A4-45FBBF4B1181")
;; Ignoring Update Document
(yas-ignore-item "4400BCE9-20E3-426E-B1D7-2C0BCA53BCF8")
;; Ignoring Help: Persistent Includes
(yas-ignore-item "9AFDEB2C-D9F0-423E-8211-EBB089F51F0C")))
(yas-submenu "Format"
(;; Strong
(yas-item "4117D930-B6FA-4022-97E7-ECCAF4E70F63")
;; Emphasize
(yas-item "EBB98620-3292-4621-BA38-D8A9A65D9551")))
(yas-submenu "Conditional Comments"
(;; IE Conditional Comment: Internet Explorer
(yas-item "0ED6DA73-F38F-4A65-B18F-3379D2BA9387")
;; IE Conditional Comment: Internet Explorer 5.0 only
(yas-item "3A517A94-001E-464D-8184-1FE56D0D0D70")
;; IE Conditional Comment: Internet Explorer 5.5 only
(yas-item "E3F8984E-7269-4981-9D30-967AB56A6ACE")
;; IE Conditional Comment: Internet Explorer 5.x
(yas-item "F3512848-7889-45DA-993B-0547976C8E6D")
;; IE Conditional Comment: Internet Explorer 6 and below
(yas-item "32BBB9AB-8732-4F91-A587-354941A27B69")
;; IE Conditional Comment: Internet Explorer 6 only
(yas-item "48DF7485-52EA-49B3-88AF-3A41F933F325")
;; IE Conditional Comment: Internet Explorer 7 and above
(yas-item "CBC24AF4-88E0-498B-BE50-934B9CF29EC7")
;; IE Conditional Comment: NOT Internet Explorer
(yas-item "F00170EE-4A82-413F-A88B-85293E69A88B")))
;; Wrap Selection in Open/Close Tag
(yas-item "BC8B8AE2-5F16-11D9-B9C3-000D93589AF6")
;; Wrap Each Selected Line in Open/Close Tag
(yas-item "991E7EBD-F3F5-469A-BA01-DC30E04AD472")
;; Wrap in <?= … ?>
(yas-item "912906A0-9A29-434B-AE98-E9DFDE6E48B4")
(yas-separator)
;; Ignoring Strip HTML Tags from Document / Selection
(yas-ignore-item "20D760B5-A127-11D9-A5A2-000D93C8BE28")
;; Ignoring Tidy
(yas-ignore-item "45F92B81-6F0E-11D9-A1E4-000D9332809C"))
'("7B7E945E-A112-11D9-A5A2-000D93C8BE28"
"3C44EABE-8D6F-4B1B-AB91-F419FAD1A0AD"
"9AFDEB2C-D9F0-423E-8211-EBB089F51F0C"
"CBD82CF3-74E9-4E7A-B3F6-9348754EB5AA"
"3463E85F-F500-49A0-8631-D78ED85F9D60"
"9B13543F-8356-443C-B6E7-D9259B604927"
"0D814247-7A00-46EE-A2A4-45FBBF4B1181"
"4400BCE9-20E3-426E-B1D7-2C0BCA53BCF8"
"6B024865-6095-4CE3-8EDD-DC6F2230C2FF"
"3DD8406C-A116-11D9-A5A2-000D93C8BE28"
"43C9E8AE-3E53-4B82-A1AF-56697BB3EF09"
"C183920D-A126-11D9-A5A2-000D93C8BE28"
"2C4C9673-B166-432A-8938-75A5CA622481"
"0658019F-3635-462E-AAC2-74E4FE508A9B"
"89E5CC0A-3EFF-4DEF-A299-2E9651DE6529"
"B8651C6E-A05E-11D9-86AC-000D93C8BE28"
"20D760B5-A127-11D9-A5A2-000D93C8BE28"
"45F92B81-6F0E-11D9-A1E4-000D9332809C"
"3F26240E-6E4A-11D9-B411-000D93589AF6"
"B23D6E15-6B33-11D9-86C1-000D93589AF6"
"C8B717C2-6B33-11D9-BB47-000D93589AF6"
"CD6D2CC6-6B33-11D9-BDFD-000D93589AF6"
"7B7E945E-A112-11D9-A5A2-000D93C8BE28"
"04332FA8-8157-46C4-9854-8C190FFD96C6"
"E6F19171-F664-4B4F-92DA-3E15E6CAD35C"
"26068A55-4C84-409D-BA00-162B55AF6961"
"EBEE6B51-29C7-4362-818F-A190CACD5296"
"65D38039-6B0A-48E9-9E49-43832ECC4107"
"CDE8EFD6-9DE2-4E8C-BB6A-52E8CCD2E977"))
;; Unknown substitutions
;;
;; Substitutions for: content
;;
;; # as in Snippets/Emphasize.yasnippet
;; `(yas-html-toggle-wrap yas-selected-text "em")` =yyas> (yas-unknown)
;;
;; # as in Snippets/XHTML h1.yasnippet
;; `yas-selected-text` =yyas> (yas-unknown)
;;
;; # as in Snippets/IE Conditional Comment Internet Explorer 5_0 only.yasnippet
;; `(or (yas-selected-text) " IE Conditional Comment: Internet Explorer 5.0 only ")` =yyas> (yas-unknown)
;;
;; # as in Snippets/IE Conditional Comment Internet Explorer 5_5 only.yasnippet
;; `(or (yas-selected-text) " IE Conditional Comment: Internet Explorer 5.5 only ")` =yyas> (yas-unknown)
;;
;; # as in Snippets/IE Conditional Comment Internet Explorer 5_x.yasnippet
;; `(or (yas-selected-text) " IE Conditional Comment: Internet Explorer 5.x ")` =yyas> (yas-unknown)
;;
;; # as in Snippets/IE Conditional Comment Internet Explorer 6 and below.yasnippet
;; `(or (yas-selected-text) " IE Conditional Comment: Internet Explorer 6 and below ")` =yyas> (yas-unknown)
;;
;; # as in Snippets/IE Conditional Comment Internet Explorer 6 only.yasnippet
;; `(or (yas-selected-text) " IE Conditional Comment: Internet Explorer 6 only ")` =yyas> (yas-unknown)
;;
;; # as in Snippets/IE Conditional Comment Internet Explorer 7+.yasnippet
;; `(or (yas-selected-text) " IE Conditional Comment: Internet Explorer 7 and above ")` =yyas> (yas-unknown)
;;
;; # as in Snippets/IE Conditional Comment Internet Explorer.yasnippet
;; `(or (yas-selected-text) " IE Conditional Comment: Internet Explorer ")` =yyas> (yas-unknown)
;;
;; # as in Snippets/IE Conditional Comment NOT Internet Explorer.yasnippet
;; `(or (yas-selected-text) " IE Conditional Comment: NOT Internet Explorer ")` =yyas> (yas-unknown)
;;
;; # as in Snippets/XHTML meta.yasnippet
;; `yas-html-xhtml-attr` =yyas> (yas-unknown)
;;
;; # as in Snippets/Strong.yasnippet
;; `(yas-html-toggle-wrap yas-selected-text "strong")` =yyas> (yas-unknown)
;;
;; # as in Commands/About Persistent Includes.yasnippet
;; 9AFDEB2C-D9F0-423E-8211-EBB089F51F0C =yyas> (yas-unknown)
;;
;; # as in Commands/CodeCompletion HTML Attributes.yasnippet
;; CBD82CF3-74E9-4E7A-B3F6-9348754EB5AA =yyas> (yas-unknown)
;;
;; # as in Commands/CodeCompletion HTML Tags.yasnippet
;; 3463E85F-F500-49A0-8631-D78ED85F9D60 =yyas> (yas-unknown)
;;
;; # as in Commands/Encrypt Line Selection (ROT 13).yasnippet
;; 9B13543F-8356-443C-B6E7-D9259B604927 =yyas> (yas-unknown)
;;
;; # as in Commands/Persistent Include.yasnippet
;; 0D814247-7A00-46EE-A2A4-45FBBF4B1181 =yyas> (yas-unknown)
;;
;; # as in Commands/Update Includes.yasnippet
;; 4400BCE9-20E3-426E-B1D7-2C0BCA53BCF8 =yyas> (yas-unknown)
;;
;; # as in Commands/Convert Line Selection to URL Escapes.yasnippet
;; 6B024865-6095-4CE3-8EDD-DC6F2230C2FF =yyas> (yas-unknown)
;;
;; # as in Commands/Convert to HTML Entities.yasnippet
;; 3DD8406C-A116-11D9-A5A2-000D93C8BE28 =yyas> (yas-unknown)
;;
;; # as in Commands/Convert to named entities excl tags.yasnippet
;; 43C9E8AE-3E53-4B82-A1AF-56697BB3EF09 =yyas> (yas-unknown)
;;
;; # as in Commands/Decode HTML Entities.yasnippet
;; C183920D-A126-11D9-A5A2-000D93C8BE28 =yyas> (yas-unknown)
;;
;; # as in Commands/Decode Numeric URL Escapes in Line Selection.yasnippet
;; 2C4C9673-B166-432A-8938-75A5CA622481 =yyas> (yas-unknown)
;;
;; # as in Commands/Insert Close Tag.yasnippet
;; 0658019F-3635-462E-AAC2-74E4FE508A9B =yyas> (yas-unknown)
;;
;; # as in Commands/Insert Entity.yasnippet
;; 89E5CC0A-3EFF-4DEF-A299-2E9651DE6529 =yyas> (yas-unknown)
;;
;; # as in Commands/Refresh All Active Browsers.yasnippet
;; B8651C6E-A05E-11D9-86AC-000D93C8BE28 =yyas> (yas-unknown)
;;
;; # as in Commands/Strip HTML tags.yasnippet
;; 20D760B5-A127-11D9-A5A2-000D93C8BE28 =yyas> (yas-unknown)
;;
;; # as in Commands/Tidy.yasnippet
;; 45F92B81-6F0E-11D9-A1E4-000D9332809C =yyas> (yas-unknown)
;;
;; # as in Commands/W3C validation.yasnippet
;; 3F26240E-6E4A-11D9-B411-000D93589AF6 =yyas> (yas-unknown)
;;
;; # as in DragCommands/Anchor Tag.yasnippet
;; B23D6E15-6B33-11D9-86C1-000D93589AF6 =yyas> (yas-unknown)
;;
;; # as in DragCommands/CSS Link.yasnippet
;; C8B717C2-6B33-11D9-BB47-000D93589AF6 =yyas> (yas-unknown)
;;
;; # as in DragCommands/Image Tag.yasnippet
;; CD6D2CC6-6B33-11D9-BDFD-000D93589AF6 =yyas> (yas-unknown)
;;
;; # as in Macros/Delete whitespace between tags.yasnippet
;; 7B7E945E-A112-11D9-A5A2-000D93C8BE28 =yyas> (yas-unknown)
;;
;; # as in Snippets/XHTML body.yasnippet
;; ${TM_FILENAME/(.*)\..*/\L$1/} =yyas> (yas-unknown)
;;
;; # as in Snippets/XHTML form.yasnippet
;; ${TM_FILENAME/(.*?)\..*/$1_submit/} =yyas> (yas-unknown)
;;
;; # as in Snippets/XHTML title.yasnippet
;; ${TM_FILENAME/((.+)\..*)?/(?2:$2:Page Title)/} =yyas> (yas-unknown)
;;
;; # as in Templates/HTML 4.0 Strict/info.yasnippet
;; 04332FA8-8157-46C4-9854-8C190FFD96C6 =yyas> (yas-unknown)
;;
;; # as in Templates/HTML 4.0 Transitional/info.yasnippet
;; E6F19171-F664-4B4F-92DA-3E15E6CAD35C =yyas> (yas-unknown)
;;
;; # as in Templates/XHTML 1.0 Frameset/info.yasnippet
;; 26068A55-4C84-409D-BA00-162B55AF6961 =yyas> (yas-unknown)
;;
;; # as in Templates/XHTML 1.0 Strict/info.yasnippet
;; EBEE6B51-29C7-4362-818F-A190CACD5296 =yyas> (yas-unknown)
;;
;; # as in Templates/XHTML 1.0 Transitional/info.yasnippet
;; 65D38039-6B0A-48E9-9E49-43832ECC4107 =yyas> (yas-unknown)
;;
;; # as in Templates/XHTML 1.1/info.yasnippet
;; CDE8EFD6-9DE2-4E8C-BB6A-52E8CCD2E977 =yyas> (yas-unknown)
;;
;;
;; Substitutions for: condition
;;
;; # as in Templates/XHTML 1.1/info.yasnippet
;; text.html =yyas> (yas-unknown)
;;
;; # as in Commands/CodeCompletion HTML Attributes.yasnippet
;; text.html punctuation.definition.tag -source, text.html meta.tag -entity.other.attribute-name -source =yyas> (yas-unknown)
;;
;; # as in Commands/CodeCompletion HTML Tags.yasnippet
;; text.html -entity.other.attribute-name -string.quoted, invalid.illegal.incomplete.html =yyas> (yas-unknown)
;;
;; # as in Commands/Documentation for Tag.yasnippet
;; text.html, text.html entity.name.tag =yyas> (yas-unknown)
;;
;; # as in Commands/Refresh All Active Browsers.yasnippet
;; text.html, source.css =yyas> (yas-unknown)
;;
;; # as in Snippets/Smart returnindent for tag pairs.yasnippet
;; meta.scope.between-tag-pair =yyas> (yas-unknown)
;;
;; # as in Snippets/Wrap Selection In Tag.yasnippet
;; text.html, =yyas> (yas-unknown)
;;
;; # as in Snippets/Wrap in =.yasnippet
;; text.html string =yyas> (yas-unknown)
;;
;; # as in Snippets/XHTML head.yasnippet
;; text.html - text.html source =yyas> (yas-unknown)
;;
;; # as in Snippets/XHTML title.yasnippet
;; text.html - text.blog =yyas> (yas-unknown)
;;
;;
;; Substitutions for: binding
;;
;; # as in Commands/CodeCompletion HTML Tags.yasnippet
;; ~ =yyas> (yas-unknown)
;;
;; # as in Commands/Insert Entity.yasnippet
;; @& =yyas> (yas-unknown)
;;
;; # as in Commands/Persistent Include.yasnippet
;; =yyas> (yas-unknown)
;;
;; # as in Commands/Update Includes.yasnippet
;; ^@u =yyas> (yas-unknown)
;;
;; # as in Commands/Insert Close Tag.yasnippet
;; ~@. =yyas> (yas-unknown)
;;
;; # as in Commands/Refresh All Active Browsers.yasnippet
;; @r =yyas> (yas-unknown)
;;
;; # as in Commands/Tidy.yasnippet
;; ^H =yyas> (yas-unknown)
;;
;; # as in Commands/W3C validation.yasnippet
;; ^V =yyas> (yas-unknown)
;;
;; # as in Macros/Delete whitespace between tags.yasnippet
;; ^~ =yyas> (yas-unknown)
;;
;; # as in Snippets/Smart returnindent for tag pairs.yasnippet
;; =yyas> (yas-unknown)
;;
;; # as in Snippets/XHTML &nbsp NonBreakingSpace.yasnippet
;; ~ =yyas> (yas-unknown)
;;
;; # as in Snippets/XHTML br.yasnippet
;; ^ =yyas> (yas-unknown)
;;
;;
;; .yas-setup.el for html-mode ends here

View File

@ -1,88 +0,0 @@
(defun yas-objc-docset-query (query)
)
(defvar yas-objc-method-names (make-vector 1023 0))
(defvar yas-objc-class-names (make-vector 1023 0))
(defvar yas-objc-languages (list))
(defvar yas-objc-defkinds (list))
(defun yas-objc-extract-super-list ()
(interactive)
(setq yas-objc-method-names (make-vector 1023 0)
yas-objc-class-names (make-vector 1023 0)
yas-objc-languages (list)
yas-objc-defkinds (list))
(with-temp-buffer
(shell-command
"/Developer/usr/bin/docsetutil dump -skip-text /Developer/Documentation/DocSets/com.apple.adc.documentation.AppleSnowLeopard.CoreReference.docset/"
(current-buffer))
(goto-char (point-min))
(search-forward-regexp "API index contains .* tokens")
(while (search-forward-regexp "^\\([^/]*\\)/\\([^/]*\\)/\\([^/]*\\)/\\([^/]*\\)$" nil 'noerror)
(intern (match-string 3) yas-objc-class-names)
(intern (match-string 4) yas-objc-method-names)
(add-to-list 'yas-objc-languages (match-string 1))
(add-to-list 'yas-objc-defkinds (match-string 2)))))
;; (put (intern-soft (setq chosen (completing-read "Method: " yas-objc-method-names)) yas-objc-method-names)
;; 'someshit
;; 'someday)
;; (completing-read "Class: " yas-objc-class-names)
;; (get (intern-soft (setq chosen (completing-read "hey: " yas-objc-method-names)) yas-objc-method-names)
;; 'someshit)
(defun yas-objc-current-method-signature ()
(let ((orig-point (point))
(start-point nil)
sig
orig-ppss
ppss)
(save-excursion
(condition-case nil
(while (not (eq (point) (point-min))) (backward-sexp))
(error nil))
(when (eq (preceding-char) ?\[)
(setq orig-ppss (syntax-ppss))
(forward-sexp)
(skip-chars-forward " \t\n")
(setq ppss (syntax-ppss))
(while (and (>= (car ppss) (car orig-ppss))
(search-forward-regexp "[[:alpha:]]+:" nil 'noerror))
(setq ppss (syntax-ppss))
(when (eq (car ppss) (car orig-ppss))
(setq sig
(concat (or sig "") (match-string-no-properties 0)))))
sig))))
(defun yas-objc-current-method-signature ()
(let ((orig-point (point))
(start-point nil)
sig
orig-ppss
ppss)
(save-excursion
(condition-case nil
(while (not (eq (point) (point-max))) (backward-sexp))
(error ))
(when (eq (preceding-char) ?\[)
(setq orig-ppss (syntax-ppss))
(forward-sexp)
(skip-chars-forward " \t\n")
(setq ppss (syntax-ppss))
(condition-case nil
(while (and (>= (car ppss) (car orig-ppss))
(search-forward-regexp "[[:alpha:]]+:" orig-point 'noerror))
(setq ppss (syntax-ppss))
(when (eq (car ppss) (car orig-ppss))
(setq sig
(concat (or sig "") (match-string-no-properties 0))))
(forward-sexp))
(error nil))
(save-excursion
(backward-word)
(concat sig (buffer-substring-no-properties (point) orig-point)))
sig))))

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,468 +0,0 @@
#!/usr/bin/env ruby
# -*- coding: utf-8 -*-
# textmate_import.rb --- import textmate snippets
#
# Copyright (C) 2009 Rob Christie, 2010 João Távora
#
# This is a quick script to generate YASnippets from TextMate Snippets.
#
# I based the script off of a python script of a similar nature by
# Jeff Wheeler: http://nokrev.com
# http://code.nokrev.com/?p=snippet-copier.git;a=blob_plain;f=snippet_copier.py
#
# Use textmate_import.rb --help to get usage information.
require 'rubygems'
require 'plist'
require 'trollop'
require 'fileutils'
require 'shellwords' # String#shellescape
require 'ruby-debug' if $DEBUG
Encoding.default_external = Encoding::UTF_8 if RUBY_VERSION > '1.8.7'
opts = Trollop::options do
opt :bundle_dir, "TextMate bundle directory", :short => '-d', :type => :string
opt :output_dir, "Output directory", :short => '-o', :type => :string
opt :glob, "Specific snippet file (or glob) inside <bundle_dir>", :short => '-g', :default => '*.{tmSnippet,tmCommand,plist,tmMacro}'
opt :pretty, 'Pretty prints multiple snippets when printing to standard out', :short => '-p'
opt :quiet, "Be quiet", :short => '-q'
opt :plist_file, "Use a specific plist file to derive menu information from", :type => :string
end
Trollop::die :bundle_dir, "must be provided" unless opts.bundle_dir
Trollop::die :bundle_dir, "must exist" unless File.directory? opts.bundle_dir
Trollop::die :output_dir, "must be provided" unless opts.output_dir
Trollop::die :output_dir, "must exist" unless File.directory? opts.output_dir
Trollop::die :plist_file, "must exist" if opts.plist_file && File.directory?(opts.plist_file)
# Represents and is capable of outputting the representation of a
# TextMate menu in terms of `yas-define-menu'
#
class TmSubmenu
@@excluded_items = [];
def self.excluded_items; @@excluded_items; end
attr_reader :items, :name
def initialize(name, hash)
@items = hash["items"]
@name = name
end
def to_lisp(allsubmenus,
deleteditems,
indent = 0,
thingy = ["(", ")"])
first = true;
string = ""
separator_useless = true;
items.each do |uuid|
if deleteditems && deleteditems.index(uuid)
$stderr.puts "#{uuid} has been deleted!"
next
end
string += "\n"
string += " " * indent
string += (first ? thingy[0] : (" " * thingy[0].length))
submenu = allsubmenus[uuid]
snippet = TmSnippet::snippets_by_uid[uuid]
unimplemented = TmSnippet::unknown_substitutions["content"][uuid]
if submenu
str = "(yas-submenu "
string += str + "\"" + submenu.name + "\""
string += submenu.to_lisp(allsubmenus, deleteditems,
indent + str.length + thingy[0].length)
elsif snippet and not unimplemented
string += ";; " + snippet.name + "\n"
string += " " * (indent + thingy[0].length)
string += "(yas-item \"" + uuid + "\")"
separator_useless = false;
elsif snippet and unimplemented
string += ";; Ignoring " + snippet.name + "\n"
string += " " * (indent + thingy[0].length)
string += "(yas-ignore-item \"" + uuid + "\")"
separator_useless = true;
elsif (uuid =~ /---------------------/)
string += "(yas-separator)" unless separator_useless
end
first = false;
end
string += ")"
string += thingy[1]
return string
end
def self.main_menu_to_lisp (parsed_plist, modename)
mainmenu = parsed_plist["mainMenu"]
deleted = parsed_plist["deleted"]
root = TmSubmenu.new("__main_menu__", mainmenu)
all = {}
mainmenu["submenus"].each_pair do |k,v|
all[k] = TmSubmenu.new(v["name"], v)
end
excluded = (mainmenu["excludedItems"] || []) + TmSubmenu::excluded_items
closing = "\n '("
closing+= excluded.collect do |uuid|
"\"" + uuid + "\""
end.join( "\n ") + "))"
str = "(yas-define-menu "
return str + "'#{modename}" + root.to_lisp(all,
deleted,
str.length,
["'(" , closing])
end
end
# Represents a textmate snippet
#
# - @file is the .tmsnippet/.plist file path relative to cwd
#
# - optional @info is a Plist.parsed info.plist found in the bundle dir
#
# - @@snippets_by_uid is where one can find all the snippets parsed so
# far.
#
#
class SkipSnippet < RuntimeError; end
class TmSnippet
@@known_substitutions = {
"content" => {
"${TM_RAILS_TEMPLATE_START_RUBY_EXPR}" => "<%= ",
"${TM_RAILS_TEMPLATE_END_RUBY_EXPR}" => " %>",
"${TM_RAILS_TEMPLATE_START_RUBY_INLINE}" => "<% ",
"${TM_RAILS_TEMPLATE_END_RUBY_INLINE}" => " -%>",
"${TM_RAILS_TEMPLATE_END_RUBY_BLOCK}" => "end" ,
"${0:$TM_SELECTED_TEXT}" => "${0:`yas-selected-text`}",
/\$\{(\d+)\}/ => "$\\1",
"${1:$TM_SELECTED_TEXT}" => "${1:`yas-selected-text`}",
"${2:$TM_SELECTED_TEXT}" => "${2:`yas-selected-text`}",
'$TM_SELECTED_TEXT' => "`yas-selected-text`",
%r'\$\{TM_SELECTED_TEXT:([^\}]*)\}' => "`(or (yas-selected-text) \"\\1\")`",
%r'`[^`]+\n[^`]`' => Proc.new {|uuid, match| "(yas-multi-line-unknown " + uuid + ")"}},
"condition" => {
/^source\..*$/ => "" },
"binding" => {},
"type" => {}
}
def self.extra_substitutions; @@extra_substitutions; end
@@extra_substitutions = {
"content" => {},
"condition" => {},
"binding" => {},
"type" => {}
}
def self.unknown_substitutions; @@unknown_substitutions; end
@@unknown_substitutions = {
"content" => {},
"condition" => {},
"binding" => {},
"type" => {}
}
@@snippets_by_uid={}
def self.snippets_by_uid; @@snippets_by_uid; end
def initialize(file,info=nil)
@file = file
@info = info
@snippet = TmSnippet::read_plist(file)
@@snippets_by_uid[self.uuid] = self;
raise SkipSnippet.new "not a snippet/command/macro." unless (@snippet["scope"] || @snippet["command"])
raise SkipSnippet.new "looks like preferences."if @file =~ /Preferences\//
raise RuntimeError.new("Cannot convert this snippet #{file}!") unless @snippet;
end
def name
@snippet["name"]
end
def uuid
@snippet["uuid"]
end
def key
@snippet["tabTrigger"]
end
def condition
yas_directive "condition"
end
def type
override = yas_directive "type"
if override
return override
else
return "# type: command\n" if @file =~ /(Commands\/|Macros\/)/
end
end
def binding
yas_directive "binding"
end
def content
known = @@known_substitutions["content"]
extra = @@extra_substitutions["content"]
if direct = extra[uuid]
return direct
else
ct = @snippet["content"]
if ct
known.each_pair do |k,v|
if v.respond_to? :call
ct.gsub!(k) {|match| v.call(uuid, match)}
else
ct.gsub!(k,v)
end
end
extra.each_pair do |k,v|
ct.gsub!(k,v)
end
# the remaining stuff is an unknown substitution
#
[ %r'\$\{ [^/\}\{:]* / [^/]* / [^/]* / [^\}]*\}'x ,
%r'\$\{[^\d][^}]+\}',
%r'`[^`]+`',
%r'\$TM_[\w_]+',
%r'\(yas-multi-line-unknown [^\)]*\)'
].each do |reg|
ct.scan(reg) do |match|
@@unknown_substitutions["content"][match] = self
end
end
return ct
else
@@unknown_substitutions["content"][uuid] = self
TmSubmenu::excluded_items.push(uuid)
return "(yas-unimplemented)"
end
end
end
def to_yas
doc = "# -*- mode: snippet -*-\n"
doc << (self.type || "")
doc << "# uuid: #{self.uuid}\n"
doc << "# key: #{self.key}\n" if self.key
doc << "# contributor: Translated from textmate snippet by PROGRAM_NAME\n"
doc << "# name: #{self.name}\n"
doc << (self.binding || "")
doc << (self.condition || "")
doc << "# --\n"
doc << (self.content || "(yas-unimplemented)")
doc
end
def self.canonicalize(filename)
invalid_char = /[^ a-z_0-9.+=~(){}\/'`&#,-]/i
filename.
gsub(invalid_char, ''). # remove invalid characters
gsub(/ {2,}/,' '). # squeeze repeated spaces into a single one
rstrip # remove trailing whitespaces
end
def yas_file()
File.join(TmSnippet::canonicalize(@file[0, @file.length-File.extname(@file).length]) + ".yasnippet")
end
def self.read_plist(xml_or_binary)
begin
parsed = Plist::parse_xml(xml_or_binary)
return parsed if parsed
raise ArgumentError.new "Probably in binary format and parse_xml is very quiet..."
rescue StandardError => e
if (system "plutil -convert xml1 #{xml_or_binary.shellescape} -o /tmp/textmate_import.tmpxml")
return Plist::parse_xml("/tmp/textmate_import.tmpxml")
else
raise RuntimeError.new "plutil failed miserably, check if you have it..."
end
end
end
private
@@yas_to_tm_directives = {"condition" => "scope", "binding" => "keyEquivalent", "key" => "tabTrigger"}
def yas_directive(yas_directive)
#
# Merge "known" hardcoded substitution with "extra" substitutions
# provided in the .yas-setup.el file.
#
merged = @@known_substitutions[yas_directive].
merge(@@extra_substitutions[yas_directive])
#
# First look for an uuid-based direct substitution for this
# directive.
#
if direct = merged[uuid]
return "# #{yas_directive}: "+ direct + "\n" unless direct.empty?
else
tm_directive = @@yas_to_tm_directives[yas_directive]
val = tm_directive && @snippet[tm_directive]
if val and !val.delete(" ").empty? then
#
# Sort merged substitutions by length (bigger ones first,
# regexps last), and apply them to the value gotten for plist.
#
allsubs = merged.sort_by do |what, with|
if what.respond_to? :length then -what.length else 0 end
end
allsubs.each do |sub|
if val.gsub!(sub[0],sub[1])
# puts "SUBBED #{sub[0]} for #{sub[1]}"
return "# #{yas_directive}: "+ val + "\n" unless val.empty?
end
end
#
# If we get here, no substitution matched, so mark this an
# unknown substitution.
#
@@unknown_substitutions[yas_directive][val] = self
return "## #{yas_directive}: \""+ val + "\n"
end
end
end
end
if __FILE__ == $PROGRAM_NAME
# Read the the bundle's info.plist if can find it/guess it
#
info_plist_file = opts.plist_file || File.join(opts.bundle_dir,"info.plist")
info_plist = TmSnippet::read_plist(info_plist_file) if info_plist_file and File.readable? info_plist_file;
# Calculate the mode name
#
modename = File.basename opts.output_dir || "major-mode-name"
# Read in .yas-setup.el looking for the separator between auto-generated
#
original_dir = Dir.pwd
yas_setup_el_file = File.join(original_dir, opts.output_dir, ".yas-setup.el")
separator = ";; --**--"
whole, head , tail = "", "", ""
if File::exists? yas_setup_el_file
File.open yas_setup_el_file, 'r' do |file|
whole = file.read
head , tail = whole.split(separator)
end
else
head = ";; .yas-setup.el for #{modename}\n" + ";; \n"
end
# Now iterate the tail part to find extra substitutions
#
tail ||= ""
head ||= ""
directive = nil
# puts "get this head #{head}"
head.each_line do |line|
case line
when /^;; Substitutions for:(.*)$/
directive = $~[1].strip
# puts "found the directove #{directive}"
when /^;;(.*)[ ]+=yyas>(.*)$/
replacewith = $~[2].strip
lookfor = $~[1]
lookfor.gsub!(/^[ ]*/, "")
lookfor.gsub!(/[ ]*$/, "")
# puts "found this wonderful substitution for #{directive} which is #{lookfor} => #{replacewith}"
unless !directive or replacewith =~ /yas-unknown/ then
TmSnippet.extra_substitutions[directive][lookfor] = replacewith
end
end
end
# Glob snippets into snippet_files, going into subdirs
#
Dir.chdir opts.bundle_dir
snippet_files_glob = File.join("**", opts.glob)
snippet_files = Dir.glob(snippet_files_glob)
# Attempt to convert each snippet files in snippet_files
#
puts "Will try to convert #{snippet_files.length} snippets...\n" unless opts.quiet
# Iterate the globbed files
#
snippet_files.each do |file|
begin
$stdout.print "Processing \"#{File.join(opts.bundle_dir,file)}\"..." unless opts.quiet
snippet = TmSnippet.new(file,info_plist)
file_to_create = File.join(original_dir, opts.output_dir, snippet.yas_file)
FileUtils.mkdir_p(File.dirname(file_to_create))
File.open(file_to_create, 'w') do |f|
f.write(snippet.to_yas)
end
$stdout.print "done\n" unless opts.quiet
rescue SkipSnippet => e
$stdout.print "skipped! #{e.message}\n" unless opts.quiet
rescue RuntimeError => e
$stderr.print "failed! #{e.message}\n"
$strerr.print "#{e.backtrace.join("\n")}" unless opts.quiet
end
end
# Attempt to decypher the menu
#
menustr = TmSubmenu::main_menu_to_lisp(info_plist, modename) if info_plist
puts menustr if $DEBUG
# Write some basic .yas-* files
#
if opts.output_dir
FileUtils.mkdir_p opts.output_dir
FileUtils.touch File.join(original_dir, opts.output_dir, ".yas-make-groups") unless menustr
# Now, output head + a new tail in (possibly new) .yas-setup.el
# file
#
File.open yas_setup_el_file, 'w' do |file|
file.puts head
file.puts separator
file.puts ";; Automatically generated code, do not edit this part"
file.puts ";; "
file.puts ";; Translated menu"
file.puts ";; "
file.puts menustr
file.puts
file.puts ";; Unknown substitutions"
file.puts ";; "
["content", "condition", "binding"].each do |type|
file.puts ";; Substitutions for: #{type}"
file.puts ";; "
# TmSnippet::extra_substitutions[type].
# each_pair do |k,v|
# file.puts ";; " + k + "" + (" " * [1, 90-k.length].max) + " =yyas> " + v
# end
unknown = TmSnippet::unknown_substitutions[type];
unknown.keys.uniq.each do |k|
file.puts ";; # as in " + unknown[k].yas_file
file.puts ";; " + k + "" + (" " * [1, 90-k.length].max) + " =yyas> (yas-unknown)"
file.puts ";; "
end
file.puts ";; "
file.puts
end
file.puts ";; .yas-setup.el for #{modename} ends here"
end
end
end

1
snippets Submodule

@ -0,0 +1 @@
Subproject commit 7638321285cf78a9d075fa63d5ada105aa44752e

View File

@ -1 +0,0 @@
cc-mode

View File

@ -1,4 +0,0 @@
# name: v.begin(), v.end()
# key: beginend
# --
${1:v}.begin(), $1.end

View File

@ -1,9 +0,0 @@
# name: class ... { ... }
# key: class
# --
class ${1:Name}
{
public:
${1:$(yas-substr yas-text "[^: ]*")}($2);
virtual ~${1:$(yas-substr yas-text "[^: ]*")}();
};

View File

@ -1,4 +0,0 @@
# name: namespace ...
# key: ns
# --
namespace

View File

@ -1,4 +0,0 @@
# name: template <typename ...>
# key: template
# --
template <typename ${T}>

View File

@ -1,5 +0,0 @@
# name: using namespace ...
# key: using
# --
using namespace ${std};
$0

View File

@ -1 +0,0 @@
cc-mode

View File

@ -1,4 +0,0 @@
# name: FILE *fp = fopen(..., ...);
# key: fopen
# --
FILE *${fp} = fopen(${"file"}, "${r}");

View File

@ -1,7 +0,0 @@
# -*- mode: snippet -*-
# name: printf
# contributor: joaotavora
# key: printf
# --
printf ("${1:%s}\\n"${1:$(if (string-match "%" yas-text) "," "\);")
}$2${1:$(if (string-match "%" yas-text) "\);" "")}

View File

@ -1 +0,0 @@
text-mode

View File

@ -1,7 +0,0 @@
# name: do { ... } while (...)
# key: do
# --
do
{
$0
} while (${1:condition});

View File

@ -1,7 +0,0 @@
# name: for (...; ...; ...) { ... }
# key: for
# --
for (${1:int i = 0}; ${2:i < N}; ${3:++i})
{
$0
}

View File

@ -1,7 +0,0 @@
# name: if (...) { ... }
# key: if
# --
if (${1:condition})
{
$0
}

View File

@ -1,4 +0,0 @@
# name: #include "..."
# key: inc
# --
#include "$1"

View File

@ -1,4 +0,0 @@
# name: #include <...>
# key: inc
# --
#include <$1>

View File

@ -1,8 +0,0 @@
# name: int main(argc, argv) { ... }
# key: main
# --
int main(int argc, char *argv[])
{
$0
return 0;
}

View File

@ -1,9 +0,0 @@
# name: #ifndef XXX; #define XXX; #endif
# key: once
# --
#ifndef ${1:_`(upcase (file-name-nondirectory (file-name-sans-extension (buffer-file-name))))`_H_}
#define $1
$0
#endif /* $1 */

View File

@ -1,7 +0,0 @@
# name: struct ... { ... }
# key: struct
# --
struct ${1:name}
{
$0
};

View File

@ -1 +0,0 @@
perl-mode

View File

@ -1 +0,0 @@
cc-mode

View File

@ -1,8 +0,0 @@
# contributor: Alejandro Espinoza Esparza <aespinoza@structum.com.mx>
# name: private attribute ....;
# key: attrib
# --
/// <summary>
/// $3
/// </summary>
private $1 $2;

View File

@ -1,22 +0,0 @@
# contributor: Alejandro Espinoza Esparza <aespinoza@structum.com.mx>
# name: private attribute ....; public property ... ... { ... }
# key: attrib
# --
/// <summary>
/// $3
/// </summary>
private $1 $2;
/// <summary>
/// $4
/// </summary>
/// <value>$5</value>
public $1 $2
{
get {
return this.$2;
}
set {
this.$2 = value;
}
}

View File

@ -1,22 +0,0 @@
# contributor: Alejandro Espinoza Esparza <aespinoza@structum.com.mx>
# name: private _attribute ....; public Property ... ... { ... }
# key: attrib
# --
/// <summary>
/// $3
/// </summary>
private $1 ${2:$(if (> (length yas-text) 0) (format "_%s%s" (downcase (substring yas-text 0 1)) (substring yas-text 1 (length yas-text))) "")};
/// <summary>
/// ${3:Description}
/// </summary>
/// <value><c>$1</c></value>
public ${1:Type} ${2:Name}
{
get {
return this.${2:$(if (> (length yas-text) 0) (format "_%s%s" (downcase (substring yas-text 0 1)) (substring yas-text 1 (length yas-text))) "")};
}
set {
this.${2:$(if (> (length yas-text) 0) (format "_%s%s" (downcase (substring yas-text 0 1)) (substring yas-text 1 (length yas-text))) "")} = value;
}
}

View File

@ -1,22 +0,0 @@
# contributor: Alejandro Espinoza Esparza <aespinoza@structum.com.mx>
# name: class ... { ... }
# key: class
# --
${5:public} class ${1:Name}
{
#region Ctor & Destructor
/// <summary>
/// ${3:Standard Constructor}
/// </summary>
public $1($2)
{
}
/// <summary>
/// ${4:Default Destructor}
/// </summary>
public ~$1()
{
}
#endregion
}

View File

@ -1,7 +0,0 @@
# contributor: Alejandro Espinoza Esparza <aespinoza@structum.com.mx>
# name: /// <summary> ... </summary>
# key: comment
# --
/// <summary>
/// $1
/// </summary>

View File

@ -1,5 +0,0 @@
# contributor: Alejandro Espinoza Esparza <aespinoza@structum.com.mx>
# name: /// <param name="..."> ... </param>
# key: comment
# --
/// <param name="$1">$2</param>

View File

@ -1,5 +0,0 @@
# contributor: Alejandro Espinoza Esparza <aespinoza@structum.com.mx>
# name: /// <param name="..."> ... </param>
# key: comment
# --
/// <returns>$1</returns>

View File

@ -1,5 +0,0 @@
# contributor: Alejandro Espinoza Esparza <aespinoza@structum.com.mx>
# name: /// <exception cref="..."> ... </exception>
# key: comment
# --
/// <exception cref="$1">$2</exception>

View File

@ -1,11 +0,0 @@
# contributor: Alejandro Espinoza Esparza <aespinoza@structum.com.mx>
# name: public void Method { ... }
# key: method
# --
/// <summary>
/// ${5:Description}
/// </summary>${2:$(if (string= (upcase yas-text) "VOID") "" (format "%s%s%s" "\n/// <returns><c>" yas-text "</c></returns>"))}
${1:public} ${2:void} ${3:MethodName}($4)
{
$0
}

View File

@ -1,8 +0,0 @@
# contributor: Alejandro Espinoza Esparza <aespinoza@structum.com.mx>
# name: namespace .. { ... }
# key: namespace
# --
namespace $1
{
$0
}

View File

@ -1,17 +0,0 @@
# contributor: Alejandro Espinoza Esparza <aespinoza@structum.com.mx>
# name: property ... ... { ... }
# key: prop
# --
/// <summary>
/// $5
/// </summary>
/// <value>$6</value>
$1 $2 $3
{
get {
return this.$4;
}
set {
this.$4 = value;
}
}

View File

@ -1,7 +0,0 @@
# contributor: Alejandro Espinoza Esparza <aespinoza@structum.com.mx>
# name: #region ... #endregion
# key: region
# --
#region $1
$0
#endregion

View File

@ -1,5 +0,0 @@
# contributor: Alejandro Espinoza Esparza <aespinoza@structum.com.mx>
# name: using ...;
# key: using
# --
using $1;

View File

@ -1,5 +0,0 @@
# contributor: Alejandro Espinoza Esparza <aespinoza@structum.com.mx>
# name: using System;
# key: using
# --
using System;

View File

@ -1,5 +0,0 @@
# contributor: Alejandro Espinoza Esparza <aespinoza@structum.com.mx>
# name: using System....;
# key: using
# --
using System.$1;

View File

@ -1 +0,0 @@
text-mode

View File

@ -1,4 +0,0 @@
# name: background-color: ...
# key: bg
# --
background-color: #${1:DDD};

View File

@ -1,4 +0,0 @@
# name: background-image: ...
# key: bg
# --
background-image: url($1);

View File

@ -1,4 +0,0 @@
# name: border size style color
# key: bor
# --
border: ${1:1px} ${2:solid} #${3:999};

View File

@ -1,5 +0,0 @@
# contributor: rejeep <johan.rejeep@gmail.com>
# name: clear: ...
# key: cl
# --
clear: $1;

View File

@ -1,5 +0,0 @@
# contributor: rejeep <johan.rejeep@gmail.com>
# name: display: block
# key: disp
# --
display: block;

View File

@ -1,5 +0,0 @@
# contributor: rejeep <johan.rejeep@gmail.com>
# name: display: inline
# key: disp
# --
display: inline;

View File

@ -1,5 +0,0 @@
# contributor: rejeep <johan.rejeep@gmail.com>
# name: display: none
# key: disp
# --
display: none;

View File

@ -1,5 +0,0 @@
# contributor: rejeep <johan.rejeep@gmail.com>
# name: font-family: ...
# key: ff
# --
font-family: $1;

View File

@ -1,5 +0,0 @@
# contributor: rejeep <johan.rejeep@gmail.com>
# name: font-size: ...
# key: fs
# --
font-size: ${12px};

View File

@ -1,5 +0,0 @@
# contributor: rejeep <johan.rejeep@gmail.com>
# name: margin-bottom: ...
# key: mar
# --
margin-bottom: $1;

View File

@ -1,5 +0,0 @@
# contributor: rejeep <johan.rejeep@gmail.com>
# name: margin-left: ...
# key: mar
# --
margin-left: $1;

View File

@ -1,5 +0,0 @@
# contributor: rejeep <johan.rejeep@gmail.com>
# name: margin: ...
# key: mar
# --
margin: $1;

View File

@ -1,5 +0,0 @@
# contributor: rejeep <johan.rejeep@gmail.com>
# name: margin top right bottom left
# key: mar
# --
margin: ${top} ${right} ${bottom} ${left};

View File

@ -1,5 +0,0 @@
# contributor: rejeep <johan.rejeep@gmail.com>
# name: margin-right: ...
# key: mar
# --
margin-right: $1;

View File

@ -1,5 +0,0 @@
# contributor: rejeep <johan.rejeep@gmail.com>
# name: margin-top: ...
# key: mar
# --
margin-top: $1;

View File

@ -1,5 +0,0 @@
# contributor: rejeep <johan.rejeep@gmail.com>
# name: padding-bottom: ...
# key: pad
# --
padding-bottom: $1;

View File

@ -1,5 +0,0 @@
# contributor: rejeep <johan.rejeep@gmail.com>
# name: padding-left: ...
# key: pad
# --
padding-left: $1;

View File

@ -1,5 +0,0 @@
# contributor: rejeep <johan.rejeep@gmail.com>
# name: padding: ...
# key: pad
# --
padding: $1;

View File

@ -1,5 +0,0 @@
# contributor: rejeep <johan.rejeep@gmail.com>
# name: padding: top right bottom left
# key: pad
# --
padding: ${top} ${right} ${bottom} ${left};

View File

@ -1,5 +0,0 @@
# contributor: rejeep <johan.rejeep@gmail.com>
# name: padding-right: ...
# key: pad
# --
padding-right: $1;

View File

@ -1,5 +0,0 @@
# contributor: rejeep <johan.rejeep@gmail.com>
# name: padding-top: ...
# key: pad
# --
padding-top: $1;

View File

@ -1,7 +0,0 @@
-*- coding: utf-8 -*-
Originally started by Xah Lee (xahlee.org) on 2009-02-22
Released under GPL 3.
Feel free to add missing ones or modify existing ones to improve.
Those starting with “x-” are supposed to be idiom templates. Not sure it's very useful. They might start with “i-” or "id-" in the future.

View File

@ -1 +0,0 @@
text-mode

View File

@ -1,6 +0,0 @@
# contributor: Xah Lee (XahLee.org)
# name: add-hook
# key: add-hook
# key: ah
# --
(add-hook HOOK$0 FUNCTION)

View File

@ -1,6 +0,0 @@
# contributor: Xah Lee (XahLee.org)
# name: and
# key: and
# key: a
# --
(and $0)

View File

@ -1,5 +0,0 @@
# contributor: Xah Lee (XahLee.org)
# name: append
# key: append
# --
(append $0 )

View File

@ -1,5 +0,0 @@
# contributor: Xah Lee (XahLee.org)
# name: apply
# key: apply
# --
(apply $0 )

View File

@ -1,5 +0,0 @@
# contributor: Xah Lee (XahLee.org)
# name: aref
# key: aref
# --
(aref ARRAY$0 INDEX)

View File

@ -1,5 +0,0 @@
# contributor: Xah Lee (XahLee.org)
# name: aset
# key: aset
# --
(aset ARRAY$0 IDX NEWELT)

View File

@ -1,5 +0,0 @@
# contributor: Xah Lee (XahLee.org)
# name: assq
# key: assq
# --
(assq KEY$0 LIST)

View File

@ -1,5 +0,0 @@
# contributor: Xah Lee (XahLee.org)
# name: autoload
# key: autoload
# --
(autoload 'FUNCNAME$0 "FILENAME" &optional "DOCSTRING" INTERACTIVE TYPE)

View File

@ -1,6 +0,0 @@
# contributor: Xah Lee (XahLee.org)
# name: backward-char
# key: backward-char
# key: bc
# --
(backward-char $0)

View File

@ -1,6 +0,0 @@
# contributor: Xah Lee (XahLee.org)
# name: beginning-of-line
# key: beginning-of-line
# key: bol
# --
(beginning-of-line)

View File

@ -1,6 +0,0 @@
# contributor: Xah Lee (XahLee.org)
# name: bounds-of-thing-at-point
# key: bounds-of-thing-at-point
# key: botap
# --
(bounds-of-thing-at-point '$0) ; symbol, list, sexp, defun, filename, url, email, word, sentence, whitespace, line, page ...

View File

@ -1,6 +0,0 @@
# contributor: Xah Lee (XahLee.org)
# name: buffer-file-name
# key: buffer-file-name
# key: bfn
# --
(buffer-file-name)

View File

@ -1,6 +0,0 @@
# contributor: Xah Lee (XahLee.org)
# name: buffer-modified-p
# key: buffer-modified-p
# key: bmp
# --
(buffer-modified-p $0)

View File

@ -1,6 +0,0 @@
# contributor: Xah Lee (XahLee.org)
# name: buffer-substring-no-properties
# key: buffer-substring-no-properties
# key: bsnp
# --
(buffer-substring-no-properties START$0 END)

View File

@ -1,6 +0,0 @@
# contributor: Xah Lee (XahLee.org)
# name: buffer-substring
# key: buffer-substring
# key: bs
# --
(buffer-substring START$0 END)

View File

@ -1,5 +0,0 @@
# contributor: Xah Lee (XahLee.org)
# name: car
# key: car
# --
(car $0)

View File

@ -1,5 +0,0 @@
# contributor: Xah Lee (XahLee.org)
# name: cdr
# key: cdr
# --
(cdr $0)

View File

@ -1,5 +0,0 @@
# contributor: Xah Lee (XahLee.org)
# name: concat
# key: concat
# --
(concat $0)

View File

@ -1,8 +0,0 @@
# contributor: Xah Lee (XahLee.org)
# name: cond
# key: cond
# --
(cond
(CONDITION$0 BODY)
(CONDITION BODY)
)

View File

@ -1,6 +0,0 @@
# contributor: Xah Lee (XahLee.org)
# name: condition-case
# key: condition-case
# key: cc
# --
(condition-case $0 )

View File

@ -1,5 +0,0 @@
# contributor: Xah Lee (XahLee.org)
# name: cons
# key: cons
# --
(cons $0)

View File

@ -1,5 +0,0 @@
# contributor: Xah Lee (XahLee.org)
# name: consp
# key: consp
# --
(consp $0 )

View File

@ -1,6 +0,0 @@
# contributor: Xah Lee (XahLee.org)
# name: copy-directory
# key: copy-directory
# key: cd
# --
(copy-directory $0 NEWNAME &optional KEEP-TIME PARENTS)

View File

@ -1,6 +0,0 @@
# contributor: Xah Lee (XahLee.org)
# name: copy-file
# key: copy-file
# key: cf
# --
(copy-file FILE$0 NEWNAME &optional OK-IF-ALREADY-EXISTS KEEP-TIME PRESERVE-UID-GID)

View File

@ -1,6 +0,0 @@
# contributor: Xah Lee (XahLee.org)
# name: current-buffer
# key: current-buffer
# key: cb
# --
(current-buffer)

View File

@ -1,6 +0,0 @@
# contributor: Xah Lee (XahLee.org)
# name: custom-autoload
# key: custom-autoload
# key: ca
# --
(custom-autoload$0 SYMBOL LOAD &optional NOSET)

Some files were not shown because too many files have changed in this diff Show More