Skip to main content

R

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 method empty​

An empty list of arguments in a method call. Insertion delimiter should be empty.

3. Argument list: Actual method multi line​

A multi line list of arguments in a method call. Insertion delimiter should include new line.

4. Argument list: Actual method single line​

A single line list of arguments in a method call

5. Argument list: Actual multi line​

A multi line list of arguments in a function call. Insertion delimiter should include new line.

6. Argument list: Actual single line​

A single line list of arguments in a function call

7. Argument list: Formal empty​

An empty list of parameters in a function declaration. Insertion delimiter should be empty.

8. Argument list: Formal lambda empty​

An empty list of parameters in a lambda declaration. Insertion delimiter should be empty.

9. Argument list: Formal lambda multi line​

A multi line list of parameters in a lambda declaration. Insertion delimiter should include new line.

10. Argument list: Formal lambda single line​

A single line list of parameters in a lambda declaration

11. Argument list: Formal multi line​

A multi line list of parameters in a function declaration. Insertion delimiter should include new line.

12. Argument list: Formal single line​

A single line list of parameters in a function declaration

Argument or parameter​

1. Argument: Actual method multi line​

A multi line argument in a method call. Insertion delimiter should include new line.

2. Argument: Actual method single line​

A single line argument in a method call

3. Argument: Actual multi line​

A multiline argument in a function call. Insertion delimiter should include new line.

4. Argument: Actual single line​

A single line argument in a function call

5. Argument: Formal lambda multi line​

A multi line parameter in a lambda declaration. Insertion delimiter should include new line.

6. Argument: Formal lambda single line​

A single line parameter in a lambda declaration

7. Argument: Formal multi line​

A multi line parameter in a function declaration. Insertion delimiter should include new line.

8. Argument: Formal single line​

A single line parameter in a function declaration

9. Argument: Actual (iteration)​

Iteration scope for arguments in a function call: the argument list. The domain should be the entire function call.

10. Argument: Actual method (iteration)​

Iteration scope for arguments in a method call: the argument list. The domain should be the entire method call.

11. Argument: Formal (iteration)​

Iteration scope for formal parameters in a function declaration: the parameters list. The domain should be the entire function.

12. Argument: Formal lambda (iteration)​

Iteration scope for formal parameters in a lambda declaration: the parameter list. The domain should be the entire lambda.

Branch​

1. Branch: If​

An if branch

2. Branch: If elif else​

An if-elif-else branch. The removal range for the if branch should include the trailing else keyword.

3. Branch: If else​

An if-else branch

4. Branch: Switch case​

A case/default branch in a switch statement

5. Branch: Try​

A try/catch/finally branch

6. Branch: If (iteration)​

Iteration scope for if/elif/else branches: the if-else statement.

7. Branch: Switch case (iteration)​

Iteration scope for switch branches: the switch statement body.

8. Branch: Try (iteration)​

Iteration scope for try/catch/finally branches: the try-catch statement.

Comment​

1. Comment: Line​

A line comment

Condition​

1. Condition: If​

A condition in an if statement

2. Condition: Switch case​

A condition in a switch statement

3. Condition: While​

A condition in a while loop

4. Condition: Switch case (iteration)​

Iteration scope for conditions in a switch statement: the switch statement body.

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.

If statement​

1. If statement​

An if statement

List​

1. List​

A list/array

Name​

1. Name: Argument actual​

Name of a (keyword) argument in a function call

2. Name: Argument formal​

Name of a parameter in a function declaration

3. Name: Argument formal lambda​

Name of a parameter in a lambda declaration

4. Name: Assignment​

Name (LHS) of an assignment

5. Name: Foreach​

Iteration variable name in a for each loop

6. Name: Function​

Name of a function

7. Name: Variable initialized​

Name (LHS) of an initialized variable declaration

8. Name (iteration block)​

Iteration scope for names: statement blocks (body of functions/if-statements/for-loops/etc).

9. Name (iteration document)​

Iteration scope for names: the entire document including leading and trailing empty lines.

10. Name: Argument actual (iteration)​

Iteration scope for names of (keyword) arguments in a function call: the argument list.

11. Name: Argument formal (iteration)​

Iteration scope for names of formal parameters in a function declaration: the parameters list.

12. Name: Argument formal lambda (iteration)​

Iteration scope for names of formal parameters in a lambda declaration: the parameters list.

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.

Statement​

1. Statement: Assignment​

An assignment statement

2. Statement: Break​

A break statement

3. Statement: Continue​

A continue statement

4. Statement: Foreach​

A for-each loop statement

5. Statement: Function​

A named function declaration

6. Statement: Function call​

A function call statement

7. Statement: If​

A if/elif/else statement

8. Statement: Return​

A return statement

9. Statement: Switch​

A switch statement

10. Statement: Try​

A try/catch/finally statement

11. Statement: Variable initialized​

An initialized variable declaration

12. Statement: While​

A while loop statement

13. Statement (iteration block)​

Iteration scope for statements: statement blocks (body of functions/if-statements/for-loops/etc).

14. Statement (iteration document)​

Iteration scope for statements: the entire document including leading and trailing empty lines.

Value​

1. Value: Argument actual​

The value of a (keyword) argument in a function call

2. Value: Argument formal​

The (default) value of a argument in a function declaration

3. Value: Argument formal lambda​

The (default) value of a parameter in a lambda declaration

4. Value: Assignment​

Value (RHS) of an assignment

5. Value: Foreach​

Iterable in a for each loop

6. Value: Return​

Return value of a function

7. Value: Switch​

The value / subject of a switch statement

8. Value: Variable​

Value (RHS) of a variable declaration

9. Value (iteration block)​

Iteration scope for values: statement blocks (body of functions/if-statements/for-loops/etc).

10. Value (iteration document)​

Iteration scope for values: the entire document including leading and trailing empty lines.

11. Value: Argument actual (iteration)​

Iteration scope for values of (keyword) arguments in a function call: the arguments list.

12. Value: Argument formal (iteration)​

Iteration scope for values of formal parameters in a function declaration: the parameters list.

13. Value: Argument formal lambda (iteration)​

Iteration scope for values of formal parameters in a lambda declaration: the parameters list.

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.

Interior​

1. Interior: Foreach​

The body of a for-each loop

2. Interior: Function​

The body of a function declaration

3. Interior: If​

The body of an if/elif/else branch

4. Interior: Lambda​

The block body of a lambda/anonymous function

5. Interior: Switch case​

The body of a switch case branch

6. Interior: Try​

The body of a try/catch/finally branch

7. Interior: While​

The body of a while loop

String​

1. String: Multi line​

A multi-line string

2. String: Single line​

A single-line string

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