Trebor-Huang / vscode-forester

VSCode support for Forester
https://marketplace.visualstudio.com/items?itemName=treborhuang.vscode-forester
19 stars 1 forks source link

Link suggestion box won't come back if I backspace #3

Closed jonsterling closed 9 months ago

jonsterling commented 9 months ago

If I am typing [my title](... and then backspace back to the left parenthesis, the link suggestions will not come back and I have to retype the entire link.

Trebor-Huang commented 9 months ago

It should retrigger if you also delete the left parenthesis and retype it. I haven't found this annoying enough to fix it, but if this is important for your workflow I'll investigate.

jonsterling commented 9 months ago

It's a little bit of a paper-cut, but I think it is not a super high priority. Good if you get around to it though.

Trebor-Huang commented 9 months ago

A clarification for future reference: This happens if one types enough to filter out every suggestion, then backspace. It can also be retriggered using Ctrl+Space (Windows, Linux) or Cmd+I (MacOS).

Trebor-Huang commented 9 months ago

Should be improved, the completion now pops up when typing anywhere in the link range:

https://github.com/Trebor-Huang/vscode-forester/assets/41145779/3209c63c-d9f0-49a3-af78-3d335eb028da

But VSCode doesn't allow completion to be triggered when deleting stuff, only when (1) typing, (2) language-specific trigger characters are typed, (3) the user explicitly invokes completion, and (1)(2) only happen when the user doesn't specifically ban them. So wanting the completion to appear when we delete up to the parenthesis is probably impossible.

Also, it doesn't care what comes after the cursor yet, so [title](something|other) where we press tab when the cursor is at the | will result in [title](tree-0001other). I don't completely know what to do, because I might be in the middle of a sentence:

This is something. (Actually, it is [this other thing], because of technical reasons.)

So if the plugin looks for a closing parenthesis it will delete the entire phrase after that.