VSCodeVim / VSCodeVim/Vim

Problem writing accentuated letters

Open
#8,652 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
15.2k
Forks
1.5k
Avg merge
3d 18h
Merged PRs (30d)
6

Description

Describe the bug
I make typos in Spanish if type fast because the acute accent is not always processed correctly. For example, the word "clásico " (including the space afterwards) sometimes ends up as "cláico s". I have tested it happens with diaeresis too (ü). Can't test other languages as I don't use them.

This is because the editor does this:

  • letters c and l are inserted as expected. State: cl|
  • the accent ´ is shown underlined to emphasize that it is waiting for a letter to be pressed. State: cl´|
  • letters a and s are written, without the accent. State (it lasts miliseconds): clas|
  • the editor sets the cursor between a and s, deletes the a and inserts á
  • the editor does not move the cursor back, thus the state is clá|s
  • I type the rest of the word and a space, with the final state being cláico |s

It's annoying because when I make typos I know it and can press Ctrl+BackSpace to correct them, but this bug leaves a trailing s, so I need to stop my flow to fix it.

To Reproduce
Steps to reproduce the behavior:

You need to type a word with an accented letter very fast. Try writing "ás ás ás ás ás" or something. "ës ës" could also work.

Expected behavior
The word should be written correctly, either by inserting á before the s or by moving the cursor back to the correct place if the "jump" is used. I would think the first method is the most logical one but I don't understand the internal workings of VSCode or this plugin.

Screenshots
I made typos writing as I tried to force myself to write too fast, but it happens naturally when I'm taking class notes. In any case you can see how fast I can correct the typos I made and how the one caused by the bug stays there.
Imgur

Environment (please complete the following information):

Extension version: 1.26.0
VS Code version: Code - OSS 1.82.2 (abd2f3db4bdb28f9e95536dfa84d8479f1eb312d, 2023-09-28T12:16:14.708Z)
OS version: Linux x64 6.1.53-1-MANJARO
Modes:

System Info
Item Value
CPUs Intel(R) Core(TM) i7-5820K CPU @ 3.30GHz (12 x 2398)
GPU Status 2d_canvas: unavailable_software
canvas_oop_rasterization: disabled_off
direct_rendering_display_compositor: disabled_off_ok
gpu_compositing: disabled_software
multiple_raster_threads: enabled_on
opengl: disabled_off
rasterization: disabled_software
raw_draw: disabled_off_ok
video_decode: disabled_software
video_encode: disabled_software
vulkan: disabled_off
webgl: unavailable_software
webgl2: unavailable_software
webgpu: disabled_off
Load (avg) 4, 3, 2
Memory (System) 31.25GB (13.43GB free)
Process Argv
Screen Reader no
VM 0%
DESKTOP_SESSION i3
XDG_CURRENT_DESKTOP i3
XDG_SESSION_DESKTOP i3
XDG_SESSION_TYPE x11

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No file, test, or entry point is named in the report. First reproduce the issue in VS Code by typing accented characters rapidly, then trace the extension's text-input and cursor-update handling. Done means accented letters and following characters remain in the intended order without requiring manual correction.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
developer-experience, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.