Skip to content

Simplify smart indentation implementation. #15711

@CyrusNajmabadi

Description

@CyrusNajmabadi

Right now our indentation implementation is quite complex. We support both listening to ISmartIndent as well as listening directly to <enter>. The latter is so that we can control what happens when the user hits enter in the middle of code and if there's whitespace to the right of the cursor. In that event we want to indent and delete the whitespace after the cursor.

However, the editor is changing the default behavior of ISmartIndent to do that automatically. When enter is hit, they'll remove all whitespace after the cursor and place any subsequent text at the indent column we provide.

Once this goes in, we can remove our indent <enter> handler entirely, and we can just use ISmartIndent. This will clean up a lot of code (especially as those two types know about each other and channel data to and from each other).

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions