-
Notifications
You must be signed in to change notification settings - Fork 27
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
Missing bindings #1
Comments
Hey thanks! Ooooh, ok! I got started with the changes (quickly implemented D (shift+d) on my machine). I I'll look into correcting dw and implementing w better, and push out an update when I can. |
Nice, I like to help also where I can, and I see some settings in godot editor for caret related values btw, you might wanna check that out, I will look into more at the source code. Another thing I might add, when you do dw, if its in middle of the word, cursor should stay at same position but if the cursor at the beginning of the word after dw it should call w again to set cursor for the next word beginning. so in theory, you can spam dw per word one by one and delete them. |
I saw something regarding the carets.... but I've only seen empty block style and vertical line style, but I will look again. Also, I just pushed an update to github; fixing dw, adding w and Shift+d, found a problem with the b command, fixed that too! Please try it out and let me know if you see any problems! |
Found a few issues: For example when w on this line, it should catch
w on this line, it should break on
I will test this more, maybe using regex is the key to move forward, so in theory you could create a long regex to catch But more string calculation added, it will get slower, however regex is known to be really fast so. |
Thanks for the follow up! However regarding which specific characters they stop on ( The move to regex sounds like a good idea, I'll let the ideas for implementing it marinate in my mind, lol. As for your original post
So I just learned that it is possible to change the blink speed, and thickness of the vertical caret, so now it is possible to do more with it. Also it is possible to set the caret color, but I don't know if that's too "extra".... lol Thanks for your input so far 🙏🙏 |
yeah you are right about
The original implementation is created for creating text based documents I believe, then it's evolved more into technical modal editing. So any non-blank character is considered a word. |
I naively was guessing which special characters were included.... I shoulda just read the docs >.<;;; Had ChatGPT generated another list of all the special characters in single quotes, comma separated. lol Added in Regarding the I'll be looking into regex solutions |
Yup, after the restart it worked as should. I think for now it's looking good, but yet to use it in serious manner but will do a list of findings properly. |
after playing with it a bit, these are my findings:
|
I don't mean to be a negative nancy, and I appreciate the work you've already put into this plugin, but I think a major rewrite is in order, rather sooner than later, to make supporting more keybindings less painful in the future. Specifically, you probably want to decouple commands from motions. To prevent having to implement Unfortunately, there are also exceptions to this:
I'm still very new to gdscript, so I can't help much, but I'm willing to help test your plugin :) |
Hello, great addon hope to see this improved with maybe more with c++ source editing, like better cursor visuals (faster blinks or solid block cursor etc.)
I think most of the binding there but w is missing, its the most important one I think.
Secondly when cursor at middle of a word, if you do dw, it deletes the whole word, so its doing diw, where it is the most useful, to delete half of the word.
Third one is probably easy too, D should delete everything after the cursor.
I tried to implement the first one, it is working I think, have no idea what I'm doing but here it is:
It's not fully functioning as it should, when cursor at end of the line and the end character is listed in that if statement, you have to press 2 times w to go next word,
and if next line's first character is tab, it select the tab instead of the word.
The text was updated successfully, but these errors were encountered: