Talon
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
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 call4. Argument list: Actual single line
A single line list of arguments in a function callArgument or parameter
1. Argument: Actual single line
A single line argument in a function call2. 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 map2. 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 bashComment
1. Comment: Line
A line commentCondition
1. Condition: If
A condition in an if statementFunction call
1. Function call
A function call2. Function call: Method
A method callFunction callee
1. Function callee
The function being called in a function call2. Function callee: Method
The function being called in a method call, including parent objects.If statement
1. If statement
An if statementName
1. Name: Assignment
Name (LHS) of an assignment2. Name: Command
LHS of a command, eg Talon spoken command or bash3. Name: Foreach
Iteration variable name in a for each loop4. Name: Variable initialized
Name (LHS) of an initialized variable declaration5. Name (iteration block)
Iteration scope for names: statement blocks (body of functions/if-statements/for-loops/etc).6. Name (iteration document)
Iteration scope for names: the entire document including leading and trailing empty lines.Statement
1. Statement: Assignment
An assignment statement2. Statement: Command
A command statement, eg Talon spoken command or bash3. Statement: Foreach
A for-each loop statement4. Statement: Function call
A function call statement5. Statement: If
A if/elif/else statement6. Statement: Variable initialized
An initialized variable declaration7. Statement (iteration block)
Iteration scope for statements: statement blocks (body of functions/if-statements/for-loops/etc).8. Statement (iteration document)
Iteration scope for statements: the entire document including leading and trailing empty lines.Value
1. Value: Assignment
Value (RHS) of an assignment2. Value: Command
Value (RHS) of an command, eg Talon spoken command3. Value: Foreach
Iterable in a for each loop4. Value: Map pair
Value (RHS) of a key-value pair in a map5. Value: Variable
Value (RHS) of a variable declaration6. Value (iteration block)
Iteration scope for values: statement blocks (body of functions/if-statements/for-loops/etc).7. Value (iteration document)
Iteration scope for values: the entire document including leading and trailing empty lines.8. 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.