joelmccracken / modal-emacs

GNU Affero General Public License v3.0
12 stars 0 forks source link

Add 'movement' keymap #3

Open joelmccracken opened 11 years ago

magnars commented 11 years ago

Don't get too comfortable with your current keybindings before you implement this, mate. ;-) I'm waiting on it!

joelmccracken commented 11 years ago

haha thanks! Sorry! I really need to work on this soon. I'm thinking about getting to it later this week.

Since we last talked about it, I did a pretty large refactor / reworking of how keymaps are implemented. Previously the code was very experimental, but now I have a pretty little wrapper around building keymaps. Soo thats nice!

I'll ping you once I get a movement keymap working.

On Tue, Apr 23, 2013 at 7:52 AM, Magnar Sveen notifications@github.comwrote:

Don't get too comfortable with your current keybindings before you implement this, mate. ;-) I'm waiting on it!

— Reply to this email directly or view it on GitHubhttps://github.com/joelmccracken/modal-emacs/issues/3#issuecomment-16853618 .

magnars commented 11 years ago

Any way I can help out? :)

joelmccracken commented 11 years ago

Umm, sure! I've been distracted by lots of other stuff, but if you want to work on this, then be my guest.

One of the last things I did was add EIEIO and fill out the tests, so hopefully I think the project should make more sense, if you're inclined to take a look.

I'll make you a collaborator. I do ask that you make changes via pull request, just because I want to be kept in the loop =)

If not, just by you poking me via these issues helps out, because it takes it out of my background memory and brings it front-and-center ;)

On Mon, May 27, 2013 at 12:52 AM, Magnar Sveen notifications@github.comwrote:

Any way I can help out? :)

— Reply to this email directly or view it on GitHubhttps://github.com/joelmccracken/modal-emacs/issues/3#issuecomment-18482480 .

magnars commented 11 years ago

Excellent, thanks! I have no idea what EIEIO is, but maybe it'll help either way. ;-)

I guess that, in the spirit of Emacs, the project's main task is to provide easy ways of setting up your own modal keymaps, and other than that just give a reasonable set of defaults. Meaning, the ones included in the project should match pretty much a base emacs, but most everyone will tweak the keymaps.

What do you think about that?

On Mon, May 27, 2013 at 3:12 PM, Joel McCracken notifications@github.comwrote:

Umm, sure! I've been distracted by lots of other stuff, but if you want to work on this, then be my guest.

One of the last things I did was add EIEIO and fill out the tests, so hopefully I think the project should make more sense, if you're inclined to take a look.

I'll make you a collaborator. I do ask that you make changes via pull request, just because I want to be kept in the loop =)

If not, just by you poking me via these issues helps out, because it takes it out of my background memory and brings it front-and-center ;)

On Mon, May 27, 2013 at 12:52 AM, Magnar Sveen notifications@github.comwrote:

Any way I can help out? :)

— Reply to this email directly or view it on GitHub< https://github.com/joelmccracken/modal-emacs/issues/3#issuecomment-18482480>

.

— Reply to this email directly or view it on GitHubhttps://github.com/joelmccracken/modal-emacs/issues/3#issuecomment-18497943 .

joelmccracken commented 11 years ago

Indeed; that is my goal. Of course, the one nuance I would mention is that I'd like to continually improve / tweak the reasonable defaults. One of my personal gripes with emacs is that many of the reasonable defaults are indeed reasonable, but actually are not very good (why is ido not on by default?)

I guess what I am saying is that base emacs is a really good starting point, but I imagine we'll want to add to it as we get more comfortable with it.

Oh, EIEIO is an elisp CLOS implementation. Recent emacs have an info page on it, so check that out.

On Wed, May 29, 2013 at 12:52 AM, Magnar Sveen notifications@github.comwrote:

Excellent, thanks! I have no idea what EIEIO is, but maybe it'll help either way. ;-)

I guess that, in the spirit of Emacs, the project's main task is to provide easy ways of setting up your own modal keymaps, and other than that just give a reasonable set of defaults. Meaning, the ones included in the project should match pretty much a base emacs, but most everyone will tweak the keymaps.

What do you think about that?

On Mon, May 27, 2013 at 3:12 PM, Joel McCracken notifications@github.comwrote:

Umm, sure! I've been distracted by lots of other stuff, but if you want to work on this, then be my guest.

One of the last things I did was add EIEIO and fill out the tests, so hopefully I think the project should make more sense, if you're inclined to take a look.

I'll make you a collaborator. I do ask that you make changes via pull request, just because I want to be kept in the loop =)

If not, just by you poking me via these issues helps out, because it takes it out of my background memory and brings it front-and-center ;)

On Mon, May 27, 2013 at 12:52 AM, Magnar Sveen notifications@github.comwrote:

Any way I can help out? :)

— Reply to this email directly or view it on GitHub<

https://github.com/joelmccracken/modal-emacs/issues/3#issuecomment-18482480>

.

— Reply to this email directly or view it on GitHub< https://github.com/joelmccracken/modal-emacs/issues/3#issuecomment-18497943>

.

— Reply to this email directly or view it on GitHubhttps://github.com/joelmccracken/modal-emacs/issues/3#issuecomment-18596067 .

magnars commented 11 years ago

Reading through the code, I have a hard time understanding the need for the objects. They all look like singletons to me. What need made you introduce them?

joelmccracken commented 11 years ago

For reference, before the introduction:

https://github.com/joelmccracken/modal-emacs/blob/66d7c82b7183d2ac361f8aea1b8a097a63e0b74f/modal-emacs.el

The reason is basically that the complexity of having all these similar variables was getting a little high; each mode had an unknown number of variables associated with it, etc.

So, the compelling reason to introduce EIEIO was to clean up the code. Each keymap requires a number of symbols/data members that are similar for each map. The creation/automation/association of all these things together seems to make sense.

Also, I'd been looking for an excuse to try EIEIO since it was introduced =)

As far as singleton-ness goes, I hope to have a large number of these keymaps, many of which will only make sense "in transition" from one map to another. So, probably at some point this will go away.

On Wed, May 29, 2013 at 10:22 AM, Magnar Sveen notifications@github.comwrote:

Reading through the code, I have a hard time understanding the need for the objects. They all look like singletons to me. What need made you introduce them?

— Reply to this email directly or view it on GitHubhttps://github.com/joelmccracken/modal-emacs/issues/3#issuecomment-18619521 .