Skip to content
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

Merged
merged 3 commits into from Sep 1, 2021
Merged

Add a "vision" document. #657

merged 3 commits into from Sep 1, 2021

Conversation

cessen
Copy link
Contributor

@cessen cessen commented Aug 26, 2021

People have asked what Helix's vision/direction is, so hopefully this can be something we can point them to when that comes up.


* **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.
Copy link
Contributor

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).
Copy link
Contributor

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.

Copy link
Contributor Author

@cessen cessen Aug 27, 2021

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.)

docs/vision.md Outdated Show resolved Hide resolved
docs/vision.md Outdated Show resolved Hide resolved
docs/vision.md Outdated Show resolved Hide resolved
@cessen
Copy link
Contributor Author

cessen commented Aug 27, 2021

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.

@cessen cessen requested a review from archseer August 27, 2021 17:50
@kirawi
Copy link
Member

kirawi commented Aug 27, 2021

There also seem to be double spaces after each period, is this intentional?

@cessen
Copy link
Contributor Author

cessen commented Aug 27, 2021

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.

Copy link
Member

@archseer archseer left a 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.

@archseer archseer merged commit 31f1455 into helix-editor:master Sep 1, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants