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.
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 method empty
An empty list of arguments in a method call. Insertion delimiter should be empty.
3. Argument list: Actual method single line
A single line list of arguments in a method call
4. Argument list: Actual single line
A single line list of arguments in a function call
Argument or parameter
1. Argument: Actual single line
A single line argument in a function call
2. Argument: Actual (iteration)
Iteration scope for arguments in a function call: the argument list. The domain should be the entire function call.
Collection key
1. Key: Map pair
Key (LHS) of a key-value pair of a map
2. Key: Map pair (iteration)
Iteration scope for keys of key-value pairs in a map: should be between the braces.
Command
1. Command
A command, for example Talon spoken command or bash
Comment
1. Comment: Line
A line comment
Function call
1. Function call
A function call
2. Function call: Method
A method call
Function callee
1. Function callee
The function being called in a function call
2. Function callee: Method
The function being called in a method call, including parent objects.
Interior
1. Interior: Command
The body of a command, eg Talon spoken command
Name
1. Name: Assignment
Name (LHS) of an assignment
2. Name: Command
LHS of a command, eg Talon spoken command or bash
3. Name: Variable
Name (LHS) of a variable declaration
4. Name (iteration block)
Iteration scope for names: statement blocks (body of functions/if-statements/for-loops/etc).
5. Name (iteration document)
Iteration scope for names: the entire document including leading and trailing empty lines.
Statement
1. Statement: Assignment
An assignment statement
2. Statement: Command
A command statement, eg Talon spoken command or bash
3. Statement: Variable
A variable declaration
4. Statement (iteration block)
Iteration scope for statements: statement blocks (body of functions/if-statements/for-loops/etc).
5. Statement (iteration document)
Iteration scope for statements: the entire document including leading and trailing empty lines.
String
1. String: Single line
A single-line string
Value
1. Value: Assignment
Value (RHS) of an assignment
2. Value: Command
Value (RHS) of an command, eg Talon spoken command
3. Value: Map pair
Value (RHS) of a key-value pair in a map
4. Value: Variable
Value (RHS) of a variable declaration
5. Value (iteration block)
Iteration scope for values: statement blocks (body of functions/if-statements/for-loops/etc).
6. Value (iteration document)
Iteration scope for values: the entire document including leading and trailing empty lines.
7. Value: Map pair (iteration)
Iteration scope for values of key-value pairs in a map: should be between the braces.
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.