Skip to main content

TypeScript

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: Formal constructor empty

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

2. Argument list: Formal empty

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

3. Argument list: Formal method empty

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

Argument or parameter

1. Argument: Catch

A parameter in a catch clause

2. Argument: Formal constructor (iteration)

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

Class

1. Class

A class/struct in an object-oriented language

Function call

1. Function call: Generic

A function call with generic type arguments

Function callee

1. Function callee: Generic

The function being called in a function call with generic type arguments

Name

1. Name: Argument formal

Name of a parameter in a function declaration

2. Name: Class

Name of a class

3. Name: Constant

Name (LHS) of a constant declaration

4. Name: Constructor

Name of a constructor

5. Name: Enum

Name of an enum

6. Name: Field class

Name (LHS) of a field in a class

7. Name: Field enum

Name (LHS) of a field in an enum

8. Name: Field interface

Name (LHS) of a field in an interface

9. Name: Function

Name of a function

10. Name: Interface

Name of a interface

11. Name: Method

Name of a class method

12. Name: Type alias

Name of a type alias

13. Name: Variable initialized

Name (LHS) of an initialized variable declaration

14. Name: Variable uninitialized

Name (LHS) of an uninitialized variable declaration

15. Name (iteration class)

Iteration scope for names: class bodies.

16. Name (iteration enum)

Iteration scope for names: enum bodies.

17. Name (iteration interface)

Iteration scope for names: interface bodies.

Named function

1. Named function

A named function declaration

2. Named function: Constructor

A constructor declaration in a class

3. Named function: Method

A named method declaration in a class

Statement

1. Statement: Enum

An enum declaration

2. Statement: Field interface

A field declaration in a interface

3. Statement: Interface

An interface declaration

4. Statement: Type alias

A type alias declaration

5. Statement (iteration interface)

Iteration scope for statements: interface bodies.

Type

1. Type: Alias

A type alias declaration

2. Type: Argument catch

Type of a parameter in a catch clause

3. Type: Argument formal

Type of a formal parameter in a function declaration

4. Type: Argument formal constructor

Type of a formal parameter in a constructor declaration

5. Type: Argument formal lambda

Type of a formal parameter in a lambda declaration

6. Type: Argument formal method

Type of a formal parameter in a class method declaration

7. Type: Cast

A type cast

8. Type: Class

A class declaration

9. Type: Constant

Type of a constant declaration

10. Type: Enum

An enum declaration

11. Type: Field class

Type of a field in a class

12. Type: Field interface

Type of a field in a interface

13. Type: Interface

An interface declaration

14. Type: Return

Type of a return value in a function declaration

15. Type: Return method

Type of a return value in a method declaration

16. Type: Type argument

Type argument to a generic / parametrized type

17. Type: Variable initialized

Type of an initialized variable declaration

18. Type: Variable uninitialized

Type of an uninitialized variable declaration

19. Type (iteration block)

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

20. Type (iteration class)

Iteration scope for types: class bodies.

21. Type (iteration document)

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

22. Type (iteration interface)

Iteration scope for types: interface bodies.

23. Type: Argument formal (iteration)

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

24. Type: Argument formal constructor (iteration)

Iteration scope for types of formal parameters in a constructor declaration: the parameters list.

25. Type: Argument formal lambda (iteration)

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

26. Type: Argument formal method (iteration)

Iteration scope for types of formal parameters in a method declaration: the parameters list.

27. Type: Type argument (iteration)

Iteration scope for type arguments to a generic / parametrized type: the type argument list.

Value

1. Value: Argument formal

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

2. Value: Field class

Value (RHS) of a field in a class

3. Value: Field enum

Value (RHS) of a field in an enum

4. Value: Type alias

Value of a type alias declaration

5. Value (iteration class)

Iteration scope for values: class bodies.

6. Value (iteration enum)

Iteration scope for values: enum bodies.

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: Enum

The body of an enum

2. Interior: Interface

The body of a interface