This post was updated on .
Hi Dongxu +
I saw the work you did on rs_commands... it's appreciated! I added some priority commands (from my perspective), and tried to push, but it says permission denied. I'm willing to help with this; let me know how to proceed. :D git user name: r-a-v-a-s |
hi ravas,
I sent an invitation to you on github, and please make sure you have write access to the official repository. Thanks, Dongxu
|
In reply to this post by ravas
Hi,
I think it would be good also, if we allow in the alias file to define new commands. currently the format of alias file contains 2 columns: <alias> <existing command> We can implement it accept 3 columns as well: <short command> <full command> <RS2::ActionType as uint or string> Need some implementation to use ActionType as string. |
I've added commands for 20 actions:
Line: - parallel through point: ptp, pp - orthogonal: ortho, perp - tangent(P,C): tangentpc, tanpc - horizontal: horizontal, hor - vertical: vertical, ver - bisector: bisect, bi - polygon2: polygon2v, poly2 - freehand: free, fhl Spline: - spline: spline, spl - spline through points: spline2, stp Circle: - two point: circle2, c2 - three point: circle3, c3 - tangent to 3: tan3, ct3 Ellipse: - inscribed: ellipseinscribed, ie, ei Info: - distance point to point: distance, dist, dpp - angle: angle, ang - area: area, ar Modify: - attributes: modifyattr, attr, ma - properties: properties, prop - fillet: fillet, fi Let me know what you think. Using the example: There are three things to input: command, command, description What exactly is the description ("draw circle") used for? When I input "ci" the command line output reads: "ci (circle)" It seems like "ci (draw circle)" would be expected. |
In reply to this post by dxli
For the alias file I imagine a CSV file:
action1, alias_a, alias_b, ... action2, alias_c, alias_d, ... |
In reply to this post by ravas
for the QObject::tr() function is descripted here:
https://wiki.qt.io/QtInternationalization#What_is_tr.28.29.3F basically, tr("string", "description") means the string would be the translation of the "string", and "description" services a hint useful for people doing the translation, so people can know better what the "string" actually means. |
In reply to this post by ravas
I've added everything I think I will use. However, if the goal is a command for every tool, then I could add more. Otherwise, we can wait and see what is requested. What do you think?
|
good enough to me.
Just one question, I'm not sure about the reason why there could be only one full command for each action? For example, can we assign both "parallel" and "offset" for ModifyOffset?
|
Is the concept of full and short commands exclusively for the tab completion/hint feature?
I notice that if I input: o and then press tab the output is "offset, ortho" ortho is from the action I added (ActionDrawLineOrthogonal). However it says nothing about "os" (ActionSnapFree)... I guess because it's a short command... Therefore it seems like the reasoning would be to limit what appears when you press tab. Maybe the idea is to avoid similar full commands when coding so that pressing tab will complete more often. For example, if I switch "perp" to the full command instead of "ortho", then o will complete to offset. It's an unusual design... as opposed to the classic auto-complete list that appears while typing. It does have the benefit of not running a function with every keystroke, which is something I like. |
trying to complete command at every keystroke is a smart way, as far as it does not interfare with typing.
we may implement a standard command completion way.
|
I meant to say that I like how the current system does not run a function on every keystroke.
I intentionally avoid keystroke triggered analysis in my text editor to assure there is no input lag. Auto-complete systems that analyze the input on every keystroke can be convenient; however, the cost is reduced performance, lots of extra processing (some of it producing nothing), and as you noted it can interfere with typing when we don't care about using auto-completion. If you are inspired to add the feature, I suggest an option to disable it. Personally I can remember the short commands, so no completion system assists me. I think the priorities are fixing bugs, and adding things that people are begging for that would benefit the majority of users. I'm an advocate for focusing on what needs to be completed so that we can move our attention to LibreCAD 3. |
In reply to this post by dxli
I noticed: If we enter "re" and press tab, then "regen" and "redraw" both come up. So it appears that we could make both "parallel" and "offset" full commands. |
Free forum by Nabble | Edit this page |