Initial setup for code actions #
This declares a code action provider that calls all @[hole_code_action] definitions
on each occurrence of a hole (_, ?_ or sorry).
(This is in a separate file from Std.CodeAction.Hole.Attr so that the server does not attempt
to use this code action provider when browsing the Std.CodeAction.Hole.Attr file itself.)
A code action which calls all @[hole_code_action] code actions on each hole
(?_, _, or sorry).
Instances For
The return value of findTactic?.
This is the syntax for which code actions will be triggered.
- tactic : Syntax.Stack → FindTacticResultThe nearest enclosing tactic is a tactic, with the given syntax stack. 
- tacticSeq
(preferred : Bool)
(insertIdx : Nat)
 : Syntax.Stack → FindTacticResultThe cursor is between tactics, and the nearest enclosing range is a tactic sequence. Code actions will insert tactics at index insertIdxinto the syntax (which is a nullNode oftactic;*inside atacticSeqBracketedortacticSeq1Indented).
Instances For
Find the syntax on which to trigger tactic code actions. This is a pure syntax pass, without regard to elaboration information.
- preferred : String.Pos → Bool: used to select "preferred- tacticSeqs" based on the cursor column, when the cursor selection would otherwise be ambiguous. For example, in:- · foo · bar baz |- where the cursor is at the - |, we select the- tacticSeqstarting with- foo, while if the cursor was indented to align with- bazthen we would select the- bar; bazsequence instead.
- range: the cursor selection. We do not do much with range selections; if a range selection covers more than one tactic then we abort.
- root: the root syntax to process
The return value is either a selected tactic, or a selected point in a tactic sequence.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Returns the info tree corresponding to a syntax, using kind and range for identification.
(This is not foolproof, but it is a fairly accurate proxy for Syntax equality and a lot cheaper
than deep comparison.)
A code action which calls all @[command_code_action] code actions on each command.
Equations
- One or more equations did not get rendered due to their size.