Sunday, June 3

Did a lot of work on vimplugin

This is long time from my previous post. But I didn't find time for blogging. I was a little busy with both our college work and google summer of code. I started coding on GSoC from April 20th itself. We implimented the netbeans external editor protocol for communicating with vim. We have chosen this,since vim already have that interface.

The functionalities that I included are:
  • We Can open multiple instances of vim
  • We Can also open files in a single vim instance (as buffers) (this is default)
  • If we close editor tab in eclipse, gvim automatically closes down.
  • we do any changes in vim, IDE knows abt that and enables save,saveas options ( And also asks for saving when we close the ide editor)
  • We can save changes from IDE.
  • If we select an vim editor tab in eclipse then corresponding vim window will raise.If it is a buffer, the buffer will be showed.
  • I almost completed key sequence triggering part by taking keyCommand from vim.That will be completed in a while.
What Needs to be done:
  • Enabling KeyStroke support
  • Showing compilation,syntax error messages ( possible if we use org.eclipse.ui.texteditor instead of EditorPart). But vim should provide an interface for this.
  • Embedding the gvim inside eclipse ( but it is very difficult, i guess.. so far I didn't find any possible way for this.) If we didn't find a way, then instead of using gvim, we can continue with embedding terminal vim.(here also we follows the same protocol)
  • Eliminating Bugs
PS: Since we followed strict netbeans external editor protocol, we can use emacs (every editor that has netbeans interface ) also :) .

Sunday, May 13

Returned back to college

After enjoying two full weeks of holidays at home I returned back to college to continue my soc work.
Sebastian and me started working on vimclient. vimclient is a bridge that follows the netbeans the external editor protocol. Vim already has this interface and it works for netbeans. We are going to use this interface. Till now, we have implimented three actions, one is starting vim server and other one is closing and last one is opening files.

PS: stable Vim release 7.1 has been released !!!

Monday, April 23

vimplugin works for windows!!

Yesterday I tried to install vimplugin on windows. I just got a blank black window in the editor place. So, I figured out the problem. The problem is with terminal emulator. I searched for java win32 terminal emulator since vim runs in CMD. There were no such emulators...

So, I got struck up there. Then I found that jta supports ansi, vt100, and some other types of terminal also.. I tried all of those by changing the terminal id in the program. But didn't work.

Today, when I am searching in vim help for something... I found an runtime argument "-T". Vim takes this arguments and gives output according to that type of terminal... Wow!! I got the solution. I added extra two arguments to the vim process in the code "-T","vt320" and tried it again. Yes, Its working.... But its not taking keystrokes... I told the same thing to Mr. Sebastian Menge (the vimplugin developer ) and he posted it in vimplugin-devel mailing list....

Sunday, April 22

Facing problems with OLE

Today,I created a sample plugin for eclipse ( I already have experience in creating plugins ). In that first I used a small internal editor for testing. Yes, I got it... its working very fine..

Then I used eclipse's SWT library to embed the OLE frame. I found out vims ole program id in its documentation, that is "Vim.Application". I tried to call the vim from python as suggested in its docs. perfect, its working....

Immediately I replaced the internal editor page with swt's OleFrame with OleClient as vim. After some struggling i successfully compiled the program and started the eclipse application

Oouch!!! Got some execution error.... "failed to create ole client"... I tried to find out what that error means and did googling... sssshh!! no relevant results.. nobody faced the same problem...

Friday, April 20

Exploring existing solutions

I've found some vim plugins for the eclipse.

one is vimplugin, it uses JTA ( terminal emulator ) and shows the terminal version of vim in the editor tab. For now it works in linux and cygwin environments only. And lack of integration between eclipse and vim.

Another is viplugin, here they re-developed a small version of vim in java. That's not our case, since we are working for vim organization :P

The last one Eclim.. Here they did a reverse implementation. they brought the eclipse features into vim. ( I thought it as useless :)), we will definitely loose a lot of eclipse functionalities )

I'm thinking to get the gvim into action and moving towards it...