GUIs

Klacke klacke@REDACTED
Wed Mar 14 14:45:39 CET 2001


On Wed, Mar 14, 2001 at 02:25:55PM +0100, Ingela Anderton wrote:
> 
> It would take a rellay advanced IDE before I ever trade away emacs.
> I think IDE:s many times limits the way I work and causes a lot of
> unnecessary mouse-clicking. No emacs and a unix-shell is the ideal
> development environment too me, and of course some version handlig
> program like cvs or clearcase. 
> 

Well said, to top it off, I'd like to add just one more tool I
find useful and that is etags ... I use it all the time.

ESC-. jumps to the definition of functions or constants ....


etags is best used when integerated in a Makefile, .. here's
some snippets from one of our Makefiles ....


tags:   mktags.beam
        erl -noshell -s mktags generate $(BASEAPPS) $(ISDAAPPS) \
           $(ISDSSLAPPS)

mktags.beam:    system/mktags.erl
        erlc system/mktags.


you get the idea ....


and the mktags.erl file ...


%%%----------------------------------------------------------------------
%%% File    : mktags.erl
%%% Author  : Klacke <klacke@REDACTED>
%%% Purpose : 
%%% Created :  4 Jan 2000 by Klacke <klacke@REDACTED>
%%%----------------------------------------------------------------------

-module(mktags).
-author('klacke@REDACTED').
-compile(export_all).

generate(Apps) ->
    Dirs = dirs(Apps),
    io:format("Dirs = ~p~n", [Dirs]),
    io:format("mktags: ~p~n", [catch tags:dirs(Dirs)]),
    init:stop().


dirs(Apps) ->
    dirs(Apps, []).
dirs([A|As], Ack) ->
    Src=filename:join(["lib", A, "src"]),
    Incl=filename:join(["lib", A, "include"]),
    case {file:read_file_info(Src),
          file:read_file_info(Incl)} of
        {{error, _}, {error, _}} ->
            dirs(As, Ack);
        {{error, _}, _} ->
             dirs(As, Ack);
        {{ok, _}, {error, _}} ->
            dirs(As, [Src|Ack]);
        {{ok, _}, {ok, _}} ->
            dirs(As, [Incl,Src|Ack])
    end;
dirs([], Ack) ->
    Ack.



Someday I'll make an effort and hack erlang support into the real thing
which is the 'ctags' program http://darren.hiebert.com/ctags/index.html



/klacke



-- 
Claes Wikstrom                        -- Caps lock is nowhere and
Alteon WebSystems                     -- everything is under control          
http://www.bluetail.com/~klacke       --




More information about the erlang-questions mailing list