Below are visualizations of all our scope tests for this language. These were created primarily for testing purposes rather than as documentation. There are quite a few, and they may feel a bit overwhelming from a documentation standpoint.
Scopes
Anonymous function
1. Anonymous function
An anonymous function, eg a lambda function, an arrow function, etc.
Argument list
1. Argument list: Actual empty
An empty list of arguments in a function call. Insertion delimiter should be empty.
2. Argument list: Actual multi line
A multi line list of arguments in a function call. Insertion delimiter should include new line.
3. Argument list: Actual single line
A single line list of arguments in a function call
Argument or parameter
1. Argument: Actual multi line
A multiline argument in a function call. Insertion delimiter should include new line.
2. Argument: Actual single line
A single line argument in a function call
3. Argument: Actual (iteration)
Iteration scope for arguments in a function call: the argument list. The domain should be the entire function call.
Comment
1. Comment: Line
A line comment
Condition
1. Condition: If
A condition in an if statement
Function call
1. Function call
A function call
Function callee
1. Function callee
The function being called in a function call
If statement
1. If statement
An if statement
List
1. List
A list/array
Map
1. Map
A map/dictionary
Name
1. Name: Function
Name of a function
Named function
1. Named function
A named function declaration
2. Named function (iteration document)
Iteration scope for named functions: the entire document including leading and trailing empty lines.
String
1. String: Multi line
A multi-line string
2. String: Single line
A single-line string
Internal scopes
The following are internal scopes. They are not intended for user interaction or spoken use. These scopes exist solely for internal Cursorless functionality.
Disqualify delimiter
1. Disqualify delimiter
Internally used to disqualify a token from being treated as a surrounding pair delimiter. This will usually be operators containing `>` or `<`, eg `<`, `<=`, `->`, etc.
Text fragment
1. Text fragment: Comment line
Internally used text fragment consisting of a line comment
2. Text fragment: String multi line
Internally used text fragment consisting of a multi-line string
3. Text fragment: String single line
Internally used text fragment consisting of a single-line string