emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/yasnippet-classic-snippets b979c9c 1/4: * packages/yasn


From: Stefan Monnier
Subject: [elpa] externals/yasnippet-classic-snippets b979c9c 1/4: * packages/yasnippet: Merge version 0.13.0 from upstream.
Date: Tue, 1 Dec 2020 09:50:29 -0500 (EST)

branch: externals/yasnippet-classic-snippets
commit b979c9c676b5f4eec169c06bef1fad9c653fa332
Author: Noam Postavsky <npostavs@users.sourceforge.net>
Commit: Noam Postavsky <npostavs@users.sourceforge.net>

    * packages/yasnippet: Merge version 0.13.0 from upstream.
    
    * packages/yasnippet/snippets: Move to...
    * packages/yasnippet-classic-snippets/snippets: ... here.
    * packages/yasnippet-classic-snippets/yasnippet-classic-snippets.el:
    New package.
---
 snippets/c++-mode/.yas-parents                     |  1 +
 snippets/c++-mode/beginend                         |  4 ++
 snippets/c++-mode/class                            |  9 ++++
 snippets/c++-mode/ns                               |  4 ++
 snippets/c++-mode/template                         |  4 ++
 snippets/c++-mode/using                            |  5 ++
 snippets/c-mode/.yas-parents                       |  1 +
 snippets/c-mode/fopen                              |  4 ++
 snippets/c-mode/printf                             |  7 +++
 snippets/cc-mode/.yas-parents                      |  1 +
 snippets/cc-mode/do                                |  7 +++
 snippets/cc-mode/for                               |  7 +++
 snippets/cc-mode/if                                |  7 +++
 snippets/cc-mode/inc                               |  4 ++
 snippets/cc-mode/inc.1                             |  4 ++
 snippets/cc-mode/main                              |  8 ++++
 snippets/cc-mode/once                              |  9 ++++
 snippets/cc-mode/struct                            |  7 +++
 snippets/cperl-mode/.yas-parents                   |  1 +
 snippets/csharp-mode/.yas-parents                  |  1 +
 snippets/csharp-mode/attrib                        |  8 ++++
 snippets/csharp-mode/attrib.1                      | 22 +++++++++
 snippets/csharp-mode/attrib.2                      | 22 +++++++++
 snippets/csharp-mode/class                         | 22 +++++++++
 snippets/csharp-mode/comment                       |  7 +++
 snippets/csharp-mode/comment.1                     |  5 ++
 snippets/csharp-mode/comment.2                     |  5 ++
 snippets/csharp-mode/comment.3                     |  5 ++
 snippets/csharp-mode/method                        | 11 +++++
 snippets/csharp-mode/namespace                     |  8 ++++
 snippets/csharp-mode/prop                          | 17 +++++++
 snippets/csharp-mode/region                        |  7 +++
 snippets/csharp-mode/using                         |  5 ++
 snippets/csharp-mode/using.1                       |  5 ++
 snippets/csharp-mode/using.2                       |  5 ++
 snippets/css-mode/.yas-parents                     |  1 +
 snippets/css-mode/bg                               |  4 ++
 snippets/css-mode/bg.1                             |  4 ++
 snippets/css-mode/bor                              |  4 ++
 snippets/css-mode/cl                               |  5 ++
 snippets/css-mode/disp.block                       |  5 ++
 snippets/css-mode/disp.inline                      |  5 ++
 snippets/css-mode/disp.none                        |  5 ++
 snippets/css-mode/ff                               |  5 ++
 snippets/css-mode/fs                               |  5 ++
 snippets/css-mode/mar.bottom                       |  5 ++
 snippets/css-mode/mar.left                         |  5 ++
 snippets/css-mode/mar.mar                          |  5 ++
 snippets/css-mode/mar.margin                       |  5 ++
 snippets/css-mode/mar.right                        |  5 ++
 snippets/css-mode/mar.top                          |  5 ++
 snippets/css-mode/pad.bottom                       |  5 ++
 snippets/css-mode/pad.left                         |  5 ++
 snippets/css-mode/pad.pad                          |  5 ++
 snippets/css-mode/pad.padding                      |  5 ++
 snippets/css-mode/pad.right                        |  5 ++
 snippets/css-mode/pad.top                          |  5 ++
 snippets/emacs-lisp-mode/.read_me                  |  7 +++
 snippets/emacs-lisp-mode/.yas-parents              |  1 +
 snippets/emacs-lisp-mode/add-hook.yasnippet        |  6 +++
 snippets/emacs-lisp-mode/and.yasnippet             |  6 +++
 snippets/emacs-lisp-mode/append.yasnippet          |  5 ++
 snippets/emacs-lisp-mode/apply.yasnippet           |  5 ++
 snippets/emacs-lisp-mode/aref.yasnippet            |  5 ++
 snippets/emacs-lisp-mode/aset.yasnippet            |  5 ++
 snippets/emacs-lisp-mode/assq.yasnippet            |  5 ++
 snippets/emacs-lisp-mode/autoload.yasnippet        |  5 ++
 snippets/emacs-lisp-mode/backward-char.yasnippet   |  6 +++
 .../emacs-lisp-mode/beginning-of-line.yasnippet    |  6 +++
 .../bounds-of-thing-at-point.yasnippet             |  6 +++
 .../emacs-lisp-mode/buffer-file-name.yasnippet     |  6 +++
 .../emacs-lisp-mode/buffer-modified-p.yasnippet    |  6 +++
 .../buffer-substring-no-properties.yasnippet       |  6 +++
 .../emacs-lisp-mode/buffer-substring.yasnippet     |  6 +++
 snippets/emacs-lisp-mode/car.yasnippet             |  5 ++
 snippets/emacs-lisp-mode/cdr.yasnippet             |  5 ++
 snippets/emacs-lisp-mode/concat.yasnippet          |  5 ++
 snippets/emacs-lisp-mode/cond.yasnippet            |  8 ++++
 snippets/emacs-lisp-mode/condition-case.yasnippet  |  6 +++
 snippets/emacs-lisp-mode/cons.yasnippet            |  5 ++
 snippets/emacs-lisp-mode/consp.yasnippet           |  5 ++
 snippets/emacs-lisp-mode/copy-directory.yasnippet  |  6 +++
 snippets/emacs-lisp-mode/copy-file.yasnippet       |  6 +++
 snippets/emacs-lisp-mode/current-buffer.yasnippet  |  6 +++
 snippets/emacs-lisp-mode/custom-autoload.yasnippet |  6 +++
 snippets/emacs-lisp-mode/defalias.yasnippet        |  5 ++
 snippets/emacs-lisp-mode/defcustom.yasnippet       |  5 ++
 snippets/emacs-lisp-mode/define-key.yasnippet      |  6 +++
 snippets/emacs-lisp-mode/defsubst.yasnippet        |  5 ++
 snippets/emacs-lisp-mode/defun.yasnippet           | 12 +++++
 snippets/emacs-lisp-mode/defvar.yasnippet          |  5 ++
 snippets/emacs-lisp-mode/delete-char.yasnippet     |  6 +++
 .../emacs-lisp-mode/delete-directory.yasnippet     |  6 +++
 snippets/emacs-lisp-mode/delete-file.yasnippet     |  6 +++
 snippets/emacs-lisp-mode/delete-region.yasnippet   |  6 +++
 snippets/emacs-lisp-mode/directory-files.yasnippet |  6 +++
 snippets/emacs-lisp-mode/dolist.yasnippet          |  5 ++
 snippets/emacs-lisp-mode/end-of-line.yasnippet     |  6 +++
 snippets/emacs-lisp-mode/eq.yasnippet              |  5 ++
 snippets/emacs-lisp-mode/equal.yasnippet           |  5 ++
 snippets/emacs-lisp-mode/error.yasnippet           |  5 ++
 .../emacs-lisp-mode/expand-file-name.yasnippet     |  6 +++
 snippets/emacs-lisp-mode/f.yasnippet               |  5 ++
 snippets/emacs-lisp-mode/fboundp.yasnippet         |  5 ++
 .../emacs-lisp-mode/file-name-directory.yasnippet  |  6 +++
 .../emacs-lisp-mode/file-name-extension.yasnippet  |  6 +++
 .../file-name-nondirectory.yasnippet               |  6 +++
 .../file-name-sans-extension.yasnippet             |  6 +++
 .../emacs-lisp-mode/file-relative-name.yasnippet   |  6 +++
 snippets/emacs-lisp-mode/find-file.yasnippet       |  6 +++
 snippets/emacs-lisp-mode/format.yasnippet          |  5 ++
 snippets/emacs-lisp-mode/forward-char.yasnippet    |  6 +++
 snippets/emacs-lisp-mode/forward-line.yasnippet    |  6 +++
 snippets/emacs-lisp-mode/funcall.yasnippet         |  5 ++
 snippets/emacs-lisp-mode/function.yasnippet        |  5 ++
 snippets/emacs-lisp-mode/get.yasnippet             |  5 ++
 snippets/emacs-lisp-mode/global-set-key.yasnippet  |  6 +++
 snippets/emacs-lisp-mode/goto-char.yasnippet       |  6 +++
 snippets/emacs-lisp-mode/if.yasnippet              |  5 ++
 .../emacs-lisp-mode/insert-file-contents.yasnippet |  6 +++
 snippets/emacs-lisp-mode/insert.yasnippet          |  6 +++
 snippets/emacs-lisp-mode/interactive.yasnippet     |  5 ++
 snippets/emacs-lisp-mode/kbd.yasnippet             |  5 ++
 snippets/emacs-lisp-mode/kill-buffer.yasnippet     |  6 +++
 snippets/emacs-lisp-mode/lambda.yasnippet          |  5 ++
 snippets/emacs-lisp-mode/length.yasnippet          |  5 ++
 snippets/emacs-lisp-mode/let.yasnippet             |  8 ++++
 .../line-beginning-position.yasnippet              |  6 +++
 .../emacs-lisp-mode/line-end-position.yasnippet    |  6 +++
 snippets/emacs-lisp-mode/list.yasnippet            |  5 ++
 snippets/emacs-lisp-mode/looking-at.yasnippet      |  6 +++
 snippets/emacs-lisp-mode/make-directory.yasnippet  |  6 +++
 .../emacs-lisp-mode/make-local-variable.yasnippet  |  6 +++
 snippets/emacs-lisp-mode/mapc.yasnippet            |  5 ++
 snippets/emacs-lisp-mode/mapcar.yasnippet          |  5 ++
 snippets/emacs-lisp-mode/match-beginning.yasnippet |  6 +++
 snippets/emacs-lisp-mode/match-end.yasnippet       |  6 +++
 snippets/emacs-lisp-mode/match-string.yasnippet    |  6 +++
 snippets/emacs-lisp-mode/memq.yasnippet            |  5 ++
 snippets/emacs-lisp-mode/message.yasnippet         |  6 +++
 snippets/emacs-lisp-mode/not.yasnippet             |  6 +++
 snippets/emacs-lisp-mode/nth.yasnippet             |  5 ++
 snippets/emacs-lisp-mode/null.yasnippet            |  5 ++
 .../emacs-lisp-mode/number-to-string.yasnippet     |  6 +++
 snippets/emacs-lisp-mode/or.yasnippet              |  6 +++
 snippets/emacs-lisp-mode/point-max.yasnippet       |  5 ++
 snippets/emacs-lisp-mode/point-min.yasnippet       |  6 +++
 snippets/emacs-lisp-mode/point.yasnippet           |  6 +++
 snippets/emacs-lisp-mode/princ.yasnippet           |  5 ++
 snippets/emacs-lisp-mode/print.yasnippet           |  5 ++
 snippets/emacs-lisp-mode/progn.yasnippet           |  5 ++
 snippets/emacs-lisp-mode/push.yasnippet            |  5 ++
 snippets/emacs-lisp-mode/put.yasnippet             |  5 ++
 .../emacs-lisp-mode/re-search-backward.yasnippet   |  6 +++
 .../emacs-lisp-mode/re-search-forward.yasnippet    |  6 +++
 snippets/emacs-lisp-mode/region-active-p.yasnippet |  6 +++
 .../emacs-lisp-mode/region-beginning.yasnippet     |  6 +++
 snippets/emacs-lisp-mode/region-end.yasnippet      |  6 +++
 snippets/emacs-lisp-mode/rename-file.yasnippet     |  6 +++
 snippets/emacs-lisp-mode/repeat.yasnippet          |  5 ++
 .../replace-regexp-in-string.yasnippet             |  6 +++
 snippets/emacs-lisp-mode/replace-regexp.yasnippet  |  6 +++
 snippets/emacs-lisp-mode/require.yasnippet         |  5 ++
 snippets/emacs-lisp-mode/save-buffer.yasnippet     |  6 +++
 snippets/emacs-lisp-mode/save-excursion.yasnippet  |  6 +++
 .../search-backward-regexp.yasnippet               |  6 +++
 snippets/emacs-lisp-mode/search-backward.yasnippet |  6 +++
 .../search-forward-regexp.yasnippet                |  6 +++
 snippets/emacs-lisp-mode/search-forward.yasnippet  |  6 +++
 snippets/emacs-lisp-mode/set-buffer.yasnippet      |  6 +++
 snippets/emacs-lisp-mode/set-file-modes.yasnippet  |  6 +++
 snippets/emacs-lisp-mode/set-mark.yasnippet        |  6 +++
 snippets/emacs-lisp-mode/set.yasnippet             |  5 ++
 snippets/emacs-lisp-mode/setq.yasnippet            |  6 +++
 .../emacs-lisp-mode/skip-chars-backward.yasnippet  |  6 +++
 .../emacs-lisp-mode/skip-chars-forward.yasnippet   |  6 +++
 snippets/emacs-lisp-mode/split-string.yasnippet    |  6 +++
 snippets/emacs-lisp-mode/string-match.yasnippet    |  6 +++
 .../emacs-lisp-mode/string-to-number.yasnippet     |  6 +++
 snippets/emacs-lisp-mode/string.yasnippet          |  5 ++
 snippets/emacs-lisp-mode/string=.yasnippet         |  5 ++
 snippets/emacs-lisp-mode/stringp.yasnippet         |  5 ++
 snippets/emacs-lisp-mode/substring.yasnippet       |  5 ++
 snippets/emacs-lisp-mode/thing-at-point.yasnippet  |  6 +++
 snippets/emacs-lisp-mode/unless.yasnippet          |  5 ++
 snippets/emacs-lisp-mode/vector.yasnippet          |  6 +++
 snippets/emacs-lisp-mode/when.yasnippet            |  5 ++
 snippets/emacs-lisp-mode/while.yasnippet           |  5 ++
 snippets/emacs-lisp-mode/widget-get.yasnippet      |  6 +++
 .../emacs-lisp-mode/with-current-buffer.yasnippet  |  6 +++
 .../x-dired.process_marked.yasnippet               | 17 +++++++
 snippets/emacs-lisp-mode/x-file.process.yasnippet  | 18 +++++++
 .../emacs-lisp-mode/x-file.read-lines.yasnippet    | 18 +++++++
 snippets/emacs-lisp-mode/x-find-replace.yasnippet  | 18 +++++++
 snippets/emacs-lisp-mode/x-grabstring.yasnippet    |  5 ++
 snippets/emacs-lisp-mode/x-grabthing.yasnippet     |  5 ++
 snippets/emacs-lisp-mode/x-traverse_dir.yasnippet  |  7 +++
 .../emacs-lisp-mode/x-word-or-region.yasnippet     | 28 +++++++++++
 snippets/emacs-lisp-mode/y-or-n-p.yasnippet        |  6 +++
 snippets/emacs-lisp-mode/yes-or-no-p.yasnippet     |  5 ++
 snippets/erlang-mode/.yas-parents                  |  1 +
 snippets/erlang-mode/after                         |  5 ++
 snippets/erlang-mode/begin                         |  6 +++
 snippets/erlang-mode/beh                           |  5 ++
 snippets/erlang-mode/case                          |  6 +++
 snippets/erlang-mode/compile                       |  5 ++
 snippets/erlang-mode/def                           |  5 ++
 snippets/erlang-mode/exp                           |  6 +++
 snippets/erlang-mode/fun                           |  4 ++
 snippets/erlang-mode/if                            |  7 +++
 snippets/erlang-mode/ifdef                         |  6 +++
 snippets/erlang-mode/ifndef                        |  6 +++
 snippets/erlang-mode/imp                           |  6 +++
 snippets/erlang-mode/inc                           |  5 ++
 snippets/erlang-mode/inc.lib                       |  5 ++
 snippets/erlang-mode/loop                          |  9 ++++
 snippets/erlang-mode/mod                           |  7 +++
 snippets/erlang-mode/rcv                           |  6 +++
 snippets/erlang-mode/rcv.after                     |  7 +++
 snippets/erlang-mode/rec                           |  5 ++
 snippets/erlang-mode/try                           |  8 ++++
 snippets/erlang-mode/undef                         |  5 ++
 snippets/f90-mode/.yas-parents                     |  1 +
 snippets/f90-mode/au                               |  5 ++
 snippets/f90-mode/bd                               |  5 ++
 snippets/f90-mode/c                                |  5 ++
 snippets/f90-mode/ch                               |  5 ++
 snippets/f90-mode/cx                               |  5 ++
 snippets/f90-mode/dc                               |  5 ++
 snippets/f90-mode/do                               |  7 +++
 snippets/f90-mode/dp                               |  5 ++
 snippets/f90-mode/eq                               |  5 ++
 snippets/f90-mode/ib                               |  5 ++
 snippets/f90-mode/ic                               |  5 ++
 snippets/f90-mode/ich                              |  5 ++
 snippets/f90-mode/if                               |  7 +++
 snippets/f90-mode/ii                               |  5 ++
 snippets/f90-mode/il                               |  5 ++
 snippets/f90-mode/in                               |  5 ++
 snippets/f90-mode/inc                              |  5 ++
 snippets/f90-mode/intr                             |  5 ++
 snippets/f90-mode/ir                               |  5 ++
 snippets/f90-mode/l                                |  5 ++
 snippets/f90-mode/pa                               |  5 ++
 snippets/f90-mode/pr                               |  7 +++
 snippets/f90-mode/re                               |  5 ++
 snippets/f90-mode/st                               |  5 ++
 snippets/f90-mode/su                               |  5 ++
 snippets/f90-mode/wr                               |  5 ++
 snippets/html-mode/.yas-make-groups                |  0
 snippets/html-mode/.yas-parents                    |  1 +
 snippets/html-mode/b.yasnippet                     |  5 ++
 snippets/html-mode/body                            |  7 +++
 snippets/html-mode/br                              |  5 ++
 snippets/html-mode/code                            |  7 +++
 snippets/html-mode/code.class                      |  7 +++
 snippets/html-mode/div                             |  4 ++
 snippets/html-mode/div.class                       |  7 +++
 snippets/html-mode/div.id                          |  7 +++
 snippets/html-mode/div.id-class                    |  7 +++
 snippets/html-mode/dov                             | 12 +++++
 snippets/html-mode/form                            |  7 +++
 snippets/html-mode/head                            |  7 +++
 snippets/html-mode/header/h1                       |  5 ++
 snippets/html-mode/header/h2                       |  5 ++
 snippets/html-mode/header/h3                       |  5 ++
 snippets/html-mode/header/h4                       |  5 ++
 snippets/html-mode/header/h5                       |  5 ++
 snippets/html-mode/header/h6                       |  5 ++
 snippets/html-mode/hr                              |  5 ++
 snippets/html-mode/href                            |  5 ++
 snippets/html-mode/html                            |  7 +++
 snippets/html-mode/html.xmlns                      |  7 +++
 snippets/html-mode/i.yasnippet                     |  5 ++
 snippets/html-mode/img                             |  5 ++
 snippets/html-mode/input                           |  5 ++
 snippets/html-mode/link.stylesheet                 |  5 ++
 snippets/html-mode/link.stylesheet-ie              |  7 +++
 snippets/html-mode/list/dd                         |  5 ++
 snippets/html-mode/list/dl                         |  7 +++
 snippets/html-mode/list/dl.id                      |  7 +++
 snippets/html-mode/list/dt                         |  5 ++
 snippets/html-mode/list/li                         |  5 ++
 snippets/html-mode/list/li.class                   |  5 ++
 snippets/html-mode/list/ol                         |  7 +++
 snippets/html-mode/list/ol.class                   |  7 +++
 snippets/html-mode/list/ol.id                      |  7 +++
 snippets/html-mode/list/ul                         |  7 +++
 snippets/html-mode/list/ul.class                   |  7 +++
 snippets/html-mode/list/ul.id                      |  7 +++
 snippets/html-mode/mailto                          |  5 ++
 snippets/html-mode/meta/doctype                    |  4 ++
 snippets/html-mode/meta/doctype.xhml1              |  4 ++
 snippets/html-mode/meta/doctype.xhtml1_1           |  4 ++
 snippets/html-mode/meta/doctype.xhtml1_strict      |  4 ++
 .../html-mode/meta/doctype.xhtml1_transitional     |  4 ++
 snippets/html-mode/meta/meta                       |  5 ++
 snippets/html-mode/meta/meta.http-equiv            |  5 ++
 snippets/html-mode/p                               |  5 ++
 snippets/html-mode/pre                             |  7 +++
 snippets/html-mode/q.yasnippet                     |  7 +++
 snippets/html-mode/quote                           |  7 +++
 snippets/html-mode/script.javascript               |  7 +++
 snippets/html-mode/script.javascript-src           |  5 ++
 snippets/html-mode/span                            |  5 ++
 snippets/html-mode/span.class                      |  5 ++
 snippets/html-mode/span.id                         |  5 ++
 snippets/html-mode/style                           |  7 +++
 snippets/html-mode/table/table                     |  7 +++
 snippets/html-mode/table/td                        |  5 ++
 snippets/html-mode/table/th                        |  5 ++
 snippets/html-mode/table/tr                        |  7 +++
 snippets/html-mode/textarea                        |  5 ++
 snippets/html-mode/title                           |  5 ++
 snippets/js-mode/assert.yasnippet                  |  5 ++
 snippets/js-mode/cb.yasnippet                      |  7 +++
 snippets/js-mode/com.yasnippet                     | 10 ++++
 snippets/js-mode/describe.yasnippet                |  7 +++
 snippets/js-mode/err.snippet                       |  9 ++++
 snippets/js-mode/error.snippet                     |  9 ++++
 snippets/js-mode/expect.yasnippet                  |  6 +++
 snippets/js-mode/exports.yasnippet                 |  7 +++
 snippets/js-mode/fn.yasnippet                      |  7 +++
 snippets/js-mode/for.yasnippet                     |  9 ++++
 snippets/js-mode/id.yasnippet                      |  5 ++
 snippets/js-mode/if.yasnippet                      |  7 +++
 snippets/js-mode/invoc.yasnippet                   |  7 +++
 snippets/js-mode/it.yasnippet                      |  7 +++
 snippets/js-mode/log.yasnippet                     |  5 ++
 snippets/js-mode/method.yasnippet                  |  7 +++
 snippets/js-mode/mod.yasnippet                     | 11 +++++
 snippets/js-mode/prop.yasnippet                    | 19 ++++++++
 snippets/js-mode/proto.yasnippet                   |  5 ++
 snippets/js-mode/rq.yasnippet                      |  5 ++
 snippets/js-mode/rt.yasnippet                      |  5 ++
 snippets/js-mode/slice.yasnippet                   |  5 ++
 snippets/js-mode/super.yasnippet                   |  5 ++
 snippets/js-mode/switch.yasnippet                  |  7 +++
 snippets/js-mode/throw.yasnippet                   |  5 ++
 snippets/js-mode/try.yasnippet                     |  9 ++++
 snippets/js-mode/var.yasnippet                     |  5 ++
 snippets/js-mode/wh.yasnippet                      |  7 +++
 snippets/js-mode/while.yasnippet                   | 10 ++++
 snippets/latex-mode/.yas-parents                   |  1 +
 snippets/latex-mode/begin                          |  8 ++++
 snippets/markdown-mode/+                           |  6 +++
 snippets/markdown-mode/-                           |  6 +++
 snippets/markdown-mode/.yas-parents                |  1 +
 snippets/markdown-mode/_                           |  5 ++
 snippets/markdown-mode/__                          |  5 ++
 snippets/markdown-mode/`                           |  5 ++
 snippets/markdown-mode/h1.1                        |  7 +++
 snippets/markdown-mode/h1.2                        |  8 ++++
 snippets/markdown-mode/h2.1                        |  7 +++
 snippets/markdown-mode/h2.2                        |  8 ++++
 snippets/markdown-mode/h3                          |  7 +++
 snippets/markdown-mode/h4                          |  7 +++
 snippets/markdown-mode/h5                          |  7 +++
 snippets/markdown-mode/h6                          |  7 +++
 snippets/markdown-mode/hr.1                        |  8 ++++
 snippets/markdown-mode/hr.2                        |  8 ++++
 snippets/markdown-mode/img                         |  5 ++
 snippets/markdown-mode/link                        |  5 ++
 snippets/markdown-mode/ol                          |  6 +++
 snippets/markdown-mode/rimg                        |  5 ++
 snippets/markdown-mode/rlb                         |  6 +++
 snippets/markdown-mode/rlink                       |  5 ++
 snippets/nxml-mode/.yas-make-groups                |  0
 snippets/nxml-mode/.yas-parents                    |  1 +
 snippets/nxml-mode/body                            |  7 +++
 snippets/nxml-mode/br                              |  5 ++
 snippets/nxml-mode/code                            |  7 +++
 snippets/nxml-mode/div                             |  5 ++
 snippets/nxml-mode/form                            |  7 +++
 snippets/nxml-mode/head                            |  7 +++
 snippets/nxml-mode/header/h1                       |  5 ++
 snippets/nxml-mode/header/h2                       |  5 ++
 snippets/nxml-mode/header/h3                       |  5 ++
 snippets/nxml-mode/header/h4                       |  5 ++
 snippets/nxml-mode/header/h5                       |  5 ++
 snippets/nxml-mode/header/h6                       |  5 ++
 snippets/nxml-mode/hr                              |  5 ++
 snippets/nxml-mode/href                            |  5 ++
 snippets/nxml-mode/html                            |  7 +++
 snippets/nxml-mode/img                             |  5 ++
 snippets/nxml-mode/input                           |  5 ++
 snippets/nxml-mode/li                              |  5 ++
 snippets/nxml-mode/link                            |  5 ++
 snippets/nxml-mode/meta/doctype                    |  5 ++
 snippets/nxml-mode/meta/doctype.xhtml1_strict      |  5 ++
 .../nxml-mode/meta/doctype.xhtml1_transitional     |  5 ++
 snippets/nxml-mode/meta/meta                       |  5 ++
 snippets/nxml-mode/name                            |  5 ++
 snippets/nxml-mode/ol                              |  7 +++
 snippets/nxml-mode/p                               |  5 ++
 snippets/nxml-mode/pre                             |  7 +++
 snippets/nxml-mode/quote                           |  7 +++
 snippets/nxml-mode/span                            |  5 ++
 snippets/nxml-mode/style                           |  7 +++
 snippets/nxml-mode/table                           |  7 +++
 snippets/nxml-mode/tag.1l                          |  5 ++
 snippets/nxml-mode/tag.2l                          |  7 +++
 snippets/nxml-mode/td                              |  5 ++
 snippets/nxml-mode/th                              |  5 ++
 snippets/nxml-mode/title                           |  5 ++
 snippets/nxml-mode/tr                              |  7 +++
 snippets/nxml-mode/ul                              |  7 +++
 snippets/objc-mode/.yas-parents                    |  1 +
 snippets/objc-mode/prop                            | 14 ++++++
 snippets/perl-mode/.yas-parents                    |  1 +
 snippets/perl-mode/eval                            |  9 ++++
 snippets/perl-mode/for                             |  6 +++
 snippets/perl-mode/fore                            |  6 +++
 snippets/perl-mode/if                              |  6 +++
 snippets/perl-mode/ife                             |  8 ++++
 snippets/perl-mode/ifee                            | 10 ++++
 snippets/perl-mode/sub                             |  6 +++
 snippets/perl-mode/unless                          |  6 +++
 snippets/perl-mode/while                           |  6 +++
 snippets/perl-mode/xfore                           |  4 ++
 snippets/perl-mode/xif                             |  4 ++
 snippets/perl-mode/xunless                         |  4 ++
 snippets/perl-mode/xwhile                          |  4 ++
 snippets/python-mode/.yas-parents                  |  1 +
 snippets/python-mode/__                            |  4 ++
 snippets/python-mode/class                         | 55 ++++++++++++++++++++++
 snippets/python-mode/def                           | 36 ++++++++++++++
 snippets/python-mode/defm                          | 34 +++++++++++++
 snippets/python-mode/for                           |  5 ++
 snippets/python-mode/ifmain                        |  5 ++
 snippets/python-mode/prop                          | 16 +++++++
 snippets/python-mode/propg                         | 10 ++++
 snippets/python-mode/propsg                        | 13 +++++
 snippets/python-mode/while                         |  5 ++
 snippets/rst-mode/.yas-parents                     |  1 +
 snippets/rst-mode/chap                             |  7 +++
 snippets/rst-mode/sec                              |  7 +++
 snippets/rst-mode/tit                              |  8 ++++
 snippets/ruby-mode/.yas-make-groups                |  0
 snippets/ruby-mode/.yas-parents                    |  1 +
 snippets/ruby-mode/collections/all                 |  4 ++
 snippets/ruby-mode/collections/any                 |  4 ++
 snippets/ruby-mode/collections/classify            |  4 ++
 snippets/ruby-mode/collections/collect             |  4 ++
 snippets/ruby-mode/collections/deli                |  4 ++
 snippets/ruby-mode/collections/det                 |  4 ++
 snippets/ruby-mode/collections/ea                  |  4 ++
 snippets/ruby-mode/collections/eac                 |  4 ++
 snippets/ruby-mode/collections/eai                 |  4 ++
 snippets/ruby-mode/collections/eav                 |  4 ++
 snippets/ruby-mode/collections/eawi                |  4 ++
 snippets/ruby-mode/collections/inject              |  4 ++
 snippets/ruby-mode/collections/reject              |  4 ++
 snippets/ruby-mode/collections/select              |  4 ++
 snippets/ruby-mode/collections/zip                 |  4 ++
 snippets/ruby-mode/control structure/forin         |  6 +++
 snippets/ruby-mode/control structure/if            |  6 +++
 snippets/ruby-mode/control structure/ife           |  8 ++++
 snippets/ruby-mode/control structure/tim           |  4 ++
 snippets/ruby-mode/control structure/until         |  6 +++
 snippets/ruby-mode/control structure/upt           |  6 +++
 snippets/ruby-mode/control structure/when          |  6 +++
 snippets/ruby-mode/control structure/while         |  6 +++
 snippets/ruby-mode/definitions/Comp                |  8 ++++
 snippets/ruby-mode/definitions/am                  |  4 ++
 snippets/ruby-mode/definitions/cla                 |  6 +++
 snippets/ruby-mode/definitions/cls                 | 13 +++++
 snippets/ruby-mode/definitions/mm                  |  6 +++
 snippets/ruby-mode/definitions/mod                 | 13 +++++
 snippets/ruby-mode/definitions/r                   |  4 ++
 snippets/ruby-mode/definitions/rw                  |  4 ++
 snippets/ruby-mode/definitions/w                   |  4 ++
 snippets/ruby-mode/general/#                       |  4 ++
 snippets/ruby-mode/general/=b                      |  6 +++
 snippets/ruby-mode/general/app                     |  6 +++
 snippets/ruby-mode/general/bm                      |  6 +++
 snippets/ruby-mode/general/case                    |  7 +++
 snippets/ruby-mode/general/dee                     |  4 ++
 snippets/ruby-mode/general/rb                      |  4 ++
 snippets/ruby-mode/general/req                     |  4 ++
 snippets/ruby-mode/general/rreq                    |  4 ++
 snippets/ruby-mode/general/y                       |  4 ++
 snippets/scala-mode/.yas-parents                   |  1 +
 snippets/scala-mode/act                            | 11 +++++
 snippets/scala-mode/act.arg                        | 11 +++++
 snippets/scala-mode/actor                          | 11 +++++
 snippets/scala-mode/ano                            |  5 ++
 snippets/scala-mode/app                            |  7 +++
 snippets/scala-mode/arr.new                        |  5 ++
 snippets/scala-mode/arr.val-new                    |  5 ++
 snippets/scala-mode/asof                           |  5 ++
 snippets/scala-mode/ass                            |  5 ++
 snippets/scala-mode/ass.true                       |  5 ++
 snippets/scala-mode/at.author                      |  5 ++
 snippets/scala-mode/at.param                       |  5 ++
 snippets/scala-mode/at.return                      |  5 ++
 snippets/scala-mode/at.version                     |  5 ++
 snippets/scala-mode/bang                           |  5 ++
 snippets/scala-mode/case                           |  5 ++
 snippets/scala-mode/case.match-all                 |  5 ++
 snippets/scala-mode/cast                           |  5 ++
 snippets/scala-mode/cc                             |  5 ++
 snippets/scala-mode/cl                             |  7 +++
 snippets/scala-mode/cl.abs                         |  7 +++
 snippets/scala-mode/cl.abs-arg                     |  7 +++
 snippets/scala-mode/cl.arg                         |  7 +++
 snippets/scala-mode/clof                           |  5 ++
 snippets/scala-mode/co                             |  5 ++
 snippets/scala-mode/cons                           |  5 ++
 snippets/scala-mode/cons.nil                       |  5 ++
 snippets/scala-mode/def.arg                        |  5 ++
 snippets/scala-mode/def.arg-body                   |  7 +++
 snippets/scala-mode/def.arg-ret                    |  5 ++
 snippets/scala-mode/def.arg-ret-body               |  7 +++
 snippets/scala-mode/def.body                       |  7 +++
 snippets/scala-mode/def.ret                        |  5 ++
 snippets/scala-mode/def.ret-body                   |  7 +++
 snippets/scala-mode/def.simple                     |  5 ++
 snippets/scala-mode/doc.class                      |  9 ++++
 snippets/scala-mode/doc.def                        |  7 +++
 snippets/scala-mode/doc.file                       | 10 ++++
 snippets/scala-mode/doc.file-scala                 | 17 +++++++
 snippets/scala-mode/doc.file-scala-api             | 17 +++++++
 snippets/scala-mode/doc.scaladoc                   |  8 ++++
 snippets/scala-mode/expect                         |  7 +++
 snippets/scala-mode/ext                            |  5 ++
 snippets/scala-mode/for.extract                    |  5 ++
 snippets/scala-mode/for.if                         |  7 +++
 snippets/scala-mode/for.loop                       |  7 +++
 snippets/scala-mode/for.multi                      | 10 ++++
 snippets/scala-mode/foreach                        |  5 ++
 snippets/scala-mode/hmap.new                       |  5 ++
 snippets/scala-mode/hmap.val-new                   |  5 ++
 snippets/scala-mode/hset.new                       |  5 ++
 snippets/scala-mode/hset.val-new                   |  5 ++
 snippets/scala-mode/if                             |  7 +++
 snippets/scala-mode/if.else                        |  9 ++++
 snippets/scala-mode/imp                            |  5 ++
 snippets/scala-mode/intercept                      |  7 +++
 snippets/scala-mode/isof                           |  5 ++
 snippets/scala-mode/ls.new                         |  5 ++
 snippets/scala-mode/ls.val-new                     |  5 ++
 snippets/scala-mode/main                           |  7 +++
 snippets/scala-mode/map                            |  5 ++
 snippets/scala-mode/map.new                        |  5 ++
 snippets/scala-mode/match                          |  7 +++
 snippets/scala-mode/match.can                      | 12 +++++
 snippets/scala-mode/match.option                   |  9 ++++
 snippets/scala-mode/mix                            |  7 +++
 snippets/scala-mode/ob                             |  5 ++
 snippets/scala-mode/pac                            |  5 ++
 snippets/scala-mode/pr.newline                     |  5 ++
 snippets/scala-mode/pr.simple                      |  5 ++
 snippets/scala-mode/pr.string                      |  5 ++
 snippets/scala-mode/pr.trace                       |  5 ++
 snippets/scala-mode/pri                            |  5 ++
 snippets/scala-mode/pri.param                      |  5 ++
 snippets/scala-mode/pro                            |  5 ++
 snippets/scala-mode/pro.param                      |  5 ++
 snippets/scala-mode/suite                          |  9 ++++
 snippets/scala-mode/test                           |  8 ++++
 snippets/scala-mode/throw                          |  5 ++
 snippets/scala-mode/tr                             |  7 +++
 snippets/scala-mode/tr.ext                         |  7 +++
 snippets/scala-mode/tr.ext-with                    |  7 +++
 snippets/scala-mode/tr.with                        |  7 +++
 snippets/scala-mode/try                            | 10 ++++
 snippets/scala-mode/try.catch-finally              | 12 +++++
 snippets/scala-mode/try.finally                    |  9 ++++
 snippets/scala-mode/tup.arrow                      |  5 ++
 snippets/scala-mode/tup.paren                      |  5 ++
 snippets/scala-mode/val                            |  5 ++
 snippets/scala-mode/val.new                        |  5 ++
 snippets/scala-mode/val.ret                        |  5 ++
 snippets/scala-mode/var                            |  5 ++
 snippets/scala-mode/var.new                        |  5 ++
 snippets/scala-mode/var.ret                        |  5 ++
 snippets/scala-mode/whi                            |  7 +++
 snippets/scala-mode/with                           |  5 ++
 snippets/snippet-mode/.yas-parents                 |  1 +
 snippets/snippet-mode/field                        |  6 +++
 snippets/snippet-mode/mirror                       |  6 +++
 snippets/snippet-mode/vars                         | 12 +++++
 snippets/sql-mode/.yas-parents                     |  1 +
 snippets/sql-mode/column                           |  5 ++
 snippets/sql-mode/constraint                       |  5 ++
 snippets/sql-mode/constraint.1                     |  5 ++
 snippets/sql-mode/create                           | 11 +++++
 snippets/sql-mode/create.1                         | 13 +++++
 snippets/sql-mode/references                       |  5 ++
 snippets/text-mode/email                           |  4 ++
 snippets/text-mode/time                            |  4 ++
 yasnippet-classic-snippets.el                      | 46 ++++++++++++++++++
 593 files changed, 3704 insertions(+)

diff --git a/snippets/c++-mode/.yas-parents b/snippets/c++-mode/.yas-parents
new file mode 100644
index 0000000..ce9828b
--- /dev/null
+++ b/snippets/c++-mode/.yas-parents
@@ -0,0 +1 @@
+cc-mode
diff --git a/snippets/c++-mode/beginend b/snippets/c++-mode/beginend
new file mode 100644
index 0000000..4af416f
--- /dev/null
+++ b/snippets/c++-mode/beginend
@@ -0,0 +1,4 @@
+# name: v.begin(), v.end()
+# key: beginend
+# --
+${1:v}.begin(), $1.end
\ No newline at end of file
diff --git a/snippets/c++-mode/class b/snippets/c++-mode/class
new file mode 100644
index 0000000..f33f8b4
--- /dev/null
+++ b/snippets/c++-mode/class
@@ -0,0 +1,9 @@
+# name: class ... { ... }
+# key: class
+# --
+class ${1:Name}
+{
+public:
+    ${1:$(yas-substr text "[^: ]*")}($2);
+    virtual ~${1:$(yas-substr text "[^: ]*")}();
+};
\ No newline at end of file
diff --git a/snippets/c++-mode/ns b/snippets/c++-mode/ns
new file mode 100644
index 0000000..bff9ed7
--- /dev/null
+++ b/snippets/c++-mode/ns
@@ -0,0 +1,4 @@
+# name: namespace ...
+# key: ns
+# --
+namespace
\ No newline at end of file
diff --git a/snippets/c++-mode/template b/snippets/c++-mode/template
new file mode 100644
index 0000000..ed36b08
--- /dev/null
+++ b/snippets/c++-mode/template
@@ -0,0 +1,4 @@
+# name: template <typename ...>
+# key: template
+# --
+template <typename ${T}>
\ No newline at end of file
diff --git a/snippets/c++-mode/using b/snippets/c++-mode/using
new file mode 100644
index 0000000..8da5348
--- /dev/null
+++ b/snippets/c++-mode/using
@@ -0,0 +1,5 @@
+# name: using namespace ...
+# key: using
+# --
+using namespace ${std};
+$0
\ No newline at end of file
diff --git a/snippets/c-mode/.yas-parents b/snippets/c-mode/.yas-parents
new file mode 100644
index 0000000..ce9828b
--- /dev/null
+++ b/snippets/c-mode/.yas-parents
@@ -0,0 +1 @@
+cc-mode
diff --git a/snippets/c-mode/fopen b/snippets/c-mode/fopen
new file mode 100644
index 0000000..b3339e4
--- /dev/null
+++ b/snippets/c-mode/fopen
@@ -0,0 +1,4 @@
+# name: FILE *fp = fopen(..., ...);
+# key: fopen
+# --
+FILE *${fp} = fopen(${"file"}, "${r}");
\ No newline at end of file
diff --git a/snippets/c-mode/printf b/snippets/c-mode/printf
new file mode 100644
index 0000000..36313de
--- /dev/null
+++ b/snippets/c-mode/printf
@@ -0,0 +1,7 @@
+# -*- mode: snippet -*-
+# name: printf
+# contributor: joaotavora
+# key: printf
+# --
+printf ("${1:%s}\\n"${1:$(if (string-match "%" text) "," "\);")
+}$2${1:$(if (string-match "%" text) "\);" "")}
\ No newline at end of file
diff --git a/snippets/cc-mode/.yas-parents b/snippets/cc-mode/.yas-parents
new file mode 100644
index 0000000..eed5b44
--- /dev/null
+++ b/snippets/cc-mode/.yas-parents
@@ -0,0 +1 @@
+text-mode
diff --git a/snippets/cc-mode/do b/snippets/cc-mode/do
new file mode 100644
index 0000000..a42d27f
--- /dev/null
+++ b/snippets/cc-mode/do
@@ -0,0 +1,7 @@
+# name: do { ... } while (...)
+# key: do
+# --
+do
+{
+    $0
+} while (${1:condition});
\ No newline at end of file
diff --git a/snippets/cc-mode/for b/snippets/cc-mode/for
new file mode 100644
index 0000000..1e1d4bf
--- /dev/null
+++ b/snippets/cc-mode/for
@@ -0,0 +1,7 @@
+# name: for (...; ...; ...) { ... }
+# key: for
+# --
+for (${1:int i = 0}; ${2:i < N}; ${3:++i})
+{
+    $0
+}
\ No newline at end of file
diff --git a/snippets/cc-mode/if b/snippets/cc-mode/if
new file mode 100644
index 0000000..5c6a121
--- /dev/null
+++ b/snippets/cc-mode/if
@@ -0,0 +1,7 @@
+# name: if (...) { ... }
+# key: if
+# --
+if (${1:condition})
+{
+    $0
+}
\ No newline at end of file
diff --git a/snippets/cc-mode/inc b/snippets/cc-mode/inc
new file mode 100644
index 0000000..9c9ed76
--- /dev/null
+++ b/snippets/cc-mode/inc
@@ -0,0 +1,4 @@
+# name: #include "..."
+# key: inc
+# --
+#include "$1"
\ No newline at end of file
diff --git a/snippets/cc-mode/inc.1 b/snippets/cc-mode/inc.1
new file mode 100644
index 0000000..649cbd9
--- /dev/null
+++ b/snippets/cc-mode/inc.1
@@ -0,0 +1,4 @@
+# name: #include <...>
+# key: inc
+# --
+#include <$1>
\ No newline at end of file
diff --git a/snippets/cc-mode/main b/snippets/cc-mode/main
new file mode 100644
index 0000000..dab1cad
--- /dev/null
+++ b/snippets/cc-mode/main
@@ -0,0 +1,8 @@
+# name: int main(argc, argv) { ... }
+# key: main
+# --
+int main(int argc, char *argv[])
+{
+    $0
+    return 0;
+}
\ No newline at end of file
diff --git a/snippets/cc-mode/once b/snippets/cc-mode/once
new file mode 100644
index 0000000..ea14f9a
--- /dev/null
+++ b/snippets/cc-mode/once
@@ -0,0 +1,9 @@
+# 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 */
\ No newline at end of file
diff --git a/snippets/cc-mode/struct b/snippets/cc-mode/struct
new file mode 100644
index 0000000..39ddfa8
--- /dev/null
+++ b/snippets/cc-mode/struct
@@ -0,0 +1,7 @@
+# name: struct ... { ... }
+# key: struct
+# --
+struct ${1:name}
+{
+    $0
+};
\ No newline at end of file
diff --git a/snippets/cperl-mode/.yas-parents b/snippets/cperl-mode/.yas-parents
new file mode 100644
index 0000000..bfa2993
--- /dev/null
+++ b/snippets/cperl-mode/.yas-parents
@@ -0,0 +1 @@
+perl-mode
diff --git a/snippets/csharp-mode/.yas-parents 
b/snippets/csharp-mode/.yas-parents
new file mode 100644
index 0000000..ce9828b
--- /dev/null
+++ b/snippets/csharp-mode/.yas-parents
@@ -0,0 +1 @@
+cc-mode
diff --git a/snippets/csharp-mode/attrib b/snippets/csharp-mode/attrib
new file mode 100644
index 0000000..f617cee
--- /dev/null
+++ b/snippets/csharp-mode/attrib
@@ -0,0 +1,8 @@
+# contributor: Alejandro Espinoza Esparza <aespinoza@structum.com.mx>
+# name: private attribute ....;
+# key: attrib
+# --
+/// <summary>
+/// $3
+/// </summary>
+private $1 $2;
\ No newline at end of file
diff --git a/snippets/csharp-mode/attrib.1 b/snippets/csharp-mode/attrib.1
new file mode 100644
index 0000000..ac967ad
--- /dev/null
+++ b/snippets/csharp-mode/attrib.1
@@ -0,0 +1,22 @@
+# 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;
+    }
+}
\ No newline at end of file
diff --git a/snippets/csharp-mode/attrib.2 b/snippets/csharp-mode/attrib.2
new file mode 100644
index 0000000..20f1263
--- /dev/null
+++ b/snippets/csharp-mode/attrib.2
@@ -0,0 +1,22 @@
+# contributor: Alejandro Espinoza Esparza <aespinoza@structum.com.mx>
+# name: private _attribute ....; public Property ... ... { ... }
+# key: attrib
+# --
+/// <summary>
+/// $3
+/// </summary>
+private $1 ${2:$(if (> (length text) 0) (format "_%s%s" (downcase (substring 
text 0 1)) (substring text 1 (length text))) "")};
+
+/// <summary>
+/// ${3:Description}
+/// </summary>
+/// <value><c>$1</c></value>
+public ${1:Type} ${2:Name}
+{
+    get {
+        return this.${2:$(if (> (length text) 0) (format "_%s%s" (downcase 
(substring text 0 1)) (substring text 1 (length text))) "")};
+    }
+    set {
+        this.${2:$(if (> (length text) 0) (format "_%s%s" (downcase (substring 
text 0 1)) (substring text 1 (length text))) "")} = value;
+    }
+}
\ No newline at end of file
diff --git a/snippets/csharp-mode/class b/snippets/csharp-mode/class
new file mode 100644
index 0000000..9cb096e
--- /dev/null
+++ b/snippets/csharp-mode/class
@@ -0,0 +1,22 @@
+# 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
+}
\ No newline at end of file
diff --git a/snippets/csharp-mode/comment b/snippets/csharp-mode/comment
new file mode 100644
index 0000000..562689b
--- /dev/null
+++ b/snippets/csharp-mode/comment
@@ -0,0 +1,7 @@
+# contributor: Alejandro Espinoza Esparza <aespinoza@structum.com.mx>
+# name: /// <summary> ... </summary>
+# key: comment
+# --
+/// <summary>
+/// $1
+/// </summary>
\ No newline at end of file
diff --git a/snippets/csharp-mode/comment.1 b/snippets/csharp-mode/comment.1
new file mode 100644
index 0000000..856189d
--- /dev/null
+++ b/snippets/csharp-mode/comment.1
@@ -0,0 +1,5 @@
+# contributor: Alejandro Espinoza Esparza <aespinoza@structum.com.mx>
+# name: /// <param name="..."> ... </param>
+# key: comment
+# --
+/// <param name="$1">$2</param>
\ No newline at end of file
diff --git a/snippets/csharp-mode/comment.2 b/snippets/csharp-mode/comment.2
new file mode 100644
index 0000000..e890f1c
--- /dev/null
+++ b/snippets/csharp-mode/comment.2
@@ -0,0 +1,5 @@
+# contributor: Alejandro Espinoza Esparza <aespinoza@structum.com.mx>
+# name: /// <param name="..."> ... </param>
+# key: comment
+# --
+/// <returns>$1</returns>
\ No newline at end of file
diff --git a/snippets/csharp-mode/comment.3 b/snippets/csharp-mode/comment.3
new file mode 100644
index 0000000..13e6057
--- /dev/null
+++ b/snippets/csharp-mode/comment.3
@@ -0,0 +1,5 @@
+# contributor: Alejandro Espinoza Esparza <aespinoza@structum.com.mx>
+# name: /// <exception cref="..."> ... </exception>
+# key: comment
+# --
+/// <exception cref="$1">$2</exception>
\ No newline at end of file
diff --git a/snippets/csharp-mode/method b/snippets/csharp-mode/method
new file mode 100644
index 0000000..e5ea465
--- /dev/null
+++ b/snippets/csharp-mode/method
@@ -0,0 +1,11 @@
+# contributor: Alejandro Espinoza Esparza <aespinoza@structum.com.mx>
+# name: public void Method { ... }
+# key: method
+# --
+/// <summary>
+/// ${5:Description}
+/// </summary>${2:$(if (string= (upcase text) "VOID") "" (format "%s%s%s" 
"\n/// <returns><c>" text "</c></returns>"))}
+${1:public} ${2:void} ${3:MethodName}($4)
+{
+$0
+}
\ No newline at end of file
diff --git a/snippets/csharp-mode/namespace b/snippets/csharp-mode/namespace
new file mode 100644
index 0000000..56c5d99
--- /dev/null
+++ b/snippets/csharp-mode/namespace
@@ -0,0 +1,8 @@
+# contributor: Alejandro Espinoza Esparza <aespinoza@structum.com.mx>
+# name: namespace .. { ... }
+# key: namespace
+# --
+namespace $1
+{
+$0
+}
\ No newline at end of file
diff --git a/snippets/csharp-mode/prop b/snippets/csharp-mode/prop
new file mode 100644
index 0000000..c711d23
--- /dev/null
+++ b/snippets/csharp-mode/prop
@@ -0,0 +1,17 @@
+# 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;
+    }
+}
\ No newline at end of file
diff --git a/snippets/csharp-mode/region b/snippets/csharp-mode/region
new file mode 100644
index 0000000..a155730
--- /dev/null
+++ b/snippets/csharp-mode/region
@@ -0,0 +1,7 @@
+# contributor: Alejandro Espinoza Esparza <aespinoza@structum.com.mx>
+# name: #region ... #endregion
+# key: region
+# --
+#region $1
+$0
+#endregion
\ No newline at end of file
diff --git a/snippets/csharp-mode/using b/snippets/csharp-mode/using
new file mode 100644
index 0000000..4103995
--- /dev/null
+++ b/snippets/csharp-mode/using
@@ -0,0 +1,5 @@
+# contributor: Alejandro Espinoza Esparza <aespinoza@structum.com.mx>
+# name: using ...;
+# key: using
+# --
+using $1;
\ No newline at end of file
diff --git a/snippets/csharp-mode/using.1 b/snippets/csharp-mode/using.1
new file mode 100644
index 0000000..452b07b
--- /dev/null
+++ b/snippets/csharp-mode/using.1
@@ -0,0 +1,5 @@
+# contributor: Alejandro Espinoza Esparza <aespinoza@structum.com.mx>
+# name: using System;
+# key: using
+# --
+using System;
\ No newline at end of file
diff --git a/snippets/csharp-mode/using.2 b/snippets/csharp-mode/using.2
new file mode 100644
index 0000000..d3a8980
--- /dev/null
+++ b/snippets/csharp-mode/using.2
@@ -0,0 +1,5 @@
+# contributor: Alejandro Espinoza Esparza <aespinoza@structum.com.mx>
+# name: using System....;
+# key: using
+# --
+using System.$1;
\ No newline at end of file
diff --git a/snippets/css-mode/.yas-parents b/snippets/css-mode/.yas-parents
new file mode 100644
index 0000000..eed5b44
--- /dev/null
+++ b/snippets/css-mode/.yas-parents
@@ -0,0 +1 @@
+text-mode
diff --git a/snippets/css-mode/bg b/snippets/css-mode/bg
new file mode 100644
index 0000000..89597cb
--- /dev/null
+++ b/snippets/css-mode/bg
@@ -0,0 +1,4 @@
+# name: background-color: ...
+# key: bg
+# --
+background-color: #${1:DDD};
\ No newline at end of file
diff --git a/snippets/css-mode/bg.1 b/snippets/css-mode/bg.1
new file mode 100644
index 0000000..f74f6e4
--- /dev/null
+++ b/snippets/css-mode/bg.1
@@ -0,0 +1,4 @@
+# name: background-image: ...
+# key: bg
+# --
+background-image: url($1);
\ No newline at end of file
diff --git a/snippets/css-mode/bor b/snippets/css-mode/bor
new file mode 100644
index 0000000..b2a1bf2
--- /dev/null
+++ b/snippets/css-mode/bor
@@ -0,0 +1,4 @@
+# name: border size style color
+# key: bor
+# --
+border: ${1:1px} ${2:solid} #${3:999};
\ No newline at end of file
diff --git a/snippets/css-mode/cl b/snippets/css-mode/cl
new file mode 100644
index 0000000..fcfd345
--- /dev/null
+++ b/snippets/css-mode/cl
@@ -0,0 +1,5 @@
+# contributor: rejeep <johan.rejeep@gmail.com>
+# name: clear: ...
+# key: cl
+# --
+clear: $1;
\ No newline at end of file
diff --git a/snippets/css-mode/disp.block b/snippets/css-mode/disp.block
new file mode 100644
index 0000000..2571ba4
--- /dev/null
+++ b/snippets/css-mode/disp.block
@@ -0,0 +1,5 @@
+# contributor: rejeep <johan.rejeep@gmail.com>
+# name: display: block
+# key: disp
+# --
+display: block;
\ No newline at end of file
diff --git a/snippets/css-mode/disp.inline b/snippets/css-mode/disp.inline
new file mode 100644
index 0000000..0be30e3
--- /dev/null
+++ b/snippets/css-mode/disp.inline
@@ -0,0 +1,5 @@
+# contributor: rejeep <johan.rejeep@gmail.com>
+# name: display: inline
+# key: disp
+# --
+display: inline;
\ No newline at end of file
diff --git a/snippets/css-mode/disp.none b/snippets/css-mode/disp.none
new file mode 100644
index 0000000..58c40d0
--- /dev/null
+++ b/snippets/css-mode/disp.none
@@ -0,0 +1,5 @@
+# contributor: rejeep <johan.rejeep@gmail.com>
+# name: display: none
+# key: disp
+# --
+display: none;
\ No newline at end of file
diff --git a/snippets/css-mode/ff b/snippets/css-mode/ff
new file mode 100644
index 0000000..4218908
--- /dev/null
+++ b/snippets/css-mode/ff
@@ -0,0 +1,5 @@
+# contributor: rejeep <johan.rejeep@gmail.com>
+# name: font-family: ...
+# key: ff
+# --
+font-family: $1;
\ No newline at end of file
diff --git a/snippets/css-mode/fs b/snippets/css-mode/fs
new file mode 100644
index 0000000..98a050a
--- /dev/null
+++ b/snippets/css-mode/fs
@@ -0,0 +1,5 @@
+# contributor: rejeep <johan.rejeep@gmail.com>
+# name: font-size: ...
+# key: fs
+# --
+font-size: ${12px};
\ No newline at end of file
diff --git a/snippets/css-mode/mar.bottom b/snippets/css-mode/mar.bottom
new file mode 100644
index 0000000..6dbe9f8
--- /dev/null
+++ b/snippets/css-mode/mar.bottom
@@ -0,0 +1,5 @@
+# contributor: rejeep <johan.rejeep@gmail.com>
+# name: margin-bottom: ...
+# key: mar
+# --
+margin-bottom: $1;
\ No newline at end of file
diff --git a/snippets/css-mode/mar.left b/snippets/css-mode/mar.left
new file mode 100644
index 0000000..0ba7b3b
--- /dev/null
+++ b/snippets/css-mode/mar.left
@@ -0,0 +1,5 @@
+# contributor: rejeep <johan.rejeep@gmail.com>
+# name: margin-left: ...
+# key: mar
+# --
+margin-left: $1;
\ No newline at end of file
diff --git a/snippets/css-mode/mar.mar b/snippets/css-mode/mar.mar
new file mode 100644
index 0000000..e45a33c
--- /dev/null
+++ b/snippets/css-mode/mar.mar
@@ -0,0 +1,5 @@
+# contributor: rejeep <johan.rejeep@gmail.com>
+# name: margin: ...
+# key: mar
+# --
+margin: $1;
\ No newline at end of file
diff --git a/snippets/css-mode/mar.margin b/snippets/css-mode/mar.margin
new file mode 100644
index 0000000..0716fc8
--- /dev/null
+++ b/snippets/css-mode/mar.margin
@@ -0,0 +1,5 @@
+# contributor: rejeep <johan.rejeep@gmail.com>
+# name: margin top right bottom left
+# key: mar
+# --
+margin: ${top} ${right} ${bottom} ${left};
\ No newline at end of file
diff --git a/snippets/css-mode/mar.right b/snippets/css-mode/mar.right
new file mode 100644
index 0000000..49f05d7
--- /dev/null
+++ b/snippets/css-mode/mar.right
@@ -0,0 +1,5 @@
+# contributor: rejeep <johan.rejeep@gmail.com>
+# name: margin-right: ...
+# key: mar
+# --
+margin-right: $1;
\ No newline at end of file
diff --git a/snippets/css-mode/mar.top b/snippets/css-mode/mar.top
new file mode 100644
index 0000000..168f458
--- /dev/null
+++ b/snippets/css-mode/mar.top
@@ -0,0 +1,5 @@
+# contributor: rejeep <johan.rejeep@gmail.com>
+# name: margin-top: ...
+# key: mar
+# --
+margin-top: $1;
\ No newline at end of file
diff --git a/snippets/css-mode/pad.bottom b/snippets/css-mode/pad.bottom
new file mode 100644
index 0000000..3e4c665
--- /dev/null
+++ b/snippets/css-mode/pad.bottom
@@ -0,0 +1,5 @@
+# contributor: rejeep <johan.rejeep@gmail.com>
+# name: padding-bottom: ...
+# key: pad
+# --
+padding-bottom: $1;
\ No newline at end of file
diff --git a/snippets/css-mode/pad.left b/snippets/css-mode/pad.left
new file mode 100644
index 0000000..5e49b28
--- /dev/null
+++ b/snippets/css-mode/pad.left
@@ -0,0 +1,5 @@
+# contributor: rejeep <johan.rejeep@gmail.com>
+# name: padding-left: ...
+# key: pad
+# --
+padding-left: $1;
\ No newline at end of file
diff --git a/snippets/css-mode/pad.pad b/snippets/css-mode/pad.pad
new file mode 100644
index 0000000..ce81c36
--- /dev/null
+++ b/snippets/css-mode/pad.pad
@@ -0,0 +1,5 @@
+# contributor: rejeep <johan.rejeep@gmail.com>
+# name: padding: ...
+# key: pad
+# --
+padding: $1;
\ No newline at end of file
diff --git a/snippets/css-mode/pad.padding b/snippets/css-mode/pad.padding
new file mode 100644
index 0000000..0be7890
--- /dev/null
+++ b/snippets/css-mode/pad.padding
@@ -0,0 +1,5 @@
+# contributor: rejeep <johan.rejeep@gmail.com>
+# name: padding: top right bottom left
+# key: pad
+# --
+padding: ${top} ${right} ${bottom} ${left};
\ No newline at end of file
diff --git a/snippets/css-mode/pad.right b/snippets/css-mode/pad.right
new file mode 100644
index 0000000..a244b94
--- /dev/null
+++ b/snippets/css-mode/pad.right
@@ -0,0 +1,5 @@
+# contributor: rejeep <johan.rejeep@gmail.com>
+# name: padding-right: ...
+# key: pad
+# --
+padding-right: $1;
\ No newline at end of file
diff --git a/snippets/css-mode/pad.top b/snippets/css-mode/pad.top
new file mode 100644
index 0000000..d315e46
--- /dev/null
+++ b/snippets/css-mode/pad.top
@@ -0,0 +1,5 @@
+# contributor: rejeep <johan.rejeep@gmail.com>
+# name: padding-top: ...
+# key: pad
+# --
+padding-top: $1;
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/.read_me 
b/snippets/emacs-lisp-mode/.read_me
new file mode 100644
index 0000000..49c8e00
--- /dev/null
+++ b/snippets/emacs-lisp-mode/.read_me
@@ -0,0 +1,7 @@
+-*- 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.
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/.yas-parents 
b/snippets/emacs-lisp-mode/.yas-parents
new file mode 100644
index 0000000..eed5b44
--- /dev/null
+++ b/snippets/emacs-lisp-mode/.yas-parents
@@ -0,0 +1 @@
+text-mode
diff --git a/snippets/emacs-lisp-mode/add-hook.yasnippet 
b/snippets/emacs-lisp-mode/add-hook.yasnippet
new file mode 100644
index 0000000..04f1f01
--- /dev/null
+++ b/snippets/emacs-lisp-mode/add-hook.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: add-hook
+# key: add-hook
+# key: ah
+# --
+(add-hook HOOK$0 FUNCTION)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/and.yasnippet 
b/snippets/emacs-lisp-mode/and.yasnippet
new file mode 100644
index 0000000..cfc7dfc
--- /dev/null
+++ b/snippets/emacs-lisp-mode/and.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: and
+# key: and
+# key: a
+# --
+(and $0)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/append.yasnippet 
b/snippets/emacs-lisp-mode/append.yasnippet
new file mode 100644
index 0000000..585dfdc
--- /dev/null
+++ b/snippets/emacs-lisp-mode/append.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: append
+# key: append
+# --
+(append $0 )
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/apply.yasnippet 
b/snippets/emacs-lisp-mode/apply.yasnippet
new file mode 100644
index 0000000..2cfe695
--- /dev/null
+++ b/snippets/emacs-lisp-mode/apply.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: apply
+# key: apply
+# --
+(apply $0 )
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/aref.yasnippet 
b/snippets/emacs-lisp-mode/aref.yasnippet
new file mode 100644
index 0000000..0df3b8e
--- /dev/null
+++ b/snippets/emacs-lisp-mode/aref.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: aref
+# key: aref
+# --
+(aref ARRAY$0 INDEX)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/aset.yasnippet 
b/snippets/emacs-lisp-mode/aset.yasnippet
new file mode 100644
index 0000000..0813e7e
--- /dev/null
+++ b/snippets/emacs-lisp-mode/aset.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: aset
+# key: aset
+# --
+(aset ARRAY$0 IDX NEWELT)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/assq.yasnippet 
b/snippets/emacs-lisp-mode/assq.yasnippet
new file mode 100644
index 0000000..61609c8
--- /dev/null
+++ b/snippets/emacs-lisp-mode/assq.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: assq
+# key: assq
+# --
+(assq KEY$0 LIST)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/autoload.yasnippet 
b/snippets/emacs-lisp-mode/autoload.yasnippet
new file mode 100644
index 0000000..20052f5
--- /dev/null
+++ b/snippets/emacs-lisp-mode/autoload.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: autoload
+# key: autoload
+# --
+(autoload 'FUNCNAME$0 "FILENAME" &optional "DOCSTRING" INTERACTIVE TYPE)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/backward-char.yasnippet 
b/snippets/emacs-lisp-mode/backward-char.yasnippet
new file mode 100644
index 0000000..782b35c
--- /dev/null
+++ b/snippets/emacs-lisp-mode/backward-char.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: backward-char
+# key: backward-char
+# key: bc
+# --
+(backward-char $0)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/beginning-of-line.yasnippet 
b/snippets/emacs-lisp-mode/beginning-of-line.yasnippet
new file mode 100644
index 0000000..cd75859
--- /dev/null
+++ b/snippets/emacs-lisp-mode/beginning-of-line.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: beginning-of-line
+# key: beginning-of-line
+# key: bol
+# --
+(beginning-of-line)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/bounds-of-thing-at-point.yasnippet 
b/snippets/emacs-lisp-mode/bounds-of-thing-at-point.yasnippet
new file mode 100644
index 0000000..507457c
--- /dev/null
+++ b/snippets/emacs-lisp-mode/bounds-of-thing-at-point.yasnippet
@@ -0,0 +1,6 @@
+# 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 ...
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/buffer-file-name.yasnippet 
b/snippets/emacs-lisp-mode/buffer-file-name.yasnippet
new file mode 100644
index 0000000..726c508
--- /dev/null
+++ b/snippets/emacs-lisp-mode/buffer-file-name.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: buffer-file-name
+# key: buffer-file-name
+# key: bfn
+# --
+(buffer-file-name)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/buffer-modified-p.yasnippet 
b/snippets/emacs-lisp-mode/buffer-modified-p.yasnippet
new file mode 100644
index 0000000..87ff31e
--- /dev/null
+++ b/snippets/emacs-lisp-mode/buffer-modified-p.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: buffer-modified-p
+# key: buffer-modified-p
+# key: bmp
+# --
+(buffer-modified-p $0)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/buffer-substring-no-properties.yasnippet 
b/snippets/emacs-lisp-mode/buffer-substring-no-properties.yasnippet
new file mode 100644
index 0000000..1b04019
--- /dev/null
+++ b/snippets/emacs-lisp-mode/buffer-substring-no-properties.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: buffer-substring-no-properties
+# key: buffer-substring-no-properties
+# key: bsnp
+# --
+(buffer-substring-no-properties START$0 END)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/buffer-substring.yasnippet 
b/snippets/emacs-lisp-mode/buffer-substring.yasnippet
new file mode 100644
index 0000000..002a4f0
--- /dev/null
+++ b/snippets/emacs-lisp-mode/buffer-substring.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: buffer-substring
+# key: buffer-substring
+# key: bs
+# --
+(buffer-substring START$0 END)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/car.yasnippet 
b/snippets/emacs-lisp-mode/car.yasnippet
new file mode 100644
index 0000000..5406d94
--- /dev/null
+++ b/snippets/emacs-lisp-mode/car.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: car
+# key: car
+# --
+(car $0)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/cdr.yasnippet 
b/snippets/emacs-lisp-mode/cdr.yasnippet
new file mode 100644
index 0000000..0afd31f
--- /dev/null
+++ b/snippets/emacs-lisp-mode/cdr.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: cdr
+# key: cdr
+# --
+(cdr $0)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/concat.yasnippet 
b/snippets/emacs-lisp-mode/concat.yasnippet
new file mode 100644
index 0000000..42436b4
--- /dev/null
+++ b/snippets/emacs-lisp-mode/concat.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: concat
+# key: concat
+# --
+(concat $0)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/cond.yasnippet 
b/snippets/emacs-lisp-mode/cond.yasnippet
new file mode 100644
index 0000000..4c40194
--- /dev/null
+++ b/snippets/emacs-lisp-mode/cond.yasnippet
@@ -0,0 +1,8 @@
+# contributor: Xah Lee (XahLee.org)
+# name: cond
+# key: cond
+# --
+(cond
+(CONDITION$0 BODY)
+(CONDITION BODY)
+)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/condition-case.yasnippet 
b/snippets/emacs-lisp-mode/condition-case.yasnippet
new file mode 100644
index 0000000..80d09ad
--- /dev/null
+++ b/snippets/emacs-lisp-mode/condition-case.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: condition-case
+# key: condition-case
+# key: cc
+# --
+(condition-case $0 )
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/cons.yasnippet 
b/snippets/emacs-lisp-mode/cons.yasnippet
new file mode 100644
index 0000000..a0f90ce
--- /dev/null
+++ b/snippets/emacs-lisp-mode/cons.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: cons
+# key: cons
+# --
+(cons $0)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/consp.yasnippet 
b/snippets/emacs-lisp-mode/consp.yasnippet
new file mode 100644
index 0000000..f4b3f99
--- /dev/null
+++ b/snippets/emacs-lisp-mode/consp.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: consp
+# key: consp
+# --
+(consp $0 )
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/copy-directory.yasnippet 
b/snippets/emacs-lisp-mode/copy-directory.yasnippet
new file mode 100644
index 0000000..4c47d2f
--- /dev/null
+++ b/snippets/emacs-lisp-mode/copy-directory.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: copy-directory
+# key: copy-directory
+# key: cd
+# --
+(copy-directory $0 NEWNAME &optional KEEP-TIME PARENTS)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/copy-file.yasnippet 
b/snippets/emacs-lisp-mode/copy-file.yasnippet
new file mode 100644
index 0000000..021c60e
--- /dev/null
+++ b/snippets/emacs-lisp-mode/copy-file.yasnippet
@@ -0,0 +1,6 @@
+# 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)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/current-buffer.yasnippet 
b/snippets/emacs-lisp-mode/current-buffer.yasnippet
new file mode 100644
index 0000000..59859be
--- /dev/null
+++ b/snippets/emacs-lisp-mode/current-buffer.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: current-buffer
+# key: current-buffer
+# key: cb
+# --
+(current-buffer)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/custom-autoload.yasnippet 
b/snippets/emacs-lisp-mode/custom-autoload.yasnippet
new file mode 100644
index 0000000..7961f9e
--- /dev/null
+++ b/snippets/emacs-lisp-mode/custom-autoload.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: custom-autoload
+# key: custom-autoload
+# key: ca
+# --
+(custom-autoload$0 SYMBOL LOAD &optional NOSET)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/defalias.yasnippet 
b/snippets/emacs-lisp-mode/defalias.yasnippet
new file mode 100644
index 0000000..56d5855
--- /dev/null
+++ b/snippets/emacs-lisp-mode/defalias.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: defalias
+# key: defalias
+# --
+(defalias 'SYMBOL$0 'DEFINITION &optional DOCSTRING)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/defcustom.yasnippet 
b/snippets/emacs-lisp-mode/defcustom.yasnippet
new file mode 100644
index 0000000..db709be
--- /dev/null
+++ b/snippets/emacs-lisp-mode/defcustom.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: defcustom
+# key: defcustom
+# --
+(defcustom $0 VALUE "DOC" &optional ARGS)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/define-key.yasnippet 
b/snippets/emacs-lisp-mode/define-key.yasnippet
new file mode 100644
index 0000000..a04e5d7
--- /dev/null
+++ b/snippets/emacs-lisp-mode/define-key.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: define-key
+# key: define-key
+# key: dk
+# --
+(define-key KEYMAPNAME$0 (kbd "M-b") 'FUNCNAME)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/defsubst.yasnippet 
b/snippets/emacs-lisp-mode/defsubst.yasnippet
new file mode 100644
index 0000000..5535af1
--- /dev/null
+++ b/snippets/emacs-lisp-mode/defsubst.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: defsubst
+# key: defsubst
+# --
+(defsubst $0 )
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/defun.yasnippet 
b/snippets/emacs-lisp-mode/defun.yasnippet
new file mode 100644
index 0000000..0f3644b
--- /dev/null
+++ b/snippets/emacs-lisp-mode/defun.yasnippet
@@ -0,0 +1,12 @@
+# contributor: Xah Lee (XahLee.org)
+# name: defun
+# key: defun
+# key: d
+# --
+(defun $1 ()
+  "DOCSTRING"
+  (interactive)
+  (let (var1)
+    (setq var1 some)
+    $0
+  ))
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/defvar.yasnippet 
b/snippets/emacs-lisp-mode/defvar.yasnippet
new file mode 100644
index 0000000..1148472
--- /dev/null
+++ b/snippets/emacs-lisp-mode/defvar.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: defvar
+# key: defvar
+# --
+(defvar $0 &optional INITVALUE "DOCSTRING")
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/delete-char.yasnippet 
b/snippets/emacs-lisp-mode/delete-char.yasnippet
new file mode 100644
index 0000000..02585fa
--- /dev/null
+++ b/snippets/emacs-lisp-mode/delete-char.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: delete-char
+# key: delete-char
+# key: dc
+# --
+(delete-char $0)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/delete-directory.yasnippet 
b/snippets/emacs-lisp-mode/delete-directory.yasnippet
new file mode 100644
index 0000000..5033240
--- /dev/null
+++ b/snippets/emacs-lisp-mode/delete-directory.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: delete-directory
+# key: delete-directory
+# key: dd
+# --
+(delete-directory $0 &optional RECURSIVE)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/delete-file.yasnippet 
b/snippets/emacs-lisp-mode/delete-file.yasnippet
new file mode 100644
index 0000000..6b47f0d
--- /dev/null
+++ b/snippets/emacs-lisp-mode/delete-file.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: delete-file
+# key: delete-file
+# key: df
+# --
+(delete-file $0)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/delete-region.yasnippet 
b/snippets/emacs-lisp-mode/delete-region.yasnippet
new file mode 100644
index 0000000..054b40d
--- /dev/null
+++ b/snippets/emacs-lisp-mode/delete-region.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: delete-region
+# key: delete-region
+# key: dr
+# --
+(delete-region $0 )
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/directory-files.yasnippet 
b/snippets/emacs-lisp-mode/directory-files.yasnippet
new file mode 100644
index 0000000..449e016
--- /dev/null
+++ b/snippets/emacs-lisp-mode/directory-files.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: directory-files
+# key: directory-files
+# key: df
+# --
+(directory-files $0 &optional FULL MATCH NOSORT)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/dolist.yasnippet 
b/snippets/emacs-lisp-mode/dolist.yasnippet
new file mode 100644
index 0000000..13be2fb
--- /dev/null
+++ b/snippets/emacs-lisp-mode/dolist.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: dolist
+# key: dolist
+# --
+(dolist $0 )
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/end-of-line.yasnippet 
b/snippets/emacs-lisp-mode/end-of-line.yasnippet
new file mode 100644
index 0000000..dcefc48
--- /dev/null
+++ b/snippets/emacs-lisp-mode/end-of-line.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: end-of-line
+# key: end-of-line
+# key: eol
+# --
+(end-of-line)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/eq.yasnippet 
b/snippets/emacs-lisp-mode/eq.yasnippet
new file mode 100644
index 0000000..b05f968
--- /dev/null
+++ b/snippets/emacs-lisp-mode/eq.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: eq
+# key: eq
+# --
+(eq $0)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/equal.yasnippet 
b/snippets/emacs-lisp-mode/equal.yasnippet
new file mode 100644
index 0000000..f2dec47
--- /dev/null
+++ b/snippets/emacs-lisp-mode/equal.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: equal
+# key: equal
+# --
+(equal $0)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/error.yasnippet 
b/snippets/emacs-lisp-mode/error.yasnippet
new file mode 100644
index 0000000..93314dd
--- /dev/null
+++ b/snippets/emacs-lisp-mode/error.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: error
+# key: error
+# --
+(error "$0" &optional ARGS)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/expand-file-name.yasnippet 
b/snippets/emacs-lisp-mode/expand-file-name.yasnippet
new file mode 100644
index 0000000..c8b5253
--- /dev/null
+++ b/snippets/emacs-lisp-mode/expand-file-name.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: expand-file-name
+# key: expand-file-name
+# key: efn
+# --
+(expand-file-name $0 )
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/f.yasnippet 
b/snippets/emacs-lisp-mode/f.yasnippet
new file mode 100644
index 0000000..220a1af
--- /dev/null
+++ b/snippets/emacs-lisp-mode/f.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: format
+# key: format
+# --
+(format "$0" &optional OBJECTS)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/fboundp.yasnippet 
b/snippets/emacs-lisp-mode/fboundp.yasnippet
new file mode 100644
index 0000000..f6e8907
--- /dev/null
+++ b/snippets/emacs-lisp-mode/fboundp.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: fboundp
+# key: fboundp
+# --
+(fboundp '$0 )
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/file-name-directory.yasnippet 
b/snippets/emacs-lisp-mode/file-name-directory.yasnippet
new file mode 100644
index 0000000..1264a25
--- /dev/null
+++ b/snippets/emacs-lisp-mode/file-name-directory.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: file-name-directory
+# key: file-name-directory
+# key: fnd
+# --
+(file-name-directory $0)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/file-name-extension.yasnippet 
b/snippets/emacs-lisp-mode/file-name-extension.yasnippet
new file mode 100644
index 0000000..87886d4
--- /dev/null
+++ b/snippets/emacs-lisp-mode/file-name-extension.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: file-name-extension
+# key: file-name-extension
+# key: fne
+# --
+(file-name-extension $0 &optional PERIOD)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/file-name-nondirectory.yasnippet 
b/snippets/emacs-lisp-mode/file-name-nondirectory.yasnippet
new file mode 100644
index 0000000..0a824a5
--- /dev/null
+++ b/snippets/emacs-lisp-mode/file-name-nondirectory.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: file-name-nondirectory
+# key: file-name-nondirectory
+# key: fnn
+# --
+(file-name-nondirectory $0 )
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/file-name-sans-extension.yasnippet 
b/snippets/emacs-lisp-mode/file-name-sans-extension.yasnippet
new file mode 100644
index 0000000..491c7e4
--- /dev/null
+++ b/snippets/emacs-lisp-mode/file-name-sans-extension.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: file-name-sans-extension
+# key: file-name-sans-extension
+# key: fnse
+# --
+(file-name-sans-extension $0)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/file-relative-name.yasnippet 
b/snippets/emacs-lisp-mode/file-relative-name.yasnippet
new file mode 100644
index 0000000..8f773aa
--- /dev/null
+++ b/snippets/emacs-lisp-mode/file-relative-name.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: file-relative-name
+# key: file-relative-name
+# key: frn
+# --
+(file-relative-name $0 )
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/find-file.yasnippet 
b/snippets/emacs-lisp-mode/find-file.yasnippet
new file mode 100644
index 0000000..7a64537
--- /dev/null
+++ b/snippets/emacs-lisp-mode/find-file.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: find-file
+# key: find-file
+# key: ff
+# --
+(find-file $0 )
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/format.yasnippet 
b/snippets/emacs-lisp-mode/format.yasnippet
new file mode 100644
index 0000000..220a1af
--- /dev/null
+++ b/snippets/emacs-lisp-mode/format.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: format
+# key: format
+# --
+(format "$0" &optional OBJECTS)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/forward-char.yasnippet 
b/snippets/emacs-lisp-mode/forward-char.yasnippet
new file mode 100644
index 0000000..198cca2
--- /dev/null
+++ b/snippets/emacs-lisp-mode/forward-char.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: forward-char
+# key: forward-char
+# key: fc
+# --
+(forward-char $0)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/forward-line.yasnippet 
b/snippets/emacs-lisp-mode/forward-line.yasnippet
new file mode 100644
index 0000000..10456d3
--- /dev/null
+++ b/snippets/emacs-lisp-mode/forward-line.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: forward-line
+# key: forward-line
+# key: fl
+# --
+(forward-line $0 )
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/funcall.yasnippet 
b/snippets/emacs-lisp-mode/funcall.yasnippet
new file mode 100644
index 0000000..4f67029
--- /dev/null
+++ b/snippets/emacs-lisp-mode/funcall.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: funcall
+# key: funcall
+# --
+(funcall $0)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/function.yasnippet 
b/snippets/emacs-lisp-mode/function.yasnippet
new file mode 100644
index 0000000..3ff84fc
--- /dev/null
+++ b/snippets/emacs-lisp-mode/function.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: function
+# key: function
+# --
+(function $0 )
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/get.yasnippet 
b/snippets/emacs-lisp-mode/get.yasnippet
new file mode 100644
index 0000000..df20cce
--- /dev/null
+++ b/snippets/emacs-lisp-mode/get.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: get
+# key: get
+# --
+(get SYMBOL$0 PROPNAME)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/global-set-key.yasnippet 
b/snippets/emacs-lisp-mode/global-set-key.yasnippet
new file mode 100644
index 0000000..8895053
--- /dev/null
+++ b/snippets/emacs-lisp-mode/global-set-key.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: global-set-key
+# key: global-set-key
+# key: gsk
+# --
+(global-set-key (kbd "C-$0") 'COMMAND)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/goto-char.yasnippet 
b/snippets/emacs-lisp-mode/goto-char.yasnippet
new file mode 100644
index 0000000..1caa88e
--- /dev/null
+++ b/snippets/emacs-lisp-mode/goto-char.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: goto-char
+# key: goto-char
+# key: gc
+# --
+(goto-char $0)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/if.yasnippet 
b/snippets/emacs-lisp-mode/if.yasnippet
new file mode 100644
index 0000000..db90fe3
--- /dev/null
+++ b/snippets/emacs-lisp-mode/if.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: if
+# key: if
+# --
+(if $0)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/insert-file-contents.yasnippet 
b/snippets/emacs-lisp-mode/insert-file-contents.yasnippet
new file mode 100644
index 0000000..6189cfa
--- /dev/null
+++ b/snippets/emacs-lisp-mode/insert-file-contents.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: insert-file-contents
+# key: insert-file-contents
+# key: ifc
+# --
+(insert-file-contents $0 &optional VISIT BEG END REPLACE)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/insert.yasnippet 
b/snippets/emacs-lisp-mode/insert.yasnippet
new file mode 100644
index 0000000..b3de98c
--- /dev/null
+++ b/snippets/emacs-lisp-mode/insert.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: insert
+# key: insert
+# key: i
+# --
+(insert $0)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/interactive.yasnippet 
b/snippets/emacs-lisp-mode/interactive.yasnippet
new file mode 100644
index 0000000..f63e489
--- /dev/null
+++ b/snippets/emacs-lisp-mode/interactive.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: interactive
+# key: interactive
+# --
+(interactive)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/kbd.yasnippet 
b/snippets/emacs-lisp-mode/kbd.yasnippet
new file mode 100644
index 0000000..811ef6b
--- /dev/null
+++ b/snippets/emacs-lisp-mode/kbd.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: kbd
+# key: kbd
+# --
+(kbd "$0")
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/kill-buffer.yasnippet 
b/snippets/emacs-lisp-mode/kill-buffer.yasnippet
new file mode 100644
index 0000000..615f74d
--- /dev/null
+++ b/snippets/emacs-lisp-mode/kill-buffer.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: kill-buffer
+# key: kill-buffer
+# key: kb
+# --
+(kill-buffer $0)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/lambda.yasnippet 
b/snippets/emacs-lisp-mode/lambda.yasnippet
new file mode 100644
index 0000000..63ac70a
--- /dev/null
+++ b/snippets/emacs-lisp-mode/lambda.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: lambda
+# key: lambda
+# --
+(lambda ($0) "DOCSTRING" (interactive) BODY)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/length.yasnippet 
b/snippets/emacs-lisp-mode/length.yasnippet
new file mode 100644
index 0000000..ecd1b6d
--- /dev/null
+++ b/snippets/emacs-lisp-mode/length.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: length
+# key: length
+# --
+(length $0)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/let.yasnippet 
b/snippets/emacs-lisp-mode/let.yasnippet
new file mode 100644
index 0000000..e198254
--- /dev/null
+++ b/snippets/emacs-lisp-mode/let.yasnippet
@@ -0,0 +1,8 @@
+# contributor: Xah Lee (XahLee.org)
+# name: let
+# key: let
+# key: l
+# --
+(let ($1 )
+ $0
+)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/line-beginning-position.yasnippet 
b/snippets/emacs-lisp-mode/line-beginning-position.yasnippet
new file mode 100644
index 0000000..5edd9e3
--- /dev/null
+++ b/snippets/emacs-lisp-mode/line-beginning-position.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: line-beginning-position
+# key: line-beginning-position
+# key: lbp
+# --
+(line-beginning-position)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/line-end-position.yasnippet 
b/snippets/emacs-lisp-mode/line-end-position.yasnippet
new file mode 100644
index 0000000..a8fa3d0
--- /dev/null
+++ b/snippets/emacs-lisp-mode/line-end-position.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: line-end-position
+# key: line-end-position
+# key: lep
+# --
+(line-end-position)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/list.yasnippet 
b/snippets/emacs-lisp-mode/list.yasnippet
new file mode 100644
index 0000000..b8532a9
--- /dev/null
+++ b/snippets/emacs-lisp-mode/list.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: list
+# key: list
+# --
+(list $0)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/looking-at.yasnippet 
b/snippets/emacs-lisp-mode/looking-at.yasnippet
new file mode 100644
index 0000000..da85f01
--- /dev/null
+++ b/snippets/emacs-lisp-mode/looking-at.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: looking-at
+# key: looking-at
+# key: la
+# --
+(looking-at $0)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/make-directory.yasnippet 
b/snippets/emacs-lisp-mode/make-directory.yasnippet
new file mode 100644
index 0000000..4f83d94
--- /dev/null
+++ b/snippets/emacs-lisp-mode/make-directory.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: make-directory
+# key: make-directory
+# key: md
+# --
+(make-directory $0 &optional PARENTS)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/make-local-variable.yasnippet 
b/snippets/emacs-lisp-mode/make-local-variable.yasnippet
new file mode 100644
index 0000000..223fa55
--- /dev/null
+++ b/snippets/emacs-lisp-mode/make-local-variable.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: make-local-variable
+# key: make-local-variable
+# key: mlv
+# --
+(make-local-variable $0)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/mapc.yasnippet 
b/snippets/emacs-lisp-mode/mapc.yasnippet
new file mode 100644
index 0000000..e8b0c52
--- /dev/null
+++ b/snippets/emacs-lisp-mode/mapc.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: mapc
+# key: mapc
+# --
+(mapc '$0 SEQUENCE)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/mapcar.yasnippet 
b/snippets/emacs-lisp-mode/mapcar.yasnippet
new file mode 100644
index 0000000..1f398ec
--- /dev/null
+++ b/snippets/emacs-lisp-mode/mapcar.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: mapcar
+# key: mapcar
+# --
+(mapcar $0 )
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/match-beginning.yasnippet 
b/snippets/emacs-lisp-mode/match-beginning.yasnippet
new file mode 100644
index 0000000..8407602
--- /dev/null
+++ b/snippets/emacs-lisp-mode/match-beginning.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: match-beginning
+# key: match-beginning
+# key: mb
+# --
+(match-beginning N$0)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/match-end.yasnippet 
b/snippets/emacs-lisp-mode/match-end.yasnippet
new file mode 100644
index 0000000..60923a4
--- /dev/null
+++ b/snippets/emacs-lisp-mode/match-end.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: match-end
+# key: match-end
+# key: me
+# --
+(match-end N$0)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/match-string.yasnippet 
b/snippets/emacs-lisp-mode/match-string.yasnippet
new file mode 100644
index 0000000..83eb5fe
--- /dev/null
+++ b/snippets/emacs-lisp-mode/match-string.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: match-string
+# key: match-string
+# key: ms
+# --
+(match-string $0 )
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/memq.yasnippet 
b/snippets/emacs-lisp-mode/memq.yasnippet
new file mode 100644
index 0000000..513fd25
--- /dev/null
+++ b/snippets/emacs-lisp-mode/memq.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: memq
+# key: memq
+# --
+(memq ELT$0 LIST)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/message.yasnippet 
b/snippets/emacs-lisp-mode/message.yasnippet
new file mode 100644
index 0000000..38bbab6
--- /dev/null
+++ b/snippets/emacs-lisp-mode/message.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: message
+# key: message
+# key: m
+# --
+(message "FORMATSTRING$0" &optional ARGS)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/not.yasnippet 
b/snippets/emacs-lisp-mode/not.yasnippet
new file mode 100644
index 0000000..80d3694
--- /dev/null
+++ b/snippets/emacs-lisp-mode/not.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: not
+# key: not
+# key: n
+# --
+(not $0 )
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/nth.yasnippet 
b/snippets/emacs-lisp-mode/nth.yasnippet
new file mode 100644
index 0000000..de81812
--- /dev/null
+++ b/snippets/emacs-lisp-mode/nth.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: nth
+# key: nth
+# --
+(nth N$0 LIST)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/null.yasnippet 
b/snippets/emacs-lisp-mode/null.yasnippet
new file mode 100644
index 0000000..6b4010b
--- /dev/null
+++ b/snippets/emacs-lisp-mode/null.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: null
+# key: null
+# --
+(null $0)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/number-to-string.yasnippet 
b/snippets/emacs-lisp-mode/number-to-string.yasnippet
new file mode 100644
index 0000000..c57a930
--- /dev/null
+++ b/snippets/emacs-lisp-mode/number-to-string.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: number-to-string
+# key: number-to-string
+# key: nts
+# --
+(number-to-string $0)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/or.yasnippet 
b/snippets/emacs-lisp-mode/or.yasnippet
new file mode 100644
index 0000000..86eea32
--- /dev/null
+++ b/snippets/emacs-lisp-mode/or.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: or
+# key: or
+# key: o
+# --
+(or $0 )
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/point-max.yasnippet 
b/snippets/emacs-lisp-mode/point-max.yasnippet
new file mode 100644
index 0000000..5df439d
--- /dev/null
+++ b/snippets/emacs-lisp-mode/point-max.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: point-max
+# key: point-max
+# --
+(point-max)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/point-min.yasnippet 
b/snippets/emacs-lisp-mode/point-min.yasnippet
new file mode 100644
index 0000000..b5e58f7
--- /dev/null
+++ b/snippets/emacs-lisp-mode/point-min.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: point-min
+# key: point-min
+# key: pm
+# --
+(point-min)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/point.yasnippet 
b/snippets/emacs-lisp-mode/point.yasnippet
new file mode 100644
index 0000000..95b3dab
--- /dev/null
+++ b/snippets/emacs-lisp-mode/point.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: point
+# key: point
+# key: p
+# --
+(point)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/princ.yasnippet 
b/snippets/emacs-lisp-mode/princ.yasnippet
new file mode 100644
index 0000000..5c5f7db
--- /dev/null
+++ b/snippets/emacs-lisp-mode/princ.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: princ
+# key: princ
+# --
+(princ $0)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/print.yasnippet 
b/snippets/emacs-lisp-mode/print.yasnippet
new file mode 100644
index 0000000..dc156e8
--- /dev/null
+++ b/snippets/emacs-lisp-mode/print.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: print
+# key: print
+# --
+(print $0)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/progn.yasnippet 
b/snippets/emacs-lisp-mode/progn.yasnippet
new file mode 100644
index 0000000..4ae43ed
--- /dev/null
+++ b/snippets/emacs-lisp-mode/progn.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: progn
+# key: progn
+# --
+(progn $0)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/push.yasnippet 
b/snippets/emacs-lisp-mode/push.yasnippet
new file mode 100644
index 0000000..080e615
--- /dev/null
+++ b/snippets/emacs-lisp-mode/push.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: push
+# key: push
+# --
+(push $0 )
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/put.yasnippet 
b/snippets/emacs-lisp-mode/put.yasnippet
new file mode 100644
index 0000000..85f8869
--- /dev/null
+++ b/snippets/emacs-lisp-mode/put.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: put
+# key: put
+# --
+(put $0 PROPNAME VALUE)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/re-search-backward.yasnippet 
b/snippets/emacs-lisp-mode/re-search-backward.yasnippet
new file mode 100644
index 0000000..c4e82cc
--- /dev/null
+++ b/snippets/emacs-lisp-mode/re-search-backward.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: re-search-backward
+# key: re-search-backward
+# key: rsb
+# --
+(re-search-backward REGEXP$0 &optional BOUND NOERROR COUNT)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/re-search-forward.yasnippet 
b/snippets/emacs-lisp-mode/re-search-forward.yasnippet
new file mode 100644
index 0000000..6e86e33
--- /dev/null
+++ b/snippets/emacs-lisp-mode/re-search-forward.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: re-search-forward
+# key: re-search-forward
+# key: rsf
+# --
+(re-search-forward REGEXP$0 &optional BOUND NOERROR COUNT)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/region-active-p.yasnippet 
b/snippets/emacs-lisp-mode/region-active-p.yasnippet
new file mode 100644
index 0000000..c689118
--- /dev/null
+++ b/snippets/emacs-lisp-mode/region-active-p.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: region-active-p
+# key: region-active-p
+# key: rap
+# --
+(region-active-p)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/region-beginning.yasnippet 
b/snippets/emacs-lisp-mode/region-beginning.yasnippet
new file mode 100644
index 0000000..b696fdc
--- /dev/null
+++ b/snippets/emacs-lisp-mode/region-beginning.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: region-beginning
+# key: region-beginning
+# key: rb
+# --
+(region-beginning)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/region-end.yasnippet 
b/snippets/emacs-lisp-mode/region-end.yasnippet
new file mode 100644
index 0000000..9fe0ea8
--- /dev/null
+++ b/snippets/emacs-lisp-mode/region-end.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: region-end
+# key: region-end
+# key: re
+# --
+(region-end)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/rename-file.yasnippet 
b/snippets/emacs-lisp-mode/rename-file.yasnippet
new file mode 100644
index 0000000..6c47c7e
--- /dev/null
+++ b/snippets/emacs-lisp-mode/rename-file.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: rename-file
+# key: rename-file
+# key: rf
+# --
+(rename-file FILE$0 NEWNAME &optional OK-IF-ALREADY-EXISTS)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/repeat.yasnippet 
b/snippets/emacs-lisp-mode/repeat.yasnippet
new file mode 100644
index 0000000..a46e63b
--- /dev/null
+++ b/snippets/emacs-lisp-mode/repeat.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: repeat
+# key: repeat
+# --
+(repeat $0 )
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/replace-regexp-in-string.yasnippet 
b/snippets/emacs-lisp-mode/replace-regexp-in-string.yasnippet
new file mode 100644
index 0000000..694717b
--- /dev/null
+++ b/snippets/emacs-lisp-mode/replace-regexp-in-string.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: replace-regexp-in-string
+# key: replace-regexp-in-string
+# key: rris
+# --
+(replace-regexp-in-string REGEXP$0 REP STRING &optional FIXEDCASE LITERAL 
SUBEXP START)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/replace-regexp.yasnippet 
b/snippets/emacs-lisp-mode/replace-regexp.yasnippet
new file mode 100644
index 0000000..96823d6
--- /dev/null
+++ b/snippets/emacs-lisp-mode/replace-regexp.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: replace-regexp
+# key: replace-regexp
+# key: rr
+# --
+(replace-regexp REGEXP$0 TO-STRING &optional DELIMITED START END)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/require.yasnippet 
b/snippets/emacs-lisp-mode/require.yasnippet
new file mode 100644
index 0000000..d26ffd6
--- /dev/null
+++ b/snippets/emacs-lisp-mode/require.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: require
+# key: require
+# --
+(require $0 )
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/save-buffer.yasnippet 
b/snippets/emacs-lisp-mode/save-buffer.yasnippet
new file mode 100644
index 0000000..009e4af
--- /dev/null
+++ b/snippets/emacs-lisp-mode/save-buffer.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: save-buffer
+# key: save-buffer
+# key: sb
+# --
+(save-buffer $0)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/save-excursion.yasnippet 
b/snippets/emacs-lisp-mode/save-excursion.yasnippet
new file mode 100644
index 0000000..799d2f0
--- /dev/null
+++ b/snippets/emacs-lisp-mode/save-excursion.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: save-excursion
+# key: save-excursion
+# key: se
+# --
+(save-excursion $0)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/search-backward-regexp.yasnippet 
b/snippets/emacs-lisp-mode/search-backward-regexp.yasnippet
new file mode 100644
index 0000000..299f2df
--- /dev/null
+++ b/snippets/emacs-lisp-mode/search-backward-regexp.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: search-backward-regexp
+# key: search-backward-regexp
+# key: sbr
+# --
+(search-backward-regexp "$0" &optional BOUND NOERROR COUNT)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/search-backward.yasnippet 
b/snippets/emacs-lisp-mode/search-backward.yasnippet
new file mode 100644
index 0000000..27ab571
--- /dev/null
+++ b/snippets/emacs-lisp-mode/search-backward.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: search-backward
+# key: search-backward
+# key: sb
+# --
+(search-backward "$0" &optional BOUND NOERROR COUNT)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/search-forward-regexp.yasnippet 
b/snippets/emacs-lisp-mode/search-forward-regexp.yasnippet
new file mode 100644
index 0000000..d7860d6
--- /dev/null
+++ b/snippets/emacs-lisp-mode/search-forward-regexp.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: search-forward-regexp
+# key: search-forward-regexp
+# key: sfr
+# --
+(search-forward-regexp "$0" &optional BOUND NOERROR COUNT)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/search-forward.yasnippet 
b/snippets/emacs-lisp-mode/search-forward.yasnippet
new file mode 100644
index 0000000..09f1216
--- /dev/null
+++ b/snippets/emacs-lisp-mode/search-forward.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: search-forward
+# key: search-forward
+# key: sf
+# --
+(search-forward "$0" &optional BOUND NOERROR COUNT)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/set-buffer.yasnippet 
b/snippets/emacs-lisp-mode/set-buffer.yasnippet
new file mode 100644
index 0000000..402ab84
--- /dev/null
+++ b/snippets/emacs-lisp-mode/set-buffer.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: set-buffer
+# key: set-buffer
+# key: sb
+# --
+(set-buffer $0 )
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/set-file-modes.yasnippet 
b/snippets/emacs-lisp-mode/set-file-modes.yasnippet
new file mode 100644
index 0000000..b64d593
--- /dev/null
+++ b/snippets/emacs-lisp-mode/set-file-modes.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: set-file-modes
+# key: set-file-modes
+# key: sfm
+# --
+(set-file-modes $0 MODE)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/set-mark.yasnippet 
b/snippets/emacs-lisp-mode/set-mark.yasnippet
new file mode 100644
index 0000000..fe7a206
--- /dev/null
+++ b/snippets/emacs-lisp-mode/set-mark.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: set-mark
+# key: set-mark
+# key: sm
+# --
+(set-mark $0)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/set.yasnippet 
b/snippets/emacs-lisp-mode/set.yasnippet
new file mode 100644
index 0000000..f7e83a4
--- /dev/null
+++ b/snippets/emacs-lisp-mode/set.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: set
+# key: set
+# --
+(set $0 )
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/setq.yasnippet 
b/snippets/emacs-lisp-mode/setq.yasnippet
new file mode 100644
index 0000000..3a263c6
--- /dev/null
+++ b/snippets/emacs-lisp-mode/setq.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: setq
+# key: setq
+# key: s
+# --
+(setq $0 )
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/skip-chars-backward.yasnippet 
b/snippets/emacs-lisp-mode/skip-chars-backward.yasnippet
new file mode 100644
index 0000000..17c33d4
--- /dev/null
+++ b/snippets/emacs-lisp-mode/skip-chars-backward.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: skip-chars-backward
+# key: skip-chars-backward
+# key: scb
+# --
+(skip-chars-backward "$0" &optional LIM)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/skip-chars-forward.yasnippet 
b/snippets/emacs-lisp-mode/skip-chars-forward.yasnippet
new file mode 100644
index 0000000..7b93987
--- /dev/null
+++ b/snippets/emacs-lisp-mode/skip-chars-forward.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: skip-chars-forward
+# key: skip-chars-forward
+# key: scf
+# --
+(skip-chars-forward "$0" &optional LIM)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/split-string.yasnippet 
b/snippets/emacs-lisp-mode/split-string.yasnippet
new file mode 100644
index 0000000..9e03740
--- /dev/null
+++ b/snippets/emacs-lisp-mode/split-string.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: split-string
+# key: split-string
+# key: ss
+# --
+(split-string $0 &optional SEPARATORS OMIT-NULLS)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/string-match.yasnippet 
b/snippets/emacs-lisp-mode/string-match.yasnippet
new file mode 100644
index 0000000..f39c69e
--- /dev/null
+++ b/snippets/emacs-lisp-mode/string-match.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: string-match
+# key: string-match
+# key: sm
+# --
+(string-match "REGEXP$0" "STRING" &optional START)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/string-to-number.yasnippet 
b/snippets/emacs-lisp-mode/string-to-number.yasnippet
new file mode 100644
index 0000000..f47c9d4
--- /dev/null
+++ b/snippets/emacs-lisp-mode/string-to-number.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: string-to-number
+# key: string-to-number
+# key: stn
+# --
+(string-to-number "$0")
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/string.yasnippet 
b/snippets/emacs-lisp-mode/string.yasnippet
new file mode 100644
index 0000000..07c17f1
--- /dev/null
+++ b/snippets/emacs-lisp-mode/string.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: string
+# key: string
+# --
+(string $0 )
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/string=.yasnippet 
b/snippets/emacs-lisp-mode/string=.yasnippet
new file mode 100644
index 0000000..3a458e8
--- /dev/null
+++ b/snippets/emacs-lisp-mode/string=.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: string=
+# key: string=
+# --
+(string= $0 )
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/stringp.yasnippet 
b/snippets/emacs-lisp-mode/stringp.yasnippet
new file mode 100644
index 0000000..432f6e0
--- /dev/null
+++ b/snippets/emacs-lisp-mode/stringp.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: stringp
+# key: stringp
+# --
+(stringp $0)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/substring.yasnippet 
b/snippets/emacs-lisp-mode/substring.yasnippet
new file mode 100644
index 0000000..eeb0c02
--- /dev/null
+++ b/snippets/emacs-lisp-mode/substring.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: substring
+# key: substring
+# --
+(substring STRING$0 FROM &optional TO)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/thing-at-point.yasnippet 
b/snippets/emacs-lisp-mode/thing-at-point.yasnippet
new file mode 100644
index 0000000..6b78e03
--- /dev/null
+++ b/snippets/emacs-lisp-mode/thing-at-point.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: thing-at-point
+# key: thing-at-point
+# key: tap
+# --
+(thing-at-point '$0) ; symbol, list, sexp, defun, filename, url, email, word, 
sentence, whitespace, line, page ...
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/unless.yasnippet 
b/snippets/emacs-lisp-mode/unless.yasnippet
new file mode 100644
index 0000000..bdde0cf
--- /dev/null
+++ b/snippets/emacs-lisp-mode/unless.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: unless
+# key: unless
+# --
+(unless $0)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/vector.yasnippet 
b/snippets/emacs-lisp-mode/vector.yasnippet
new file mode 100644
index 0000000..5aea79a
--- /dev/null
+++ b/snippets/emacs-lisp-mode/vector.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: vector
+# key: vector
+# key: v
+# --
+(vector $0)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/when.yasnippet 
b/snippets/emacs-lisp-mode/when.yasnippet
new file mode 100644
index 0000000..86d31d9
--- /dev/null
+++ b/snippets/emacs-lisp-mode/when.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: when
+# key: when
+# --
+(when $0)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/while.yasnippet 
b/snippets/emacs-lisp-mode/while.yasnippet
new file mode 100644
index 0000000..1802e1b
--- /dev/null
+++ b/snippets/emacs-lisp-mode/while.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: while
+# key: while
+# --
+(while $0)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/widget-get.yasnippet 
b/snippets/emacs-lisp-mode/widget-get.yasnippet
new file mode 100644
index 0000000..f183569
--- /dev/null
+++ b/snippets/emacs-lisp-mode/widget-get.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: widget-get
+# key: widget-get
+# key: wg
+# --
+(widget-get $0 )
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/with-current-buffer.yasnippet 
b/snippets/emacs-lisp-mode/with-current-buffer.yasnippet
new file mode 100644
index 0000000..1e6a94e
--- /dev/null
+++ b/snippets/emacs-lisp-mode/with-current-buffer.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: with-current-buffer
+# key: with-current-buffer
+# key: wcb
+# --
+(with-current-buffer $0 )
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/x-dired.process_marked.yasnippet 
b/snippets/emacs-lisp-mode/x-dired.process_marked.yasnippet
new file mode 100644
index 0000000..77ca69d
--- /dev/null
+++ b/snippets/emacs-lisp-mode/x-dired.process_marked.yasnippet
@@ -0,0 +1,17 @@
+# contributor: Xah Lee (XahLee.org)
+# name: process marked files in dired
+# key: x-dired
+# --
+;; idiom for processing a list of files in dired's marked files
+
+;; suppose myProcessFile is your function that takes a file path
+;; and do some processing on the file
+
+(defun dired-myProcessFile ()
+  "apply myProcessFile function to marked files in dired."
+  (interactive)
+  (require 'dired)
+  (mapc 'myProcessFile (dired-get-marked-files))
+)
+
+;; to use it, type M-x dired-myProcessFile
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/x-file.process.yasnippet 
b/snippets/emacs-lisp-mode/x-file.process.yasnippet
new file mode 100644
index 0000000..dc60b17
--- /dev/null
+++ b/snippets/emacs-lisp-mode/x-file.process.yasnippet
@@ -0,0 +1,18 @@
+# contributor: Xah Lee (XahLee.org)
+# name: a function that process a file
+# key: x-file
+# --
+(defun doThisFile (fpath)
+  "Process the file at path FPATH ..."
+  (let ()
+    ;; create temp buffer without undo record or font lock. (more efficient)
+    ;; first space in temp buff name is necessary
+    (set-buffer (get-buffer-create " myTemp"))
+    (insert-file-contents fpath nil nil nil t)
+
+    ;; process it ...
+    ;; (goto-char 0) ; move to begining of file's content (in case it was open)
+    ;; ... do something here
+    ;; (write-file fpath) ;; write back to the file
+
+    (kill-buffer " myTemp")))
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/x-file.read-lines.yasnippet 
b/snippets/emacs-lisp-mode/x-file.read-lines.yasnippet
new file mode 100644
index 0000000..e4cb092
--- /dev/null
+++ b/snippets/emacs-lisp-mode/x-file.read-lines.yasnippet
@@ -0,0 +1,18 @@
+# contributor: Xah Lee (XahLee.org)
+# name: read lines of a file
+# key: x-file
+# --
+(defun read-lines (filePath)
+  "Return a list of lines in FILEPATH."
+  (with-temp-buffer
+    (insert-file-contents filePath)
+    (split-string
+     (buffer-string) "\n" t)) )
+
+;; process all lines
+(mapc
+ (lambda (aLine)
+   (message aLine) ; do your stuff here
+   )
+ (read-lines "inputFilePath")
+)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/x-find-replace.yasnippet 
b/snippets/emacs-lisp-mode/x-find-replace.yasnippet
new file mode 100644
index 0000000..b0c58ec
--- /dev/null
+++ b/snippets/emacs-lisp-mode/x-find-replace.yasnippet
@@ -0,0 +1,18 @@
+# contributor: Xah Lee (XahLee.org)
+# name: find and replace on region
+# key: x-find-replace
+# --
+(defun replace-html-chars-region (start end)
+  "Replace “<” to “&lt;” and other chars in HTML.
+This works on the current region."
+  (interactive "r")
+  (save-restriction
+    (narrow-to-region start end)
+    (goto-char (point-min))
+    (while (search-forward "&" nil t) (replace-match "&amp;" nil t))
+    (goto-char (point-min))
+    (while (search-forward "<" nil t) (replace-match "&lt;" nil t))
+    (goto-char (point-min))
+    (while (search-forward ">" nil t) (replace-match "&gt;" nil t))
+    )
+  )
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/x-grabstring.yasnippet 
b/snippets/emacs-lisp-mode/x-grabstring.yasnippet
new file mode 100644
index 0000000..d194f2a
--- /dev/null
+++ b/snippets/emacs-lisp-mode/x-grabstring.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: grab buffer substring
+# key: x-grabstring
+# --
+(setq $0 (buffer-substring-no-properties myStartPos myEndPos))
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/x-grabthing.yasnippet 
b/snippets/emacs-lisp-mode/x-grabthing.yasnippet
new file mode 100644
index 0000000..d65c1fd
--- /dev/null
+++ b/snippets/emacs-lisp-mode/x-grabthing.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: grab word under cursor
+# key: x-grabthing
+# --
+(setq $0 (thing-at-point 'symbol))
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/x-traverse_dir.yasnippet 
b/snippets/emacs-lisp-mode/x-traverse_dir.yasnippet
new file mode 100644
index 0000000..df0261d
--- /dev/null
+++ b/snippets/emacs-lisp-mode/x-traverse_dir.yasnippet
@@ -0,0 +1,7 @@
+# name: traversing a directory
+# contributor: Xah Lee (XahLee.org)
+# key: x-traverse_dir
+# --
+;; apply a function to all files in a dir
+(require 'find-lisp)
+(mapc 'my-process-file (find-lisp-find-files "~/myweb/" "\\.html$"))
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/x-word-or-region.yasnippet 
b/snippets/emacs-lisp-mode/x-word-or-region.yasnippet
new file mode 100644
index 0000000..b72f8b8
--- /dev/null
+++ b/snippets/emacs-lisp-mode/x-word-or-region.yasnippet
@@ -0,0 +1,28 @@
+# contributor: Xah Lee (XahLee.org)
+# name: Command that works on region or word
+# key: x-word-or-region
+# --
+;; example of a command that works on current word or text selection
+(defun down-case-word-or-region ()
+  "Lower case the current word or text selection."
+(interactive)
+(let (pos1 pos2 meat)
+  (if (and transient-mark-mode mark-active)
+      (setq pos1 (region-beginning)
+            pos2 (region-end))
+    (setq pos1 (car (bounds-of-thing-at-point 'symbol))
+          pos2 (cdr (bounds-of-thing-at-point 'symbol))))
+
+  ; now, pos1 and pos2 are the starting and ending positions
+  ; of the current word, or current text selection if exists
+
+  ;; put your code here.
+  $0
+  ;; Some example of things you might want to do
+  (downcase-region pos1 pos2) ; example of a func that takes region as args
+  (setq meat (buffer-substring-no-properties pos1 pos2)) ; grab the text.
+  (delete-region pos1 pos2) ; get rid of it
+  (insert "newText") ; insert your new text
+
+  )
+)
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/y-or-n-p.yasnippet 
b/snippets/emacs-lisp-mode/y-or-n-p.yasnippet
new file mode 100644
index 0000000..7ebc503
--- /dev/null
+++ b/snippets/emacs-lisp-mode/y-or-n-p.yasnippet
@@ -0,0 +1,6 @@
+# contributor: Xah Lee (XahLee.org)
+# name: y-or-n-p
+# key: y-or-n-p
+# key: yonp
+# --
+(yes-or-no-p "PROMPT$0 ")
\ No newline at end of file
diff --git a/snippets/emacs-lisp-mode/yes-or-no-p.yasnippet 
b/snippets/emacs-lisp-mode/yes-or-no-p.yasnippet
new file mode 100644
index 0000000..fe85e77
--- /dev/null
+++ b/snippets/emacs-lisp-mode/yes-or-no-p.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee (XahLee.org)
+# name: yes-or-no-p
+# key: yes-or-no-p
+# --
+(yes-or-no-p "PROMPT$0 ")
\ No newline at end of file
diff --git a/snippets/erlang-mode/.yas-parents 
b/snippets/erlang-mode/.yas-parents
new file mode 100644
index 0000000..eed5b44
--- /dev/null
+++ b/snippets/erlang-mode/.yas-parents
@@ -0,0 +1 @@
+text-mode
diff --git a/snippets/erlang-mode/after b/snippets/erlang-mode/after
new file mode 100644
index 0000000..4b2eab2
--- /dev/null
+++ b/snippets/erlang-mode/after
@@ -0,0 +1,5 @@
+# name: after ... ->
+# key: after
+# --
+after
+    $1 -> $0
\ No newline at end of file
diff --git a/snippets/erlang-mode/begin b/snippets/erlang-mode/begin
new file mode 100644
index 0000000..ad9a68b
--- /dev/null
+++ b/snippets/erlang-mode/begin
@@ -0,0 +1,6 @@
+# name: begin ... end
+# key: begin
+# --
+begin
+    $0
+end
\ No newline at end of file
diff --git a/snippets/erlang-mode/beh b/snippets/erlang-mode/beh
new file mode 100644
index 0000000..b7696ff
--- /dev/null
+++ b/snippets/erlang-mode/beh
@@ -0,0 +1,5 @@
+# name: -behaviour(...).
+# key: beh
+# --
+-behaviour(${1:gen_server}).
+$0
\ No newline at end of file
diff --git a/snippets/erlang-mode/case b/snippets/erlang-mode/case
new file mode 100644
index 0000000..f5326fa
--- /dev/null
+++ b/snippets/erlang-mode/case
@@ -0,0 +1,6 @@
+# name: case ... of ... end
+# key: case
+# --
+case $1 of
+    $0
+end
\ No newline at end of file
diff --git a/snippets/erlang-mode/compile b/snippets/erlang-mode/compile
new file mode 100644
index 0000000..4622aa2
--- /dev/null
+++ b/snippets/erlang-mode/compile
@@ -0,0 +1,5 @@
+# name: -compile(...).
+# key: compile
+# --
+-compile([${1:export_all}]).
+$0
\ No newline at end of file
diff --git a/snippets/erlang-mode/def b/snippets/erlang-mode/def
new file mode 100644
index 0000000..bea99c3
--- /dev/null
+++ b/snippets/erlang-mode/def
@@ -0,0 +1,5 @@
+# name: -define(...,...).
+# key: def
+# --
+-define($1,$2).
+$0
\ No newline at end of file
diff --git a/snippets/erlang-mode/exp b/snippets/erlang-mode/exp
new file mode 100644
index 0000000..dcef789
--- /dev/null
+++ b/snippets/erlang-mode/exp
@@ -0,0 +1,6 @@
+# name: -export([]).
+# contributor: hitesh <hitesh.jasani@gmail.com>
+# key: exp
+# --
+-export([${1:start/0}]).
+$0
\ No newline at end of file
diff --git a/snippets/erlang-mode/fun b/snippets/erlang-mode/fun
new file mode 100644
index 0000000..1665ef6
--- /dev/null
+++ b/snippets/erlang-mode/fun
@@ -0,0 +1,4 @@
+# name: fun (...) -> ... end
+# key: fun
+# --
+fun ($1) -> $0 end
\ No newline at end of file
diff --git a/snippets/erlang-mode/if b/snippets/erlang-mode/if
new file mode 100644
index 0000000..dae3cc7
--- /dev/null
+++ b/snippets/erlang-mode/if
@@ -0,0 +1,7 @@
+# name: if ... -> ... ; true -> ... end
+# key: if
+# --
+if
+    $1 -> $2;
+    true -> $0
+end
\ No newline at end of file
diff --git a/snippets/erlang-mode/ifdef b/snippets/erlang-mode/ifdef
new file mode 100644
index 0000000..feacf74
--- /dev/null
+++ b/snippets/erlang-mode/ifdef
@@ -0,0 +1,6 @@
+# name: -ifdef(...). ... -endif.
+# key: ifdef
+# --
+-ifdef($1).
+$0
+-endif.
\ No newline at end of file
diff --git a/snippets/erlang-mode/ifndef b/snippets/erlang-mode/ifndef
new file mode 100644
index 0000000..7c5d931
--- /dev/null
+++ b/snippets/erlang-mode/ifndef
@@ -0,0 +1,6 @@
+# name: -ifndef(...). ... -endif.
+# key: ifndef
+# --
+-ifndef($1).
+$0
+-endif.
\ No newline at end of file
diff --git a/snippets/erlang-mode/imp b/snippets/erlang-mode/imp
new file mode 100644
index 0000000..5db8aaf
--- /dev/null
+++ b/snippets/erlang-mode/imp
@@ -0,0 +1,6 @@
+# name: -import([]).
+# contributor: hitesh <hitesh.jasani@gmail.com>
+# key: imp
+# --
+-import(${1:lists}, [${2:map/2, sum/1}]).
+$0
\ No newline at end of file
diff --git a/snippets/erlang-mode/inc b/snippets/erlang-mode/inc
new file mode 100644
index 0000000..47f4008
--- /dev/null
+++ b/snippets/erlang-mode/inc
@@ -0,0 +1,5 @@
+# name: -include("...").
+# key: inc
+# --
+-include("$1").
+$0
\ No newline at end of file
diff --git a/snippets/erlang-mode/inc.lib b/snippets/erlang-mode/inc.lib
new file mode 100644
index 0000000..5ca0631
--- /dev/null
+++ b/snippets/erlang-mode/inc.lib
@@ -0,0 +1,5 @@
+# name: -include_lib("...").
+# key: inc
+# --
+-include_lib("$1").
+$0
\ No newline at end of file
diff --git a/snippets/erlang-mode/loop b/snippets/erlang-mode/loop
new file mode 100644
index 0000000..86f92a4
--- /dev/null
+++ b/snippets/erlang-mode/loop
@@ -0,0 +1,9 @@
+# name: loop(...) -> receive _ -> loop(...) end.
+# key: loop
+# --
+${1:loop}($2) ->
+    receive
+       ${3:_} ->
+           $1($2)
+    end.
+$0
\ No newline at end of file
diff --git a/snippets/erlang-mode/mod b/snippets/erlang-mode/mod
new file mode 100644
index 0000000..8cb747a
--- /dev/null
+++ b/snippets/erlang-mode/mod
@@ -0,0 +1,7 @@
+# name: -module().
+# contributor: hitesh <hitesh.jasani@gmail.com>
+# key: mod
+# --
+-module(${1:`(file-name-nondirectory
+              (file-name-sans-extension (or (buffer-file-name) 
(buffer-name))))`}).
+$0
\ No newline at end of file
diff --git a/snippets/erlang-mode/rcv b/snippets/erlang-mode/rcv
new file mode 100644
index 0000000..f5bdaa2
--- /dev/null
+++ b/snippets/erlang-mode/rcv
@@ -0,0 +1,6 @@
+# name: receive ... -> ... end
+# key: rcv
+# --
+receive
+    $1 -> $0
+end
\ No newline at end of file
diff --git a/snippets/erlang-mode/rcv.after b/snippets/erlang-mode/rcv.after
new file mode 100644
index 0000000..687b78d
--- /dev/null
+++ b/snippets/erlang-mode/rcv.after
@@ -0,0 +1,7 @@
+# name: receive after ... -> ... end
+# key: rcv
+# --
+receive
+after
+    $1 -> $0
+end
\ No newline at end of file
diff --git a/snippets/erlang-mode/rec b/snippets/erlang-mode/rec
new file mode 100644
index 0000000..b3819a6
--- /dev/null
+++ b/snippets/erlang-mode/rec
@@ -0,0 +1,5 @@
+# name: -record(...,{...}).
+# key: rec
+# --
+-record($1,{$2}).
+$0
\ No newline at end of file
diff --git a/snippets/erlang-mode/try b/snippets/erlang-mode/try
new file mode 100644
index 0000000..0ff10a8
--- /dev/null
+++ b/snippets/erlang-mode/try
@@ -0,0 +1,8 @@
+# name: try ... of ... catch after end
+# key: try
+# --
+try $1 of
+    $0
+catch
+after
+end
\ No newline at end of file
diff --git a/snippets/erlang-mode/undef b/snippets/erlang-mode/undef
new file mode 100644
index 0000000..bd51fe6
--- /dev/null
+++ b/snippets/erlang-mode/undef
@@ -0,0 +1,5 @@
+# name: -undef(...).
+# key: undef
+# --
+-undef($1).
+$0
\ No newline at end of file
diff --git a/snippets/f90-mode/.yas-parents b/snippets/f90-mode/.yas-parents
new file mode 100644
index 0000000..eed5b44
--- /dev/null
+++ b/snippets/f90-mode/.yas-parents
@@ -0,0 +1 @@
+text-mode
diff --git a/snippets/f90-mode/au b/snippets/f90-mode/au
new file mode 100644
index 0000000..1b638db
--- /dev/null
+++ b/snippets/f90-mode/au
@@ -0,0 +1,5 @@
+# contributor: Li Zhu <http://www.zhuli.name>
+# name: automatic
+# key: au
+# --
+automatic $0
\ No newline at end of file
diff --git a/snippets/f90-mode/bd b/snippets/f90-mode/bd
new file mode 100644
index 0000000..081b039
--- /dev/null
+++ b/snippets/f90-mode/bd
@@ -0,0 +1,5 @@
+# contributor: Li Zhu <http://www.zhuli.name>
+# name: block data
+# key: bd
+# --
+block data $0
\ No newline at end of file
diff --git a/snippets/f90-mode/c b/snippets/f90-mode/c
new file mode 100644
index 0000000..cf28d36
--- /dev/null
+++ b/snippets/f90-mode/c
@@ -0,0 +1,5 @@
+# contributor: Li Zhu <http://www.zhuli.name>
+# name: continue
+# key: c
+# --
+continue $0
\ No newline at end of file
diff --git a/snippets/f90-mode/ch b/snippets/f90-mode/ch
new file mode 100644
index 0000000..db43003
--- /dev/null
+++ b/snippets/f90-mode/ch
@@ -0,0 +1,5 @@
+# contributor: Li Zhu <http://www.zhuli.name>
+# name: character
+# key: ch
+# --
+character $0
\ No newline at end of file
diff --git a/snippets/f90-mode/cx b/snippets/f90-mode/cx
new file mode 100644
index 0000000..70e9163
--- /dev/null
+++ b/snippets/f90-mode/cx
@@ -0,0 +1,5 @@
+# contributor: Li Zhu <http://www.zhuli.name>
+# name: complex
+# key: cx
+# --
+complex $0
\ No newline at end of file
diff --git a/snippets/f90-mode/dc b/snippets/f90-mode/dc
new file mode 100644
index 0000000..df5f026
--- /dev/null
+++ b/snippets/f90-mode/dc
@@ -0,0 +1,5 @@
+# contributor: Li Zhu <http://www.zhuli.name>
+# name: double complex
+# key: dc
+# --
+double complex $0
\ No newline at end of file
diff --git a/snippets/f90-mode/do b/snippets/f90-mode/do
new file mode 100644
index 0000000..c3aa1f2
--- /dev/null
+++ b/snippets/f90-mode/do
@@ -0,0 +1,7 @@
+# contributor: Li Zhu <http://www.zhuli.name>
+# name: do while (...) end do
+# key: do
+# --
+do while (${1:condition})
+   $0
+end do
\ No newline at end of file
diff --git a/snippets/f90-mode/dp b/snippets/f90-mode/dp
new file mode 100644
index 0000000..e705b7c
--- /dev/null
+++ b/snippets/f90-mode/dp
@@ -0,0 +1,5 @@
+# contributor: Li Zhu <http://www.zhuli.name>
+# name: double precision
+# key: dp
+# --
+double precision $0
\ No newline at end of file
diff --git a/snippets/f90-mode/eq b/snippets/f90-mode/eq
new file mode 100644
index 0000000..1ace4ce
--- /dev/null
+++ b/snippets/f90-mode/eq
@@ -0,0 +1,5 @@
+# contributor: Li Zhu <http://www.zhuli.name>
+# name: equivalence
+# key: eq
+# --
+equivalence $0
\ No newline at end of file
diff --git a/snippets/f90-mode/ib b/snippets/f90-mode/ib
new file mode 100644
index 0000000..3fd8fbd
--- /dev/null
+++ b/snippets/f90-mode/ib
@@ -0,0 +1,5 @@
+# contributor: Li Zhu <http://www.zhuli.name>
+# name: implicit byte
+# key: ib
+# --
+implicit byte $0
\ No newline at end of file
diff --git a/snippets/f90-mode/ic b/snippets/f90-mode/ic
new file mode 100644
index 0000000..516d139
--- /dev/null
+++ b/snippets/f90-mode/ic
@@ -0,0 +1,5 @@
+# contributor: Li Zhu <http://www.zhuli.name>
+# name: implicit complex
+# key: ic
+# --
+implicit complex $0
\ No newline at end of file
diff --git a/snippets/f90-mode/ich b/snippets/f90-mode/ich
new file mode 100644
index 0000000..f6b1f80
--- /dev/null
+++ b/snippets/f90-mode/ich
@@ -0,0 +1,5 @@
+# contributor: Li Zhu <http://www.zhuli.name>
+# name: implicit character
+# key: ich
+# --
+implicit character $0
\ No newline at end of file
diff --git a/snippets/f90-mode/if b/snippets/f90-mode/if
new file mode 100644
index 0000000..f4a42e1
--- /dev/null
+++ b/snippets/f90-mode/if
@@ -0,0 +1,7 @@
+# contributor: Li Zhu <http://www.zhuli.name>
+# name: if then end if
+# key: if
+# --
+if ( ${1:condition} ) then
+   $0
+end if
\ No newline at end of file
diff --git a/snippets/f90-mode/ii b/snippets/f90-mode/ii
new file mode 100644
index 0000000..bd89e90
--- /dev/null
+++ b/snippets/f90-mode/ii
@@ -0,0 +1,5 @@
+# contributor: Li Zhu <http://www.zhuli.name>
+# name: implicit integer
+# key: ii
+# --
+implicit integer $0
\ No newline at end of file
diff --git a/snippets/f90-mode/il b/snippets/f90-mode/il
new file mode 100644
index 0000000..0ce006e
--- /dev/null
+++ b/snippets/f90-mode/il
@@ -0,0 +1,5 @@
+# contributor: Li Zhu <http://www.zhuli.name>
+# name: implicit logical
+# key: il
+# --
+implicit logical $0
\ No newline at end of file
diff --git a/snippets/f90-mode/in b/snippets/f90-mode/in
new file mode 100644
index 0000000..a9d84a1
--- /dev/null
+++ b/snippets/f90-mode/in
@@ -0,0 +1,5 @@
+# contributor: Li Zhu <http://www.zhuli.name>
+# name: implicit none
+# key: in
+# --
+implicit none
\ No newline at end of file
diff --git a/snippets/f90-mode/inc b/snippets/f90-mode/inc
new file mode 100644
index 0000000..cc761bb
--- /dev/null
+++ b/snippets/f90-mode/inc
@@ -0,0 +1,5 @@
+# contributor: Li Zhu <http://www.zhuli.name>
+# name: include
+# key: inc
+# --
+include $0
\ No newline at end of file
diff --git a/snippets/f90-mode/intr b/snippets/f90-mode/intr
new file mode 100644
index 0000000..689f20a
--- /dev/null
+++ b/snippets/f90-mode/intr
@@ -0,0 +1,5 @@
+# contributor: Li Zhu <http://www.zhuli.name>
+# name: intrinsic
+# key: intr
+# --
+intrinsic $0
\ No newline at end of file
diff --git a/snippets/f90-mode/ir b/snippets/f90-mode/ir
new file mode 100644
index 0000000..77ddea9
--- /dev/null
+++ b/snippets/f90-mode/ir
@@ -0,0 +1,5 @@
+# contributor: Li Zhu <http://www.zhuli.name>
+# name: implicit real
+# key: ir
+# --
+implicit real $0
\ No newline at end of file
diff --git a/snippets/f90-mode/l b/snippets/f90-mode/l
new file mode 100644
index 0000000..c48b11e
--- /dev/null
+++ b/snippets/f90-mode/l
@@ -0,0 +1,5 @@
+# contributor: Li Zhu <http://www.zhuli.name>
+# name: logical
+# key: l
+# --
+logical $0
\ No newline at end of file
diff --git a/snippets/f90-mode/pa b/snippets/f90-mode/pa
new file mode 100644
index 0000000..d92f75b
--- /dev/null
+++ b/snippets/f90-mode/pa
@@ -0,0 +1,5 @@
+# contributor: Li Zhu <http://www.zhuli.name>
+# name: parameter
+# key: pa
+# --
+parameter $0
\ No newline at end of file
diff --git a/snippets/f90-mode/pr b/snippets/f90-mode/pr
new file mode 100644
index 0000000..f570d5f
--- /dev/null
+++ b/snippets/f90-mode/pr
@@ -0,0 +1,7 @@
+# contributor: Li Zhu <http://www.zhuli.name>
+# name: program ... end program ...
+# key: pr
+# --
+program ${1:name}
+  $0
+end program ${1:name}
\ No newline at end of file
diff --git a/snippets/f90-mode/re b/snippets/f90-mode/re
new file mode 100644
index 0000000..a42e5a9
--- /dev/null
+++ b/snippets/f90-mode/re
@@ -0,0 +1,5 @@
+# contributor: Li Zhu <http://www.zhuli.name>
+# name: read (*,*)
+# key: re
+# --
+read (${1:*},${2:*}) $0
\ No newline at end of file
diff --git a/snippets/f90-mode/st b/snippets/f90-mode/st
new file mode 100644
index 0000000..eda6f2e
--- /dev/null
+++ b/snippets/f90-mode/st
@@ -0,0 +1,5 @@
+# contributor: Li Zhu <http://www.zhuli.name>
+# name: structure
+# key: st
+# --
+structure $0
\ No newline at end of file
diff --git a/snippets/f90-mode/su b/snippets/f90-mode/su
new file mode 100644
index 0000000..5b3e3cf
--- /dev/null
+++ b/snippets/f90-mode/su
@@ -0,0 +1,5 @@
+# contributor: Li Zhu <http://www.zhuli.name>
+# name: subroutine
+# key: su
+# --
+subroutine $0
\ No newline at end of file
diff --git a/snippets/f90-mode/wr b/snippets/f90-mode/wr
new file mode 100644
index 0000000..0c9b4e6
--- /dev/null
+++ b/snippets/f90-mode/wr
@@ -0,0 +1,5 @@
+# contributor: Li Zhu <http://www.zhuli.name>
+# name: write (*,*)
+# key: wr
+# --
+write (${1:*},${2:*}) $0
\ No newline at end of file
diff --git a/snippets/html-mode/.yas-make-groups 
b/snippets/html-mode/.yas-make-groups
new file mode 100644
index 0000000..e69de29
diff --git a/snippets/html-mode/.yas-parents b/snippets/html-mode/.yas-parents
new file mode 100644
index 0000000..eed5b44
--- /dev/null
+++ b/snippets/html-mode/.yas-parents
@@ -0,0 +1 @@
+text-mode
diff --git a/snippets/html-mode/b.yasnippet b/snippets/html-mode/b.yasnippet
new file mode 100644
index 0000000..c7873ca
--- /dev/null
+++ b/snippets/html-mode/b.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee xahlee.org
+# name: <b>...</b>
+# key: b
+# --
+<b>$0</b>
\ No newline at end of file
diff --git a/snippets/html-mode/body b/snippets/html-mode/body
new file mode 100644
index 0000000..d6c5db3
--- /dev/null
+++ b/snippets/html-mode/body
@@ -0,0 +1,7 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <body>...</body>
+# key: body
+# --
+<body$1>
+  $0
+</body>
\ No newline at end of file
diff --git a/snippets/html-mode/br b/snippets/html-mode/br
new file mode 100644
index 0000000..9305a50
--- /dev/null
+++ b/snippets/html-mode/br
@@ -0,0 +1,5 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <br />
+# key: br
+# --
+<br />
\ No newline at end of file
diff --git a/snippets/html-mode/code b/snippets/html-mode/code
new file mode 100644
index 0000000..96d47e0
--- /dev/null
+++ b/snippets/html-mode/code
@@ -0,0 +1,7 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <code>...</code>
+# key: code
+# --
+<code>
+  $0
+</code>
\ No newline at end of file
diff --git a/snippets/html-mode/code.class b/snippets/html-mode/code.class
new file mode 100644
index 0000000..2d18af7
--- /dev/null
+++ b/snippets/html-mode/code.class
@@ -0,0 +1,7 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <code class="...">...</code>
+# key: code
+# --
+<code class="$1">
+  $0
+</code>
\ No newline at end of file
diff --git a/snippets/html-mode/div b/snippets/html-mode/div
new file mode 100644
index 0000000..bce4c3a
--- /dev/null
+++ b/snippets/html-mode/div
@@ -0,0 +1,4 @@
+# name: <div...>...</div>
+# key: div
+# --
+<div${1: id="${2:some_id}"}${3: class="${4:some_class}"}>$0</div>
\ No newline at end of file
diff --git a/snippets/html-mode/div.class b/snippets/html-mode/div.class
new file mode 100644
index 0000000..e1a4b03
--- /dev/null
+++ b/snippets/html-mode/div.class
@@ -0,0 +1,7 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <div class="...">...</div>
+# key: div
+# --
+<div class="$1">
+  $0
+</div>
\ No newline at end of file
diff --git a/snippets/html-mode/div.id b/snippets/html-mode/div.id
new file mode 100644
index 0000000..8682aa1
--- /dev/null
+++ b/snippets/html-mode/div.id
@@ -0,0 +1,7 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <div id="...">...</div>
+# key: div
+# --
+<div id="$1">
+  $0
+</div>
\ No newline at end of file
diff --git a/snippets/html-mode/div.id-class b/snippets/html-mode/div.id-class
new file mode 100644
index 0000000..452cd9a
--- /dev/null
+++ b/snippets/html-mode/div.id-class
@@ -0,0 +1,7 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <div id="..." class="...">...</div>
+# key: div
+# --
+<div id="$1" class="$2">
+  $0
+</div>
\ No newline at end of file
diff --git a/snippets/html-mode/dov b/snippets/html-mode/dov
new file mode 100644
index 0000000..d3bdc17
--- /dev/null
+++ b/snippets/html-mode/dov
@@ -0,0 +1,12 @@
+# name: <dov...>...</dov>
+# key: dov
+# --
+a mirror up here $3
+
+
+<dov ${1:id="${2:some_id and here comes another nested field: 
${3:nested_shit}}"}>
+    $0
+</dov>
+<dov $1>
+    actually some other shit and $3
+</dov>
\ No newline at end of file
diff --git a/snippets/html-mode/form b/snippets/html-mode/form
new file mode 100644
index 0000000..de06267
--- /dev/null
+++ b/snippets/html-mode/form
@@ -0,0 +1,7 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+#name :<form method="..." id="..." action="..."></form>
+# key: form
+# --
+<form method="$1" id="$2" action="$3">
+  $0
+</form>
\ No newline at end of file
diff --git a/snippets/html-mode/head b/snippets/html-mode/head
new file mode 100644
index 0000000..c5c0d0e9
--- /dev/null
+++ b/snippets/html-mode/head
@@ -0,0 +1,7 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <head>...</head>
+# key: head
+# --
+<head>
+  $0
+</head>
\ No newline at end of file
diff --git a/snippets/html-mode/header/h1 b/snippets/html-mode/header/h1
new file mode 100644
index 0000000..4d21764
--- /dev/null
+++ b/snippets/html-mode/header/h1
@@ -0,0 +1,5 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <h1>...</h1>
+# key: h1
+# --
+<h1>$1</h1>
\ No newline at end of file
diff --git a/snippets/html-mode/header/h2 b/snippets/html-mode/header/h2
new file mode 100644
index 0000000..1cca1d5
--- /dev/null
+++ b/snippets/html-mode/header/h2
@@ -0,0 +1,5 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <h2>...</h2>
+# key: h2
+# --
+<h2>$1</h2>
\ No newline at end of file
diff --git a/snippets/html-mode/header/h3 b/snippets/html-mode/header/h3
new file mode 100644
index 0000000..8e50a6d
--- /dev/null
+++ b/snippets/html-mode/header/h3
@@ -0,0 +1,5 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <h3>...</h3>
+# key: h3
+# --
+<h3>$1</h3>
\ No newline at end of file
diff --git a/snippets/html-mode/header/h4 b/snippets/html-mode/header/h4
new file mode 100644
index 0000000..08c853e
--- /dev/null
+++ b/snippets/html-mode/header/h4
@@ -0,0 +1,5 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <h4>...</h4>
+# key: h4
+# --
+<h4>$1</h4>
\ No newline at end of file
diff --git a/snippets/html-mode/header/h5 b/snippets/html-mode/header/h5
new file mode 100644
index 0000000..951122e
--- /dev/null
+++ b/snippets/html-mode/header/h5
@@ -0,0 +1,5 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <h5>...</h5>
+# key: h5
+# --
+<h5>$1</h5>
\ No newline at end of file
diff --git a/snippets/html-mode/header/h6 b/snippets/html-mode/header/h6
new file mode 100644
index 0000000..f7da2ee
--- /dev/null
+++ b/snippets/html-mode/header/h6
@@ -0,0 +1,5 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <h6>...</h6>
+# key: h6
+# --
+<h6>$1</h6>
\ No newline at end of file
diff --git a/snippets/html-mode/hr b/snippets/html-mode/hr
new file mode 100644
index 0000000..a6eb0ea
--- /dev/null
+++ b/snippets/html-mode/hr
@@ -0,0 +1,5 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <hr />
+# key: hr
+# --
+<hr />
\ No newline at end of file
diff --git a/snippets/html-mode/href b/snippets/html-mode/href
new file mode 100644
index 0000000..b384653
--- /dev/null
+++ b/snippets/html-mode/href
@@ -0,0 +1,5 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <a href="...">...</a>
+# key: href
+# --
+<a href="$1">$2</a>
\ No newline at end of file
diff --git a/snippets/html-mode/html b/snippets/html-mode/html
new file mode 100644
index 0000000..0484de0
--- /dev/null
+++ b/snippets/html-mode/html
@@ -0,0 +1,7 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <html>...</html>
+# key: html
+# --
+<html>
+  $0
+</html>
\ No newline at end of file
diff --git a/snippets/html-mode/html.xmlns b/snippets/html-mode/html.xmlns
new file mode 100644
index 0000000..1b11f35
--- /dev/null
+++ b/snippets/html-mode/html.xmlns
@@ -0,0 +1,7 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <html xmlns="...">...</html>
+# key: html
+# --
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="${1:en}" lang="${2:en}">
+  $0
+</html>
\ No newline at end of file
diff --git a/snippets/html-mode/i.yasnippet b/snippets/html-mode/i.yasnippet
new file mode 100644
index 0000000..ffd051f
--- /dev/null
+++ b/snippets/html-mode/i.yasnippet
@@ -0,0 +1,5 @@
+# contributor: Xah Lee xahlee.org
+# name: <i>...</i>
+# key: i
+# --
+<i>$0</i>
\ No newline at end of file
diff --git a/snippets/html-mode/img b/snippets/html-mode/img
new file mode 100644
index 0000000..e726c00
--- /dev/null
+++ b/snippets/html-mode/img
@@ -0,0 +1,5 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <img src="..." class="..." alt="..." />
+# key: img
+# --
+<img src="$1" class="$2" alt="$3" />
\ No newline at end of file
diff --git a/snippets/html-mode/input b/snippets/html-mode/input
new file mode 100644
index 0000000..2f8c79a
--- /dev/null
+++ b/snippets/html-mode/input
@@ -0,0 +1,5 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <input ... />
+# key: input
+# --
+<input type="$1" name="$2" value="$3" />
\ No newline at end of file
diff --git a/snippets/html-mode/link.stylesheet 
b/snippets/html-mode/link.stylesheet
new file mode 100644
index 0000000..e10ee8b
--- /dev/null
+++ b/snippets/html-mode/link.stylesheet
@@ -0,0 +1,5 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <link stylesheet="..." />
+# key: link
+# --
+<link rel="${1:stylesheet}" href="${2:url}" type="${3:text/css}" 
media="${4:screen}" />
\ No newline at end of file
diff --git a/snippets/html-mode/link.stylesheet-ie 
b/snippets/html-mode/link.stylesheet-ie
new file mode 100644
index 0000000..752f9e9
--- /dev/null
+++ b/snippets/html-mode/link.stylesheet-ie
@@ -0,0 +1,7 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <!--[if IE]><link stylesheet="..." /><![endif]-->
+# key: link
+# --
+<!--[if IE]>
+<link rel="${1:stylesheet}" href="${2:url}" type="${3:text/css}" 
media="${4:screen}" />
+<![endif]-->
\ No newline at end of file
diff --git a/snippets/html-mode/list/dd b/snippets/html-mode/list/dd
new file mode 100644
index 0000000..e48a644
--- /dev/null
+++ b/snippets/html-mode/list/dd
@@ -0,0 +1,5 @@
+# contributor: Rodrigo Setti <rodrigosetti@gmail.com>
+# name: <dd> ... </dd>
+# key: dd
+# --
+<dd>$1</dd>
\ No newline at end of file
diff --git a/snippets/html-mode/list/dl b/snippets/html-mode/list/dl
new file mode 100644
index 0000000..67792ad
--- /dev/null
+++ b/snippets/html-mode/list/dl
@@ -0,0 +1,7 @@
+# contributor: Rodrigo Setti <rodrigosetti@gmail.com>
+# name: <dl> ... </dl>
+# key: dl
+# --
+<dl>
+    $0
+</dl>
\ No newline at end of file
diff --git a/snippets/html-mode/list/dl.id b/snippets/html-mode/list/dl.id
new file mode 100644
index 0000000..b4b92cb
--- /dev/null
+++ b/snippets/html-mode/list/dl.id
@@ -0,0 +1,7 @@
+# contributor: Rodrigo Setti <rodrigosetti@gmail.com>
+# name: <dl> ... </dl>
+# key: dl
+# --
+<dl id="$1">
+    $0
+</dl>
\ No newline at end of file
diff --git a/snippets/html-mode/list/dt b/snippets/html-mode/list/dt
new file mode 100644
index 0000000..85d62e4
--- /dev/null
+++ b/snippets/html-mode/list/dt
@@ -0,0 +1,5 @@
+# contributor: Rodrigo Setti <rodrigosetti@gmail.com>
+# name: <dt> ... </dt>
+# key: dt
+# --
+<dt>$1</dt>
\ No newline at end of file
diff --git a/snippets/html-mode/list/li b/snippets/html-mode/list/li
new file mode 100644
index 0000000..fe7a1f1
--- /dev/null
+++ b/snippets/html-mode/list/li
@@ -0,0 +1,5 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <li>...</li>
+# key: li
+# --
+<li>$1</li>
\ No newline at end of file
diff --git a/snippets/html-mode/list/li.class b/snippets/html-mode/list/li.class
new file mode 100644
index 0000000..7ff0b12
--- /dev/null
+++ b/snippets/html-mode/list/li.class
@@ -0,0 +1,5 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <li class="...">...</li>
+# key: li
+# --
+<li class="$1">$2</li>
\ No newline at end of file
diff --git a/snippets/html-mode/list/ol b/snippets/html-mode/list/ol
new file mode 100644
index 0000000..d4b74ac
--- /dev/null
+++ b/snippets/html-mode/list/ol
@@ -0,0 +1,7 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <ol>...</ol>
+# key: ol
+# --
+<ol>
+  $0
+</ol>
\ No newline at end of file
diff --git a/snippets/html-mode/list/ol.class b/snippets/html-mode/list/ol.class
new file mode 100644
index 0000000..1c037da
--- /dev/null
+++ b/snippets/html-mode/list/ol.class
@@ -0,0 +1,7 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <ol class="...">...</ol>
+# key: ol
+# --
+<ol class="$1">
+  $0
+</ol>
\ No newline at end of file
diff --git a/snippets/html-mode/list/ol.id b/snippets/html-mode/list/ol.id
new file mode 100644
index 0000000..d20101e
--- /dev/null
+++ b/snippets/html-mode/list/ol.id
@@ -0,0 +1,7 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <ol id="...">...</ol>
+# key: ol
+# --
+<ol id="$1">
+  $0
+</ol>
\ No newline at end of file
diff --git a/snippets/html-mode/list/ul b/snippets/html-mode/list/ul
new file mode 100644
index 0000000..4f0a9ae
--- /dev/null
+++ b/snippets/html-mode/list/ul
@@ -0,0 +1,7 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <ul>...</ul>
+# key: ul
+# --
+<ul>
+  $0
+</ul>
\ No newline at end of file
diff --git a/snippets/html-mode/list/ul.class b/snippets/html-mode/list/ul.class
new file mode 100644
index 0000000..e11c736
--- /dev/null
+++ b/snippets/html-mode/list/ul.class
@@ -0,0 +1,7 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <ul class="...">...</ul>
+# key: ul
+# --
+<ul class="$1">
+  $0
+</ul>
\ No newline at end of file
diff --git a/snippets/html-mode/list/ul.id b/snippets/html-mode/list/ul.id
new file mode 100644
index 0000000..014f2d0
--- /dev/null
+++ b/snippets/html-mode/list/ul.id
@@ -0,0 +1,7 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <ul id="...">...</ul>
+# key: ul
+# --
+<ul id="$1">
+  $0
+</ul>
\ No newline at end of file
diff --git a/snippets/html-mode/mailto b/snippets/html-mode/mailto
new file mode 100644
index 0000000..0f1b9aa
--- /dev/null
+++ b/snippets/html-mode/mailto
@@ -0,0 +1,5 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <a href="mailto:...@...";>...</a>
+# key: mailto
+# --
+<a href="mailto:$1@$2";>$0</a>
\ No newline at end of file
diff --git a/snippets/html-mode/meta/doctype b/snippets/html-mode/meta/doctype
new file mode 100644
index 0000000..ab34905
--- /dev/null
+++ b/snippets/html-mode/meta/doctype
@@ -0,0 +1,4 @@
+# name: Doctype HTML 4.01 Strict
+# key: doctype
+# --
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 
"http://www.w3.org/TR/html4/strict.dtd";>
\ No newline at end of file
diff --git a/snippets/html-mode/meta/doctype.xhml1 
b/snippets/html-mode/meta/doctype.xhml1
new file mode 100644
index 0000000..3671cf5
--- /dev/null
+++ b/snippets/html-mode/meta/doctype.xhml1
@@ -0,0 +1,4 @@
+# name: DocType XHTML 1.0 frameset
+# key: doctype
+# --
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd";>
\ No newline at end of file
diff --git a/snippets/html-mode/meta/doctype.xhtml1_1 
b/snippets/html-mode/meta/doctype.xhtml1_1
new file mode 100644
index 0000000..bb3e709
--- /dev/null
+++ b/snippets/html-mode/meta/doctype.xhtml1_1
@@ -0,0 +1,4 @@
+# name: DocType XHTML 1.1
+# key: doctype
+# --
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" 
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd";>
\ No newline at end of file
diff --git a/snippets/html-mode/meta/doctype.xhtml1_strict 
b/snippets/html-mode/meta/doctype.xhtml1_strict
new file mode 100644
index 0000000..4e4c567
--- /dev/null
+++ b/snippets/html-mode/meta/doctype.xhtml1_strict
@@ -0,0 +1,4 @@
+# name: DocType XHTML 1.0 Strict
+# key: doctype
+# --
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
\ No newline at end of file
diff --git a/snippets/html-mode/meta/doctype.xhtml1_transitional 
b/snippets/html-mode/meta/doctype.xhtml1_transitional
new file mode 100644
index 0000000..d1ae7f9
--- /dev/null
+++ b/snippets/html-mode/meta/doctype.xhtml1_transitional
@@ -0,0 +1,4 @@
+# name: DocType XHTML 1.0 Transitional
+# key: doctype
+# --
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
\ No newline at end of file
diff --git a/snippets/html-mode/meta/meta b/snippets/html-mode/meta/meta
new file mode 100644
index 0000000..235eb76
--- /dev/null
+++ b/snippets/html-mode/meta/meta
@@ -0,0 +1,5 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <meta name="..." content="..." />
+# key: meta
+# --
+<meta name="${1:generator}" content="${2:content}" />
\ No newline at end of file
diff --git a/snippets/html-mode/meta/meta.http-equiv 
b/snippets/html-mode/meta/meta.http-equiv
new file mode 100644
index 0000000..ef38ed8
--- /dev/null
+++ b/snippets/html-mode/meta/meta.http-equiv
@@ -0,0 +1,5 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <meta http-equiv="..." content="..." />
+# key: meta
+# --
+<meta http-equiv="${1:Content-Type}" content="${2:text/html; charset=UTF-8}" />
\ No newline at end of file
diff --git a/snippets/html-mode/p b/snippets/html-mode/p
new file mode 100644
index 0000000..69fca09
--- /dev/null
+++ b/snippets/html-mode/p
@@ -0,0 +1,5 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <p>...</p>
+# key: p
+# --
+<p>$1</p>
\ No newline at end of file
diff --git a/snippets/html-mode/pre b/snippets/html-mode/pre
new file mode 100644
index 0000000..040b8f5
--- /dev/null
+++ b/snippets/html-mode/pre
@@ -0,0 +1,7 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <pre>...</pre>
+# key: pre
+# --
+<pre>
+  $0
+</pre>
\ No newline at end of file
diff --git a/snippets/html-mode/q.yasnippet b/snippets/html-mode/q.yasnippet
new file mode 100644
index 0000000..dbaab06
--- /dev/null
+++ b/snippets/html-mode/q.yasnippet
@@ -0,0 +1,7 @@
+# contributor: Xah Lee xahlee.org
+# name: <blockquote>...</blockquote>
+# key: q
+# --
+<blockquote>
+$0
+</blockquote>
\ No newline at end of file
diff --git a/snippets/html-mode/quote b/snippets/html-mode/quote
new file mode 100644
index 0000000..a579067
--- /dev/null
+++ b/snippets/html-mode/quote
@@ -0,0 +1,7 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <blockquote>...</blockquote>
+# key: quote
+# --
+<blockquote>
+  $1
+</blockquote>
\ No newline at end of file
diff --git a/snippets/html-mode/script.javascript 
b/snippets/html-mode/script.javascript
new file mode 100644
index 0000000..c240755
--- /dev/null
+++ b/snippets/html-mode/script.javascript
@@ -0,0 +1,7 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+#name :<script type="text/javascript">...</script>
+# key: script
+# --
+<script type="text/javascript">
+  $0
+</script>
\ No newline at end of file
diff --git a/snippets/html-mode/script.javascript-src 
b/snippets/html-mode/script.javascript-src
new file mode 100644
index 0000000..fd5758d
--- /dev/null
+++ b/snippets/html-mode/script.javascript-src
@@ -0,0 +1,5 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+#name :<script type="text/javascript" src="..."></script>
+# key: script
+# --
+<script type="text/javascript" src="$1"></script>
\ No newline at end of file
diff --git a/snippets/html-mode/span b/snippets/html-mode/span
new file mode 100644
index 0000000..14c2ca7
--- /dev/null
+++ b/snippets/html-mode/span
@@ -0,0 +1,5 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <span>...</span>
+# key: span
+# --
+<span>$1</span>
\ No newline at end of file
diff --git a/snippets/html-mode/span.class b/snippets/html-mode/span.class
new file mode 100644
index 0000000..a496aaa
--- /dev/null
+++ b/snippets/html-mode/span.class
@@ -0,0 +1,5 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <span class="...">...</span>
+# key: span
+# --
+<span class="$1">$2</span>
\ No newline at end of file
diff --git a/snippets/html-mode/span.id b/snippets/html-mode/span.id
new file mode 100644
index 0000000..0dc1ee1
--- /dev/null
+++ b/snippets/html-mode/span.id
@@ -0,0 +1,5 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <span id="...">...</span>
+# key: span
+# --
+<span id="$1">$2</span>
\ No newline at end of file
diff --git a/snippets/html-mode/style b/snippets/html-mode/style
new file mode 100644
index 0000000..e159a34
--- /dev/null
+++ b/snippets/html-mode/style
@@ -0,0 +1,7 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <style type="text/css" media="...">...</style>
+# key: style
+# --
+<style type="text/css" media="${1:screen}">
+  $0
+</style>
\ No newline at end of file
diff --git a/snippets/html-mode/table/table b/snippets/html-mode/table/table
new file mode 100644
index 0000000..b3a180f
--- /dev/null
+++ b/snippets/html-mode/table/table
@@ -0,0 +1,7 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <table ...>...</table>
+# key: table
+# --
+<table width="$1" cellspacing="$2" cellpadding="$3" border="$4">
+  $0
+</table>
\ No newline at end of file
diff --git a/snippets/html-mode/table/td b/snippets/html-mode/table/td
new file mode 100644
index 0000000..a87892e
--- /dev/null
+++ b/snippets/html-mode/table/td
@@ -0,0 +1,5 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <td>...</td>
+# key: td
+# --
+<td$1>$2</td>
\ No newline at end of file
diff --git a/snippets/html-mode/table/th b/snippets/html-mode/table/th
new file mode 100644
index 0000000..0a07ac1
--- /dev/null
+++ b/snippets/html-mode/table/th
@@ -0,0 +1,5 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <th>...</th>
+# key: th
+# --
+<th$1>$2</th>
\ No newline at end of file
diff --git a/snippets/html-mode/table/tr b/snippets/html-mode/table/tr
new file mode 100644
index 0000000..15e8fc3
--- /dev/null
+++ b/snippets/html-mode/table/tr
@@ -0,0 +1,7 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <tr>...</tr>
+# key: tr
+# --
+<tr>
+  $0
+</tr>
\ No newline at end of file
diff --git a/snippets/html-mode/textarea b/snippets/html-mode/textarea
new file mode 100644
index 0000000..650cc51
--- /dev/null
+++ b/snippets/html-mode/textarea
@@ -0,0 +1,5 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <textarea ...></textarea>
+# key: textarea
+# --
+<textarea name="$1" id="$2" rows="$3" cols="$4" tabindex="$5"></textarea>
\ No newline at end of file
diff --git a/snippets/html-mode/title b/snippets/html-mode/title
new file mode 100644
index 0000000..d9d0ddb
--- /dev/null
+++ b/snippets/html-mode/title
@@ -0,0 +1,5 @@
+# contributor: Jimmy Wu <frozenthrone88@gmail.com>
+# name: <title>...</title>
+# key: title
+# --
+<title>$1</title>
\ No newline at end of file
diff --git a/snippets/js-mode/assert.yasnippet 
b/snippets/js-mode/assert.yasnippet
new file mode 100644
index 0000000..59ec614
--- /dev/null
+++ b/snippets/js-mode/assert.yasnippet
@@ -0,0 +1,5 @@
+# -*- mode: snippet -*-
+# name: assert
+# key: assert
+# --
+assert.${1:equal}($0);
diff --git a/snippets/js-mode/cb.yasnippet b/snippets/js-mode/cb.yasnippet
new file mode 100644
index 0000000..9453e6a
--- /dev/null
+++ b/snippets/js-mode/cb.yasnippet
@@ -0,0 +1,7 @@
+# -*- mode: snippet -*-
+# name: cb
+# key: cb
+# --
+function(error, $1){
+$0
+}
diff --git a/snippets/js-mode/com.yasnippet b/snippets/js-mode/com.yasnippet
new file mode 100644
index 0000000..1eff9fe
--- /dev/null
+++ b/snippets/js-mode/com.yasnippet
@@ -0,0 +1,10 @@
+# -*- mode: snippet -*-
+# name: com
+# key: com
+# --
+
+/**
+ * $0
+ * @param {${1:String}} $2
+ * @return {${3:String}}
+ */
diff --git a/snippets/js-mode/describe.yasnippet 
b/snippets/js-mode/describe.yasnippet
new file mode 100644
index 0000000..c40bae7
--- /dev/null
+++ b/snippets/js-mode/describe.yasnippet
@@ -0,0 +1,7 @@
+# -*- mode: snippet -*-
+# name: desc
+# key: desc
+# --
+describe('$1', function(){
+$2
+});
diff --git a/snippets/js-mode/err.snippet b/snippets/js-mode/err.snippet
new file mode 100644
index 0000000..a4b713b
--- /dev/null
+++ b/snippets/js-mode/err.snippet
@@ -0,0 +1,9 @@
+# -*- mode: snippet -*-
+# name: err
+# key: err
+# --
+if(${1:error}){
+  callback($1);
+  return;
+}
+$2
diff --git a/snippets/js-mode/error.snippet b/snippets/js-mode/error.snippet
new file mode 100644
index 0000000..1c99ad2
--- /dev/null
+++ b/snippets/js-mode/error.snippet
@@ -0,0 +1,9 @@
+# -*- mode: snippet -*-
+# name: error
+# key: error
+# --
+if(${1:error}){
+  callback($1);
+  return;
+}
+$2
diff --git a/snippets/js-mode/expect.yasnippet 
b/snippets/js-mode/expect.yasnippet
new file mode 100644
index 0000000..8e0879e
--- /dev/null
+++ b/snippets/js-mode/expect.yasnippet
@@ -0,0 +1,6 @@
+# -*- mode: snippet -*-
+# name: expect
+# key: expect
+# --
+expect($1).to.${2:equal}($3);
+$0
\ No newline at end of file
diff --git a/snippets/js-mode/exports.yasnippet 
b/snippets/js-mode/exports.yasnippet
new file mode 100644
index 0000000..6e183cd
--- /dev/null
+++ b/snippets/js-mode/exports.yasnippet
@@ -0,0 +1,7 @@
+# -*- mode: snippet -*-
+# name: exports
+# key: exports
+# --
+module.exports = {
+$0
+};
diff --git a/snippets/js-mode/fn.yasnippet b/snippets/js-mode/fn.yasnippet
new file mode 100644
index 0000000..67294fc
--- /dev/null
+++ b/snippets/js-mode/fn.yasnippet
@@ -0,0 +1,7 @@
+# -*- mode: snippet -*-
+# name: fn
+# key: fn
+# --
+function$1($2){
+$0
+}
diff --git a/snippets/js-mode/for.yasnippet b/snippets/js-mode/for.yasnippet
new file mode 100644
index 0000000..97d772f
--- /dev/null
+++ b/snippets/js-mode/for.yasnippet
@@ -0,0 +1,9 @@
+# -*- mode: snippet -*-
+# name: for
+# key: for
+# --
+var ${1:i} = ${2:-1}, len = $3.length;
+
+for(; ++$1 < len;){
+  $4
+}
diff --git a/snippets/js-mode/id.yasnippet b/snippets/js-mode/id.yasnippet
new file mode 100644
index 0000000..47f00b9
--- /dev/null
+++ b/snippets/js-mode/id.yasnippet
@@ -0,0 +1,5 @@
+# -*- mode: snippet -*-
+# name: id
+# key: id
+# --
+document.getElementById('$0');
diff --git a/snippets/js-mode/if.yasnippet b/snippets/js-mode/if.yasnippet
new file mode 100644
index 0000000..0fac855
--- /dev/null
+++ b/snippets/js-mode/if.yasnippet
@@ -0,0 +1,7 @@
+# -*- mode: snippet -*-
+# name: if
+# key: if
+# --
+if( ${1} ){
+$0
+}
diff --git a/snippets/js-mode/invoc.yasnippet b/snippets/js-mode/invoc.yasnippet
new file mode 100644
index 0000000..cf46321
--- /dev/null
+++ b/snippets/js-mode/invoc.yasnippet
@@ -0,0 +1,7 @@
+# -*- mode: snippet -*-
+# name: invoc
+# key: invoc
+# --
+(function($1){
+$0
+})($2);
diff --git a/snippets/js-mode/it.yasnippet b/snippets/js-mode/it.yasnippet
new file mode 100644
index 0000000..161d51f
--- /dev/null
+++ b/snippets/js-mode/it.yasnippet
@@ -0,0 +1,7 @@
+# -*- mode: snippet -*-
+# name: it
+# key: it
+# --
+it('$1', function(done){
+$2
+});
diff --git a/snippets/js-mode/log.yasnippet b/snippets/js-mode/log.yasnippet
new file mode 100644
index 0000000..19ff1be
--- /dev/null
+++ b/snippets/js-mode/log.yasnippet
@@ -0,0 +1,5 @@
+# -*- mode: snippet -*-
+# name: log
+# key: log
+# --
+console.${1:log}( $0 );
diff --git a/snippets/js-mode/method.yasnippet 
b/snippets/js-mode/method.yasnippet
new file mode 100644
index 0000000..67fb56a
--- /dev/null
+++ b/snippets/js-mode/method.yasnippet
@@ -0,0 +1,7 @@
+# -*- mode: snippet -*-
+# name: method
+# key: method
+# --
+$1.prototype.$2 = function($3){
+${0}
+};
diff --git a/snippets/js-mode/mod.yasnippet b/snippets/js-mode/mod.yasnippet
new file mode 100644
index 0000000..c1b9867
--- /dev/null
+++ b/snippets/js-mode/mod.yasnippet
@@ -0,0 +1,11 @@
+# -*- mode: snippet -*-
+# name: mod
+# key: mod
+# --
+var $1 = require("${2:$1}")$3
+
+module.exports = {
+  $4: $4$5
+};
+
+$0
diff --git a/snippets/js-mode/prop.yasnippet b/snippets/js-mode/prop.yasnippet
new file mode 100644
index 0000000..dc234c7
--- /dev/null
+++ b/snippets/js-mode/prop.yasnippet
@@ -0,0 +1,19 @@
+# -*- mode: snippet -*-
+# name: prop
+# key: prop
+# --
+
+var $1 = (function(){
+
+  var value = undefined;
+
+  return function $1(newValue){
+
+    if( $1.arguments.length > 0 ){
+      value = newValue;
+    }
+
+    return value;
+  };
+
+})();
diff --git a/snippets/js-mode/proto.yasnippet b/snippets/js-mode/proto.yasnippet
new file mode 100644
index 0000000..c6fe215
--- /dev/null
+++ b/snippets/js-mode/proto.yasnippet
@@ -0,0 +1,5 @@
+# -*- mode: snippet -*-
+# name: proto
+# key: proto
+# --
+$1.prototype.$2 = $0
diff --git a/snippets/js-mode/rq.yasnippet b/snippets/js-mode/rq.yasnippet
new file mode 100644
index 0000000..864534d
--- /dev/null
+++ b/snippets/js-mode/rq.yasnippet
@@ -0,0 +1,5 @@
+# -*- mode: snippet -*-
+# name: rq
+# key: rq
+# --
+$1 = require("${2:$1}")$0
diff --git a/snippets/js-mode/rt.yasnippet b/snippets/js-mode/rt.yasnippet
new file mode 100644
index 0000000..d9a5bdf
--- /dev/null
+++ b/snippets/js-mode/rt.yasnippet
@@ -0,0 +1,5 @@
+# -*- mode: snippet -*-
+# name: rt
+# key: rt
+# --
+return$0;
diff --git a/snippets/js-mode/slice.yasnippet b/snippets/js-mode/slice.yasnippet
new file mode 100644
index 0000000..2dd65be
--- /dev/null
+++ b/snippets/js-mode/slice.yasnippet
@@ -0,0 +1,5 @@
+# -*- mode: snippet -*-
+# name: slice
+# key: slice
+# --
+Array.prototype.slice.${1:call}($0);
diff --git a/snippets/js-mode/super.yasnippet b/snippets/js-mode/super.yasnippet
new file mode 100644
index 0000000..4638026
--- /dev/null
+++ b/snippets/js-mode/super.yasnippet
@@ -0,0 +1,5 @@
+# -*- mode: snippet -*-
+# name: super
+# key: super
+# --
+$1.prototype.${2:constructor}.${3:call}($0);
diff --git a/snippets/js-mode/switch.yasnippet 
b/snippets/js-mode/switch.yasnippet
new file mode 100644
index 0000000..5e4fc3f
--- /dev/null
+++ b/snippets/js-mode/switch.yasnippet
@@ -0,0 +1,7 @@
+# -*- mode: snippet -*-
+# name: switch
+# key: switch
+# --
+switch($1){
+$0
+};
diff --git a/snippets/js-mode/throw.yasnippet b/snippets/js-mode/throw.yasnippet
new file mode 100644
index 0000000..dbef383
--- /dev/null
+++ b/snippets/js-mode/throw.yasnippet
@@ -0,0 +1,5 @@
+# -*- mode: snippet -*-
+# name: throw
+# key: throw
+# --
+throw new Error("$1");
diff --git a/snippets/js-mode/try.yasnippet b/snippets/js-mode/try.yasnippet
new file mode 100644
index 0000000..903378f
--- /dev/null
+++ b/snippets/js-mode/try.yasnippet
@@ -0,0 +1,9 @@
+# -*- mode: snippet -*-
+# name: try
+# key: try
+# --
+try {
+  $1
+} catch(error) {
+  $0
+}
diff --git a/snippets/js-mode/var.yasnippet b/snippets/js-mode/var.yasnippet
new file mode 100644
index 0000000..77d52a5
--- /dev/null
+++ b/snippets/js-mode/var.yasnippet
@@ -0,0 +1,5 @@
+# -*- mode: snippet -*-
+# name: var
+# key: var
+# --
+var $1 = $0
diff --git a/snippets/js-mode/wh.yasnippet b/snippets/js-mode/wh.yasnippet
new file mode 100644
index 0000000..f733ac4
--- /dev/null
+++ b/snippets/js-mode/wh.yasnippet
@@ -0,0 +1,7 @@
+# -*- mode: snippet -*-
+# name: wh
+# key: wh
+# --
+while($1){
+$0
+}
diff --git a/snippets/js-mode/while.yasnippet b/snippets/js-mode/while.yasnippet
new file mode 100644
index 0000000..9eff9df
--- /dev/null
+++ b/snippets/js-mode/while.yasnippet
@@ -0,0 +1,10 @@
+# -*- mode: snippet -*-
+# name: while
+# key: while
+# --
+
+var i = $1.length;
+
+while( i -- ){
+  $0
+}
\ No newline at end of file
diff --git a/snippets/latex-mode/.yas-parents b/snippets/latex-mode/.yas-parents
new file mode 100644
index 0000000..eed5b44
--- /dev/null
+++ b/snippets/latex-mode/.yas-parents
@@ -0,0 +1 @@
+text-mode
diff --git a/snippets/latex-mode/begin b/snippets/latex-mode/begin
new file mode 100644
index 0000000..cb08546
--- /dev/null
+++ b/snippets/latex-mode/begin
@@ -0,0 +1,8 @@
+# contributor: Rodrigo Setti <rodrigosetti@gmail.com>
+# name: \begin{environment} ... \end{environment}
+# key: begin
+# --
+
+\begin{${1:environment}}
+$0
+\end{$1}
\ No newline at end of file
diff --git a/snippets/markdown-mode/+ b/snippets/markdown-mode/+
new file mode 100644
index 0000000..129ce8e
--- /dev/null
+++ b/snippets/markdown-mode/+
@@ -0,0 +1,6 @@
+# name: Unordered List
+# contributor: Peng Deng <dengpeng@gmail.com>
+# key: +
+# --
++ ${1:Text}
++$0
\ No newline at end of file
diff --git a/snippets/markdown-mode/- b/snippets/markdown-mode/-
new file mode 100644
index 0000000..d652207
--- /dev/null
+++ b/snippets/markdown-mode/-
@@ -0,0 +1,6 @@
+# name: Unordered List
+# contributor: Peng Deng <dengpeng@gmail.com>
+# key: -
+# --
+- ${1:Text}
+-$0
\ No newline at end of file
diff --git a/snippets/markdown-mode/.yas-parents 
b/snippets/markdown-mode/.yas-parents
new file mode 100644
index 0000000..eed5b44
--- /dev/null
+++ b/snippets/markdown-mode/.yas-parents
@@ -0,0 +1 @@
+text-mode
diff --git a/snippets/markdown-mode/_ b/snippets/markdown-mode/_
new file mode 100644
index 0000000..7dc839a
--- /dev/null
+++ b/snippets/markdown-mode/_
@@ -0,0 +1,5 @@
+# name: Emphasis
+# contributor: Peng Deng <dengpeng@gmail.com>
+# key: _
+# --
+_${1:Text}_ $0
\ No newline at end of file
diff --git a/snippets/markdown-mode/__ b/snippets/markdown-mode/__
new file mode 100644
index 0000000..c8c14a6
--- /dev/null
+++ b/snippets/markdown-mode/__
@@ -0,0 +1,5 @@
+# name: Strong
+# contributor: Peng Deng <dengpeng@gmail.com>
+# key: __
+# --
+**${1:Text}** $0
\ No newline at end of file
diff --git a/snippets/markdown-mode/` b/snippets/markdown-mode/`
new file mode 100644
index 0000000..d28b42c
--- /dev/null
+++ b/snippets/markdown-mode/`
@@ -0,0 +1,5 @@
+# name: Inline Code
+# contributor: Peng Deng <dengpeng@gmail.com>
+# key: `
+# --
+\`${1:Code}\` $0
\ No newline at end of file
diff --git a/snippets/markdown-mode/h1.1 b/snippets/markdown-mode/h1.1
new file mode 100644
index 0000000..a5f49c4
--- /dev/null
+++ b/snippets/markdown-mode/h1.1
@@ -0,0 +1,7 @@
+# name: Header 1 (#)
+# contributor: Peng Deng <dengpeng@gmail.com>
+# key: h1
+# --
+# ${1:Header 1} #
+
+$0
\ No newline at end of file
diff --git a/snippets/markdown-mode/h1.2 b/snippets/markdown-mode/h1.2
new file mode 100644
index 0000000..050963c
--- /dev/null
+++ b/snippets/markdown-mode/h1.2
@@ -0,0 +1,8 @@
+# name: Header 1 (=)
+# contributor: Peng Deng <dengpeng@gmail.com>
+# key: h1
+# --
+${1:Header 1}
+${1:$(make-string (string-width text) ?\=)}
+
+$0
\ No newline at end of file
diff --git a/snippets/markdown-mode/h2.1 b/snippets/markdown-mode/h2.1
new file mode 100644
index 0000000..c8b3fc1
--- /dev/null
+++ b/snippets/markdown-mode/h2.1
@@ -0,0 +1,7 @@
+# name: Header 2 (##)
+# contributor: Peng Deng <dengpeng@gmail.com>
+# key: h2
+# --
+## ${1:Header 1} ##
+
+$0
\ No newline at end of file
diff --git a/snippets/markdown-mode/h2.2 b/snippets/markdown-mode/h2.2
new file mode 100644
index 0000000..d173bbc
--- /dev/null
+++ b/snippets/markdown-mode/h2.2
@@ -0,0 +1,8 @@
+# name: Header 2 (-)
+# contributor: Peng Deng <dengpeng@gmail.com>
+# key: h2
+# --
+${1:Header 2}
+${1:$(make-string (string-width text) ?\-)}
+
+$0
\ No newline at end of file
diff --git a/snippets/markdown-mode/h3 b/snippets/markdown-mode/h3
new file mode 100644
index 0000000..4daca1e
--- /dev/null
+++ b/snippets/markdown-mode/h3
@@ -0,0 +1,7 @@
+# name: Header 3
+# contributor: Peng Deng <dengpeng@gmail.com>
+# key: h3
+# --
+### ${1:Header 3} ###
+
+$0
\ No newline at end of file
diff --git a/snippets/markdown-mode/h4 b/snippets/markdown-mode/h4
new file mode 100644
index 0000000..513a100
--- /dev/null
+++ b/snippets/markdown-mode/h4
@@ -0,0 +1,7 @@
+# name: Header 4
+# contributor: Peng Deng <dengpeng@gmail.com>
+# key: h4
+# --
+#### ${1:Header 4} ####
+
+$0
\ No newline at end of file
diff --git a/snippets/markdown-mode/h5 b/snippets/markdown-mode/h5
new file mode 100644
index 0000000..51ebc39
--- /dev/null
+++ b/snippets/markdown-mode/h5
@@ -0,0 +1,7 @@
+# name: Header 5
+# contributor: Peng Deng <dengpeng@gmail.com>
+# key: h5
+# --
+##### ${1:Header 5} #####
+
+$0
\ No newline at end of file
diff --git a/snippets/markdown-mode/h6 b/snippets/markdown-mode/h6
new file mode 100644
index 0000000..ebe9eca
--- /dev/null
+++ b/snippets/markdown-mode/h6
@@ -0,0 +1,7 @@
+# name: Header 6
+# contributor: Peng Deng <dengpeng@gmail.com>
+# key: h6
+# --
+###### ${1:Header 6} ######
+
+$0
\ No newline at end of file
diff --git a/snippets/markdown-mode/hr.1 b/snippets/markdown-mode/hr.1
new file mode 100644
index 0000000..3c57bac
--- /dev/null
+++ b/snippets/markdown-mode/hr.1
@@ -0,0 +1,8 @@
+# name: Horizontal Rule (-)
+# contributor: Peng Deng <dengpeng@gmail.com>
+# key: hr
+# --
+
+----------
+
+$0
\ No newline at end of file
diff --git a/snippets/markdown-mode/hr.2 b/snippets/markdown-mode/hr.2
new file mode 100644
index 0000000..9b9545c
--- /dev/null
+++ b/snippets/markdown-mode/hr.2
@@ -0,0 +1,8 @@
+# name: Horizontal Rule (*)
+# contributor: Peng Deng <dengpeng@gmail.com>
+# key: hr
+# --
+
+*******
+
+$0
\ No newline at end of file
diff --git a/snippets/markdown-mode/img b/snippets/markdown-mode/img
new file mode 100644
index 0000000..29b2650
--- /dev/null
+++ b/snippets/markdown-mode/img
@@ -0,0 +1,5 @@
+# name: Image
+# contributor: Peng Deng <dengpeng@gmail.com>
+# key: img
+# --
+![${1:Alt Text}](${2:URL} $3) $0
\ No newline at end of file
diff --git a/snippets/markdown-mode/link b/snippets/markdown-mode/link
new file mode 100644
index 0000000..c45ee19
--- /dev/null
+++ b/snippets/markdown-mode/link
@@ -0,0 +1,5 @@
+# name: Link
+# contributor: Peng Deng <dengpeng@gmail.com>
+# key: link
+# --
+[${1:Link Text}](${2:URL} $3) $0
\ No newline at end of file
diff --git a/snippets/markdown-mode/ol b/snippets/markdown-mode/ol
new file mode 100644
index 0000000..ad1cdd8
--- /dev/null
+++ b/snippets/markdown-mode/ol
@@ -0,0 +1,6 @@
+# name: Ordered List
+# contributor: Peng Deng <dengpeng@gmail.com>
+# key: ol
+# --
+${1:1}. ${2:Text}
+${1:$(number-to-string (1+ (string-to-number text)))}. $0
\ No newline at end of file
diff --git a/snippets/markdown-mode/rimg b/snippets/markdown-mode/rimg
new file mode 100644
index 0000000..5fedc3a
--- /dev/null
+++ b/snippets/markdown-mode/rimg
@@ -0,0 +1,5 @@
+# name: Referenced Image
+# contributor: Peng Deng <dengpeng@gmail.com>
+# key: rimg
+# --
+![${1:Alt Text}][$2] $0
\ No newline at end of file
diff --git a/snippets/markdown-mode/rlb b/snippets/markdown-mode/rlb
new file mode 100644
index 0000000..0bb37e9
--- /dev/null
+++ b/snippets/markdown-mode/rlb
@@ -0,0 +1,6 @@
+# name: Reference Label
+# contributor: Peng Deng <dengpeng@gmail.com>
+# key: rlb
+# --
+[${1:Reference}]: ${2:URL} $3
+$0
\ No newline at end of file
diff --git a/snippets/markdown-mode/rlink b/snippets/markdown-mode/rlink
new file mode 100644
index 0000000..97f41f0
--- /dev/null
+++ b/snippets/markdown-mode/rlink
@@ -0,0 +1,5 @@
+# name: Reference Link
+# contributor: Peng Deng <dengpeng@gmail.com>
+# key: rlink
+# --
+[${1:Link Text}][$2] $0
\ No newline at end of file
diff --git a/snippets/nxml-mode/.yas-make-groups 
b/snippets/nxml-mode/.yas-make-groups
new file mode 100644
index 0000000..e69de29
diff --git a/snippets/nxml-mode/.yas-parents b/snippets/nxml-mode/.yas-parents
new file mode 100644
index 0000000..eed5b44
--- /dev/null
+++ b/snippets/nxml-mode/.yas-parents
@@ -0,0 +1 @@
+text-mode
diff --git a/snippets/nxml-mode/body b/snippets/nxml-mode/body
new file mode 100644
index 0000000..2ed3fcc
--- /dev/null
+++ b/snippets/nxml-mode/body
@@ -0,0 +1,7 @@
+# contributor: Anders Bach Nielsen <abachn@abachn.net>
+# name: <body>...</body>
+# key: body
+# --
+<body$1>
+  $0
+</body>
\ No newline at end of file
diff --git a/snippets/nxml-mode/br b/snippets/nxml-mode/br
new file mode 100644
index 0000000..621bc6c
--- /dev/null
+++ b/snippets/nxml-mode/br
@@ -0,0 +1,5 @@
+# contributor: Anders Bach Nielsen <abachn@abachn.net>
+# name: <br />
+# key: br
+# --
+<br />
\ No newline at end of file
diff --git a/snippets/nxml-mode/code b/snippets/nxml-mode/code
new file mode 100644
index 0000000..36bd62b
--- /dev/null
+++ b/snippets/nxml-mode/code
@@ -0,0 +1,7 @@
+# contributor: Anders Bach Nielsen <abachn@abachn.net>
+# name: <code>...</code>
+# key: code
+# --
+<code>
+  $0
+</code>
\ No newline at end of file
diff --git a/snippets/nxml-mode/div b/snippets/nxml-mode/div
new file mode 100644
index 0000000..07c2526
--- /dev/null
+++ b/snippets/nxml-mode/div
@@ -0,0 +1,5 @@
+# contributor: Anders Bach Nielsen <abachn@abachn.net>
+# name: <div...>...</div>
+# key: div
+# --
+<div$1>$0</div>
\ No newline at end of file
diff --git a/snippets/nxml-mode/form b/snippets/nxml-mode/form
new file mode 100644
index 0000000..7767006
--- /dev/null
+++ b/snippets/nxml-mode/form
@@ -0,0 +1,7 @@
+# contributor: Anders Bach Nielsen <abachn@abachn.net>
+#name :<form method="..." action="..."></form>
+# key: form
+# --
+<form method="$1" action="$2">
+  $0
+</form>
\ No newline at end of file
diff --git a/snippets/nxml-mode/head b/snippets/nxml-mode/head
new file mode 100644
index 0000000..eb6b96b
--- /dev/null
+++ b/snippets/nxml-mode/head
@@ -0,0 +1,7 @@
+# contributor: Anders Bach Nielsen <abachn@abachn.net>
+# name: <head>...</head>
+# key: head
+# --
+<head>
+  $0
+</head>
\ No newline at end of file
diff --git a/snippets/nxml-mode/header/h1 b/snippets/nxml-mode/header/h1
new file mode 100644
index 0000000..328fb89
--- /dev/null
+++ b/snippets/nxml-mode/header/h1
@@ -0,0 +1,5 @@
+# contributor: Anders Bach Nielsen <abachn@abachn.net>
+# name: <h1>...</h1>
+# key: h1
+# --
+<h1>$1</h1>
\ No newline at end of file
diff --git a/snippets/nxml-mode/header/h2 b/snippets/nxml-mode/header/h2
new file mode 100644
index 0000000..3248435
--- /dev/null
+++ b/snippets/nxml-mode/header/h2
@@ -0,0 +1,5 @@
+# contributor: Anders Bach Nielsen <abachn@abachn.net>
+# name: <h2>...</h2>
+# key: h2
+# --
+<h2>$1</h2>
\ No newline at end of file
diff --git a/snippets/nxml-mode/header/h3 b/snippets/nxml-mode/header/h3
new file mode 100644
index 0000000..fe21a71
--- /dev/null
+++ b/snippets/nxml-mode/header/h3
@@ -0,0 +1,5 @@
+# contributor: Anders Bach Nielsen <abachn@abachn.net>
+# name: <h3>...</h3>
+# key: h3
+# --
+<h3>$1</h3>
\ No newline at end of file
diff --git a/snippets/nxml-mode/header/h4 b/snippets/nxml-mode/header/h4
new file mode 100644
index 0000000..bb2c983
--- /dev/null
+++ b/snippets/nxml-mode/header/h4
@@ -0,0 +1,5 @@
+# contributor: Anders Bach Nielsen <abachn@abachn.net>
+# name: <h4>...</h4>
+# key: h4
+# --
+<h4>$1</h4>
\ No newline at end of file
diff --git a/snippets/nxml-mode/header/h5 b/snippets/nxml-mode/header/h5
new file mode 100644
index 0000000..f11e62c
--- /dev/null
+++ b/snippets/nxml-mode/header/h5
@@ -0,0 +1,5 @@
+# contributor: Anders Bach Nielsen <abachn@abachn.net>
+# name: <h5>...</h5>
+# key: h5
+# --
+<h5>$1</h5>
\ No newline at end of file
diff --git a/snippets/nxml-mode/header/h6 b/snippets/nxml-mode/header/h6
new file mode 100644
index 0000000..46f035a
--- /dev/null
+++ b/snippets/nxml-mode/header/h6
@@ -0,0 +1,5 @@
+# contributor: Anders Bach Nielsen <abachn@abachn.net>
+# name: <h6>...</h6>
+# key: h6
+# --
+<h6>$1</h6>
\ No newline at end of file
diff --git a/snippets/nxml-mode/hr b/snippets/nxml-mode/hr
new file mode 100644
index 0000000..b649012
--- /dev/null
+++ b/snippets/nxml-mode/hr
@@ -0,0 +1,5 @@
+# contributor: Anders Bach Nielsen <abachn@abachn.net>
+# name: <hr />
+# key: hr
+# --
+<hr />
\ No newline at end of file
diff --git a/snippets/nxml-mode/href b/snippets/nxml-mode/href
new file mode 100644
index 0000000..8fea09c
--- /dev/null
+++ b/snippets/nxml-mode/href
@@ -0,0 +1,5 @@
+# contributor: Anders Bach Nielsen <abachn@abachn.net>
+# name: <a href="...">...</a>
+# key: href
+# --
+<a href="$1">$2</a>
\ No newline at end of file
diff --git a/snippets/nxml-mode/html b/snippets/nxml-mode/html
new file mode 100644
index 0000000..27a19ca
--- /dev/null
+++ b/snippets/nxml-mode/html
@@ -0,0 +1,7 @@
+# contributor: Anders Bach Nielsen <abachn@abachn.net>
+# name: <html xmlns="...">...</html>
+# key: html
+# --
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="${1:en}" lang="${2:en}">
+  $0
+</html>
\ No newline at end of file
diff --git a/snippets/nxml-mode/img b/snippets/nxml-mode/img
new file mode 100644
index 0000000..ec62027
--- /dev/null
+++ b/snippets/nxml-mode/img
@@ -0,0 +1,5 @@
+# contributor: Anders Bach Nielsen <abachn@abachn.net>
+# name: <img src="..." alt="..." />
+# key: img
+# --
+<img src="$1" alt="$2" />
\ No newline at end of file
diff --git a/snippets/nxml-mode/input b/snippets/nxml-mode/input
new file mode 100644
index 0000000..8745e33
--- /dev/null
+++ b/snippets/nxml-mode/input
@@ -0,0 +1,5 @@
+# contributor: Anders Bach Nielsen <abachn@abachn.net>
+# name: <input ... />
+# key: input
+# --
+<input type="$1" name="$2" value="$3" />
\ No newline at end of file
diff --git a/snippets/nxml-mode/li b/snippets/nxml-mode/li
new file mode 100644
index 0000000..dc5e8a4
--- /dev/null
+++ b/snippets/nxml-mode/li
@@ -0,0 +1,5 @@
+# contributor: Anders Bach Nielsen <abachn@abachn.net>
+# name: <li>...</li>
+# key: li
+# --
+<li>$1</li>
\ No newline at end of file
diff --git a/snippets/nxml-mode/link b/snippets/nxml-mode/link
new file mode 100644
index 0000000..4102f54
--- /dev/null
+++ b/snippets/nxml-mode/link
@@ -0,0 +1,5 @@
+# contributor: Anders Bach Nielsen <abachn@abachn.net>
+# name: <link stylesheet="..." />
+# key: link
+# --
+<link rel="${1:stylesheet}" href="${2:url}" type="${3:text/css}" 
media="${4:screen}" />
\ No newline at end of file
diff --git a/snippets/nxml-mode/meta/doctype b/snippets/nxml-mode/meta/doctype
new file mode 100644
index 0000000..041cca3
--- /dev/null
+++ b/snippets/nxml-mode/meta/doctype
@@ -0,0 +1,5 @@
+# contributor: Anders Bach Nielsen <abachn@abachn.net>
+# name: DocType XHTML 1.1
+# key: doctype
+# --
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" 
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd";>
\ No newline at end of file
diff --git a/snippets/nxml-mode/meta/doctype.xhtml1_strict 
b/snippets/nxml-mode/meta/doctype.xhtml1_strict
new file mode 100644
index 0000000..775cb1f
--- /dev/null
+++ b/snippets/nxml-mode/meta/doctype.xhtml1_strict
@@ -0,0 +1,5 @@
+# contributor: Anders Bach Nielsen <abachn@abachn.net>
+# name: DocType XHTML 1.0 Strict
+# key: doctype
+# --
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
\ No newline at end of file
diff --git a/snippets/nxml-mode/meta/doctype.xhtml1_transitional 
b/snippets/nxml-mode/meta/doctype.xhtml1_transitional
new file mode 100644
index 0000000..e09447a
--- /dev/null
+++ b/snippets/nxml-mode/meta/doctype.xhtml1_transitional
@@ -0,0 +1,5 @@
+# contributor: Anders Bach Nielsen <abachn@abachn.net>
+# name: DocType XHTML 1.0 Transitional
+# key: doctype
+# --
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
\ No newline at end of file
diff --git a/snippets/nxml-mode/meta/meta b/snippets/nxml-mode/meta/meta
new file mode 100644
index 0000000..b94b7c3
--- /dev/null
+++ b/snippets/nxml-mode/meta/meta
@@ -0,0 +1,5 @@
+# contributor: Anders Bach Nielsen <abachn@abachn.net>
+# name: <meta name="..." content="..." />
+# key: meta
+# --
+<meta name="${1:generator}" content="${2:content}" />
\ No newline at end of file
diff --git a/snippets/nxml-mode/name b/snippets/nxml-mode/name
new file mode 100644
index 0000000..754da4b
--- /dev/null
+++ b/snippets/nxml-mode/name
@@ -0,0 +1,5 @@
+# contributor: Anders Bach Nielsen <abachn@abachn.net>
+# name: <a name="..."></a>
+# key: name
+# --
+<a name="$1"></a>
\ No newline at end of file
diff --git a/snippets/nxml-mode/ol b/snippets/nxml-mode/ol
new file mode 100644
index 0000000..b08a5ad
--- /dev/null
+++ b/snippets/nxml-mode/ol
@@ -0,0 +1,7 @@
+# contributor: Anders Bach Nielsen <abachn@abachn.net>
+# name: <ol>...</ol>
+# key: ol
+# --
+<ol>
+  $0
+</ol>
\ No newline at end of file
diff --git a/snippets/nxml-mode/p b/snippets/nxml-mode/p
new file mode 100644
index 0000000..4cb9efe
--- /dev/null
+++ b/snippets/nxml-mode/p
@@ -0,0 +1,5 @@
+# contributor: Anders Bach Nielsen <abachn@abachn.net>
+# name: <p>...</p>
+# key: p
+# --
+<p>$1</p>
\ No newline at end of file
diff --git a/snippets/nxml-mode/pre b/snippets/nxml-mode/pre
new file mode 100644
index 0000000..97b9519
--- /dev/null
+++ b/snippets/nxml-mode/pre
@@ -0,0 +1,7 @@
+# contributor: Anders Bach Nielsen <abachn@abachn.net>
+# name: <pre>...</pre>
+# key: pre
+# --
+<pre>
+  $0
+</pre>
\ No newline at end of file
diff --git a/snippets/nxml-mode/quote b/snippets/nxml-mode/quote
new file mode 100644
index 0000000..81fb5d3
--- /dev/null
+++ b/snippets/nxml-mode/quote
@@ -0,0 +1,7 @@
+# contributor: Anders Bach Nielsen <abachn@abachn.net>
+# name: <blockquote>...</blockquote>
+# key: quote
+# --
+<blockquote>
+  $1
+</blockquote>
\ No newline at end of file
diff --git a/snippets/nxml-mode/span b/snippets/nxml-mode/span
new file mode 100644
index 0000000..d31a222
--- /dev/null
+++ b/snippets/nxml-mode/span
@@ -0,0 +1,5 @@
+# contributor: Anders Bach Nielsen <abachn@abachn.net>
+# name: <span>...</span>
+# key: span
+# --
+<span>$1</span>
\ No newline at end of file
diff --git a/snippets/nxml-mode/style b/snippets/nxml-mode/style
new file mode 100644
index 0000000..d3b1f87
--- /dev/null
+++ b/snippets/nxml-mode/style
@@ -0,0 +1,7 @@
+# contributor: Anders Bach Nielsen <abachn@abachn.net>
+# name: <style type="text/css" media="...">...</style>
+# key: style
+# --
+<style type="text/css" media="${1:screen}">
+  $0
+</style>
\ No newline at end of file
diff --git a/snippets/nxml-mode/table b/snippets/nxml-mode/table
new file mode 100644
index 0000000..11f8d0c
--- /dev/null
+++ b/snippets/nxml-mode/table
@@ -0,0 +1,7 @@
+# contributor: Anders Bach Nielsen <abachn@abachn.net>
+# name: <table>...</table>
+# key: table
+# --
+<table>
+  $0
+</table>
\ No newline at end of file
diff --git a/snippets/nxml-mode/tag.1l b/snippets/nxml-mode/tag.1l
new file mode 100644
index 0000000..5a7268e
--- /dev/null
+++ b/snippets/nxml-mode/tag.1l
@@ -0,0 +1,5 @@
+# contributor: Anders Bach Nielsen <abachn@abachn.net>
+# name: <tag>...</tag>
+# key: tag
+# --
+<${1:tag}>$2</$1>$0
\ No newline at end of file
diff --git a/snippets/nxml-mode/tag.2l b/snippets/nxml-mode/tag.2l
new file mode 100644
index 0000000..0b58b0d
--- /dev/null
+++ b/snippets/nxml-mode/tag.2l
@@ -0,0 +1,7 @@
+# contributor: Anders Bach Nielsen <abachn@abachn.net>
+# name: <tag> \n...\n</tag>
+# key: tag
+# --
+<${1:tag}>
+  $2
+</$1>$0
\ No newline at end of file
diff --git a/snippets/nxml-mode/td b/snippets/nxml-mode/td
new file mode 100644
index 0000000..23af321
--- /dev/null
+++ b/snippets/nxml-mode/td
@@ -0,0 +1,5 @@
+# contributor: Anders Bach Nielsen <abachn@abachn.net>
+# name: <td>...</td>
+# key: td
+# --
+<td$1>$2</td>
\ No newline at end of file
diff --git a/snippets/nxml-mode/th b/snippets/nxml-mode/th
new file mode 100644
index 0000000..115882e
--- /dev/null
+++ b/snippets/nxml-mode/th
@@ -0,0 +1,5 @@
+# contributor: Anders Bach Nielsen <abachn@abachn.net>
+# name: <th>...</th>
+# key: th
+# --
+<th$1>$2</th>
\ No newline at end of file
diff --git a/snippets/nxml-mode/title b/snippets/nxml-mode/title
new file mode 100644
index 0000000..22c9b01
--- /dev/null
+++ b/snippets/nxml-mode/title
@@ -0,0 +1,5 @@
+# contributor: Anders Bach Nielsen <abachn@abachn.net>
+# name: <title>...</title>
+# key: title
+# --
+<title>$1</title>
\ No newline at end of file
diff --git a/snippets/nxml-mode/tr b/snippets/nxml-mode/tr
new file mode 100644
index 0000000..2689e8c
--- /dev/null
+++ b/snippets/nxml-mode/tr
@@ -0,0 +1,7 @@
+# contributor: Anders Bach Nielsen <abachn@abachn.net>
+# name: <tr>...</tr>
+# key: tr
+# --
+<tr>
+  $0
+</tr>
\ No newline at end of file
diff --git a/snippets/nxml-mode/ul b/snippets/nxml-mode/ul
new file mode 100644
index 0000000..f6f5fba
--- /dev/null
+++ b/snippets/nxml-mode/ul
@@ -0,0 +1,7 @@
+# contributor: Anders Bach Nielsen <abachn@abachn.net>
+# name: <ul>...</ul>
+# key: ul
+# --
+<ul>
+  $0
+</ul>
\ No newline at end of file
diff --git a/snippets/objc-mode/.yas-parents b/snippets/objc-mode/.yas-parents
new file mode 100644
index 0000000..ce9828b
--- /dev/null
+++ b/snippets/objc-mode/.yas-parents
@@ -0,0 +1 @@
+cc-mode
diff --git a/snippets/objc-mode/prop b/snippets/objc-mode/prop
new file mode 100644
index 0000000..1a74edb
--- /dev/null
+++ b/snippets/objc-mode/prop
@@ -0,0 +1,14 @@
+# name: foo { ... } ; setFoo { ... }
+# key: prop
+# --
+- (${1:id})${2:foo}
+{
+    return $2;
+}
+
+- (void)set${2:$(capitalize text)}:($1)aValue
+{
+    [$2 autorelease];
+    $2 = [aValue retain];
+}
+$0
\ No newline at end of file
diff --git a/snippets/perl-mode/.yas-parents b/snippets/perl-mode/.yas-parents
new file mode 100644
index 0000000..eed5b44
--- /dev/null
+++ b/snippets/perl-mode/.yas-parents
@@ -0,0 +1 @@
+text-mode
diff --git a/snippets/perl-mode/eval b/snippets/perl-mode/eval
new file mode 100644
index 0000000..a484014
--- /dev/null
+++ b/snippets/perl-mode/eval
@@ -0,0 +1,9 @@
+# name: eval { ... } if ($@) { ... }
+# key: eval
+# --
+eval {
+    ${1:# do something risky...}
+};
+if (\$@) {
+    ${2:# handle failure...}
+}
\ No newline at end of file
diff --git a/snippets/perl-mode/for b/snippets/perl-mode/for
new file mode 100644
index 0000000..1ba240f
--- /dev/null
+++ b/snippets/perl-mode/for
@@ -0,0 +1,6 @@
+# name: for (...) { ... }
+# key: for
+# --
+for (my \$${1:var} = 0; \$$1 < ${2:expression}; \$$1++) {
+    ${3:# body...}
+}
\ No newline at end of file
diff --git a/snippets/perl-mode/fore b/snippets/perl-mode/fore
new file mode 100644
index 0000000..c3b81d5
--- /dev/null
+++ b/snippets/perl-mode/fore
@@ -0,0 +1,6 @@
+# name: foreach ... { ... }
+# key: fore
+# --
+foreach my \$${1:x} (@${2:array}) {
+    ${3:# body...}
+}
\ No newline at end of file
diff --git a/snippets/perl-mode/if b/snippets/perl-mode/if
new file mode 100644
index 0000000..567db90
--- /dev/null
+++ b/snippets/perl-mode/if
@@ -0,0 +1,6 @@
+# name: if (...) { ... }
+# key: if
+# --
+if ($1) {
+    $0
+}
\ No newline at end of file
diff --git a/snippets/perl-mode/ife b/snippets/perl-mode/ife
new file mode 100644
index 0000000..f278f21
--- /dev/null
+++ b/snippets/perl-mode/ife
@@ -0,0 +1,8 @@
+# name: if (...) { ... } else { ... }
+# key: ife
+# --
+if ($1) {
+    $2
+} else {
+    $3
+}
\ No newline at end of file
diff --git a/snippets/perl-mode/ifee b/snippets/perl-mode/ifee
new file mode 100644
index 0000000..d1bf237
--- /dev/null
+++ b/snippets/perl-mode/ifee
@@ -0,0 +1,10 @@
+# name: if, elsif, else ...
+# key: ifee
+# --
+if ($1) {
+       ${2:# body...}
+} elsif ($3) {
+       ${4:# elsif...}
+} else {
+       ${5:# else...}
+}
\ No newline at end of file
diff --git a/snippets/perl-mode/sub b/snippets/perl-mode/sub
new file mode 100644
index 0000000..05607d6
--- /dev/null
+++ b/snippets/perl-mode/sub
@@ -0,0 +1,6 @@
+# name: sub ... { ... }
+# key: sub
+# --
+sub ${1:function_name} {
+    $0
+}
\ No newline at end of file
diff --git a/snippets/perl-mode/unless b/snippets/perl-mode/unless
new file mode 100644
index 0000000..f91a652
--- /dev/null
+++ b/snippets/perl-mode/unless
@@ -0,0 +1,6 @@
+# name: unless (...) { ... }
+# key: unless
+# --
+unless ($1) {
+    $0
+}
\ No newline at end of file
diff --git a/snippets/perl-mode/while b/snippets/perl-mode/while
new file mode 100644
index 0000000..2744530
--- /dev/null
+++ b/snippets/perl-mode/while
@@ -0,0 +1,6 @@
+# name: while (...) { ... }
+# key: while
+# --
+while ($1) {
+    $0
+}
\ No newline at end of file
diff --git a/snippets/perl-mode/xfore b/snippets/perl-mode/xfore
new file mode 100644
index 0000000..018e140
--- /dev/null
+++ b/snippets/perl-mode/xfore
@@ -0,0 +1,4 @@
+# name: ... foreach ...
+# key: xfore
+# --
+${1:expression} foreach @${2:array};
\ No newline at end of file
diff --git a/snippets/perl-mode/xif b/snippets/perl-mode/xif
new file mode 100644
index 0000000..ca8b563
--- /dev/null
+++ b/snippets/perl-mode/xif
@@ -0,0 +1,4 @@
+# name: ... if ...
+# key: xif
+# --
+${1:expression} if ${2:condition}
\ No newline at end of file
diff --git a/snippets/perl-mode/xunless b/snippets/perl-mode/xunless
new file mode 100644
index 0000000..dbb7d7d
--- /dev/null
+++ b/snippets/perl-mode/xunless
@@ -0,0 +1,4 @@
+# name: ... unless ...
+# key: xunless
+# --
+${1:expression} unless ${2:condition}
\ No newline at end of file
diff --git a/snippets/perl-mode/xwhile b/snippets/perl-mode/xwhile
new file mode 100644
index 0000000..14c6308
--- /dev/null
+++ b/snippets/perl-mode/xwhile
@@ -0,0 +1,4 @@
+# name: ... while ...
+# key: xwhile
+# --
+${1:expression} while ${2:condition};
\ No newline at end of file
diff --git a/snippets/python-mode/.yas-parents 
b/snippets/python-mode/.yas-parents
new file mode 100644
index 0000000..eed5b44
--- /dev/null
+++ b/snippets/python-mode/.yas-parents
@@ -0,0 +1 @@
+text-mode
diff --git a/snippets/python-mode/__ b/snippets/python-mode/__
new file mode 100644
index 0000000..0253b02
--- /dev/null
+++ b/snippets/python-mode/__
@@ -0,0 +1,4 @@
+# name: __...__
+# key: __
+# --
+__${init}__
\ No newline at end of file
diff --git a/snippets/python-mode/class b/snippets/python-mode/class
new file mode 100644
index 0000000..69a088e
--- /dev/null
+++ b/snippets/python-mode/class
@@ -0,0 +1,55 @@
+# -*- coding: utf-8 -*-
+# name: class
+# contributor: Orestis Markou
+# contributor: Nishio Hirokazu
+# contributor: Yasser González Fernández <yglez@uh.cu>
+# key: class
+# --
+class ${1:ClassName}(${2:object}):
+    """$3
+    """
+
+    def __init__(self, $4):
+        """$5
+        ${4:$
+        (let* ((indent
+                (concat "\n" (make-string (current-column) 32)))
+               (args
+                (mapconcat
+                 '(lambda (x)
+                    (if (not (string= (nth 0 x) ""))
+                        (concat "- " (char-to-string 96) (nth 0 x)
+                                (char-to-string 96) ":")))
+                 (mapcar
+                  '(lambda (x)
+                     (mapcar
+                      (lambda (x)
+                        (replace-regexp-in-string "[[:blank:]]*$" ""
+                         (replace-regexp-in-string "^[[:blank:]]*" "" x))) x))
+                  (mapcar '(lambda (x) (split-string x "="))
+                          (split-string text ",")))
+                 indent)))
+          (if (string= args "")
+              (make-string 3 34)
+            (mapconcat
+             'identity
+             (list "" "Arguments:" args (make-string 3 34))
+             indent)))
+        }
+        ${4:$
+        (mapconcat
+         '(lambda (x)
+            (if (not (string= (nth 0 x) ""))
+                (concat "self._" (nth 0 x) " = " (nth 0 x))))
+         (mapcar
+          '(lambda (x)
+             (mapcar
+              '(lambda (x)
+                 (replace-regexp-in-string "[[:blank:]]*$" ""
+                  (replace-regexp-in-string "^[[:blank:]]*" "" x)))
+              x))
+          (mapcar '(lambda (x) (split-string x "="))
+                  (split-string text ",")))
+         (concat "\n" (make-string (current-column) 32)))
+        }
+        $0
\ No newline at end of file
diff --git a/snippets/python-mode/def b/snippets/python-mode/def
new file mode 100644
index 0000000..ebc5c10
--- /dev/null
+++ b/snippets/python-mode/def
@@ -0,0 +1,36 @@
+# -*- coding: utf-8 -*-
+# name: def
+# contributor: Orestis Markou
+# contributor: Yasser González Fernández <yglez@uh.cu>
+# key: def
+# --
+def ${1:name}($2):
+    """$3
+    ${2:$
+      (let*
+        ((indent
+            (concat "\n" (make-string (current-column) 32)))
+           (args
+            (mapconcat
+             '(lambda (x)
+                (if (not (string= (nth 0 x) ""))
+                    (concat "- " (char-to-string 96) (nth 0 x)
+                            (char-to-string 96) ":")))
+             (mapcar
+              '(lambda (x)
+                 (mapcar
+                  '(lambda (x)
+                     (replace-regexp-in-string "[[:blank:]]*$" ""
+                      (replace-regexp-in-string "^[[:blank:]]*" "" x)))
+                  x))
+              (mapcar '(lambda (x) (split-string x "="))
+                      (split-string text ",")))
+             indent)))
+      (if (string= args "")
+          (make-string 3 34)
+        (mapconcat
+         'identity
+         (list "" "Arguments:" args (make-string 3 34))
+         indent)))
+    }
+    $0
\ No newline at end of file
diff --git a/snippets/python-mode/defm b/snippets/python-mode/defm
new file mode 100644
index 0000000..a2fb5a0
--- /dev/null
+++ b/snippets/python-mode/defm
@@ -0,0 +1,34 @@
+# -*- coding: utf-8 -*-
+# name: defm
+# contributor: Yasser Gonz¨¢lez Fern¨¢ndez <yglez@uh.cu>
+# key: defm
+# --
+def ${1:name}(self, $2):
+    """$3
+    ${2:$
+    (let* ((indent
+            (concat "\n" (make-string (current-column) 32)))
+           (args
+            (mapconcat
+             '(lambda (x)
+                (if (not (string= (nth 0 x) ""))
+                    (concat "- " (char-to-string 96) (nth 0 x)
+                            (char-to-string 96) ":")))
+             (mapcar
+              '(lambda (x)
+                 (mapcar
+                  '(lambda (x)
+                     (replace-regexp-in-string "[[:blank:]]*$" ""
+                      (replace-regexp-in-string "^[[:blank:]]*" "" x)))
+                  x))
+              (mapcar '(lambda (x) (split-string x "="))
+                      (split-string text ",")))
+             indent)))
+      (if (string= args "")
+          (make-string 3 34)
+        (mapconcat
+         'identity
+         (list "" "Arguments:" args (make-string 3 34))
+         indent)))
+    }
+    $0
\ No newline at end of file
diff --git a/snippets/python-mode/for b/snippets/python-mode/for
new file mode 100644
index 0000000..7c78b5e
--- /dev/null
+++ b/snippets/python-mode/for
@@ -0,0 +1,5 @@
+# name: for ... in ... : ...
+# key: for
+# --
+for ${var} in ${collection}:
+    $0
\ No newline at end of file
diff --git a/snippets/python-mode/ifmain b/snippets/python-mode/ifmain
new file mode 100644
index 0000000..68ed20b
--- /dev/null
+++ b/snippets/python-mode/ifmain
@@ -0,0 +1,5 @@
+# name: if __name__ == '__main__': ...
+# key: ifmain
+# --
+if __name__ == '__main__':
+    $0
\ No newline at end of file
diff --git a/snippets/python-mode/prop b/snippets/python-mode/prop
new file mode 100644
index 0000000..ec96633
--- /dev/null
+++ b/snippets/python-mode/prop
@@ -0,0 +1,16 @@
+# contributor: Mads D. Kristensen <madsdk@gmail.com>
+# name: prop
+# key: prop
+# --
+def ${1:foo}():
+   doc = """${2:Doc string}"""
+   def fget(self):
+       return self._$1
+   def fset(self, value):
+       self._$1 = value
+   def fdel(self):
+       del self._$1
+   return locals()
+$1 = property(**$1())
+
+$0
\ No newline at end of file
diff --git a/snippets/python-mode/propg b/snippets/python-mode/propg
new file mode 100644
index 0000000..e89d4e4
--- /dev/null
+++ b/snippets/python-mode/propg
@@ -0,0 +1,10 @@
+# contributor: Julio Carlos Menendez <godinblack@gmail.com>
+# name: _get_foo ... foo=property(...)
+# key: propg
+# --
+def _get_${1:foo}(self):
+    return self._$1
+
+$1 = property(_get_$1)
+
+$0
\ No newline at end of file
diff --git a/snippets/python-mode/propsg b/snippets/python-mode/propsg
new file mode 100644
index 0000000..876c139
--- /dev/null
+++ b/snippets/python-mode/propsg
@@ -0,0 +1,13 @@
+# contributor: Julio Carlos Menendez <godinblack@gmail.com>
+# name: _get_foo ... _set_foo ... foo=property(...)
+# key: propsg
+# --
+def _set_${1:foo}(self, value):
+    self._$1 = value
+
+def _get_$1(self):
+    return self._$1
+
+$1 = property(_get_$1, _set_$1)
+
+$0
\ No newline at end of file
diff --git a/snippets/python-mode/while b/snippets/python-mode/while
new file mode 100644
index 0000000..39452bb
--- /dev/null
+++ b/snippets/python-mode/while
@@ -0,0 +1,5 @@
+# name: while ... : ...
+# key: while
+# --
+while ${condition}:
+    $0
\ No newline at end of file
diff --git a/snippets/rst-mode/.yas-parents b/snippets/rst-mode/.yas-parents
new file mode 100644
index 0000000..eed5b44
--- /dev/null
+++ b/snippets/rst-mode/.yas-parents
@@ -0,0 +1 @@
+text-mode
diff --git a/snippets/rst-mode/chap b/snippets/rst-mode/chap
new file mode 100644
index 0000000..593fc0f
--- /dev/null
+++ b/snippets/rst-mode/chap
@@ -0,0 +1,7 @@
+# name: Chapter title
+# key: chap
+# --
+${1:Chapter}
+${1:$(make-string (string-width text) ?\=)}
+
+$0
\ No newline at end of file
diff --git a/snippets/rst-mode/sec b/snippets/rst-mode/sec
new file mode 100644
index 0000000..c5a60bb
--- /dev/null
+++ b/snippets/rst-mode/sec
@@ -0,0 +1,7 @@
+# name: Section title
+# key: sec
+# --
+${1:Section}
+${1:$(make-string (string-width text) ?\-)}
+
+$0
\ No newline at end of file
diff --git a/snippets/rst-mode/tit b/snippets/rst-mode/tit
new file mode 100644
index 0000000..46ac6b1
--- /dev/null
+++ b/snippets/rst-mode/tit
@@ -0,0 +1,8 @@
+# name: Document title
+# key: tit
+# --
+${1:$(make-string (string-width text) ?\=)}
+${1:Title}
+${1:$(make-string (string-width text) ?\=)}
+
+$0
\ No newline at end of file
diff --git a/snippets/ruby-mode/.yas-make-groups 
b/snippets/ruby-mode/.yas-make-groups
new file mode 100644
index 0000000..e69de29
diff --git a/snippets/ruby-mode/.yas-parents b/snippets/ruby-mode/.yas-parents
new file mode 100644
index 0000000..eed5b44
--- /dev/null
+++ b/snippets/ruby-mode/.yas-parents
@@ -0,0 +1 @@
+text-mode
diff --git a/snippets/ruby-mode/collections/all 
b/snippets/ruby-mode/collections/all
new file mode 100644
index 0000000..c1e3089
--- /dev/null
+++ b/snippets/ruby-mode/collections/all
@@ -0,0 +1,4 @@
+# name: all? { |...| ... }
+# key: all
+# --
+all? { |${e}| $0 }
\ No newline at end of file
diff --git a/snippets/ruby-mode/collections/any 
b/snippets/ruby-mode/collections/any
new file mode 100644
index 0000000..c2d3a4b
--- /dev/null
+++ b/snippets/ruby-mode/collections/any
@@ -0,0 +1,4 @@
+# name: any? { |...| ... }
+# key: any
+# --
+any? { |${e}| $0 }
\ No newline at end of file
diff --git a/snippets/ruby-mode/collections/classify 
b/snippets/ruby-mode/collections/classify
new file mode 100644
index 0000000..363746f
--- /dev/null
+++ b/snippets/ruby-mode/collections/classify
@@ -0,0 +1,4 @@
+# name: classify { |...| ... }
+# key: classify
+# --
+classify { |${e}| $0 }
\ No newline at end of file
diff --git a/snippets/ruby-mode/collections/collect 
b/snippets/ruby-mode/collections/collect
new file mode 100644
index 0000000..fb6aefa
--- /dev/null
+++ b/snippets/ruby-mode/collections/collect
@@ -0,0 +1,4 @@
+# name: collect { |...| ... }
+# key: collect
+# --
+collect { |${e}| $0 }
\ No newline at end of file
diff --git a/snippets/ruby-mode/collections/deli 
b/snippets/ruby-mode/collections/deli
new file mode 100644
index 0000000..2fb3749
--- /dev/null
+++ b/snippets/ruby-mode/collections/deli
@@ -0,0 +1,4 @@
+# name: delete_if { |...| ... }
+# key: deli
+# --
+delete_if { |${e} $0 }
\ No newline at end of file
diff --git a/snippets/ruby-mode/collections/det 
b/snippets/ruby-mode/collections/det
new file mode 100644
index 0000000..5964efb
--- /dev/null
+++ b/snippets/ruby-mode/collections/det
@@ -0,0 +1,4 @@
+# name: detect { |...| ... }
+# key: det
+# --
+detect { |${e}| $0 }
\ No newline at end of file
diff --git a/snippets/ruby-mode/collections/ea 
b/snippets/ruby-mode/collections/ea
new file mode 100644
index 0000000..9f8cf90
--- /dev/null
+++ b/snippets/ruby-mode/collections/ea
@@ -0,0 +1,4 @@
+# name: each { |...| ... }
+# key: ea
+# --
+each { |${e}| $0 }
\ No newline at end of file
diff --git a/snippets/ruby-mode/collections/eac 
b/snippets/ruby-mode/collections/eac
new file mode 100644
index 0000000..9a45e24
--- /dev/null
+++ b/snippets/ruby-mode/collections/eac
@@ -0,0 +1,4 @@
+# name: each_cons(...) { |...| ... }
+# key: eac
+# --
+each_cons(${1:2}) { |${group}| $0 }
\ No newline at end of file
diff --git a/snippets/ruby-mode/collections/eai 
b/snippets/ruby-mode/collections/eai
new file mode 100644
index 0000000..3ad66a7
--- /dev/null
+++ b/snippets/ruby-mode/collections/eai
@@ -0,0 +1,4 @@
+# name: each_index { |i| ... }
+# key: eai
+# --
+each_index { |${i}| $0 }
\ No newline at end of file
diff --git a/snippets/ruby-mode/collections/eav 
b/snippets/ruby-mode/collections/eav
new file mode 100644
index 0000000..cb2ebdc
--- /dev/null
+++ b/snippets/ruby-mode/collections/eav
@@ -0,0 +1,4 @@
+# name: each_value { |val| ... }
+# key: eav
+# --
+each_value { |${val}| $0 }
\ No newline at end of file
diff --git a/snippets/ruby-mode/collections/eawi 
b/snippets/ruby-mode/collections/eawi
new file mode 100644
index 0000000..c3b689a
--- /dev/null
+++ b/snippets/ruby-mode/collections/eawi
@@ -0,0 +1,4 @@
+# name: each_with_index { |e, i| ... }
+# key: eawi
+# --
+each_with_index { |${e}, ${i}| $0 }
\ No newline at end of file
diff --git a/snippets/ruby-mode/collections/inject 
b/snippets/ruby-mode/collections/inject
new file mode 100644
index 0000000..71adb00
--- /dev/null
+++ b/snippets/ruby-mode/collections/inject
@@ -0,0 +1,4 @@
+# name: inject(...) { |...| ... }
+# key: inject
+# --
+inject(${1:0}) { |${2:injection}, ${3:element}| $0 }
\ No newline at end of file
diff --git a/snippets/ruby-mode/collections/reject 
b/snippets/ruby-mode/collections/reject
new file mode 100644
index 0000000..8ba6518
--- /dev/null
+++ b/snippets/ruby-mode/collections/reject
@@ -0,0 +1,4 @@
+# name: reject { |...| ... }
+# key: reject
+# --
+reject { |${1:element}| $0 }
\ No newline at end of file
diff --git a/snippets/ruby-mode/collections/select 
b/snippets/ruby-mode/collections/select
new file mode 100644
index 0000000..ce30ac5
--- /dev/null
+++ b/snippets/ruby-mode/collections/select
@@ -0,0 +1,4 @@
+# name: select { |...| ... }
+# key: select
+# --
+select { |${1:element}| $0 }
\ No newline at end of file
diff --git a/snippets/ruby-mode/collections/zip 
b/snippets/ruby-mode/collections/zip
new file mode 100644
index 0000000..8081d79
--- /dev/null
+++ b/snippets/ruby-mode/collections/zip
@@ -0,0 +1,4 @@
+#name : zip(...) { |...| ... }
+# key: zip
+# --
+zip(${enums}) { |${row}| $0 }
\ No newline at end of file
diff --git a/snippets/ruby-mode/control structure/forin 
b/snippets/ruby-mode/control structure/forin
new file mode 100644
index 0000000..c69f8d6
--- /dev/null
+++ b/snippets/ruby-mode/control structure/forin        
@@ -0,0 +1,6 @@
+# name: for ... in ...; ... end
+# key: forin
+# --
+for ${1:element} in ${2:collection}
+  $0
+end
\ No newline at end of file
diff --git a/snippets/ruby-mode/control structure/if 
b/snippets/ruby-mode/control structure/if
new file mode 100644
index 0000000..b1ad4fc
--- /dev/null
+++ b/snippets/ruby-mode/control structure/if   
@@ -0,0 +1,6 @@
+# name: if ... end
+# key: if
+# --
+if ${1:condition}
+  $0
+end
\ No newline at end of file
diff --git a/snippets/ruby-mode/control structure/ife 
b/snippets/ruby-mode/control structure/ife
new file mode 100644
index 0000000..946b71c
--- /dev/null
+++ b/snippets/ruby-mode/control structure/ife  
@@ -0,0 +1,8 @@
+# name: if ... else ... end
+# key: ife
+# --
+if ${1:condition}
+  $2
+else
+  $3
+end
\ No newline at end of file
diff --git a/snippets/ruby-mode/control structure/tim 
b/snippets/ruby-mode/control structure/tim
new file mode 100644
index 0000000..5844974
--- /dev/null
+++ b/snippets/ruby-mode/control structure/tim  
@@ -0,0 +1,4 @@
+# name: times { |n| ... }
+# key: tim
+# --
+times { |${n}| $0 }
\ No newline at end of file
diff --git a/snippets/ruby-mode/control structure/until 
b/snippets/ruby-mode/control structure/until
new file mode 100644
index 0000000..99d34b5
--- /dev/null
+++ b/snippets/ruby-mode/control structure/until        
@@ -0,0 +1,6 @@
+# name: until ... end
+# key: until
+# --
+until ${condition}
+  $0
+end
\ No newline at end of file
diff --git a/snippets/ruby-mode/control structure/upt 
b/snippets/ruby-mode/control structure/upt
new file mode 100644
index 0000000..cadc40d
--- /dev/null
+++ b/snippets/ruby-mode/control structure/upt  
@@ -0,0 +1,6 @@
+# name: upto(...) { |n| ... }
+# key: upt
+# --
+upto(${n}) { |${i}|
+  $0
+}
\ No newline at end of file
diff --git a/snippets/ruby-mode/control structure/when 
b/snippets/ruby-mode/control structure/when
new file mode 100644
index 0000000..c11b6a5
--- /dev/null
+++ b/snippets/ruby-mode/control structure/when 
@@ -0,0 +1,6 @@
+# name: when ... end
+# key: when
+# --
+when ${condition}
+  $0
+end
\ No newline at end of file
diff --git a/snippets/ruby-mode/control structure/while 
b/snippets/ruby-mode/control structure/while
new file mode 100644
index 0000000..920a08a
--- /dev/null
+++ b/snippets/ruby-mode/control structure/while        
@@ -0,0 +1,6 @@
+# name: while ... end
+# key: while
+# --
+while ${condition}
+  $0
+end
\ No newline at end of file
diff --git a/snippets/ruby-mode/definitions/Comp 
b/snippets/ruby-mode/definitions/Comp
new file mode 100644
index 0000000..112ebae
--- /dev/null
+++ b/snippets/ruby-mode/definitions/Comp
@@ -0,0 +1,8 @@
+# name: include Comparable; def <=> ... end
+# key: Comp
+# --
+include Comparable
+
+def <=> other
+  $0
+end
\ No newline at end of file
diff --git a/snippets/ruby-mode/definitions/am 
b/snippets/ruby-mode/definitions/am
new file mode 100644
index 0000000..c6b846d
--- /dev/null
+++ b/snippets/ruby-mode/definitions/am
@@ -0,0 +1,4 @@
+# name: alias_method new, old
+# key: am
+# --
+alias_method :${new_name}, :${old_name}
\ No newline at end of file
diff --git a/snippets/ruby-mode/definitions/cla 
b/snippets/ruby-mode/definitions/cla
new file mode 100644
index 0000000..d2c8ff8
--- /dev/null
+++ b/snippets/ruby-mode/definitions/cla
@@ -0,0 +1,6 @@
+# name: class << self ... end
+# key: cla
+# --
+class << ${self}
+  $0
+end
\ No newline at end of file
diff --git a/snippets/ruby-mode/definitions/cls 
b/snippets/ruby-mode/definitions/cls
new file mode 100644
index 0000000..19754a7
--- /dev/null
+++ b/snippets/ruby-mode/definitions/cls
@@ -0,0 +1,13 @@
+# name: class ... end
+# contributor: hitesh <hitesh.jasani@gmail.com>
+# key: cls
+# --
+class ${1:`(let ((fn (capitalize (file-name-nondirectory
+                                 (file-name-sans-extension
+                                (or (buffer-file-name)
+                                    (buffer-name (current-buffer))))))))
+           (cond
+             ((string-match "_" fn) (replace-match "" nil nil fn))
+              (t fn)))`}
+  $0
+end
\ No newline at end of file
diff --git a/snippets/ruby-mode/definitions/mm 
b/snippets/ruby-mode/definitions/mm
new file mode 100644
index 0000000..752b3ce
--- /dev/null
+++ b/snippets/ruby-mode/definitions/mm
@@ -0,0 +1,6 @@
+# name: def method_missing ... end
+# key: mm
+# --
+def method_missing(method, *args)
+  $0
+end
\ No newline at end of file
diff --git a/snippets/ruby-mode/definitions/mod 
b/snippets/ruby-mode/definitions/mod
new file mode 100644
index 0000000..118400c
--- /dev/null
+++ b/snippets/ruby-mode/definitions/mod
@@ -0,0 +1,13 @@
+# name: module ... end
+# contributor: hitesh <hitesh.jasani@gmail.com>, jimeh <contact@jimeh.me>
+# key: mod
+# --
+module ${1:`(let ((fn (capitalize (file-name-nondirectory
+                                 (file-name-sans-extension
+         (or (buffer-file-name)
+             (buffer-name (current-buffer))))))))
+           (cond
+             ((string-match "_" fn) (replace-match "" nil nil fn))
+              (t fn)))`}
+  $0
+end
\ No newline at end of file
diff --git a/snippets/ruby-mode/definitions/r b/snippets/ruby-mode/definitions/r
new file mode 100644
index 0000000..5f9c093
--- /dev/null
+++ b/snippets/ruby-mode/definitions/r
@@ -0,0 +1,4 @@
+# name: attr_reader ...
+# key: r
+# --
+attr_reader :
\ No newline at end of file
diff --git a/snippets/ruby-mode/definitions/rw 
b/snippets/ruby-mode/definitions/rw
new file mode 100644
index 0000000..ac72bcf
--- /dev/null
+++ b/snippets/ruby-mode/definitions/rw
@@ -0,0 +1,4 @@
+# name: attr_accessor ...
+# key: rw
+# --
+attr_accessor :
\ No newline at end of file
diff --git a/snippets/ruby-mode/definitions/w b/snippets/ruby-mode/definitions/w
new file mode 100644
index 0000000..a2f95c8
--- /dev/null
+++ b/snippets/ruby-mode/definitions/w
@@ -0,0 +1,4 @@
+# name: attr_writer ...
+# key: w
+# --
+attr_writer :
\ No newline at end of file
diff --git a/snippets/ruby-mode/general/# b/snippets/ruby-mode/general/#
new file mode 100644
index 0000000..6e9c0e0
--- /dev/null
+++ b/snippets/ruby-mode/general/#
@@ -0,0 +1,4 @@
+# name: # =>
+# key: #
+# --
+# =>
\ No newline at end of file
diff --git a/snippets/ruby-mode/general/=b b/snippets/ruby-mode/general/=b
new file mode 100644
index 0000000..4334e9b
--- /dev/null
+++ b/snippets/ruby-mode/general/=b
@@ -0,0 +1,6 @@
+# name: =begin rdoc ... =end
+# key: =b
+# --
+=begin rdoc
+  $0
+=end
\ No newline at end of file
diff --git a/snippets/ruby-mode/general/app b/snippets/ruby-mode/general/app
new file mode 100644
index 0000000..6d5f488
--- /dev/null
+++ b/snippets/ruby-mode/general/app
@@ -0,0 +1,6 @@
+# name: if __FILE__ == $PROGRAM_NAME ... end
+# key: app
+# --
+if __FILE__ == $PROGRAM_NAME
+  $0
+end
\ No newline at end of file
diff --git a/snippets/ruby-mode/general/bm b/snippets/ruby-mode/general/bm
new file mode 100644
index 0000000..83907d2
--- /dev/null
+++ b/snippets/ruby-mode/general/bm
@@ -0,0 +1,6 @@
+# name: Benchmark.bmbm(...) do ... end
+# key: bm
+# --
+Benchmark.bmbm(${1:10}) do |x|
+  $0
+end
\ No newline at end of file
diff --git a/snippets/ruby-mode/general/case b/snippets/ruby-mode/general/case
new file mode 100644
index 0000000..f7ecb21
--- /dev/null
+++ b/snippets/ruby-mode/general/case
@@ -0,0 +1,7 @@
+# name: case ... end
+# key: case
+# --
+case ${1:object}
+when ${2:condition}
+  $0
+end
\ No newline at end of file
diff --git a/snippets/ruby-mode/general/dee b/snippets/ruby-mode/general/dee
new file mode 100644
index 0000000..d3bf695
--- /dev/null
+++ b/snippets/ruby-mode/general/dee
@@ -0,0 +1,4 @@
+# name: deep_copy(...)
+# key: dee
+# --
+Marshal.load(Marshal.dump($0))
\ No newline at end of file
diff --git a/snippets/ruby-mode/general/rb b/snippets/ruby-mode/general/rb
new file mode 100644
index 0000000..55a5ac6
--- /dev/null
+++ b/snippets/ruby-mode/general/rb
@@ -0,0 +1,4 @@
+# name: /usr/bin/ruby -wKU
+# key: rb
+# --
+#!/usr/bin/ruby -wKU
\ No newline at end of file
diff --git a/snippets/ruby-mode/general/req b/snippets/ruby-mode/general/req
new file mode 100644
index 0000000..464b521
--- /dev/null
+++ b/snippets/ruby-mode/general/req
@@ -0,0 +1,4 @@
+# name: require "..."
+# key: req
+# --
+require "$0"
\ No newline at end of file
diff --git a/snippets/ruby-mode/general/rreq b/snippets/ruby-mode/general/rreq
new file mode 100644
index 0000000..b676648
--- /dev/null
+++ b/snippets/ruby-mode/general/rreq
@@ -0,0 +1,4 @@
+# name: require File.join(File.dirname(__FILE__), ...)
+# key: rreq
+# --
+require File.join(File.dirname(__FILE__), $0)
\ No newline at end of file
diff --git a/snippets/ruby-mode/general/y b/snippets/ruby-mode/general/y
new file mode 100644
index 0000000..0085c9e
--- /dev/null
+++ b/snippets/ruby-mode/general/y
@@ -0,0 +1,4 @@
+# name: :yields: arguments (rdoc)
+# key: y
+# --
+:yields: $0
\ No newline at end of file
diff --git a/snippets/scala-mode/.yas-parents b/snippets/scala-mode/.yas-parents
new file mode 100644
index 0000000..eed5b44
--- /dev/null
+++ b/snippets/scala-mode/.yas-parents
@@ -0,0 +1 @@
+text-mode
diff --git a/snippets/scala-mode/act b/snippets/scala-mode/act
new file mode 100644
index 0000000..d3fc196
--- /dev/null
+++ b/snippets/scala-mode/act
@@ -0,0 +1,11 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: def act = { ..}
+# key: act
+# --
+def act = {
+  loop {
+    react {
+      $0
+    }
+  }
+}
\ No newline at end of file
diff --git a/snippets/scala-mode/act.arg b/snippets/scala-mode/act.arg
new file mode 100644
index 0000000..45369ab
--- /dev/null
+++ b/snippets/scala-mode/act.arg
@@ -0,0 +1,11 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: def act(arg: T) = { ..}
+# key: act
+# --
+def act(${1:arg}: ${2:type}) = {
+  loop {
+    react {
+      $0
+    }
+  }
+}
\ No newline at end of file
diff --git a/snippets/scala-mode/actor b/snippets/scala-mode/actor
new file mode 100644
index 0000000..eb1ecef
--- /dev/null
+++ b/snippets/scala-mode/actor
@@ -0,0 +1,11 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: val a = actor { ..}
+# key: actor
+# --
+val a = actor {
+  loop {
+    react {
+      $0
+    }
+  }
+}
\ No newline at end of file
diff --git a/snippets/scala-mode/ano b/snippets/scala-mode/ano
new file mode 100644
index 0000000..6c78812
--- /dev/null
+++ b/snippets/scala-mode/ano
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: (args) => ...
+# key: ano
+# --
+($1) => ${2:body} $0
\ No newline at end of file
diff --git a/snippets/scala-mode/app b/snippets/scala-mode/app
new file mode 100644
index 0000000..f177cd1
--- /dev/null
+++ b/snippets/scala-mode/app
@@ -0,0 +1,7 @@
+# Author: Anders Bach Nielsen <andersbach.nielsen@epfl.ch>
+# name: object name extends Application
+# key: app
+# --
+object ${1:name} extends Application {
+  $0
+}
\ No newline at end of file
diff --git a/snippets/scala-mode/arr.new b/snippets/scala-mode/arr.new
new file mode 100644
index 0000000..6e17e73
--- /dev/null
+++ b/snippets/scala-mode/arr.new
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: Array[T](..)
+# key: arr
+# --
+Array[${1:value}](${2:args}) $0
\ No newline at end of file
diff --git a/snippets/scala-mode/arr.val-new b/snippets/scala-mode/arr.val-new
new file mode 100644
index 0000000..2736b5f
--- /dev/null
+++ b/snippets/scala-mode/arr.val-new
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: val a = Array[T](..)
+# key: arr
+# --
+val ${1:arr} = Array[${2:value}](${3:args}) $0
\ No newline at end of file
diff --git a/snippets/scala-mode/asof b/snippets/scala-mode/asof
new file mode 100644
index 0000000..4f9550e
--- /dev/null
+++ b/snippets/scala-mode/asof
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: asInstanceOf[T]
+# key: asof
+# --
+asInstanceOf[${1:type}] $0
\ No newline at end of file
diff --git a/snippets/scala-mode/ass b/snippets/scala-mode/ass
new file mode 100644
index 0000000..b4640a3
--- /dev/null
+++ b/snippets/scala-mode/ass
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: assert(x === y)
+# key: ass
+# --
+assert(${1:x} === ${2:y}) $0
\ No newline at end of file
diff --git a/snippets/scala-mode/ass.true b/snippets/scala-mode/ass.true
new file mode 100644
index 0000000..76f8226
--- /dev/null
+++ b/snippets/scala-mode/ass.true
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: assert(true)
+# key: ass
+# --
+assert(true) $0
\ No newline at end of file
diff --git a/snippets/scala-mode/at.author b/snippets/scala-mode/at.author
new file mode 100644
index 0000000..ba70f63
--- /dev/null
+++ b/snippets/scala-mode/at.author
@@ -0,0 +1,5 @@
+# Author: Anders Bach Nielsen <andersbach.nielsen@epfl.ch>
+# name: @author name
+# key: at
+# --
+@author ${1:name} $0
\ No newline at end of file
diff --git a/snippets/scala-mode/at.param b/snippets/scala-mode/at.param
new file mode 100644
index 0000000..89a5b0b
--- /dev/null
+++ b/snippets/scala-mode/at.param
@@ -0,0 +1,5 @@
+# Author: Anders Bach Nielsen <andersbach.nielsen@epfl.ch>
+# name: @param name description
+# key: at
+# --
+@param ${1:name} ${2:description} $0
\ No newline at end of file
diff --git a/snippets/scala-mode/at.return b/snippets/scala-mode/at.return
new file mode 100644
index 0000000..a027516
--- /dev/null
+++ b/snippets/scala-mode/at.return
@@ -0,0 +1,5 @@
+# Author: Anders Bach Nielsen <andersbach.nielsen@epfl.ch>
+# name: @return description
+# key: at
+# --
+@return ${1:description} $0
\ No newline at end of file
diff --git a/snippets/scala-mode/at.version b/snippets/scala-mode/at.version
new file mode 100644
index 0000000..a202706
--- /dev/null
+++ b/snippets/scala-mode/at.version
@@ -0,0 +1,5 @@
+# Author: Anders Bach Nielsen <andersbach.nielsen@epfl.ch>
+# name: @version number
+# key: at
+# --
+@version ${1:0.1} $0
\ No newline at end of file
diff --git a/snippets/scala-mode/bang b/snippets/scala-mode/bang
new file mode 100644
index 0000000..b5c94ad
--- /dev/null
+++ b/snippets/scala-mode/bang
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: actor ! message
+# key: bang
+# --
+${1:actor} ! ${2:message} $0
\ No newline at end of file
diff --git a/snippets/scala-mode/case b/snippets/scala-mode/case
new file mode 100644
index 0000000..aa6da32
--- /dev/null
+++ b/snippets/scala-mode/case
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: case pattern =>
+# key: case
+# --
+case ${1:pattern} => $0
\ No newline at end of file
diff --git a/snippets/scala-mode/case.match-all 
b/snippets/scala-mode/case.match-all
new file mode 100644
index 0000000..013b8f6
--- /dev/null
+++ b/snippets/scala-mode/case.match-all
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: case _ =>
+# key: case
+# --
+case _ => $0
\ No newline at end of file
diff --git a/snippets/scala-mode/cast b/snippets/scala-mode/cast
new file mode 100644
index 0000000..f89a508
--- /dev/null
+++ b/snippets/scala-mode/cast
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: asInstanceOf[T]
+# key: cast
+# --
+asInstanceOf[${1:type}] $0
\ No newline at end of file
diff --git a/snippets/scala-mode/cc b/snippets/scala-mode/cc
new file mode 100644
index 0000000..cfc727c
--- /dev/null
+++ b/snippets/scala-mode/cc
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: case class T(arg: A)
+# key: cc
+# --
+case class ${1:name}(${2:arg}: ${3:type}) $0
\ No newline at end of file
diff --git a/snippets/scala-mode/cl b/snippets/scala-mode/cl
new file mode 100644
index 0000000..d597400
--- /dev/null
+++ b/snippets/scala-mode/cl
@@ -0,0 +1,7 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: class T { .. }
+# key: cl
+# --
+class ${1:name} {
+  $0
+}
\ No newline at end of file
diff --git a/snippets/scala-mode/cl.abs b/snippets/scala-mode/cl.abs
new file mode 100644
index 0000000..9ea9fe2
--- /dev/null
+++ b/snippets/scala-mode/cl.abs
@@ -0,0 +1,7 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: abstract class T { .. }
+# key: cl
+# --
+abstract class ${1:name} {
+  $0
+}
\ No newline at end of file
diff --git a/snippets/scala-mode/cl.abs-arg b/snippets/scala-mode/cl.abs-arg
new file mode 100644
index 0000000..98cf760
--- /dev/null
+++ b/snippets/scala-mode/cl.abs-arg
@@ -0,0 +1,7 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: abstract class T(args) { .. }
+# key: cl
+# --
+abstract class ${1:name}(${2:args}) {
+  $0
+}
\ No newline at end of file
diff --git a/snippets/scala-mode/cl.arg b/snippets/scala-mode/cl.arg
new file mode 100644
index 0000000..1b9d729
--- /dev/null
+++ b/snippets/scala-mode/cl.arg
@@ -0,0 +1,7 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: class T(args) { .. }
+# key: cl
+# --
+class ${1:name}(${2:args}) {
+  $0
+}
\ No newline at end of file
diff --git a/snippets/scala-mode/clof b/snippets/scala-mode/clof
new file mode 100644
index 0000000..7d5a35d
--- /dev/null
+++ b/snippets/scala-mode/clof
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: classOf[T]
+# key: clof
+# --
+classOf[${1:type}] $0
\ No newline at end of file
diff --git a/snippets/scala-mode/co b/snippets/scala-mode/co
new file mode 100644
index 0000000..3ad6f79
--- /dev/null
+++ b/snippets/scala-mode/co
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: case object T
+# key: co
+# --
+case object ${1:name} $0
\ No newline at end of file
diff --git a/snippets/scala-mode/cons b/snippets/scala-mode/cons
new file mode 100644
index 0000000..601a1a4
--- /dev/null
+++ b/snippets/scala-mode/cons
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: element1 :: element2
+# key: cons
+# --
+${1:element1} :: ${2:element2} $0
\ No newline at end of file
diff --git a/snippets/scala-mode/cons.nil b/snippets/scala-mode/cons.nil
new file mode 100644
index 0000000..60ac028
--- /dev/null
+++ b/snippets/scala-mode/cons.nil
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: element1 :: Nil
+# key: cons
+# --
+${1:element1} :: Nil $0
\ No newline at end of file
diff --git a/snippets/scala-mode/def.arg b/snippets/scala-mode/def.arg
new file mode 100644
index 0000000..be5403b
--- /dev/null
+++ b/snippets/scala-mode/def.arg
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: def f(arg: T) = ...
+# key: def
+# --
+def ${1:name}(${2:args}) = $0
\ No newline at end of file
diff --git a/snippets/scala-mode/def.arg-body b/snippets/scala-mode/def.arg-body
new file mode 100644
index 0000000..8dcbb81
--- /dev/null
+++ b/snippets/scala-mode/def.arg-body
@@ -0,0 +1,7 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: def f(arg: T) = {...}
+# key: def
+# --
+def ${1:name}(${2:args}) = {
+  $0
+}
\ No newline at end of file
diff --git a/snippets/scala-mode/def.arg-ret b/snippets/scala-mode/def.arg-ret
new file mode 100644
index 0000000..4ad27ce
--- /dev/null
+++ b/snippets/scala-mode/def.arg-ret
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: def f(arg: T): R = ...
+# key: def
+# --
+def ${1:name}(${2:args}): ${3:Unit} = $0
\ No newline at end of file
diff --git a/snippets/scala-mode/def.arg-ret-body 
b/snippets/scala-mode/def.arg-ret-body
new file mode 100644
index 0000000..2ffcf4b
--- /dev/null
+++ b/snippets/scala-mode/def.arg-ret-body
@@ -0,0 +1,7 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: def f(arg: T): R = {...}
+# key: def
+# --
+def ${1:name}(${2:args}): ${3:Unit} = {
+  $0
+}
\ No newline at end of file
diff --git a/snippets/scala-mode/def.body b/snippets/scala-mode/def.body
new file mode 100644
index 0000000..c43aea4
--- /dev/null
+++ b/snippets/scala-mode/def.body
@@ -0,0 +1,7 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: def f = {...}
+# key: def
+# --
+def ${1:name} = {
+  $0
+}
\ No newline at end of file
diff --git a/snippets/scala-mode/def.ret b/snippets/scala-mode/def.ret
new file mode 100644
index 0000000..719dc69
--- /dev/null
+++ b/snippets/scala-mode/def.ret
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: def f: R = ...
+# key: def
+# --
+def ${1:name}: ${2:Unit} = $0
\ No newline at end of file
diff --git a/snippets/scala-mode/def.ret-body b/snippets/scala-mode/def.ret-body
new file mode 100644
index 0000000..d8ee456
--- /dev/null
+++ b/snippets/scala-mode/def.ret-body
@@ -0,0 +1,7 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: def f: R = {...}
+# key: def
+# --
+def ${1:name}: ${3:Unit} = {
+  $0
+}
\ No newline at end of file
diff --git a/snippets/scala-mode/def.simple b/snippets/scala-mode/def.simple
new file mode 100644
index 0000000..c956bbf
--- /dev/null
+++ b/snippets/scala-mode/def.simple
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: def f = ...
+# key: def
+# --
+def ${1:name} = $0
\ No newline at end of file
diff --git a/snippets/scala-mode/doc.class b/snippets/scala-mode/doc.class
new file mode 100644
index 0000000..9571f1d
--- /dev/null
+++ b/snippets/scala-mode/doc.class
@@ -0,0 +1,9 @@
+# Author: Anders Bach Nielsen <andersbach.nielsen@epfl.ch>
+# name: /** cls/trt/obj name */
+# key: doc
+# --
+/**
+ * `(scala-mode-find-clstrtobj-name-doc)`
+ * ${1:description}
+ * $0
+ */
\ No newline at end of file
diff --git a/snippets/scala-mode/doc.def b/snippets/scala-mode/doc.def
new file mode 100644
index 0000000..53b1968
--- /dev/null
+++ b/snippets/scala-mode/doc.def
@@ -0,0 +1,7 @@
+# Author: Anders Bach Nielsen <andersbach.nielsen@epfl.ch>
+# name: /** method name */
+# key: doc
+# --
+/**
+ * `(scala-mode-def-and-args-doc)`
+ */
\ No newline at end of file
diff --git a/snippets/scala-mode/doc.file b/snippets/scala-mode/doc.file
new file mode 100644
index 0000000..2bc39bf
--- /dev/null
+++ b/snippets/scala-mode/doc.file
@@ -0,0 +1,10 @@
+# Author: Anders Bach Nielsen <andersbach.nielsen@epfl.ch>
+# name: /** file name */
+# key: doc
+# --
+/**
+ * `(scala-mode-file-doc)`
+ * $0
+ * @author ${1:name}
+ * @version ${2:0.1}
+ */
\ No newline at end of file
diff --git a/snippets/scala-mode/doc.file-scala 
b/snippets/scala-mode/doc.file-scala
new file mode 100644
index 0000000..aa9c58f
--- /dev/null
+++ b/snippets/scala-mode/doc.file-scala
@@ -0,0 +1,17 @@
+# Author: Anders Bach Nielsen <andersbach.nielsen@epfl.ch>
+# name: /** scala file */
+# key: doc
+# --
+/*                     __                                               *\
+**     ________ ___   / /  ___     Scala $3                               **
+**    / __/ __// _ | / /  / _ |    (c) 2005-`(format-time-string "%Y")` , 
LAMP/EPFL             **
+**  __\ \/ /__/ __ |/ /__/ __ |    http://scala-lang.org/               **
+** /____/\___/_/ |_/____/_/ | |                                         **
+**                          |/                                          **
+\*                                                                      */
+/**
+ * $0
+ * @author ${1:name}
+ * @version ${2:0.1}
+ * $Id$
+ */
\ No newline at end of file
diff --git a/snippets/scala-mode/doc.file-scala-api 
b/snippets/scala-mode/doc.file-scala-api
new file mode 100644
index 0000000..ffd4d0d
--- /dev/null
+++ b/snippets/scala-mode/doc.file-scala-api
@@ -0,0 +1,17 @@
+# Author: Anders Bach Nielsen <andersbach.nielsen@epfl.ch>
+# name: /** scala api file */
+# key: doc
+# --
+/*                     __                                               *\
+**     ________ ___   / /  ___     Scala API                            **
+**    / __/ __// _ | / /  / _ |    (c) 2005-`(format-time-string "%Y")`, 
LAMP/EPFL             **
+**  __\ \/ /__/ __ |/ /__/ __ |    http://scala-lang.org/               **
+** /____/\___/_/ |_/____/_/ | |                                         **
+**                          |/                                          **
+\*                                                                      */
+/**
+ * $0
+ * @author ${1:name}
+ * @version ${2:0.1}
+ * $Id$
+ */
\ No newline at end of file
diff --git a/snippets/scala-mode/doc.scaladoc b/snippets/scala-mode/doc.scaladoc
new file mode 100644
index 0000000..3d96279
--- /dev/null
+++ b/snippets/scala-mode/doc.scaladoc
@@ -0,0 +1,8 @@
+# Author: Anders Bach Nielsen <andersbach.nielsen@epfl.ch>
+# name: /** ... */
+# key: doc
+# --
+/**
+ * ${1:description}
+ * $0
+ */
\ No newline at end of file
diff --git a/snippets/scala-mode/expect b/snippets/scala-mode/expect
new file mode 100644
index 0000000..b34b4d9
--- /dev/null
+++ b/snippets/scala-mode/expect
@@ -0,0 +1,7 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: expect(value) { ..}
+# key: expect
+# --
+expect(${1:reply}) {
+  $0
+}
\ No newline at end of file
diff --git a/snippets/scala-mode/ext b/snippets/scala-mode/ext
new file mode 100644
index 0000000..06ba476
--- /dev/null
+++ b/snippets/scala-mode/ext
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: extends T
+# key: ext
+# --
+extends $0
\ No newline at end of file
diff --git a/snippets/scala-mode/for.extract b/snippets/scala-mode/for.extract
new file mode 100644
index 0000000..bc6666d
--- /dev/null
+++ b/snippets/scala-mode/for.extract
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: x <- xs
+# key: for
+# --
+${1:x} <- ${2:xs}
\ No newline at end of file
diff --git a/snippets/scala-mode/for.if b/snippets/scala-mode/for.if
new file mode 100644
index 0000000..f812c2c
--- /dev/null
+++ b/snippets/scala-mode/for.if
@@ -0,0 +1,7 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: for (x <- xs if guard) { ... }
+# key: for
+# --
+for (${1:x} <- ${2:xs} if ${3:guard}) {
+  $0
+}
\ No newline at end of file
diff --git a/snippets/scala-mode/for.loop b/snippets/scala-mode/for.loop
new file mode 100644
index 0000000..9b538f7
--- /dev/null
+++ b/snippets/scala-mode/for.loop
@@ -0,0 +1,7 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: for (x <- xs) { ... }
+# key: for
+# --
+for (${1:x} <- ${2:xs}) {
+  $0
+}
\ No newline at end of file
diff --git a/snippets/scala-mode/for.multi b/snippets/scala-mode/for.multi
new file mode 100644
index 0000000..6a1866d
--- /dev/null
+++ b/snippets/scala-mode/for.multi
@@ -0,0 +1,10 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: for {x <- xs \ y <- ys} { yield }
+# key: for
+# --
+for {
+  ${1:x} <- ${2:xs}
+  ${3:x} <- ${4:xs}
+} {
+  yield $0
+}
\ No newline at end of file
diff --git a/snippets/scala-mode/foreach b/snippets/scala-mode/foreach
new file mode 100644
index 0000000..7061201
--- /dev/null
+++ b/snippets/scala-mode/foreach
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: foreach(x => ..)
+# key: foreach
+# --
+foreach(${1:x} => ${2:body}) $0
\ No newline at end of file
diff --git a/snippets/scala-mode/hmap.new b/snippets/scala-mode/hmap.new
new file mode 100644
index 0000000..a675336
--- /dev/null
+++ b/snippets/scala-mode/hmap.new
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: new HashMap[K, V]
+# key: hmap
+# --
+new HashMap[${1:key}, ${2:value}] $0
\ No newline at end of file
diff --git a/snippets/scala-mode/hmap.val-new b/snippets/scala-mode/hmap.val-new
new file mode 100644
index 0000000..6f53fc6
--- /dev/null
+++ b/snippets/scala-mode/hmap.val-new
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: val m = new HashMap[K, V]
+# key: hmap
+# --
+val ${1:m} = new HashMap[${2:key}, ${3:value}] $0
\ No newline at end of file
diff --git a/snippets/scala-mode/hset.new b/snippets/scala-mode/hset.new
new file mode 100644
index 0000000..79e4348
--- /dev/null
+++ b/snippets/scala-mode/hset.new
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: new HashSet[K]
+# key: hset
+# --
+new HashSet[${1:key}] $0
\ No newline at end of file
diff --git a/snippets/scala-mode/hset.val-new b/snippets/scala-mode/hset.val-new
new file mode 100644
index 0000000..9b9cde2
--- /dev/null
+++ b/snippets/scala-mode/hset.val-new
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: val m = new HashSet[K]
+# key: hset
+# --
+val ${1:m} = new HashSet[${2:key}] $0
\ No newline at end of file
diff --git a/snippets/scala-mode/if b/snippets/scala-mode/if
new file mode 100644
index 0000000..d1724ef
--- /dev/null
+++ b/snippets/scala-mode/if
@@ -0,0 +1,7 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: if (cond) { .. }
+# key: if
+# --
+if (${1:condition}) {
+  $0
+}
\ No newline at end of file
diff --git a/snippets/scala-mode/if.else b/snippets/scala-mode/if.else
new file mode 100644
index 0000000..f0210cb
--- /dev/null
+++ b/snippets/scala-mode/if.else
@@ -0,0 +1,9 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: if (cond) { .. } else { .. }
+# key: if
+# --
+if (${1:condition}) {
+  $2
+} else {
+  $0
+}
\ No newline at end of file
diff --git a/snippets/scala-mode/imp b/snippets/scala-mode/imp
new file mode 100644
index 0000000..f5fdee0
--- /dev/null
+++ b/snippets/scala-mode/imp
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: import ..
+# key: imp
+# --
+import $0
\ No newline at end of file
diff --git a/snippets/scala-mode/intercept b/snippets/scala-mode/intercept
new file mode 100644
index 0000000..06eed8d
--- /dev/null
+++ b/snippets/scala-mode/intercept
@@ -0,0 +1,7 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: intercept(classOf[T]) { ..}
+# key: intercept
+# --
+intercept(classOf[${1:Exception]}) {
+  $0
+}
\ No newline at end of file
diff --git a/snippets/scala-mode/isof b/snippets/scala-mode/isof
new file mode 100644
index 0000000..6ab787b4
--- /dev/null
+++ b/snippets/scala-mode/isof
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: isInstanceOf[T]
+# key: isof
+# --
+isInstanceOf[${1:type}] $0
\ No newline at end of file
diff --git a/snippets/scala-mode/ls.new b/snippets/scala-mode/ls.new
new file mode 100644
index 0000000..f231019
--- /dev/null
+++ b/snippets/scala-mode/ls.new
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: List(..)
+# key: ls
+# --
+List(${1:args}, ${2:args}) $0
\ No newline at end of file
diff --git a/snippets/scala-mode/ls.val-new b/snippets/scala-mode/ls.val-new
new file mode 100644
index 0000000..ea660bf
--- /dev/null
+++ b/snippets/scala-mode/ls.val-new
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: val l = List(..)
+# key: ls
+# --
+val ${1:l} = List(${2:args}, ${3:args}) $0
\ No newline at end of file
diff --git a/snippets/scala-mode/main b/snippets/scala-mode/main
new file mode 100644
index 0000000..a9c67e3
--- /dev/null
+++ b/snippets/scala-mode/main
@@ -0,0 +1,7 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: def main(args: Array[String]) = { ... }
+# key: main
+# --
+def main(args: Array[String]) = {
+  $0
+}
\ No newline at end of file
diff --git a/snippets/scala-mode/map b/snippets/scala-mode/map
new file mode 100644
index 0000000..43e2a0b
--- /dev/null
+++ b/snippets/scala-mode/map
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: map(x => ..)
+# key: map
+# --
+map(${1:x} => ${2:body}) $0
\ No newline at end of file
diff --git a/snippets/scala-mode/map.new b/snippets/scala-mode/map.new
new file mode 100644
index 0000000..6c71fce
--- /dev/null
+++ b/snippets/scala-mode/map.new
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: Map(key -> value)
+# key: map
+# --
+Map(${1:key} -> ${2:value}) $0
\ No newline at end of file
diff --git a/snippets/scala-mode/match b/snippets/scala-mode/match
new file mode 100644
index 0000000..44bc725
--- /dev/null
+++ b/snippets/scala-mode/match
@@ -0,0 +1,7 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: cc match { .. }
+# key: match
+# --
+${1:cc} match {
+  case ${2:pattern} => $0
+}
\ No newline at end of file
diff --git a/snippets/scala-mode/match.can b/snippets/scala-mode/match.can
new file mode 100644
index 0000000..e4f15f5
--- /dev/null
+++ b/snippets/scala-mode/match.can
@@ -0,0 +1,12 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: can match { case Full(res) => .. }
+# key: match
+# --
+${1:option} match {
+  case Full(res) => $0
+
+  case Empty =>
+
+  case Failure(msg, _, _) =>
+
+}
\ No newline at end of file
diff --git a/snippets/scala-mode/match.option b/snippets/scala-mode/match.option
new file mode 100644
index 0000000..aa725c9
--- /dev/null
+++ b/snippets/scala-mode/match.option
@@ -0,0 +1,9 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: option match { case None => .. }
+# key: match
+# --
+${1:option} match {
+  case None => $0
+  case Some(res) =>
+
+}
\ No newline at end of file
diff --git a/snippets/scala-mode/mix b/snippets/scala-mode/mix
new file mode 100644
index 0000000..bc78100
--- /dev/null
+++ b/snippets/scala-mode/mix
@@ -0,0 +1,7 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: trait T { .. }
+# key: mix
+# --
+trait ${1:name} {
+  $0
+}
\ No newline at end of file
diff --git a/snippets/scala-mode/ob b/snippets/scala-mode/ob
new file mode 100644
index 0000000..ec4d3a9
--- /dev/null
+++ b/snippets/scala-mode/ob
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: object name extends T
+# key: ob
+# --
+object ${1:name} extends ${2:type} $0
\ No newline at end of file
diff --git a/snippets/scala-mode/pac b/snippets/scala-mode/pac
new file mode 100644
index 0000000..2c51176
--- /dev/null
+++ b/snippets/scala-mode/pac
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: package ..
+# key: pac
+# --
+package $0
\ No newline at end of file
diff --git a/snippets/scala-mode/pr.newline b/snippets/scala-mode/pr.newline
new file mode 100644
index 0000000..093027a
--- /dev/null
+++ b/snippets/scala-mode/pr.newline
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: println(..)
+# key: pr
+# --
+println(${1:obj}) $0
\ No newline at end of file
diff --git a/snippets/scala-mode/pr.simple b/snippets/scala-mode/pr.simple
new file mode 100644
index 0000000..a624140
--- /dev/null
+++ b/snippets/scala-mode/pr.simple
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: print(..)
+# key: pr
+# --
+print(${1:obj}) $0
\ No newline at end of file
diff --git a/snippets/scala-mode/pr.string b/snippets/scala-mode/pr.string
new file mode 100644
index 0000000..130474a
--- /dev/null
+++ b/snippets/scala-mode/pr.string
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: println("..")
+# key: pr
+# --
+println("${1:msg}") $0
\ No newline at end of file
diff --git a/snippets/scala-mode/pr.trace b/snippets/scala-mode/pr.trace
new file mode 100644
index 0000000..8ad92b0
--- /dev/null
+++ b/snippets/scala-mode/pr.trace
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: println("obj: " + obj)
+# key: pr
+# --
+println("${1:obj}: " + ${1:obj}) $0
\ No newline at end of file
diff --git a/snippets/scala-mode/pri b/snippets/scala-mode/pri
new file mode 100644
index 0000000..12dbd45
--- /dev/null
+++ b/snippets/scala-mode/pri
@@ -0,0 +1,5 @@
+#Author : Jonas Bonèr <jonas@jonasboner.com>
+#name : private
+# key: pri
+# --
+private $0
\ No newline at end of file
diff --git a/snippets/scala-mode/pri.param b/snippets/scala-mode/pri.param
new file mode 100644
index 0000000..90ae3ba
--- /dev/null
+++ b/snippets/scala-mode/pri.param
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: private[this]
+# key: pri
+# --
+private[${1:this}] $0
\ No newline at end of file
diff --git a/snippets/scala-mode/pro b/snippets/scala-mode/pro
new file mode 100644
index 0000000..d5612b4
--- /dev/null
+++ b/snippets/scala-mode/pro
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: protected
+# key: pro
+# --
+protected $0
\ No newline at end of file
diff --git a/snippets/scala-mode/pro.param b/snippets/scala-mode/pro.param
new file mode 100644
index 0000000..ae82305
--- /dev/null
+++ b/snippets/scala-mode/pro.param
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: protected[this]
+# key: pro
+# --
+protected[${1:this}] $0
\ No newline at end of file
diff --git a/snippets/scala-mode/suite b/snippets/scala-mode/suite
new file mode 100644
index 0000000..942fbad
--- /dev/null
+++ b/snippets/scala-mode/suite
@@ -0,0 +1,9 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: class T extends Suite { .. }
+# key: suite
+# --
+import org.scalatest._
+
+class ${1:name} extends Suite {
+  $0
+}
\ No newline at end of file
diff --git a/snippets/scala-mode/test b/snippets/scala-mode/test
new file mode 100644
index 0000000..d4819ac
--- /dev/null
+++ b/snippets/scala-mode/test
@@ -0,0 +1,8 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: @Test def testX = ...
+# key: test
+# --
+//@Test
+def test${1:name} = {
+  $0
+}
\ No newline at end of file
diff --git a/snippets/scala-mode/throw b/snippets/scala-mode/throw
new file mode 100644
index 0000000..e303c25
--- /dev/null
+++ b/snippets/scala-mode/throw
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: throw new Exception
+# key: throw
+# --
+throw new ${1:Exception}(${2:msg}) $0
\ No newline at end of file
diff --git a/snippets/scala-mode/tr b/snippets/scala-mode/tr
new file mode 100644
index 0000000..2381bdc
--- /dev/null
+++ b/snippets/scala-mode/tr
@@ -0,0 +1,7 @@
+# Author: Anders Bach Nielsen <andersbach.nielsen@epfl.ch>
+# name: trait T { .. }
+# key: tr
+# --
+trait ${1:name} {
+  $0
+}
\ No newline at end of file
diff --git a/snippets/scala-mode/tr.ext b/snippets/scala-mode/tr.ext
new file mode 100644
index 0000000..15fb8aa
--- /dev/null
+++ b/snippets/scala-mode/tr.ext
@@ -0,0 +1,7 @@
+# Author: Anders Bach Nielsen <andersbach.nielsen@epfl.ch>
+# name: trait T extends C { .. }
+# key: tr
+# --
+trait ${1:name} extends ${2:class} {
+  $0
+}
\ No newline at end of file
diff --git a/snippets/scala-mode/tr.ext-with b/snippets/scala-mode/tr.ext-with
new file mode 100644
index 0000000..c971ebb
--- /dev/null
+++ b/snippets/scala-mode/tr.ext-with
@@ -0,0 +1,7 @@
+# Author: Anders Bach Nielsen <andersbach.nielsen@epfl.ch>
+# name: trait T1 extends C with T2 { .. }
+# key: tr
+# --
+trait ${1:name} extends ${2:class} with ${3:trait} {
+  $0
+}
\ No newline at end of file
diff --git a/snippets/scala-mode/tr.with b/snippets/scala-mode/tr.with
new file mode 100644
index 0000000..732dfb3
--- /dev/null
+++ b/snippets/scala-mode/tr.with
@@ -0,0 +1,7 @@
+# Author: Anders Bach Nielsen <andersbach.nielsen@epfl.ch>
+# name: trait T1 with T2 { .. }
+# key: tr
+# --
+trait ${1:name} with ${2:trait} {
+  $0
+}
\ No newline at end of file
diff --git a/snippets/scala-mode/try b/snippets/scala-mode/try
new file mode 100644
index 0000000..c9bf2e2
--- /dev/null
+++ b/snippets/scala-mode/try
@@ -0,0 +1,10 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: try { .. } catch { case e => ..}
+# key: try
+# --
+try {
+  $0
+} catch {
+  case ${1:e}: ${2:Exception} =>
+    ${1:println(\"ERROR: \" + e) // TODO: handle exception}\n}
+}
\ No newline at end of file
diff --git a/snippets/scala-mode/try.catch-finally 
b/snippets/scala-mode/try.catch-finally
new file mode 100644
index 0000000..52f8c31
--- /dev/null
+++ b/snippets/scala-mode/try.catch-finally
@@ -0,0 +1,12 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: try { .. } catch { case e => ..} finally { ..}
+# key: try
+# --
+try {
+  $0
+} catch {
+  case ${1:e}: ${2:Exception} =>
+    ${1:println(\"ERROR: \" + e) // TODO: handle exception}\n}
+} finally {
+
+}
\ No newline at end of file
diff --git a/snippets/scala-mode/try.finally b/snippets/scala-mode/try.finally
new file mode 100644
index 0000000..6f8d88f
--- /dev/null
+++ b/snippets/scala-mode/try.finally
@@ -0,0 +1,9 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: try { .. } finally { .. }
+# key: try
+# --
+try {
+
+} finally {
+  $0
+}
\ No newline at end of file
diff --git a/snippets/scala-mode/tup.arrow b/snippets/scala-mode/tup.arrow
new file mode 100644
index 0000000..7b77907
--- /dev/null
+++ b/snippets/scala-mode/tup.arrow
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: element1 -> element2
+# key: tup
+# --
+${1:element1} -> ${2:element2} $0
\ No newline at end of file
diff --git a/snippets/scala-mode/tup.paren b/snippets/scala-mode/tup.paren
new file mode 100644
index 0000000..ebe94a8
--- /dev/null
+++ b/snippets/scala-mode/tup.paren
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: (element1, element2)
+# key: tup
+# --
+(${1:element1}, ${2:element2}) $0
\ No newline at end of file
diff --git a/snippets/scala-mode/val b/snippets/scala-mode/val
new file mode 100644
index 0000000..b299add
--- /dev/null
+++ b/snippets/scala-mode/val
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: val name = ..
+# key: val
+# --
+val ${1:name} = ${2:obj} $0
\ No newline at end of file
diff --git a/snippets/scala-mode/val.new b/snippets/scala-mode/val.new
new file mode 100644
index 0000000..9bd2b7d
--- /dev/null
+++ b/snippets/scala-mode/val.new
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: val name = new ..
+# key: val
+# --
+val ${1:name} = new ${2:obj} $0
\ No newline at end of file
diff --git a/snippets/scala-mode/val.ret b/snippets/scala-mode/val.ret
new file mode 100644
index 0000000..4af1192
--- /dev/null
+++ b/snippets/scala-mode/val.ret
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: val name: T = ..
+# key: val
+# --
+val ${1:name}: ${2:T} = ${3:obj} $0
\ No newline at end of file
diff --git a/snippets/scala-mode/var b/snippets/scala-mode/var
new file mode 100644
index 0000000..2c6158b
--- /dev/null
+++ b/snippets/scala-mode/var
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: var name = ..
+# key: var
+# --
+var ${1:name} = ${2:obj} $0
\ No newline at end of file
diff --git a/snippets/scala-mode/var.new b/snippets/scala-mode/var.new
new file mode 100644
index 0000000..5dff6bc
--- /dev/null
+++ b/snippets/scala-mode/var.new
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: var name = new ..
+# key: var
+# --
+var ${1:name} = new ${2:obj} $0
\ No newline at end of file
diff --git a/snippets/scala-mode/var.ret b/snippets/scala-mode/var.ret
new file mode 100644
index 0000000..60b3fdc
--- /dev/null
+++ b/snippets/scala-mode/var.ret
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: var name: T = ..
+# key: var
+# --
+var ${1:name}: ${2:T} = ${3:obj} $0
\ No newline at end of file
diff --git a/snippets/scala-mode/whi b/snippets/scala-mode/whi
new file mode 100644
index 0000000..233cf1e
--- /dev/null
+++ b/snippets/scala-mode/whi
@@ -0,0 +1,7 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: while(cond) { .. }
+# key: whi
+# --
+while (${1:condition}) {
+  $0
+}
\ No newline at end of file
diff --git a/snippets/scala-mode/with b/snippets/scala-mode/with
new file mode 100644
index 0000000..aa924af
--- /dev/null
+++ b/snippets/scala-mode/with
@@ -0,0 +1,5 @@
+# Author: Jonas Bonèr <jonas@jonasboner.com>
+# name: with T
+# key: with
+# --
+with $0
\ No newline at end of file
diff --git a/snippets/snippet-mode/.yas-parents 
b/snippets/snippet-mode/.yas-parents
new file mode 100644
index 0000000..eed5b44
--- /dev/null
+++ b/snippets/snippet-mode/.yas-parents
@@ -0,0 +1 @@
+text-mode
diff --git a/snippets/snippet-mode/field b/snippets/snippet-mode/field
new file mode 100644
index 0000000..f969a00
--- /dev/null
+++ b/snippets/snippet-mode/field
@@ -0,0 +1,6 @@
+# name: ${ ...  } field
+# contributor: joaotavora
+# key: $f
+# key: field
+# --
+\${${1:${2:n}:}$3${4:\$(${5:lisp-fn})}\}$0
\ No newline at end of file
diff --git a/snippets/snippet-mode/mirror b/snippets/snippet-mode/mirror
new file mode 100644
index 0000000..2d43450
--- /dev/null
+++ b/snippets/snippet-mode/mirror
@@ -0,0 +1,6 @@
+# name: ${n:$(...)} mirror
+# key: $m
+# contributor: joaotavora
+# key: mirror
+# --
+\${${2:n}:${4:\$(${5:reflection-fn})}\}$0
\ No newline at end of file
diff --git a/snippets/snippet-mode/vars b/snippets/snippet-mode/vars
new file mode 100644
index 0000000..d617002
--- /dev/null
+++ b/snippets/snippet-mode/vars
@@ -0,0 +1,12 @@
+# -*- mode: snippet -*-
+# name: Snippet header
+# contributor: joaotavora
+# key: vars
+# --
+# name: $1${2:
+# key: ${3:trigger-key}}${4:
+# keybinding: ${5:keybinding}}${6:
+# expand-env: (${7:})}
+# contributor: $6
+# --
+$0
\ No newline at end of file
diff --git a/snippets/sql-mode/.yas-parents b/snippets/sql-mode/.yas-parents
new file mode 100644
index 0000000..eed5b44
--- /dev/null
+++ b/snippets/sql-mode/.yas-parents
@@ -0,0 +1 @@
+text-mode
diff --git a/snippets/sql-mode/column b/snippets/sql-mode/column
new file mode 100644
index 0000000..5817296
--- /dev/null
+++ b/snippets/sql-mode/column
@@ -0,0 +1,5 @@
+# contributor: Alejandro Espinoza Esparza <aespinoza@structum.com.mx>
+# name: , ColumnName ColumnType NOT NULL...
+# key: column
+# --
+       ,       ${1:Name}               ${2:Type}                       ${3:NOT 
NULL}
\ No newline at end of file
diff --git a/snippets/sql-mode/constraint b/snippets/sql-mode/constraint
new file mode 100644
index 0000000..bfa2b78
--- /dev/null
+++ b/snippets/sql-mode/constraint
@@ -0,0 +1,5 @@
+# contributor: Alejandro Espinoza Esparza <aespinoza@structum.com.mx>
+# name: CONSTRAINT [..] PRIMARY KEY ...
+# key: constraint
+# --
+CONSTRAINT [${1:PK_Name}] PRIMARY KEY ${2:CLUSTERED} ([${3:ColumnName}])
\ No newline at end of file
diff --git a/snippets/sql-mode/constraint.1 b/snippets/sql-mode/constraint.1
new file mode 100644
index 0000000..bfef0b6
--- /dev/null
+++ b/snippets/sql-mode/constraint.1
@@ -0,0 +1,5 @@
+# contributor: Alejandro Espinoza Esparza <aespinoza@structum.com.mx>
+# name: CONSTRAINT [..] FOREIGN KEY ...
+# key: constraint
+# --
+CONSTRAINT [${1:FK_Name}] FOREIGN KEY ${2:CLUSTERED} ([${3:ColumnName}])
\ No newline at end of file
diff --git a/snippets/sql-mode/create b/snippets/sql-mode/create
new file mode 100644
index 0000000..085b267
--- /dev/null
+++ b/snippets/sql-mode/create
@@ -0,0 +1,11 @@
+# contributor: Alejandro Espinoza Esparza <aespinoza@structum.com.mx>
+# name: create table ...
+# key: create
+# --
+CREATE TABLE [${1:dbo}].[${2:TableName}]
+(
+               ${3:Id}         ${4:INT IDENTITY(1,1)}          ${5:NOT NULL}
+$0
+       CONSTRAINT [${6:PK_}] PRIMARY KEY ${7:CLUSTERED} ([$3])
+)
+GO
\ No newline at end of file
diff --git a/snippets/sql-mode/create.1 b/snippets/sql-mode/create.1
new file mode 100644
index 0000000..6c37dd8
--- /dev/null
+++ b/snippets/sql-mode/create.1
@@ -0,0 +1,13 @@
+# contributor: Alejandro Espinoza Esparza <aespinoza@structum.com.mx>
+# name: create procedure ...
+# key: create
+# --
+CREATE PROCEDURE [${1:dbo}].[${2:Name}]
+(
+               $3              $4              = ${5:NULL}             
${6:OUTPUT}
+)
+AS
+BEGIN
+$0
+END
+GO
\ No newline at end of file
diff --git a/snippets/sql-mode/references b/snippets/sql-mode/references
new file mode 100644
index 0000000..ff6d12f
--- /dev/null
+++ b/snippets/sql-mode/references
@@ -0,0 +1,5 @@
+# contributor: Alejandro Espinoza Esparza <aespinoza@structum.com.mx>
+# name: REFERENCES ...
+# key: references
+# --
+REFERENCES ${1:TableName}([${2:ColumnName}])
\ No newline at end of file
diff --git a/snippets/text-mode/email b/snippets/text-mode/email
new file mode 100644
index 0000000..95fad03
--- /dev/null
+++ b/snippets/text-mode/email
@@ -0,0 +1,4 @@
+# name: (user's email)
+# key: email
+# --
+`(replace-regexp-in-string "@" "@NOSPAM." user-mail-address)`
\ No newline at end of file
diff --git a/snippets/text-mode/time b/snippets/text-mode/time
new file mode 100644
index 0000000..814ed5f
--- /dev/null
+++ b/snippets/text-mode/time
@@ -0,0 +1,4 @@
+# name: (current time)
+# key: time
+# --
+`(current-time-string)`
\ No newline at end of file
diff --git a/yasnippet-classic-snippets.el b/yasnippet-classic-snippets.el
new file mode 100644
index 0000000..9ef6f4e
--- /dev/null
+++ b/yasnippet-classic-snippets.el
@@ -0,0 +1,46 @@
+;;; yasnippet-classic-snippets.el --- "Classic" yasnippet snippets
+
+;; Copyright (C) 2018 Free Software Foundation, Inc.
+
+;; Keywords: snippets
+;; Version: 1.0.0
+;; Package-Requires: ((yasnippet "0.9.1"))
+;; Keywords: convenience, snippets
+
+;;; Commentary:
+
+;; Snippets that were previously shipped with the GNU ELPA yasnippet package.
+
+;;; License:
+
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+;;; Code:
+
+(require 'yasnippet)
+
+(defconst yasnippet-classic-snippets-dir
+  (expand-file-name
+   "snippets"
+   (file-name-directory (or load-file-name buffer-file-name))))
+
+;;;###autoload
+(eval-after-load 'yasnippet
+  '(unless (memq 'yasnippet-classic-snippets-dir yas-snippet-dirs)
+    (add-to-list 'yas-snippet-dirs 'yasnippet-classic-snippets-dir t)
+    (yas-load-directory yasnippet-classic-snippets-dir)))
+
+(provide 'yasnippet-classic-snippets)
+
+;;; yasnippet-classic-snippets.el ends here



reply via email to

[Prev in Thread] Current Thread [Next in Thread]