[erlang-questions] Help with Sublime Text 2 Code Completion

Jared Kofron <>
Sat Apr 14 18:10:55 CEST 2012


+1

If this were available, I'd be happy to try it out/hack on it.

JK

On Apr 13, 2012, at 1:01 AM, Max Bourinov wrote:

> One more Sublime user is here.
> 
> Hi guys,
> 
> How it is possible for me to try "code completion" feature too? Is there any software? Or github repo? Instruction? Anything?
> 
> Thank you in advance!
> 
> 
> Best regards,
> Max
> 
> 
> 
> 
> On Fri, Apr 13, 2012 at 3:13 AM, Andrew Berman <> wrote:
> I actually just tested and it appears beam_disasm is really fast.  I'm going to try to use it.
> 
> Thanks again!
> 
> Andrew
> 
> 
> On Thu, Apr 12, 2012 at 1:06 PM, Andrew Berman <> wrote:
> Hey Erik,
> 
> That looks interesting.  Currently, I'm looping through the results of erlang:loaded() which is very fast, then doing Module:module_info(exports) and doing a fuzzy search on those which is why I wanted to load all the modules.  By loading them all, they're already cached for me so that's one less thing I would have to do.  Is using beam_disasm fast?  Is loading all the modules really that bad?  I can't imagine it uses that much memory that it would be an issue.  Using beam_disasm would mean I would have to cache the results myself which means memory would be used anyway.  Thoughts?
> 
> Thanks,
> 
> Andrew
> 
> 
> On Thu, Apr 12, 2012 at 3:57 AM, Erik Søe Sørensen <> wrote:
> Are you sure that you want to *load* all the modules?
> (Especially in these days, when modules may have 'on_load' hooks which you're probably not interested in running indiscriminately - and which may fail...)
> 
> An alternative, in case you merely wish to know the list of exported functions from a beam file FileName:
>     {beam_file,ModuleName,Exported0,_,_,_} = beam_disasm:file(FileName).
>     Exported = [{Name,Arity} || {Name,Arity,_} <- Exported0].
> 
> Den 12. apr. 2012 09.35 skrev Gustav Simonsson <>:
> 
> 
> If you know which modules are in the added code paths you can simply loop
> over them and load each of them using the functions in the code module.
> 
> Typically in Erlang systems one knows which modules exist, but if you
> cannot know that prior to adding a new code path my guess is that you
> have to search your newly added code paths and use e.g. code:load_file/1
> 
> Regards,
> Gustav Simonsson
> 
> Sent from my PC
> 
> ----- Original Message -----
> > From: "Andrew Berman" <>
> > To: "Erlang Questions" <>
> > Sent: Thursday, 12 April, 2012 1:13:17 AM
> > Subject: Re: [erlang-questions] Help with Sublime Text 2 Code Completion
> >
> >
> > Hey all,
> >
> >
> > Been a while since I posed this question, but I'm still stuck on
> > trying to load all the beam files. Is there some magic way to tell
> > the VM to load all the beams in the code path or do I have to loop
> > through the code path and load them all manually? How would I go
> > about doing it that way if that is what is required?
> >
> >
> > Thanks,
> >
> >
> > Andrew
> >
> >
> > On Tue, Mar 6, 2012 at 11:43 PM, Andrew Berman <  >
> > wrote:
> >
> >
> > All,
> >
> >
> > I'm trying to build a plug-in for Sublime Text 2 to do proper Erlang
> > code completion. My thought is to have a server or node running and
> > then talk to that node using erl_call. I have it working with the
> > stdlib, but I want the code completion to be dynamic such that the
> > plug-in tells the remote node to add code paths. I have that working
> > too, but the issue is loading the actual modules in the new code
> > path. Since the erlang vm loads modules only upon access, when I
> > call erlang:loaded() or code:all_loaded(), the modules added with
> > the new code path do not show. Do I have to loop through the BEAMs
> > in the new code path and manually load them or is there a better way
> > to do it? I'm trying to make the completion use a fuzzy search such
> > that something like "li" brings up all modules with "li" in it which
> > is why I need to be able to have the entire list of modules loaded
> > already.
> >
> >
> > Thanks,
> >
> >
> > Andrew
> >
> > _______________________________________________
> > erlang-questions mailing list
> > 
> > http://erlang.org/mailman/listinfo/erlang-questions
> >
> _______________________________________________
> erlang-questions mailing list
> 
> http://erlang.org/mailman/listinfo/erlang-questions
> 
> 
> _______________________________________________
> erlang-questions mailing list
> 
> http://erlang.org/mailman/listinfo/erlang-questions
> 
> 
> 
> 
> _______________________________________________
> erlang-questions mailing list
> 
> http://erlang.org/mailman/listinfo/erlang-questions
> 
> 
> _______________________________________________
> erlang-questions mailing list
> 
> http://erlang.org/mailman/listinfo/erlang-questions

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20120414/1d7fc7ad/attachment.html>


More information about the erlang-questions mailing list