trogdoro / xiki

A shell console with GUI features
http://xiki.org
Other
3.76k stars 208 forks source link

Better Vim integration #44

Open blandinw opened 11 years ago

blandinw commented 11 years ago

Hi Craig,

I watched your RubyConf talk yesterday and discovered Xiki. Being a Vim user, I decided to help a bit with the integration.

What I did

What I did not do

Comments I strongly believe Xiki is the right way to interact with a computer, at least from a keyboard. I have always been a huge fan of CLI interfaces and seeing projects like yours is refreshing, but...

  1. I find the shelling-out option too slow compared to the snappiness of your emacs demo. A TCP client/server model seems like the right thing to do, with most of the code being editor-agnostic with only thin editor-specific presentation layers.
  2. I had trouble dealing with the codebase and gave up on reusing existing data structure after 15min of browsing. That's why I added XikiVim::Tree. Get rid of the $el already :)

Is there anything planned to address these issues?

Anyway, thank you and keep up the good work! :)

Spaceghost commented 11 years ago

Would it be possible for you to break out the Gemfile changes into a different commit so they can be either accepted or not as a separate commit please?

blandinw commented 11 years ago

I agree it was bold of me to add a dependency. I removed the changes to Gemfile and removed the Guardfile. I'll add them back if requested.

@trogdoro care to weigh in?

Mange commented 11 years ago

Eagerly awaiting this. :-)

trogdoro commented 11 years ago

Thanks for the great contributions!

The most efficient way for me to digest this (and probably the funnest) would probably be for us to do an hour-long remote pairing session. We could share screens and try out you've done, and possibly work on merging some of it in. So far I've used google hangouts for screen sharing and it's worked pretty well.

Ping me off-list to set up a time if this interests you.

--Craig

On Thu, Dec 13, 2012 at 10:52 PM, Magnus Bergmark notifications@github.comwrote:

Eagerly awaiting this. :-)

— Reply to this email directly or view it on GitHubhttps://github.com/trogdoro/xiki/pull/44#issuecomment-11366886.

wilkerlucio commented 11 years ago

any news on this? really waiting for this merge :)

trogdoro commented 11 years ago

Any news on this?

I'm working full-time on a refactor of Xiki that will make it more naturally/easily integrate into other editors (vim being the highest on the list).

I'm restructuring Xiki's core at the moment, but will soon probably start reemphasizing the following when I get to wiring up Vim:

The most efficient way for me to digest this (and probably the funnest) would probably be for us to do an hour-long remote pairing session. We could share screens and try out you've done, and possibly work on merging some of it in. Ping me off-list to set up a time if this interests you.

I want to do a lot of the future coding on Xiki as remote pairing sessions with people. Makes it more fun, and pulls in more people's ideas. IMO, this is how a lot of open source will be done in the future.

--Craig

On Sat, Mar 9, 2013 at 6:53 AM, Wilker Lúcio notifications@github.com wrote:

any news on this? really waiting for this merge :)

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

trogdoro commented 11 years ago

Thanks for the contributions!

Got rid of vim/line (indirection didn't seem to be justified) and replaced vim/tree.

I definitely intend for the line.rb class to exist, so this pull request would be awkward to merge, since I'd have to restore it back after the merge. There isn't much in line.rb now, but in the emacs version there is a lot. Will be tough to maintain in the future if the vim classes are named/structured differently than the emacs ones.

blandinw commented 11 years ago

Hi Craig,

To be honest, I too think that this pull request doesn't fit in the codebase anymore. As I said before, I tried to reuse existing classes, but $el was everywhere so it was quite hard.

For instance, if the Line class is supposed to be generic, then it should be a superclass of EmacsLine and VimLine. I'm glad to hear that a refactoring is in progress though, because it should be easy to redo what I did (not much really) afterwards.