Friday, March 5, 2010

Emacs 23

My friend Igor Lapitski recently announced that he was releasing his customizations for Emacs 23. I started using it this week and the most noticeable feature is the slick auto-completion functionality. As you start to type variable names or method names in a .magik file, the system tries to do auto completion based on both previous examples of that string in the current file and matching method names based on the method finder for that image. It works surprisingly fast and gives good results.

There are a lots of other cool features in this release. You can download it from here.

As I find other ones that stick out, I will post about them, too.


abhi said...

I tried the the Emacs.. it is really cool.. but removing "CC mode", "Ruby mode" and others will make the emacs more lighter and will start faster.. I liked intellisense kind of behaviour for magik on emacs which is available in Visual studio.. its really good..

Dariusz Michura said...

Have you tried Code Assit available in Magik Development Tools?

The Code Assist in MDT uses three different sources for getting proposals from. The first is Method Finder, as in Igor customization. It proposes code (exemplars, methods, global variables etc.) already transmitted into the session. The second is currently edited Magik file. In contrary to Igor implementation it major goal is to compute and propose local variables. The last one is internal index of all Magik files in the workspace. It proposes code (again: exemplars, methods, global variables etc.) which has not been already transmitted.
Code Assist presents also detail information for each proposal: its public comment and pragma classification.
Additionally Code Assist in MDT recognizes invocation context. If you invoke it in empty line it displays list of exemplars, global variables and local variables (if the line is located within a method body) and skips unnecessary method proposals. If you invoke it after a dot character it rather displays list of methods.

These features really speed up the code implementation. The detail information about Code Assist and other is available in MDT help.