-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
Add a "vision" document. #657
Conversation
|
||
* **Modal.** Vim is a great idea. | ||
* **Selection -> Action**, not Object -> Verb. Interaction models aren't linguistics, and "selection first" lets you see what you're doing (among other benefits). | ||
* **We aren't playing code golf.** It's more important for the keymap to be consistent and easy to memorize than it is to save a key stroke or two when editing. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should say "we want useful keys". We would still want low keystrokes but only if they are easier to press.
docs/vision.md
Outdated
Vision statements are all well and good, but are also vague and subjective. Here is a (non-exhaustive) list of some of Helix's more concrete goals, to help give a clearer idea of the project's direction: | ||
|
||
* **Modal.** Vim is a great idea. | ||
* **Selection -> Action**, not Object -> Verb. Interaction models aren't linguistics, and "selection first" lets you see what you're doing (among other benefits). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This shouldn't be a goal. This is a technical detail on how we achieve the goal. We do have some parts that do Action -> Selection
like change around.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I mean, to some extent these are all details. Ultimately, the real goal should be "build a good editor", and everything else is just details in pursuit of that.
I guess instead of "goals", we could call this section "things that have already been decided on". But I don't know if that makes a meaningful difference.
We do have some parts that do Action -> Selection like change around.
Sure. But this isn't talking about literally every single command. Rather, it's talking about the over-all interaction model of Helix. Vim also has a few Selection -> Action
commands, such as selecting text and then pressing d
. But over-all its interaction model is still considered to be Verb -> Object
.
(Incidentally, I just noticed a horrible typo: I meant to write Verb -> Object
in the first place, ha ha. I'll fix that.)
So, just to be clear, I didn't come up with this document out-of-the blue or single-handedly. It's the result of a discussion with @archseer, who gave draft approval before I submitted the PR. That doesn't mean we can't change things before merging, of course. But I just want to be clear that I'm not trying to dictate the vision of the project, here, ha ha. :-) On the contrary, I did my best to reflect @archseer's vision for the project. It would be a somewhat different document if it were my personal vision. |
Caught in PR review. Thanks!
There also seem to be double spaces after each period, is this intentional? |
My understanding is that in monospace typesetting double spaces are stylistically "correct", and in proportional typesetting single spaces are stylistically "correct". So in markdown I tend to do double spaces, since when viewed directly is usually monospace, and when rendered is generally turned into html which ignores the second space anyway. But I don't feel strongly about it. I'm happy to change it to single-space if people prefer. It's ultimately just stylistic preference. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is a good start, we can expand as needed later on.
People have asked what Helix's vision/direction is, so hopefully this can be something we can point them to when that comes up.