Skip to content

Conversation

AshlinHarris
Copy link
Contributor

@AshlinHarris AshlinHarris commented Jun 30, 2024

This commit adds a REPL feature: autocompletion when the right arrow key is pressed at the end of a line (The current behavior is to do nothing).

This new effect only occurs when:

  • the cursor is at the end of the buffer,
  • there is only one possible completion, and
  • more than 1 character is in the buffer.

In this situation, the right arrow key behaves like <Tab>. Otherwise, the right arrow key behaves as normal.

The feature was requested in #54539 and seems intuitive to me. One useful side effect is that, by requiring that the cursor be at the end of the line, it offers a way to avoid autcompletes within words, which I assume are almost never helpful (For example, if I type "show" in the REPL, move the cursor onto the 'o' and press <Tab>, I end up with "showow"). One potential drawback is that the autocomplete could occur when a user who simply wants to move the cursor to the end of the line holds down the right arrow.

Resolves #54539

@fatteneder fatteneder added the REPL Julia's REPL (Read Eval Print Loop) label Jun 30, 2024
Copy link
Member

@fingolfin fingolfin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me. I am not sure whether I'd use it in practice; or whether it even might annoy me, by triggering accidentally when I want to move to the end of the line -- though I usually use a hotkey like ctrl-e to move to the end of the line, so I am not worried. But others might find it annoying... Well, best way to find out from POV is to merge it and see what happens, and whether anyone complains. We can always revert it or put it behind a feature flag.

@fingolfin fingolfin merged commit 04ef6c2 into JuliaLang:master Jul 24, 2024
lazarusA pushed a commit to lazarusA/julia that referenced this pull request Aug 17, 2024
This commit adds a REPL feature: autocompletion when the right arrow key
is pressed at the end of a line (The current behavior is to do nothing).

This new effect only occurs when:
  - the cursor is at the end of the buffer,
  - there is only one possible completion, and
  - more than 1 character is in the buffer.

In this situation, the right arrow key behaves like `<Tab>`. Otherwise,
the right arrow key behaves as normal.

The feature was requested in JuliaLang#54539 and seems intuitive to me. One
useful side effect is that, by requiring that the cursor be at the end
of the line, it offers a way to avoid autcompletes within words, which I
assume are almost never helpful (For example, if I type "show" in the
REPL, move the cursor onto the 'o' and press `<Tab>`, I end up with
"showow"). One potential drawback is that the autocomplete could occur
when a user who simply wants to move the cursor to the end of the line
holds down the right arrow.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

REPL Julia's REPL (Read Eval Print Loop)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE] Using Right Arrow Key to Auto Complete Virtual Text?

3 participants