Vim window logic, slimv
This commit is contained in:
parent
babcc9e44b
commit
515847d07e
791 changed files with 51552 additions and 86 deletions
|
|
@ -0,0 +1,265 @@
|
|||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<link rel='stylesheet' type='text/css' href='style.css'>
|
||||
<title>Quickproject - create a Common Lisp project skeleton</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div id='content'>
|
||||
<h2>Quickproject - create a Common Lisp project skeleton</h2>
|
||||
|
||||
<p>Quickproject is a library for creating a Common Lisp project
|
||||
skeleton. It is available under a BSD-style license;
|
||||
see <a href='LICENSE.txt'>LICENSE.txt</a> for details.
|
||||
|
||||
The latest version is 1.4.1, released on December 26th, 2019.
|
||||
|
||||
|
||||
<p>Download
|
||||
shortcut: <a href='http://www.xach.com/lisp/quickproject.tgz'>http://www.xach.com/lisp/quickproject.tgz</a>
|
||||
|
||||
<h2>Contents</h2>
|
||||
|
||||
<ul>
|
||||
<li> <a href='#overview'>Overview</a>
|
||||
<li> <a href='#examples'>Examples</a>
|
||||
<li> <a href='#dictionary'>Dictionary</a>
|
||||
<ul>
|
||||
<li> <a href='#make-project'>make-project</a>
|
||||
<li> <a href='#*author*'>*author*</a>
|
||||
<li> <a href='#*include-copyright*'>*include-copyright*</a>
|
||||
<li> <a href='#*license*'>*license*</a>
|
||||
<li> <a href='#*template-directory*'>*template-directory*</a>
|
||||
<li> <a href='#default-template-parameters'>default-template-parameters</a>
|
||||
<li> <a href='#*template-parameter-functions*'>*template-parameter-functions*</a>
|
||||
<li> <a href='#*after-make-project-hooks*'>*after-make-project-hooks*</a>
|
||||
</ul>
|
||||
<li> <a href='#feedback'>Feedback</a>
|
||||
</ul>
|
||||
|
||||
<a name='overview'><h2>Overview</h2></a>
|
||||
|
||||
<p>Quickproject provides a quick way to make a Common Lisp
|
||||
project. After creating a project, it extends the ASDF registry so
|
||||
the project may be immediately loaded.
|
||||
|
||||
<a name='example'><h2>Examples</h2></a>
|
||||
|
||||
<pre class=code>
|
||||
* <b>(quickproject:make-project #p"~/src/myproject/" :depends-on '(drakma cxml))</b>
|
||||
"myproject"
|
||||
|
||||
* <b>(asdf:load-system "myproject")</b>
|
||||
<i>load output</i>
|
||||
</pre>
|
||||
|
||||
<pre class='code'>
|
||||
* <b>(quickproject:make-project #p"~/src/websnarf/" :name "cl-websnarf")</b>
|
||||
"cl-websnarf"
|
||||
|
||||
* <b>(directory #p"~/src/websnarf/*.*")</b>
|
||||
(#p"~/src/websnarf/README.txt"
|
||||
#p"~/src/websnarf/package.lisp"
|
||||
#p"~/src/websnarf/cl-websnarf.asd"
|
||||
#p"~/src/websnarf/cl-websnarf.lisp")
|
||||
</pre>
|
||||
|
||||
<a name='dictionary'><h2>Dictionary</h2></a>
|
||||
|
||||
<p>The following symbols are exported from the <tt>quickproject</tt>
|
||||
package.
|
||||
|
||||
<div class='item'>
|
||||
<div class='type'><a name='make-project'>[Function]</a></div>
|
||||
<div class='signature'>
|
||||
<code class='name'>make-project</code>
|
||||
<span class='args'>
|
||||
<var>pathname</var> <code class='llkw'>&key</code>
|
||||
<var>depends-on</var>
|
||||
<var>author</var>
|
||||
<var>include-copyright</var>
|
||||
<var>license</var>
|
||||
<var>name</var>
|
||||
<var>template-directory</var>
|
||||
<var>template-parameters</var>
|
||||
</span>
|
||||
<span class='result'>=> <var>project-name</var></span>
|
||||
</div>
|
||||
|
||||
<blockquote class='description'>
|
||||
<p>Create the skeleton of a Common Lisp project
|
||||
in <var>directory</var>. If given, <var>name</var> is used as the
|
||||
name of the project. Otherwise, the name is taken from the last
|
||||
component in
|
||||
the <a href="http://l1sp.org/cl/pathname-directory">pathname-directory</a>
|
||||
of the pathname. For example, the last directory component
|
||||
of <tt>#p"src/lisp/myproject/"</tt> is "myproject".
|
||||
<p>The project skeleton consists of the following files:
|
||||
|
||||
<ul>
|
||||
<li> README.txt
|
||||
<li> package.lisp — defines a package named after the project
|
||||
<li> <var>name</var>.asd — defines an ASDF system named after
|
||||
the project, with a <tt>:depends-on</tt> list as given in the
|
||||
function call
|
||||
<li> <var>name</var>.lisp
|
||||
</ul>
|
||||
|
||||
<p>If provided, <var>author</var> and <var>license</var> are used
|
||||
to initialize certain parts of the default files with extra
|
||||
information. The default values are taken
|
||||
from <a href='#*author*'><tt>*AUTHOR*</tt></a>
|
||||
and <a href='#*license*'><tt>*LICENSE*</tt></a>, respectively.
|
||||
|
||||
<p>If provided, the boolean argument to <var>include-copyright</var>
|
||||
will determine whether copyright notices will be printed in the
|
||||
header of each file.
|
||||
|
||||
<p>If provided, each file in <var>template-directory</var> is
|
||||
rewritten
|
||||
with <a href="http://weitz.de/html-template/">HTML-TEMPLATE</a>
|
||||
into the new directory. The options are as follows:
|
||||
|
||||
<ul>
|
||||
<li> The template markers are <tt>(#|</tt> and <tt>|#)</tt>
|
||||
<li> No escaping is done in template values
|
||||
<li> Template parameters are created by
|
||||
appending <var>template-parameters</var> with the lists returned by
|
||||
calling each entry
|
||||
in <a href='#*template-parameter-functions*'><tt>*TEMPLATE-PARAMETER-FUNCTIONS*</tt></a>
|
||||
</ul>
|
||||
|
||||
<p>After rewriting templates, each element
|
||||
in <a href='#*after-make-project-hooks*'><tt>*AFTER-MAKE-PROJECT-HOOKS*</tt></a>
|
||||
is called.
|
||||
|
||||
<p>After the project has been created, its pathname is added
|
||||
to <tt>ASDF:*CENTRAL-REGISTRY*</tt>, so the project is immediately
|
||||
loadable via <tt>ASDF:LOAD-SYSTEM</tt>.
|
||||
</blockquote>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='item'>
|
||||
<div class='type'><a name='*author*'>[Special variable]</a></div>
|
||||
<div class='signature'>
|
||||
<code class='name'>*author*</code>
|
||||
</div>
|
||||
|
||||
<blockquote class='description'>
|
||||
<p>This string is used to initialize the <tt>:author</tt> argument
|
||||
in the project system definition. The default initial value
|
||||
is <tt>"Your Name <your.name@example.com>"</tt>.
|
||||
</blockquote>
|
||||
</div>
|
||||
|
||||
<div class='item'>
|
||||
<div class='type'><a name='*include-copyright*'>[Special variable]</a></div>
|
||||
<div class='signature'>
|
||||
<code class='name'>*include-copyright*</code>
|
||||
</div>
|
||||
|
||||
<blockquote class='description'>
|
||||
<p>This variable is used to control whether a copyright notice (with
|
||||
the author's name and the current year) should appear in the header
|
||||
of each file.</tt>.
|
||||
</blockquote>
|
||||
</div>
|
||||
|
||||
<div class='item'>
|
||||
<div class='type'><a name='*license*'>[Special variable]</a></div>
|
||||
<div class='signature'>
|
||||
<code class='name'>*license*</code>
|
||||
</div>
|
||||
|
||||
<blockquote class='description'>
|
||||
<p>This string is used to initialize the <tt>:description</tt>
|
||||
argument in the project system definition. The default initial
|
||||
value is <tt>"Specify license here"</tt>.
|
||||
</blockquote>
|
||||
</div>
|
||||
|
||||
<div class='item'>
|
||||
<div class='type'><a name='*template-directory*'>[Special variable]</a></div>
|
||||
<div class='signature'>
|
||||
<code class='name'>*template-directory*</code>
|
||||
</div>
|
||||
|
||||
<blockquote class='description'>
|
||||
<p>If non-NIL, this variable should be bound to a pathname used as
|
||||
the default value of <var>template-directory</var>
|
||||
in <a href='#make-project'><tt>MAKE-PROJECT</tt></a>.
|
||||
</blockquote>
|
||||
</div>
|
||||
|
||||
<div class='item'>
|
||||
<div class='type'><a name='default-template-parameters'>[Function]</a></div>
|
||||
<div class='signature'>
|
||||
<code class='name'>default-template-parameters</code>
|
||||
<span class='args'>
|
||||
</span>
|
||||
<span class='result'>=> <var>parameters</var></span>
|
||||
</div>
|
||||
|
||||
<blockquote class='description'>
|
||||
<p>Return a plist with values for <tt>:name</tt>, <tt>:license</tt>,
|
||||
and <tt>:author</tt> for the current project being created
|
||||
via <a href='#make-project'><tt>MAKE-PROJECT</tt></a>. This
|
||||
function is in the default value
|
||||
of <a href='#*template-parameter-functions*'><tt>*TEMPLATE-PARAMETER-FUNCTIONS*</tt></a>.
|
||||
|
||||
</blockquote>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='item'>
|
||||
<div class='type'><a name='*template-parameter-functions*'>[Special variable]</a></div>
|
||||
<div class='signature'>
|
||||
<code class='name'>*template-parameter-functions*</code>
|
||||
</div>
|
||||
|
||||
<blockquote class='description'>
|
||||
<p>A list of functions that are called to produce template
|
||||
parameters when rewriting templates
|
||||
in <a href='#make-project'><tt>MAKE-PROJECT</tt></a>. Each
|
||||
function is called with no arguments and should produce a list
|
||||
of keyword/value pairs. The resulting lists are appended
|
||||
together for use as template parameters
|
||||
in <a href='http://weitz.de/html-template/#fill-and-print-template'><tt>HTML-TEMPLATE:FILL-AND-PRINT-TEMPLATE</tt></a>.
|
||||
|
||||
<p>The default value is <tt>(default-template-parameters)</tt>.
|
||||
</blockquote>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='item'>
|
||||
<div class='type'><a name='*after-make-project-hooks*'>[Special variable]</a></div>
|
||||
<div class='signature'>
|
||||
<code class='name'>*after-make-project-hooks*</code>
|
||||
</div>
|
||||
|
||||
<blockquote class='description'>
|
||||
<p>A list of designators for functions to be called after a
|
||||
project has been created. Each function should accept one required
|
||||
argument, the pathname given
|
||||
to <a href='#make-project'><tt>MAKE-PROJECT</tt></a>, and two
|
||||
keyword arguments, <tt>:name</tt> and <tt>:depends-on</tt>, which
|
||||
correspond to the name of the project (whether explicitly supplied
|
||||
to <tt>MAKE-PROJECT</tt> or derived from the pathname) and the
|
||||
<tt>:depends-on</tt> argument,
|
||||
respectively. <tt>*default-pathname-defaults*</tt> is bound to the
|
||||
newly created project pathname when hooks are called.
|
||||
</blockquote>
|
||||
</div>
|
||||
|
||||
|
||||
<a name='feedback'><h2>Feedback</h2></a>
|
||||
|
||||
<p>For questions or comments about Quickproject, please email me, Zach
|
||||
Beane <<a href='mailto:xach@xach.com'>xach@xach.com</a>>.
|
||||
|
||||
</div>
|
||||
<br><br><br>
|
||||
|
||||
</body>
|
||||
Loading…
Add table
Add a link
Reference in a new issue