Variable: combobulate-default-definitions
combobulate-default-definitions is a variable defined in
combobulate-setup.el.
Value
Large value
((procedures-defun
"Procedures that control navigation to the next/previous defun." nil)
(procedures-hierarchy
"Procedures that control navigation in and out of node hierarchies."
nil)
(procedures-default
"Node procedures used by Combobulate when more specific procedures don't apply.\n\nThe `combobulate-navigable-nodes' variable is populated\nwith the node types from all the expanded activation node\nprocedure rules."
'((:activation-nodes ((:nodes (all))))))
(default-nodes
"List of active node types used for node discovery.\n\nThis variable is almost always auto-populated by Combobulate when\na set of procedures are activated, and should only be let-bound\nor set with `with-navigation-nodes'."
nil)
(procedures-sequence
"Procedures that control navigation to the next/previous sequence.\n\nThis variable is used by some Combobulate commands that navigate\nsequences of nodes, regardless of their relative positions in the tree."
nil)
(procedures-edit
"Procedures used to mark clusters of editable nodes.\n\nThis is used by some Combobulate commands that edit nodes. Most\ncommonly cursor editing."
nil)
(default-procedures
"List of active procedures used by Combobulate's procedure system.\n\nThis variable is almost always auto-populated by Combobulate from\none of the other procedure variables, and should only be\nlet-bound or set with `with-navigation-nodes'.")
(procedures-sexp
"Procedures that control navigation to the next/previous sexp.\n\nThis is used by by Combobulate's backwards-compatible sexp\nnavigation system, and it applies to all `-sexp' commands in\nEmacs."
nil)
(procedures-logical
"Procedures that control logical navigation forward and backward."
'((:activation-nodes ((:nodes (all))))))
(procedures-sibling
"Procedures that control navigation between sibling nodes." nil)
(display-ignored-node-types
"List of node types to never display in the Combobulate display tree."
nil)
(plausible-separators
"List of strings of plausible separators found in this language.\n\nThis is a fairly blunt way of instructing Combobulate of the type\nof separators to expect in a language. It's used to help with\nediting. The default value is usually good enough for most\nlanguages."
'(","))
(procedure-discard-rules
"List of discard rules to apply to procedure matches.\n\nThis is a generic filter to apply across all procedures. Any rule\nspecified in this list will be applied to all procedures,\nregardless of the procedure's activation rules."
'("comment"))
(indent-after-edit
"Non-nil indents the inserted text after a Combobulate refactor text operation.\n\nThis should probably be nil in whitespace-sensitive languages."
nil)
(indent-calculate-function
"Function that determines the baseline indentation of a given position.\n\nThe function must take one argument, POS, and from that point\ndetermine the indentation."
#'combobulate-baseline-indentation-default)
(envelope-indent-region-function
"Function to call to indent an envelope after it is inserted.\n\nNote that this defaults to `indent-region', but that may work\nwell in indentation-sensitive languages like YAML or Python."
#'indent-region)
(envelope-deindent-function
"Function to call to calculate the previous indentation level of point.\n\nThe function must determine, from its current position in the\nbuffer, the *preceding* indentation level.\n\nThis is little use to anything except whitespace-sensitive\nlanguages like YAML and Python."
nil)
(envelope-procedure-shorthand-alist
"Alist of shorthand symbols for envelope procedures.\n\nEach entry must be an alist with the key being the shorthand\nsymbol and the value being a valid combobulate procedure.\n\nShorthands are used in lieu of inlining the procedure in the\n`:nodes' property for an envelope, and instead lets you refer to\na procedure by a `:shorthand' property matching the key in this\nalist."
nil)
(envelope-procedure-shorthand-default-alist
"Alist of default shorthand symbols for envelope procedures."
'((wrap-expressions
(:activation-nodes ((:nodes (rule-rx "expression")))))))
(envelope-list
"List of envelope definitions for this language.\n\nEach entry is a list of properties that define the envelope. The\nproperties are:\n\n (:description STRING\n :name STRING\n :key STRING\n :mark-node <t/nil>\n :template ENVELOPE\n [:extra-key STRING]\n [:shorthand SHORTHAND-SYMBOL]\n [:nodes NODES]\n [:point-placement <stay/after/before>])\n\nWhere `:description' is a human-readable description of the\nenvelope.\n\n`:name' is the name of the envelope that will be\ninserted into the envelope command.\n\n`:key' is the key binding (in `kbd' macro format) to bind to the\nenvelope such that it is created under `C-c o e\n<key>'. `:extra-key' is an optional key binding that is bound to\nany arbitrary key binding.\n\n`:shorthand' is a shorthand symbol to use in place of\n`:nodes' (see the shorthand procedures alist variable)\n\n `:nodes'is a list of nodes to look for at/around point before\n expanding the envelope template.\n\n`:mark-node' is a boolean that determines whether to mark the\nnode that `:nodes' (or `:shorthand') matches and remove it and\ninsert it into the `r'/`r>' registers.\n\n`:template' is the template to insert. See\n`combobulate-envelope-expand-instructions' for a complete\ndescription of the template format.\n\n`:point-placement' is a symbol that determines where point is\nplaced after the envelope is inserted. It can be `stay',\n`after', or `before'."
nil)
(envelope-default-list
"Default envelopes to also include in the `envelope-list'."
'((:description "( ... )" :key "(" :extra-key "M-(" :mark-node t
:split-node t :shorthand wrap-expressions :name
"wrap-parentheses" :template (@ "(" r ")"))))
(highlight-queries-default
"List of Combobulate-provided node queries to highlight.\n\nThis list is set internally by the setup function responsible for\nconfiguring Combobulate in a tree-sitter buffer.\n\nEach query should be a well-formed tree-sitter query. Capture\ngroups should use the name of the face to highlight with. See the\nkeys in `combobulate-query-match-face-alist' for a selection of\nexample faces to use.\n\nUsers who wish to programmatically add their own queries using\nfile/directory-local variables, or through customization, should\nuse `combobulate-highlight-queries-alist' instead."
nil)
(context-nodes
"List of contextual nodes for use with querying and highlighting.\n\nMost language grammars have one or two nodes that are \"atoms\"\nand usually hold the literal text of the nodes around it. For\ninstance function declarations or variable assignments will\ntypically contain an `identifier' (or similar) node that holds\nthe name of the function or the variable being assigned to.\n\nFor many languages it's usually something like `identifier' or\n`string', but it could be any number of nodes."
nil)
(pretty-print-function
"Function that pretty prints a Combobulate node."
#'combobulate--pretty-print-node)
(pretty-print-node-name-function
"Function that pretty prints a node name."
#'combobulate-pretty-print-node-name)
(navigate-down-into-lists
"Whether to navigate into the first list-like structure ahead of point."
t))
Documentation
Default definitions that each language minor mode can set.
This is a list of defvar forms that are used to define the
default values for each language minor mode.
It is unlikely that a regular user would want to configure these, as they are used to set up the language minor modes used by Combobulate.
The primary use for these is through define-combobulate-language.
Source Code
;; Defined in /nix/store/b5fvrwzi3zvkabyzx0in6gw1cj963z46-emacs-packages-deps/share/emacs/site-lisp/combobulate-setup.el
(defconst combobulate-default-definitions
'((procedures-defun
"Procedures that control navigation to the next/previous defun."
nil)
(procedures-hierarchy
"Procedures that control navigation in and out of node hierarchies."
nil)
(procedures-default
"Node procedures used by Combobulate when more specific procedures don't apply.
The `combobulate-navigable-nodes' variable is populated
with the node types from all the expanded activation node
procedure rules."
'((:activation-nodes ((:nodes (all))))))
(default-nodes
"List of active node types used for node discovery.
This variable is almost always auto-populated by Combobulate when
a set of procedures are activated, and should only be let-bound
or set with `with-navigation-nodes'."
nil)
(procedures-sequence
"Procedures that control navigation to the next/previous sequence.
This variable is used by some Combobulate commands that navigate
sequences of nodes, regardless of their relative positions in the tree."
nil)
(procedures-edit
"Procedures used to mark clusters of editable nodes.
This is used by some Combobulate commands that edit nodes. Most
commonly cursor editing."
nil)
(default-procedures
"List of active procedures used by Combobulate's procedure system.
This variable is almost always auto-populated by Combobulate from
one of the other procedure variables, and should only be
let-bound or set with `with-navigation-nodes'.")
(procedures-sexp
"Procedures that control navigation to the next/previous sexp.
This is used by by Combobulate's backwards-compatible sexp
navigation system, and it applies to all `-sexp' commands in
Emacs."
nil)
(procedures-logical
"Procedures that control logical navigation forward and backward."
'((:activation-nodes ((:nodes (all))))))
(procedures-sibling
"Procedures that control navigation between sibling nodes."
nil)
(display-ignored-node-types
"List of node types to never display in the Combobulate display tree."
nil)
(plausible-separators
"List of strings of plausible separators found in this language.
This is a fairly blunt way of instructing Combobulate of the type
of separators to expect in a language. It's used to help with
editing. The default value is usually good enough for most
languages."
'(","))
(procedure-discard-rules
"List of discard rules to apply to procedure matches.
This is a generic filter to apply across all procedures. Any rule
specified in this list will be applied to all procedures,
regardless of the procedure's activation rules."
'("comment"))
(indent-after-edit
"Non-nil indents the inserted text after a Combobulate refactor text operation.
This should probably be nil in whitespace-sensitive languages."
nil)
(indent-calculate-function
"Function that determines the baseline indentation of a given position.
The function must take one argument, POS, and from that point
determine the indentation."
#'combobulate-baseline-indentation-default)
(envelope-indent-region-function
"Function to call to indent an envelope after it is inserted.
Note that this defaults to `indent-region', but that may work
well in indentation-sensitive languages like YAML or Python."
#'indent-region)
(envelope-deindent-function
"Function to call to calculate the previous indentation level of point.
The function must determine, from its current position in the
buffer, the *preceding* indentation level.
This is little use to anything except whitespace-sensitive
languages like YAML and Python."
nil)
(envelope-procedure-shorthand-alist
"Alist of shorthand symbols for envelope procedures.
Each entry must be an alist with the key being the shorthand
symbol and the value being a valid combobulate procedure.
Shorthands are used in lieu of inlining the procedure in the
`:nodes' property for an envelope, and instead lets you refer to
a procedure by a `:shorthand' property matching the key in this
alist."
nil)
(envelope-procedure-shorthand-default-alist
"Alist of default shorthand symbols for envelope procedures."
'((wrap-expressions
. ((:activation-nodes
;; hope-and-a-prayer guess at what an expression is in a language
((:nodes (rule-rx "expression"))))))))
(envelope-list
"List of envelope definitions for this language.
Each entry is a list of properties that define the envelope. The
properties are:
(:description STRING
:name STRING
:key STRING
:mark-node <t/nil>
:template ENVELOPE
[:extra-key STRING]
[:shorthand SHORTHAND-SYMBOL]
[:nodes NODES]
[:point-placement <stay/after/before>])
Where `:description' is a human-readable description of the
envelope.
`:name' is the name of the envelope that will be
inserted into the envelope command.
`:key' is the key binding (in `kbd' macro format) to bind to the
envelope such that it is created under `C-c o e
<key>'. `:extra-key' is an optional key binding that is bound to
any arbitrary key binding.
`:shorthand' is a shorthand symbol to use in place of
`:nodes' (see the shorthand procedures alist variable)
`:nodes'is a list of nodes to look for at/around point before
expanding the envelope template.
`:mark-node' is a boolean that determines whether to mark the
node that `:nodes' (or `:shorthand') matches and remove it and
insert it into the `r'/`r>' registers.
`:template' is the template to insert. See
`combobulate-envelope-expand-instructions' for a complete
description of the template format.
`:point-placement' is a symbol that determines where point is
placed after the envelope is inserted. It can be `stay',
`after', or `before'."
nil)
(envelope-default-list
"Default envelopes to also include in the `envelope-list'."
'((:description
"( ... )"
:key "("
:extra-key "M-("
:mark-node t
:split-node t
:shorthand wrap-expressions
:name "wrap-parentheses"
:template (@ "(" r ")"))))
(highlight-queries-default
"List of Combobulate-provided node queries to highlight.
This list is set internally by the setup function responsible for
configuring Combobulate in a tree-sitter buffer.
Each query should be a well-formed tree-sitter query. Capture
groups should use the name of the face to highlight with. See the
keys in `combobulate-query-match-face-alist' for a selection of
example faces to use.
Users who wish to programmatically add their own queries using
file/directory-local variables, or through customization, should
use `combobulate-highlight-queries-alist' instead."
nil)
(context-nodes
"List of contextual nodes for use with querying and highlighting.
Most language grammars have one or two nodes that are \"atoms\"
and usually hold the literal text of the nodes around it. For
instance function declarations or variable assignments will
typically contain an `identifier' (or similar) node that holds
the name of the function or the variable being assigned to.
For many languages it's usually something like `identifier' or
`string', but it could be any number of nodes."
nil)
(pretty-print-function
"Function that pretty prints a Combobulate node."
#'combobulate--pretty-print-node)
(pretty-print-node-name-function
"Function that pretty prints a node name."
#'combobulate-pretty-print-node-name)
(navigate-down-into-lists
"Whether to navigate into the first list-like structure ahead of point."
t))
"Default definitions that each language minor mode can set.
This is a list of `defvar' forms that are used to define the
default values for each language minor mode.
It is unlikely that a regular user would want to configure these,
as they are used to set up the language minor modes used by
Combobulate.
The primary use for these is through `define-combobulate-language'.")