-Snippet definitions are stored in files in the filesystem. Unless you
-use the simpler [[index.html@installation][bundle version]]), these are
-arranged so that YASnippet can load them into /snippet tables/. The
-triggering mechanisms (see [[snippet-expansion.html][Expanding
-snippets]]) will look up these snippet tables and (hopefully) expand the
-snippet you intended.
-
-The non-bundle version of YASnippet, once unpacked, comes with a full
-directory of snippets, which you can copy somewhere and use. You can
-also create or download more directories.
-
-Once these directories are in place reference them in the variable
-=yas-root-directory= and load them with =yas-load-directory=:
-
-The point in using =yas-root-directory= (as opposed to calling
-=yas-load-directory= directly) is considering "~/emacs.d/mysnippets" for
-snippet development, so you can use commands like =yas-new-snippet= and
-others described in section [[snippet-development.html][Writing
-Snippets]].
-
-You can make this variable a list and store more items into it:
-
-In this last example, the all the directories are loaded and their
-snippets considered for expansion. However development still happens in
-the first element, "~/emacs.d/mysnippets".
-
-** Organizing snippets
-
-Once you've setup =yas-root-directory= , you can store snippets inside
-sub-directories of these directories.
-
-Snippet definitions are put in plain text files. They are arranged by
-sub-directories, and the snippet tables are named after these
-directories.
-
-The name corresponds to the Emacs mode where you want expansion to take
-place. For example, snippets for =c-mode= are put in the =c-mode=
-sub-directory.
-
-*** The =.yas.parents= file
-
-It's very useful to have certain modes share snippets between
-themselves. To do this, choose a mode subdirectory and place a
-=.yas-parents= containing a whitespace-separated list of other mode
-names. When you reload those modes become parents of the original mode.
-
-*** The =.yas-make-groups= file
-
-[[images/menu-groups.png]]
-
-If you place an empty plain text file =.yas-make-groups= inside one of
-the mode directories, the names of these sub-directories are considered
-groups of snippets and [[snippet-menu.html][The YASnippet Menu]] is
-organized much more cleanly, as you can see in the image.
-
-Another alternative way to achieve this is to place a =# group:=
-directive inside the snippet definition. See
-[[snippet-development.html][Writing Snippets]].
-
-** YASnippet bundle
-
-The most convenient way to define snippets for YASnippet is to put them
-in a directory arranged by the mode and use =yas-load-directory= to load
-them.
-
-However, this might slow down the Emacs start-up speed if you have many
-snippets. You can use =yas-define-snippets= to define a bunch of
-snippets for a particular mode in an Emacs-lisp file.
-
-Since this is hard to maintain, there's a better way: define your
-snippets in directory and then call =M-x yas-compile-bundle= to compile
-it into a bundle file when you modified your snippets.
-
-The release bundle of YASnippet is produced by =yas-compile-bundle=. The
-bundle uses =yas-define-snippets= to define snippets. This avoids the IO
-and parsing overhead when loading snippets.
-
-Further more, the generated bundle is a stand-alone file not depending
-on =yasnippet.el=. The released bundles of YASnippet are all generated
-this way.
-
-See the internal documentation for these functions
-
-- =M-x describe-function RET yas-define-snippets RET=
-- =M-x describe-function RET yas-compile-bundle RET=.
-
-** Customizable variables
-
-*** =yas-root-directory=
-
-Root directory that stores the snippets for each major mode.
-
-If you set this from your .emacs, can also be a list of strings, for
-multiple root directories. If you make this a list, the first element is
-always the user-created snippets directory. Other directories are used
-for bulk reloading of all snippets using =yas-reload-all=
-
-*** =yas-ignore-filenames-as-triggers=
-
-If non-nil, don't derive tab triggers from filenames.
-
-This means a snippet without a =# key:= directive wont have a tab
-trigger.