Search documentation of Common Lisp symbols in the current lisp image for a query string.
The base package and system is pure Common Lisp. An additional system docsearch-ollama is included for use with ollama.
To search for symbols related to "function" in all packages, you would call:
(docsearch:docsearch "alist")This will print out any symbols and their documentation that contain the word "alist".
To restrict the search to a certain package or packages, supply it as a second argument.
(docsearch:docsearch "alist" :alexandria)ALEXANDRIA:ALIST-HASH-TABLE
Function:
Returns a hash table containing the keys and values of the association list
ALIST. Hash table is initialized using the HASH-TABLE-INITARGS.
ALEXANDRIA:ASSOC-VALUE
Function:
ASSOC-VALUE is an alist accessor very much like ASSOC, but it can
be used with SETF.
ALEXANDRIA:RASSOC-VALUE
Function:
RASSOC-VALUE is an alist accessor very much like RASSOC, but it can
be used with SETF.
ALEXANDRIA:HASH-TABLE-ALIST
ALEXANDRIA:PLIST-ALIST
ALEXANDRIA:ALIST-PLIST
Function:
Returns a property list containing the same keys and values as the
association list ALIST in the same order.
curl https://raw.githubusercontent.com/rudolfochrist/ql-https/master/install.sh | bash
(ql-dist:install-dist "https://dist.ultralisp.org/" :prompt nil)
(ql:quickload "docsearch")
- (Optional) more-docstrings:
(ql:quickload "more-docstrings")
A list of types of documentation to search within symbols. TODO: Expand this with in-nomine
The function used by docsearch for searching documentation strings. By default this uses search with char-equal.
Lambda list: (search-term &optional packages (mode :external) (method *search-function*))Searches for Lisp symbols based on a given search string.
Parameters:
search-string(string or symbol): The term to search for.packages(a single package-designator, list of package-designators, or a predicate function, optional): List of packages to search within. Defaults to all packages. If it is a function, it is used to narrow the search to the good packages of(list-all-packages).mode(symbol, optional): Whether to search external or internal symbols. Options are:externaland:internal. Defaults to:external.method(function, optional): The function to use for searching documentation strings.
Example packages function to search for quicklisp related packages:
(defun ql-package-p (pkg)
(let ((name (package-name pkg)))
(or (search "QL" name)
(search "QUICKLISP" name))))(docsearch:docsearch "dist" #'ql-package-p)Returns:
None