#+SETUPFILE: org-setup.inc

#+TITLE: YASnippet menu

When [[sym:yas-minor-mode][=yas-minor-mode=]] is active, YASnippet will setup a menu just after
the "Buffers" menu in the menubar.

In this menu, you can find

-  The currently loaded snippet definitions, organized by major mode,
   and optional grouping.

-  A rundown of the most common commands, (followed by their
   keybindings) including commands to load directories and reload all
   snippet definitions.

-  A series of submenus for customizing and exploring YASnippet
   behavior.

[[./images/menu-1.png]]

* Loading snippets from menu

Invoking "Load snippets..." from the menu invokes [[sym:yas-load-directory][=yas-load-directory=]]
and prompts you for a snippet directory hierarchy to load.

Also useful is the "Reload everything" item to invoke [[sym:yas-reload-all][=yas-reload-all=]]
which uncondionally reloads all the snippets directories defined in
[[sym:yas-snippet-dirs][=yas-snippet-dirs=]] and rebuilds the menus.

* Snippet menu behavior

YASnippet will list in this section all the loaded snippet definitions
organized by snippet table name.

You can use this section to explore currently loaded snippets. If you
click on one of them, the default behavior is to expand it,
unconditionally, inside the current buffer.

You can however, customize variable [[sym:yas-visit-from-menu][=yas-visit-from-menu=]] to be =t=
which will take you to the snippet definition file when you select it
from the menu.

If you want the menu show only snippet tables whose name corresponds to
a "real" major mode. You do this by setting [[sym:yas-use-menu][=yas-use-menu=]] to
'=real-modes=.

Finally, to have the menu show only the tables for the currently active
mode, set [[sym:yas-use-menu][=yas-use-menu=]] to =abbreviate=.

These customizations can also be found in the menu itself, under the
"Snippet menu behavior" submenu.

* Controlling indenting

The "Indenting" submenu contains options to control the values of
[[sym:yas-indent-line][=yas-indent-line=]] and [[sym:yas-also-auto-indent-first-line][=yas-also-auto-indent-first-line=]]. See
[[./snippet-development.org][Writing snippets]].

* Prompting method

The "Prompting method" submenu contains options to control the value of
[[sym:yas-prompt-functions][=yas-prompt-functions=]]. See [[./snippet-expansion.org][Expanding snippets]].

* Misc

The "Misc" submenu contains options to control the values of more
variables.
