The quickproject Reference Manual

This is the quickproject Reference Manual, version 1.4.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 15 07:25:33 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 quickproject

Creates the skeleton of a new Common Lisp project

Author

Zach Beane <>

License

MIT

Version

1.4.1

Dependencies
  • cl-fad (system).
  • html-template (system).
Source

quickproject.asd.

Child Components

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


3.1 Lisp


3.1.1 quickproject/quickproject.asd

Source

quickproject.asd.

Parent Component

quickproject (system).

ASDF Systems

quickproject.


3.1.2 quickproject/package.lisp

Source

quickproject.asd.

Parent Component

quickproject (system).

Packages

quickproject.


3.1.3 quickproject/quickproject.lisp

Dependency

package.lisp (file).

Source

quickproject.asd.

Parent Component

quickproject (system).

Public Interface
Internals

4 Packages

Packages are listed by definition order.


4.1 quickproject

The Quickproject package.

Source

package.lisp.

Use List

common-lisp.

Public Interface
Internals

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


5.1 Public Interface


5.1.1 Special variables

Special Variable: *after-make-project-hooks*

A list of functions to call after MAKE-PROJECT is finished making a project. Each function is called with the same arguments passed to MAKE-PROJECT, except that NAME is canonicalized if
necessary. *DEFAULT-PATHNAME-DEFAULTS* bound to the newly created project directory.

Package

quickproject.

Source

quickproject.lisp.

Special Variable: *author*

Set this variable to your contact information.

Package

quickproject.

Source

quickproject.lisp.

Special Variable: *include-copyright*

Include a copyright notice at the top of files.

Package

quickproject.

Source

quickproject.lisp.

Special Variable: *license*
Package

quickproject.

Source

quickproject.lisp.

Special Variable: *template-directory*

A directory to use as a source of template files.

Package

quickproject.

Source

quickproject.lisp.

Special Variable: *template-parameter-functions*

A list of functions that return plists for use when rewriting template files. The results of calling each function are appended together to pass to FILL-AND-PRINT-TEMPLATE.

Package

quickproject.

Source

quickproject.lisp.


5.1.2 Ordinary functions

Function: default-template-parameters ()

Return a plist of :NAME, :LICENSE, and :AUTHOR parameters.

Package

quickproject.

Source

quickproject.lisp.

Function: make-project (pathname &key template-parameters template-directory depends-on author license name include-copyright)

Create a project skeleton for NAME in PATHNAME. If DEPENDS-ON is provided, it is used as the asdf defsystem depends-on list.

Package

quickproject.

Source

quickproject.lisp.


5.2 Internals


5.2.1 Special variables

Special Variable: *depends-on*

Dependencies specified at project creation

Package

quickproject.

Source

quickproject.lisp.

Special Variable: *name*

The name of the project currently being created.

Package

quickproject.

Source

quickproject.lisp.


5.2.2 Macros

Macro: with-new-file ((stream file) &body body)

Like WITH-OPEN-FILE, but specialized for output to a file that must not already exist.

Package

quickproject.

Source

quickproject.lisp.


5.2.3 Ordinary functions

Function: current-year ()
Package

quickproject.

Source

quickproject.lisp.

Function: matches-template-p (pathname template)
Package

quickproject.

Source

quickproject.lisp.

Function: pathname-project-name (pathname)

Return a project name based on PATHNAME by taking the last element in the pathname-directory list. E.g. returns "awesome-project" for #p"src/awesome-project/".

Package

quickproject.

Source

quickproject.lisp.

Function: rewrite-templates (template-directory target-directory parameters)

Treat every file in TEMPLATE-DIRECTORY as a template file; fill it out using PARAMETERS into a corresponding file in TARGET-DIRECTORY. The rewriting uses HTML-TEMPLATE. The template start marker is the string "(#|" and the template end marker is the string "|#)". Template vars are not modified or escaped when written.

Package

quickproject.

Source

quickproject.lisp.

Function: template-parameters (initial-parameters)

Return all template parameters returned by calling each element in *TEMPLATE-PARAMETER-FUNCTIONS*, appended together as a single plist.

Package

quickproject.

Source

quickproject.lisp.

Function: template-pathname->output-name (path)
Package

quickproject.

Source

quickproject.lisp.


Appendix A Indexes


A.1 Concepts