Automatic documentation update.

From 7703a55ac4
This commit is contained in:
Noam Postavsky
2015-09-24 21:18:15 -04:00
parent b925a0388f
commit 1167e57937
7 changed files with 1474 additions and 1508 deletions

View File

@@ -1,63 +1,90 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>Organizing snippets</title>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
<meta name="title" content="Organizing snippets"/>
<meta name="generator" content="Org-mode"/>
<meta name="generated" content="2014-10-01T21:16+0100"/>
<meta name="author" content=""/>
<meta name="description" content=""/>
<meta name="keywords" content=""/>
<!-- 2015-09-24 Thu 21:14 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="generator" content="Org-mode" />
<style type="text/css">
<!--/*--><![CDATA[/*><!--*/
html { font-family: Times, serif; font-size: 12pt; }
.title { text-align: center; }
.todo { color: red; }
.todo { font-family: monospace; color: red; }
.done { color: green; }
.tag { background-color: #add8e6; font-weight:normal }
.target { }
.tag { background-color: #eee; font-family: monospace;
padding: 2px; font-size: 80%; font-weight: normal; }
.timestamp { color: #bebebe; }
.timestamp-kwd { color: #5f9ea0; }
.right {margin-left:auto; margin-right:0px; text-align:right;}
.left {margin-left:0px; margin-right:auto; text-align:left;}
.center {margin-left:auto; margin-right:auto; text-align:center;}
p.verse { margin-left: 3% }
.right { margin-left: auto; margin-right: 0px; text-align: right; }
.left { margin-left: 0px; margin-right: auto; text-align: left; }
.center { margin-left: auto; margin-right: auto; text-align: center; }
.underline { text-decoration: underline; }
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
p.verse { margin-left: 3%; }
pre {
border: 1pt solid #AEBDCC;
background-color: #F3F5F7;
padding: 5pt;
font-family: courier, monospace;
font-size: 90%;
overflow:auto;
border: 1px solid #ccc;
box-shadow: 3px 3px 3px #eee;
padding: 8pt;
font-family: monospace;
overflow: auto;
margin: 1.2em;
}
table { border-collapse: collapse; }
td, th { vertical-align: top; }
th.right { text-align:center; }
th.left { text-align:center; }
th.center { text-align:center; }
td.right { text-align:right; }
td.left { text-align:left; }
td.center { text-align:center; }
pre.src {
position: relative;
overflow: visible;
padding-top: 1.2em;
}
pre.src:before {
display: none;
position: absolute;
background-color: white;
top: -10px;
right: 10px;
padding: 3px;
border: 1px solid black;
}
pre.src:hover:before { display: inline;}
pre.src-sh:before { content: 'sh'; }
pre.src-bash:before { content: 'sh'; }
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
pre.src-R:before { content: 'R'; }
pre.src-perl:before { content: 'Perl'; }
pre.src-java:before { content: 'Java'; }
pre.src-sql:before { content: 'SQL'; }
table { border-collapse:collapse; }
caption.t-above { caption-side: top; }
caption.t-bottom { caption-side: bottom; }
td, th { vertical-align:top; }
th.right { text-align: center; }
th.left { text-align: center; }
th.center { text-align: center; }
td.right { text-align: right; }
td.left { text-align: left; }
td.center { text-align: center; }
dt { font-weight: bold; }
div.figure { padding: 0.5em; }
div.figure p { text-align: center; }
div.inlinetask {
padding:10px;
border:2px solid gray;
margin:10px;
.footpara:nth-child(2) { display: inline; }
.footpara { display: block; }
.footdef { margin-bottom: 1em; }
.figure { padding: 1em; }
.figure p { text-align: center; }
.inlinetask {
padding: 10px;
border: 2px solid gray;
margin: 10px;
background: #ffffcc;
}
#org-div-home-and-up
{ text-align: right; font-size: 70%; white-space: nowrap; }
textarea { overflow-x: auto; }
.linenr { font-size:smaller }
.code-highlighted {background-color:#ffff00;}
.org-info-js_info-navigation { border-style:none; }
#org-info-js_console-label { font-size:10px; font-weight:bold;
white-space:nowrap; }
.org-info-js_search-highlight {background-color:#ffff00; color:#000000;
font-weight:bold; }
.linenr { font-size: smaller }
.code-highlighted { background-color: #ffff00; }
.org-info-js_info-navigation { border-style: none; }
#org-info-js_console-label
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
.org-info-js_search-highlight
{ background-color: #ffff00; color: #000000; font-weight: bold; }
/*]]>*/-->
</style>
<link rel="stylesheet" type="text/css" href="stylesheets/manual.css" />
@@ -107,11 +134,9 @@ for the JavaScript code in this tag.
}
/*]]>*///-->
</script>
</head>
<body>
<div id="preamble">
<div id="preamble" class="status">
<nav>
<ul class="center">
<li> <a href="index.html">Overview</a>
@@ -128,14 +153,9 @@ for the JavaScript code in this tag.
<li> <a href="snippet-reference.html">Reference</a>
</ul>
</nav>
</div>
<div id="content">
<h1 class="title">Organizing snippets</h1>
<div id="table-of-contents">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
@@ -143,39 +163,32 @@ for the JavaScript code in this tag.
<li><a href="#sec-1">Basic structure</a></li>
<li><a href="#sec-2">Setting up <code>yas-snippet-dirs</code></a></li>
<li><a href="#sec-3">The <code>.yas-parents</code> file</a></li>
<li><a href="#sec-4">The <code>.yas-make-groups</code> file</a></li>
<li><a href="#sec-5">The <code>.yas-setup.el</code> file</a>
<li><a href="#sec-4"><span class="todo TODO">TODO</span> The <code>.yas-make-groups</code> file</a></li>
<li><a href="#sec-5"><span class="todo TODO">TODO</span> The <code>.yas-setup.el</code> file</a>
<ul>
<li><a href="#sec-5-1"></a></li>
</ul>
</li>
<li><a href="#sec-6">The <code>.yas-compiled-snippet.el</code> file</a>
<ul>
<li><a href="#sec-6-1"></a></li>
<li><a href="#sec-5-1"><span class="todo TODO">TODO</span> </a></li>
</ul>
</li>
<li><a href="#sec-6">The <code>.yas-compiled-snippet.el</code> file</a></li>
<li><a href="#sec-7">The <code>.yas-skip</code> file</a>
<ul>
<li><a href="#sec-7-1"></a></li>
<li><a href="#sec-7-1"><span class="todo TODO">TODO</span> </a></li>
</ul>
</li>
</ul>
</div>
</div>
<div id="outline-container-1" class="outline-2">
<div id="outline-container-sec-1" class="outline-2">
<h2 id="sec-1">Basic structure</h2>
<div class="outline-text-2" id="text-1">
<p>
Snippet collections can be stored in plain text files. They are arranged by
sub-directories naming <b>snippet tables</b>. These mostly name Emacs major names.
Snippet collections can be stored in plain text files. They are arranged by
sub-directories naming <b>snippet tables</b>. These mostly name Emacs major names.
</p>
<pre class="example">.
<pre class="example">
.
|-- c-mode
| `-- printf
|-- java-mode
@@ -185,81 +198,74 @@ for the JavaScript code in this tag.
`-- time
</pre>
<p>
The collections are loaded into <b>snippet tables</b> which the
triggering mechanism (see <a href="snippet-expansion.html">Expanding Snippets</a>) looks up and
(hopefully) causes the right snippet to be expanded for you.
The collections are loaded into <b>snippet tables</b> which the
triggering mechanism (see <a href="snippet-expansion.html">Expanding Snippets</a>) looks up and
(hopefully) causes the right snippet to be expanded for you.
</p>
</div>
</div>
<div id="outline-container-2" class="outline-2">
<div id="outline-container-sec-2" class="outline-2">
<h2 id="sec-2">Setting up <code>yas-snippet-dirs</code></h2>
<div class="outline-text-2" id="text-2">
<p>
The emacs variable <a href="snippet-reference.html#yas-snippet-dirs"><code>yas-snippet-dirs</code></a> tells YASnippet
which collections to consider. It's used when you activate
<a href="snippet-reference.html#yas-global-mode"><code>yas-global-mode</code></a> or call
<a href="snippet-reference.html#yas-reload-all"><code>yas-reload-all</code></a> interactively.
</p>
<p>
The emacs variable <a href="snippet-reference.html#yas-snippet-dirs"><code>yas-snippet-dirs</code></a> tells YASnippet
which collections to consider. It's used when you activate
<a href="snippet-reference.html#yas-global-mode"><code>yas-global-mode</code></a> or call
<a href="snippet-reference.html#yas-reload-all"><code>yas-reload-all</code></a> interactively.
The default considers:
</p>
<p>
The default considers:
</p>
<ul>
<ul class="org-ul">
<li>a personal collection that lives in <code>~/.emacs.d/snippets</code>
</li>
<li>the bundled collection, taken as a relative path to <code>yasnippet.el</code> localtion
</li>
</ul>
<p>
When you come across other snippet collections, do the following to try them
out:
When you come across other snippet collections, do the following to try them
out:
</p>
<div class="org-src-container">
<pre class="example">;; Develop in ~/emacs.d/mysnippets, but also
<pre class="src src-emacs-lisp">;; Develop in ~/emacs.d/mysnippets, but also
;; try out snippets in ~/Downloads/interesting-snippets
(setq yas-snippet-dirs '("~/emacs.d/mysnippets"
"~/Downloads/interesting-snippets"))
"~/Downloads/interesting-snippets"))
;; OR, keeping YASnippet defaults try out ~/Downloads/interesting-snippets
(setq yas-snippet-dirs (append yas-snippet-dirs
'("~/Downloads/interesting-snippets")))
'("~/Downloads/interesting-snippets")))
</pre>
</div>
<p>
Collections appearing earlier in the list shadow snippets with same names
appearing in collections later in the list. <a href="snippet-reference.html#yas-new-snippet"><code>yas-new-snippet</code></a> always stores
snippets in the first collection.
Collections appearing earlier in the list override snippets with same names
appearing in collections later in the list. <a href="snippet-reference.html#yas-new-snippet"><code>yas-new-snippet</code></a> always stores
snippets in the first collection.
</p>
</div>
</div>
<div id="outline-container-3" class="outline-2">
<div id="outline-container-sec-3" class="outline-2">
<h2 id="sec-3">The <code>.yas-parents</code> file</h2>
<div class="outline-text-2" id="text-3">
<p>
It's very useful to have certain modes share snippets between
themselves. To do this, choose a mode subdirectory and place a
<code>.yas-parents</code> containing a whitespace-separated list of other mode
names. When you reload those modes become parents of the original
mode.
It's very useful to have certain modes share snippets between
themselves. To do this, choose a mode subdirectory and place a
<code>.yas-parents</code> containing a whitespace-separated list of other mode
names. When you reload those modes become parents of the original
mode.
</p>
<pre class="example">.
<pre class="example">
.
|-- c-mode
| |-- .yas-parents # contains "cc-mode text-mode"
| `-- printf
@@ -273,35 +279,33 @@ for the JavaScript code in this tag.
|-- email
`-- time
</pre>
</div>
</div>
</div>
<div id="outline-container-4" class="outline-2">
<div id="outline-container-sec-4" class="outline-2">
<h2 id="sec-4"><span class="todo TODO">TODO</span> The <code>.yas-make-groups</code> file</h2>
<div class="outline-text-2" id="text-4">
<p>
If you place an empty plain text file <code>.yas-make-groups</code> inside one
of the mode directories, the names of these sub-directories are
considered groups of snippets and <a href="#snippet-menu.org">the menu</a> is organized much more
cleanly:
</p>
<p>
<img src="./images/menu-groups.png" alt="./images/menu-groups.png" />
</p>
<p>
Another way to achieve this is to place a <code># group:</code> directive
inside the snippet definition. See <a href="./snippet-development.html">Writing Snippets</a>.
If you place an empty plain text file <code>.yas-make-groups</code> inside one
of the mode directories, the names of these sub-directories are
considered groups of snippets and <i>the menu</i> is organized much more
cleanly:
</p>
<div class="figure">
<p><img src="./images/menu-groups.png" alt="menu-groups.png" />
</p>
</div>
<pre class="example">$ tree ruby-mode/
<p>
Another way to achieve this is to place a <code># group:</code> directive
inside the snippet definition. See <a href="./snippet-development.html">Writing Snippets</a>.
</p>
<pre class="example">
$ tree ruby-mode/
ruby-mode/
|-- .yas-make-groups
|-- collections
@@ -316,73 +320,57 @@ ruby-mode/
`-- ...
</pre>
<p>
Yet another way to create a nice snippet menu is to write into
<code>.yas-make-groups</code> a menu definition. TODO
Yet another way to create a nice snippet menu is to write into
<code>.yas-make-groups</code> a menu definition. TODO
</p>
</div>
</div>
<div id="outline-container-5" class="outline-2">
<div id="outline-container-sec-5" class="outline-2">
<h2 id="sec-5"><span class="todo TODO">TODO</span> The <code>.yas-setup.el</code> file</h2>
<div class="outline-text-2" id="text-5">
</div>
<div id="outline-container-5-1" class="outline-3">
<h3 id="sec-5-1"><span class="todo TODO">TODO</span></h3>
<div class="outline-text-3" id="text-5-1">
</div><div id="outline-container-sec-5-1" class="outline-3">
<h3 id="sec-5-1"><span class="todo TODO">TODO</span> </h3>
</div>
</div>
</div>
<div id="outline-container-6" class="outline-2">
<h2 id="sec-6"><span class="todo TODO">TODO</span> The <code>.yas-compiled-snippet.el</code> file</h2>
<div id="outline-container-sec-6" class="outline-2">
<h2 id="sec-6">The <code>.yas-compiled-snippet.el</code> file</h2>
<div class="outline-text-2" id="text-6">
</div>
<div id="outline-container-6-1" class="outline-3">
<h3 id="sec-6-1"><span class="todo TODO">TODO</span></h3>
<div class="outline-text-3" id="text-6-1">
</div>
</div>
</div>
<div id="outline-container-7" class="outline-2">
<h2 id="sec-7"><span class="todo TODO">TODO</span> The <code>.yas-skip</code> file</h2>
<div class="outline-text-2" id="text-7">
</div>
<div id="outline-container-7-1" class="outline-3">
<h3 id="sec-7-1"><span class="todo TODO">TODO</span></h3>
<div class="outline-text-3" id="text-7-1">
</div>
</div>
</div>
</div>
<div id="postamble">
<hr><p class='creator'>Generated by <a href="http://orgmode.org">Org</a> version 7.9.3f with <a href="http://www.gnu.org/software/emacs/">Emacs</a> version 24 on 2014-10-01T21:16+0100 from 08b044e559cc350c6e7142d088ec2d4a82e378cb
<p>
You may compile a top-level snippet directory with the
<code>yas-compile-directory</code> function, which will create a
<code>.yas-compiled-snippets.el</code> file under each mode subdirectory,
which contains definitions for all snippets in the subdirectory.
Compilation helps improve loading time.
</p>
<p class='xhtml-validation'><a href="http://validator.w3.org/check?uri=referer">Validate XHTML 1.0</a></p>
<p>
Alternatively, you may compile all directories in the list
<code>yas-snippet-dirs</code> with the <code>yas-recompile-all</code> function.
</p>
</div>
</div>
<div id="outline-container-sec-7" class="outline-2">
<h2 id="sec-7">The <code>.yas-skip</code> file</h2>
<div class="outline-text-2" id="text-7">
<p>
A <code>.yas-skip</code> file in a mode's snippet subdirectory tells YASnippet
not to load snippets from there.
</p>
</div>
<div id="outline-container-sec-7-1" class="outline-3">
<h3 id="sec-7-1"><span class="todo TODO">TODO</span> </h3>
</div>
</div>
</div>
<div id="postamble" class="status">
<hr><p class='creator'>Generated by <a href="http://www.gnu.org/software/emacs/">Emacs</a> 24.4.91.1 (<a href="http://orgmode.org">Org</a> mode 8.2.10) on from 7703a55ac416a131dec45fa6a1e0ec1e31adf760
</p>
<p class='xhtml-validation'><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>
</html>