Skip to content

Enhance Tab key function #283

Open
Open
@PropGit

Description

@PropGit

Background
Issues #88, #112, #120 led to the current implementation of the Tab key's function in source, which functions like Ctrl/Cmd-] (mapped to indentMore) for both single line and multiple selected lines.

However, that's not the exact implementation we intended for Tab.

Demonstration of Intent of Tab

Single Line With or Without Selection
With cursor in any position on a line (with no selection), or when there's a selection within any part of a single line, pressing the Tab key once results in one or more space characters inserted at the point of the cursor, or at the leading point of the selection, until it lines up with next "tab" position column; currently multiples of 2. Selection and the text it includes remains after operation.

Example 1:
image
Results in this:
image

Example 2:
image
Results in this:
image

Example 3:
image
Results in this:
image

Multi-Line Stream Selection
When any stream selection includes multiple lines, pressing the Tab key once results in indenting each whole line to the next "tab" position column (currently multiples of 2); effectively inserting one or more space characters at the beginning of each involved line regardless of the actual selection's start and end within said lines. Selection need not be perfect, it may include only a portion of the starting and ending line. Selection and the text it includes remains after operation.

Example 1:
image
Results in this:
image

Example 2:
image
Results in this:
image

Multi-Line Block Selection
When any block selection includes multiple lines, pressing the Tab key once results in one or more space characters inserted at the leading point of the selection on each line, until it lines up with next "tab" position column; currently multiples of 2. Selection and the text it includes remains after operation.

Example 1:
image
Results in this:
image

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions