Skip to main content

Lua

Scopes

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.

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: If (iteration)

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

Condition

1. Condition: If

A condition in an if statement

Function call

1. Function call

A function call

2. Function call: Chain

A chain of function calls, eg `foo().bar()`

3. Function call: Method

A method call

Function callee

1. Function callee

The function being called in a function call

2. Function callee: Chain

The function being called in a chain of function calls, including parent objects.

3. Function callee: Method

The function being called in a method call, including parent objects.

If statement

1. If statement

An if statement

Interior

1. Interior: Function

The body of a function declaration

2. Interior: If

The body of an if/elif/else branch

Map

1. Map

A map/dictionary

Name

1. Name: Assignment

Name (LHS) of an assignment

2. Name: Variable

Name (LHS) of a variable declaration

Named function

1. Named function

A named function declaration

Statement

1. Statement: If

A if/elif/else statement

Value

1. Value: Assignment

Value (RHS) of an assignment

2. Value: Variable

Value (RHS) of a variable declaration

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

Used to disqualify a token from being treated as a surrounding pair delimiter. This will usually be operators containing `>` or `<`, eg `<`, `<=`, `->`, etc