-
Notifications
You must be signed in to change notification settings - Fork 148
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
Regression for .. completion #111
Comments
Are you saying the exact same issue occurs? |
Also, it looks like how bash works is that That's a significant nuance, since otherwise And this is another case where completion results are unstable based on the word that's typed. Clink v1.0.0 introduced a performance improvement that caches the completions for a word's position. It builds the completion list assuming the current word is empty ("") and then filters the completions based on the actual typed word. Clink's current design and implementation are incompatible with the requested behavior. I'll see what I can do about it, though. I had to make changes 5e46b9a and 3146af2 to support |
You are right, it's not exactly the same. Current clink does not insert a space, just nothing happens.
Exactly. I'm not familiar with menu-complete, but I think I know what you mean.
Yeah, I can relate to that.
That's unfortunate.
Alright, thank you very much. I'm wondering why nobody else has this "issue". As a workaround I'm going to try to get used to type |
Actually bash behaves interestingly:
Case 1 and 2 seem strange. Cases 3 and 4 seem like what I'd expect. I will make Clink mimic bash for all 4 cases, though. (I mean that case 1 and 2 will mimic bash when |
For future reference: I'm torn on this. Yes, bash behaves this way. This particular issue is in the gray area of bash vs Readline vs CMD, and so I'll mimic this bash behavior at least for now (pending complaints in the opposite direction). There are many ways that Clink does not behave the same as bash, and that's both ok and intentional. For example, when completing the first word, bash only considers directories as possible completions if there is no file match, but Clink uses the |
How is having to type an extra |
Thanks, @garoto, I don't disagree. At the same time, I recognize that a lot of Clink users are trying to get a bash-like experience with CMD, and muscle memory can be hard/annoying to retrain. I'm willing to support this particular case, especially since Martin had added support for it on request in the past (and his v1.0.0 rewrite had some internal plumbing to continue to support it, but the plumbing hadn't been fully hooked up before he disappeared). Btw, Martin didn't support it the same as bash: Martin's fix made |
And also fix any Lua scripts that add directory matches without trailing path separators. (Follow-up change to more thoroughly fix #111.)
For example `bl"""ah` is recognized as `blah`, and so for consistency the fix for #111 should recognize `.""".` as `..`.
@chrisant996 Thank you very much for bringing this behavior back. @garoto Yeah I agree for US english layouts. I switched to US english a couple months ago, after using the German layout for 20+ years, where / is Shift+7 and \ is AltGr+- (AltGris the right Alt key) or Ctrl+Alt+- (- as in next to 0). Just pressing Tab after .. is pretty handy in that case. |
I go to great lenghts to try and always buy EN-US layout keyboards instead of a kb with my local layout even if that means expending more monies. Way less headaches for my specific computer-usage cases. |
I noticed all 4 cases of this problem are present again. I'll track down when/how it got reintroduced, and fix it again (and hopefully in a more future-proof way). |
The regression was introduced in v1.3.1 in commit 9abce03 when converting the default file match generator from C++ to Lua, as part of introducing the I made two mistakes while converting the check for the input ending with one or two dots, which existed specifically (and only) to fix issue 111. The check isn't just a literal check for one or two dots -- it has to make sure the input is either |
I recently updated clink after a very long time (> 4y) and noticed that an issue I reported previously mridgers#277 appeared again.
A lot has changed since then, I couldn't figure out anything that might help to fix this issue.
Very happy, that you took over maintenance for clink @chrisant996. Kudos to you 👍
The text was updated successfully, but these errors were encountered: