GUIs

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

GUIs

Ingela Anderton Andin-2

[..]
>and have the IDE (text editor) suggest possible completions?
[..]

In the IDE debate lots of people seem to want to have some kind of
tab-compleation on function names. Well I just want to say that emacs
has a form of tab-compleation that is very useful even if it is not
excatly what you described. If you start typing a word and then do
M-/ emacs will try to find a compleation for you word in any buffer
that you have open. If there is more than one possible compleation you
can loop through them by repeating the command. I use it all the time.

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.

--
/m.v.h Ingela

//The highway of life is always under construction. //

         |\      _,,,--,,_  ,)
                /,`.-'`'   -,  ;-;;'
               |,4-  ) )-,_ ) /\
              '---''(_/--' (_/-'

Ericsson Utvecklings AB             Phone :   +46 8 719 18 13
Open Systems (f.d. Erlang Systems)  Cellular/Mobile: +46 70 636 78 68
Torshamnsgatan 39 B
Box 1214                            http://www.erlang.se
S-164 28 KISTA, SWEDEN              ingela




Reply | Threaded
Open this post in threaded view
|

GUIs

Claes Wikström
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>
%%% Purpose :
%%% Created :  4 Jan 2000 by Klacke <klacke>
%%%----------------------------------------------------------------------

-module(mktags).
-author('klacke').
-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       --



Reply | Threaded
Open this post in threaded view
|

GUIs

Erik.Johansson

"Klacke" <klacke> wrote:

> 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

Isn't this done allready?
>man ctags
<snip>
"DESCRIPTION
     The `etags' program is used to create a tag table file, in a
     format  understood  by emacs(1); the `ctags' program is used
     to  create  a  similar  table  in  a  format  understood  by
     vi(1)similar  table  used  by the Altrasoft OO Browser (This
     manpage may be innacurate in regards to  ootags).   .   Both
     forms  of  the program understand the syntax of C, Objective
     C, C++, Java, Fortran, Pascal, Cobol, LaTeX,  Scheme,  Emacs
     Lisp/Common   Lisp,  Postscript,  Erlang,  Prolog  and  most
     assembler-like syntaxes."

See also
http://www.erlang.org/doc/r7b/lib/tools-1.6.1/doc/html/emacs.html#1.12

(Note that there is a bug on the page, where it says:
    file . -name "*.[he]rl" -print | etags -
it should be
    find . -name "*.[he]rl" -print | etags -
)




Reply | Threaded
Open this post in threaded view
|

GUIs

Luke Gorrie-3
In reply to this post by Ingela Anderton Andin-2
Ingela Anderton <ingela> writes:

> 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.

I agree heartily. Though I think it would be very nice to extend Emacs
with more erlang stuff - e.g. a debugger interface.

>From that side of the fence, I've implemented a subset of the erlalng
external term format in Emacs Lisp and put in a communication stub, so
that you can make calls from emacs to an erlang node using convenient
data structures.

But, I've never done anything useful with it :-). If someone else
wants to, the code is at http://www.bluetail.com/~luke/erlext.el

The idea is you write e.g.:

  (erlext-call "localhost"
               4999
               (vector 'toggle_breakpoint (buffer-file-name) (what-line)))

and then an erlang server listening on that port will receive:

  {toggle_breakpoint, "/home/luke/test_module.erl", 42}

.. etc.

Cheers,
Luke