Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Right arrow autocompletes at line end #54983

Merged
merged 1 commit into from
Jul 24, 2024
Merged

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
9 checks passed
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