Help
Search
You can search for definitions of modules, packages, classes, functions, methods and attributes. The shorcut Ctrl+K (or Cmd+K on Mac) focuses the search box.
These items can be searched using part or all of the name and/or from their docstrings if "search in docstrings" is enabled. Multiple search terms can be provided separated by whitespace.
When the search box is focused, you can use the up and down arrow keys to navigate the results, and press enter to open the selected result.
The search is powered by lunrjs.
Indexing
By default the search only matches on the name of the object. Enable the full text search in the docstrings with the checkbox option.
You can instruct the search to look only in specific fields by passing the field name in the search like docstring:term.
Possible fields are:
- name, the name of the object (example: "MyClassAdapter" or "my_fmin_opti").
- docstring, the docstring of the object (example: "This is an adapter for HTTP json requests that logs into a file...")
- kind, can be one of: "NAMESPACE_PACKAGE", "PACKAGE", "MODULE", "CLASS", "INTERFACE", "EXCEPTION", "CLASS_METHOD", "STATIC_METHOD", "METHOD", "FUNCTION", "CONSTANT", "TYPE_VARIABLE", "TYPE_ALIAS", "CLASS_VARIABLE", "SCHEMA_FIELD", "ATTRIBUTE", "INSTANCE_VARIABLE", "PROPERTY", "VARIABLE"
- qname, the fully qualified name of the object (example: "lib.classses.MyClassAdapter").
- names, the name splitted on camel case or snake case (example: "My Class Adapter" or "my fmin opti")
Field "docstring" is only applicable if "search in docstrings" is enabled.
Term presence
By default, multiple terms in the query are combined with logical AND: all (non-optional) terms must match for a result to be returned.
You can change how an individual term participates in the query by prefixing it with one of three modifiers:
- +term: The '+' prefix indicates an exact/required presence for that term. When '+' is used the automatic trailing wildcard is suppressed and the search treats the term as an exact token match (rather than a prefix/wildcard search). The term must be present for a result to match.
- -term: The '-' prefix marks the term as an exclusion. Matches that contain that term are filtered out. Like '+', the '-' prefix suppresses the automatic trailing wildcard and treats the term as an exact token to be excluded.
- ?term: The '?' prefix marks the term as optional. Optional terms are not required for a result to match; they are used to increase relevance if present but do not enforce inclusion.
Wildcards
- By default each plain term (without a presence modifier) gets an automatic trailing wildcard, so "foo" is treated like "foo*". In addition to this automatic feature, you can manually add a wildcard anywhere else in the query.
- If a term is prefixed with '+' or '-' the automatic trailing wildcard is not added, turning the term into an exact token match/exclusion.
- If a term contains a dot ('.'), a leading wildcard is also added to enable matching across dotted module/class boundaries. For example, "model." behaves like "model.".
Examples
- doc -> matches names containing tokens that start with "doc" (equivalent to "doc*").
- ensure doc -> matches object whose matches "doc*" and "ensure*".
- doc kind:class -> matches classes whose matches "doc*".
- docstring:ansi -> matches object whose docstring matches "ansi*".
- +doc -> matches only where a token equals "doc" exactly.
- -test -> excludes any result containing a token equal to "test".
- ?input ?str -> matches results that contain either "input" or "str" but neither is required.
- +doc -deprecated ?helper -> requires an exact "doc" token, excludes "deprecated", and treats "helper" as optional.