erlang / erlide_eclipse

Eclipse IDE for Erlang
http://erlide.org
202 stars 70 forks source link

Unexpected report in terminal shell when Ctrl+Click on any know Erlang module/function. #211

Closed ethrbh closed 8 years ago

ethrbh commented 9 years ago

hello,

Unexpected report in terminal shell when Ctrl+Click on any know Erlang module/function. The Erlang module/function dod not opened in a new window, but the below printout appeared in the terminal window. I woudl like to ask you, did I something wrong or ?

My environment:

Ubuntu-12.04.324 Eclipse-Luna Service Release 1a (4.4.1), buildid: 20150109-0600 ErlIDE-0.29.1

The log in terminal shell

ethrbh@ethrbh-VirtualBox:~/tools/NitrogenProject.com/deps/nitrogen_core$ ethrbh@ethrbh-VirtualBox:~/tools/NitrogenProject.com/deps/nitrogen_core$ 09:57:51,485 F: (OpenAction.java:137) : open OpenResult {record grid_12} 09:57:51,532 W: (ErlTextHover.java:324) : String index out of range: 50 java.lang.StringIndexOutOfBoundsException: String index out of range: 50 at java.lang.String.substring(String.java:1946) at org.erlide.ui.editors.erl.hover.ErlTextHover.internalGetHoverInfo(ErlTextHover.java:296) at org.erlide.ui.editors.erl.hover.ErlTextHover.getHoverInfo2(ErlTextHover.java:251) at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166)

I have a full log file generated by Erlide within Eclipse, and I can send it in private email if you need.

thanks for your help, /Robi

vladdu commented 9 years ago

Thanks for reporting that. It's not your fault, but mine, and a stupid one (a debugging statement throws exception)

A new nightly build will be available shortly (try in 15 minutes, check for today's date) with a fix (will build a full one later today).

ethrbh commented 9 years ago

hello Vlad,

Thanks for your quick response. I will check it and back to you about the result.

Please let me have another question. I saw that there will be a new feature introduced sometime what may allows to add source folders, includes, libs to an existing project. The menu I saw is under Project Properties/Erlang/new Erlang (work in progress). The buttons are not working for me, so I guess this is not ready yet. But is there any way to add external Libs to an existing project. What do I mean. I started play with the Erlang Nitrogen web framework, and there are few demos what may to check. I download the demos and start Eclipse and created a new Erlang project based on the existing file structure that has (src, ebin, include). There is a deps folder created by the "demo make" and one of the deps is the core of Nitrogen. The demo uses Nitrogen core by including a header file like this: -include_lib ("nitrogen_core/include/wf.hrl").

There are few reds error marked by Erlide, meaning the wf.hrl does not found. I tried add the path of this hrl into the project ordinary include path (Project properties/Erlang/Include dirs), but it did not helped. Finally I could "solve" the issue bu change the include line in the source like this: -include_lib ("../deps/nitrogen_core/include/wf.hrl").

So my question is it possible add lib dirs?

thanks for your help, /Robi

vladdu commented 9 years ago

The nightly build is only available now, due to some technical problems.

Regarding the other question: it is possible to add lib dirs, but it requires manually editing some files. It's something that was added as a hack and I don't do it often enough to remember the details, so I will have to get back to you with the details.

I am currently working on a new model of the projets including referenced libraries, and when it's done it will be possible to configure everything through the dialogs.

vladdu commented 9 years ago

After reading more carefully the description of your problem, I see that the solution I was about to describe won't fix that.

Try this instead (untested by me): open the project properties and choose Erlang->Building. Enable project-specific settings and in the custom options add "-pa ../deps/nitrogen_core/ebin".

Also untested, if that doesn't help, try closing Eclipse and setting ERL_LIBS in that shell to contain /path/to/deps/ (I think), and start Eclipse again.

ethrbh commented 9 years ago

hello Vlad,

I have updated the ErlIDE plugin to the latest nightly, and as you thought it did not helped. I also tried your other suggestions, but none of them could solve the problem. The next printout appears in the console when I Ctrl+Click on the "#grid_12 " record in the source when ERL_LIBS env. variable set. but the same printout comes when I set the "-pa ../deps/nitrogen_core/ebin" as custom option.

The log

    ethrbh@ethrbh-VirtualBox:~/tools/NitrogenProject.com/deps/nitrogen_core$ 
    ethrbh@ethrbh-VirtualBox:~/tools/NitrogenProject.com/deps/nitrogen_core$ 15:24:53,210 F: (OpenAction.java:137) : open OpenResult {record grid_clear}
    15:24:53,273 F: (ErlTextHover.java:297) : otp doc {record,grid_clear}...

    ethrbh@ethrbh-VirtualBox:~/tools/NitrogenProject.com/deps/nitrogen_core$ echo $ERL_LIBS
    /home/ethrbh/tools/NitrogenProject.com/deps/
    ethrbh@ethrbh-VirtualBox:~/tools/NitrogenProject.com/deps/nitrogen_core$ 

I made update the ERL_LIBS to change it to "/home/ethrbh/tools/NitrogenProject.com/deps/nitrogen_core/ebin/", but it did not helped. The same printout were come. See below.

    ethrbh@ethrbh-VirtualBox:~/tools/NitrogenProject.com/deps/nitrogen_core$ 15:31:26,281 F: (OpenAction.java:137) : open OpenResult {record grid_12}
    15:31:26,367 F: (ErlTextHover.java:297) : otp doc {record,grid_12}...

    ethrbh@ethrbh-VirtualBox:~/tools/NitrogenProject.com/deps/nitrogen_core$ 
    ethrbh@ethrbh-VirtualBox:~/tools/NitrogenProject.com/deps/nitrogen_core$ echo $ERL_LIBS
    /home/ethrbh/tools/NitrogenProject.com/deps/nitrogen_core/ebin/
    ethrbh@ethrbh-VirtualBox:~/tools/NitrogenProject.com/deps/nitrogen_core$ 
    ethrbh@ethrbh-VirtualBox:~/tools/NitrogenProject.com/deps/nitrogen_core$ 

thanks for your help, /Robi

vladdu commented 9 years ago

just to make sure I get it right: did you notice your original problem only on these references to external dependencies? The bug was affecting all references.

I will have to try to set up a similar project structure and see if I can find a way to make it work.

ethrbh commented 9 years ago

hello Vlad,

The original problem was affected all references, so both internal and external. But after update the plugin only the external has some trouble.

But here is another maybe bad news. I made a simple, clean erlang project called as "proba". I made a main.erl module and create a function within. The function just tries call erlang:pid_to_string(self()). When I Ctrl+Click on the erlang module or on the function name, I get the printout I have mentioned before. I also tried compile the module in a stand alone erlang VM, and I could compile that. So it looks to me ,that not only the "non standard" project structure causes some fault, but there are something else too.

Here is the simple project I made

ethrbh@ethrbh-VirtualBox:~/workspace$ cd proba/ ethrbh@ethrbh-VirtualBox:~/workspace/proba$ ls ebin include src ethrbh@ethrbh-VirtualBox:~/workspace/proba$ ls ebin/ main.beam ethrbh@ethrbh-VirtualBox:~/workspace/proba$ ls include/ ethrbh@ethrbh-VirtualBox:~/workspace/proba$ ls src/ main.erl ethrbh@ethrbh-VirtualBox:~/workspace/proba$ cat src/main.erl %% @author ethrbh %% @doc @todo Add description to main.

-module(main).

%% ==================================================================== %% API functions %% ==================================================================== -export([]).

%% ==================================================================== %% Internal functions %% ====================================================================

init()-> a=erlang:pid_to_list(self()). ethrbh@ethrbh-VirtualBox:~/workspace/proba$ ethrbh@ethrbh-VirtualBox:~/workspace/proba$ ethrbh@ethrbh-VirtualBox:~/workspace/proba$ ethrbh@ethrbh-VirtualBox:~/workspace/proba$ 15:45:43,950 F: (OpenAction.java:137) : open OpenResult {external erlang:pid_to_list/1} 15:45:43,954 F: (ErlTextHover.java:297) : otp doc {external,erlang,pid_to_list,1,not_found}... 15:46:01,394 F: (OpenAction.java:137) : open OpenResult {external erlang:pid_to_list/1} 15:46:01,475 F: (ErlTextHover.java:297) : otp doc {external,erlang,pid_to_list,1,not_found}...

thanks for your help, /Robi

vladdu commented 9 years ago

The printouts are just for debugging, you can ignore them.

I have tested with ERL_LIBS set to the full path to the deps directory and starting eclipse from there, and it worked fine to use include_lib. Are your deps apps compiled? Did you set ERL_LIBS right?

Regarding pid_to_list: if you keep the mouse pointer over the name, do you get the documentation? The erlang module is a bit special, many functions are BIFs and pid_to_list is one of them. What happens if you try with lists:reverse([]), for example?

ethrbh commented 9 years ago

hello Vlad,

Now I also set ERL_LIBS as the full path of deps, and I could use include_lib, no errors are marked in Eclipse, but when move the mouse over eg:#grid_clear record in the community.erl what can be found in nitrogenproject/src/, no documentation is appeared. 05:11:37,808 F: (ErlTextHover.java:297) : otp doc {error,{include_lib,"includewf.hrl","/home/ethrbh/...

If I CTRL+Click on this record, Eclipse did not open the header file where this record is defined. This is defined in wf.hrl header file, and it is included by include_lib -include_lib ("nitrogen_core/include/wf.hrl").

If you would like double test it, you can grab this nitrogen project from here https://github.com/nitrogen/NitrogenProject.com The instruction is described how to compile it.

I have tried the erlang:pid_to_list/1. No documentation is appeared when I move the mouse over it. The list:reverse/1 works fine both documentation appears when mouse over, and open the source file where that is defined when CTRL+Click on that.

Here is the full log about it [sudo] password for ethrbh: ethrbh@ethrbh-VirtualBox:/mnt/ethrbh/private/microchip-pic/aws-erlang$ cd . ethrbh@ethrbh-VirtualBox:/mnt/ethrbh/private/microchip-pic/aws-erlang$ cd /home/ethrbh/tools/ ethrbh@ethrbh-VirtualBox:~/tools$ ls NitrogenProject.com/deps/ mochiweb nitrogen_core nprocreg simple_bridge sync ethrbh@ethrbh-VirtualBox:~/tools$ export ERL_LIBS=/home/ethrbh/tools/NitrogenProject.com/deps/ ethrbh@ethrbh-VirtualBox:~/tools$ echo $ERL_LIBS /home/ethrbh/tools/NitrogenProject.com/deps/ ethrbh@ethrbh-VirtualBox:~/tools$ ethrbh@ethrbh-VirtualBox:~/tools$ eclipse& [1] 4134 ethrbh@ethrbh-VirtualBox:~/tools$ org.eclipse.m2e.logback.configuration: The org.eclipse.m2e.logback.configuration bundle was activated before the state location was initialized. Will retry after the state location is initialized. org.eclipse.m2e.logback.configuration: Logback config file: /home/ethrbh/workspace/.metadata/.plugins/org.eclipse.m2e.logback.configuration/logback.1.5.0.20140606-0033.xml org.eclipse.m2e.logback.configuration: Initializing logback java.lang.ClassCastException: org.eclipse.osgi.internal.framework.EquinoxConfiguration$1 cannot be cast to java.lang.String at org.eclipse.m2e.logback.configuration.LogHelper.logJavaProperties(LogHelper.java:26) at org.eclipse.m2e.logback.configuration.LogPlugin.loadConfiguration(LogPlugin.java:189) at org.eclipse.m2e.logback.configuration.LogPlugin.configureLogback(LogPlugin.java:144) at org.eclipse.m2e.logback.configuration.LogPlugin.access$2(LogPlugin.java:107) at org.eclipse.m2e.logback.configuration.LogPlugin$1.run(LogPlugin.java:62) at java.util.TimerThread.mainLoop(Timer.java:534) at java.util.TimerThread.run(Timer.java:484) 05:02:22,133 F: (BackendActivator.java:19) : Backend plugin starting 05:02:22,142 F: (ErlangPlugin.java:73) : Core starting 05:02:22,180 I: (ErlangCore.java:58) : Erlide log is in /home/ethrbh/workspace 05:02:22,187 I: (ErlangCore.java:64) : Starting CORE Thread[main,6,main] 05:02:22,202 I: (ErlangCore.java:79) : * starting Erlide v0.29.10.201502161353 (core=0.24.12.201502161353) (model api=0.24.11.201502161353) * (UTF-8) ui 05:02:22,210 I: (ErlangCore.java:86) : Started CORE 05:02:22,211 F: (ErlangPlugin.java:88) : Core started 05:02:23,413 F: (ErlangHostnameRetriever.java:40) : Test long hostname: null 05:02:23,414 W: (ErlangHostnameRetriever.java:46) : Can't use null as long name 05:02:24,470 F: (ErlangHostnameRetriever.java:40) : Test long hostname: ethrbh-VirtualBox 05:02:25,498 W: (ErlangHostnameRetriever.java:46) : Can't use ethrbh-VirtualBox as long name 05:02:25,820 F: (ErlangHostnameRetriever.java:40) : Test short hostname: ethrbh-VirtualBox 05:02:25,838 F: (HostnameUtils.java:74) : Detected:: ethrbh-VirtualBox && null 05:02:25,864 F: (BackendActivator.java:25) : Backend plugin started 05:02:25,870 I: (ErlideUIPlugin.java:130) : Starting UI Thread[main,6,main] 05:02:25,875 F: (ModelActivator.java:19) : Starting Erlang model api 05:02:25,903 F: (BackendFactory.java:42) : Create ide backend 17.4.0 05:02:25,903 F: (BackendFactory.java:56) : Create backend fa4e6_ethrbh_b387ed_erlide 05:02:25,971 F: (OtpNodeProxy.java:419) : START node :> [/home/ethrbh/tools/erlang_otp_17_4/lib/erlang/bin/erl, -sname, fa4e6_ethrbh_b387ed_erlide@ethrbh-VirtualBox, -setcookie, erlide] *\ /home/ethrbh/workspace 05:02:25,973 F: (OtpNodeProxy.java:301) : Runtime fa4e6_ethrbh_b387ed_erlide@ethrbh-VirtualBox starting 05:02:26,002 F: (OtpNodeProxy.java:212) : fa4e6_ethrbh_b387ed_erlide@ethrbh-VirtualBox: waiting connection to peer... 05:02:26,412 F: (OtpNodeProxy.java:219) : connected! 05:02:26,523 F: (OtpNodeProxy.java:306) : Runtime fa4e6_ethrbh_b387ed_erlide@ethrbh-VirtualBox running 05:02:26,697 F: (LogEventHandler.java:27) : info: {"Monitoring java node",'jerlide_5b38847@ethrbh-VirtualBox'} 05:02:26,698 F: (LogEventHandler.java:27) : info: {"Start monitor process: ",10000000,50000000} 05:02:27,048 F: (ModelActivator.java:30) : Started model api 05:02:27,072 I: (ErlideUIPlugin.java:152) : Started UI 05:02:28,793 F: (ErlParser.java:342) : unknown: {other,{{70,70,2955},1},u,[{token,'<',70,2955,1,u,"<",u,u},{token,atom,70,2956,1,p,"p",u,u},{token,'>',70,2957,1,u,">",u,u},{token,'<',71,2971,1,u,"<",u,u},{token,atom,71,2972,1,a,"a",u,u},{token,atom,71,2974,4,href,"href",u,u},{token,'=',71,2978,1,u,"=",u,u},{token,atom,71,2979,39,'http://www.pledgie.com/campaigns/2057',"'http://www.pledgie.com/campaigns/2057'",u,u},{token,'>',71,3018,1,u,">",u,u},{token,'<',71,3019,1,u,"<",u,u},{token,atom,71,3020,3,img,"img",u,u},{token,atom,71,3024,3,alt,"alt",u,u},{token,'=',71,3027,1,u,"=",u,u},{token,atom,71,3028,87,'Click here to lend your support to: nitrogen and make a donation at www.pledgie.com !',"'Click here to lend your support to: nitrogen and make a donation at www.pledgie.com !'",u,u},{token,atom,71,3116,3,src,"src",u,u},{token,'=',71,3119,1,u,"=",u,u},{token,atom,71,3120,60,'http://www.pledgie.com/campaigns/2057.png?skin_name=chrome',"'http://www.pledgie.com/campaigns/2057.png?skin_name=chrome'",u,u},{token,atom,71,3181,6,border,"border",u,u},{token,'=',71,3187,1,u,"=",u,u},{token,atom,71,3188,3,'0',"'0'",u,u},{token,'/',71,3192,1,u,"/",u,u},{token,'>',71,3193,1,u,">",u,u},{token,'<',71,3194,1,u,"<",u,u},{token,'/',71,3195,1,u,"/",u,u},{token,atom,71,3196,1,a,"a",u,u},{token,'>',71,3197,1,u,">",u,u},{token,'<',72,3200,1,u,"<",u,u},{token,'!',72,3201,1,u,"!",u,u},{token,'--',72,3202,2,u,"--",u,u},{token,'<',72,3215,1,u,"<",u,u},{token,atom,72,3216,1,p,"p",u,u},{token,'>',72,3217,1,u,">",u,u},{token,var,73,3231,13,'Alternatively',"Alternatively",u,u},{token,',',73,3244,1,u,",",u,u},{token,atom,73,3246,4,show,"show",u,u},{token,atom,73,3251,4,your,"your",u,u},{token,atom,73,3256,12,appreciation,"appreciation",u,u},{token,atom,73,3269,2,by,"by",u,u},{token,atom,73,3272,7,sending,"sending",u,u},{token,atom,73,3280,5,books,"books",u,u},{token,',',73,3285,1,u,",",u,u},{token,atom,73,3287,1,t,"t",u,u},{token,'-',73,3288,1,u,"-",u,u},{token,atom,73,3289,6,shirts,"shirts",u,u},{token,',',73,3295,1,u,",",u,u},{token,atom,73,3297,4,mugs,"mugs",u,u},{token,',',73,3301,1,u,",",u,u},{token,atom,73,3303,7,gadgets,"gadgets",u,u},{token,',',73,3310,1,u,",",u,u},{token,and,73,3312,3,u,"and",u,u},{token,atom,73,3316,5,other,"other",u,u},{token,atom,73,3322,5,shwag,"shwag",u,u},{token,atom,73,3328,2,to,"to",u,u},{token,':',73,3330,1,u,":",u,u},{token,'<',74,3344,1,u,"<",u,u},{token,atom,74,3345,1,p,"p",u,u},{token,'>',74,3346,1,u,">",u,u},{token,var,75,3360,5,'Basho',"Basho",u,u},{token,var,75,3366,12,'Technologies',"Technologies",u,u},{token,'/',75,3379,1,u,"/",u,u},{token,var,75,3381,5,'Rusty',"Rusty",u,u},{token,var,75,3387,8,'Klophaus',"Klophaus",u,u},{token,'/',75,3396,1,u,"/",u,u},{token,integer,75,3398,3,196,"196",u,u},{token,var,75,3402,8,'Broadway',"Broadway",u,u},{token,'/',75,3411,1,u,"/",u,u},{token,var,75,3413,9,'Cambridge',"Cambridge",u,u},{token,',',75,3422,1,u,",",u,u},{token,var,75,3424,2,'MA',"MA",u,u},{token,integer,75,3427,5,2139,"02139",u,u},{token,'--',75,3432,2,u,"--",u,u},{token,'>',75,3434,1,u,">",u,u},{token,string,76,3448,3," ","" "",u,u},{token,']',77,3458,1,u,"]",u,u},{token,'}',77,3459,1,u,"}",u,u},{token,',',77,3460,1,u,",",u,u},{token,'#',79,3471,1,u,"#",u,u},{token,atom,79,3472,10,grid_clear,"grid_clear",u,u},{token,'{',79,3482,1,u,"{",u,u},{token,'}',79,3483,1,u,"}",u,u},{token,',',79,3484,1,u,",",u,u},{token,'#',81,3503,1,u,"#",u,u},{token,atom,81,3504,7,grid_12,"grid_12",u,u},{token,'{',81,3512,1,u,"{",u,u},{token,atom,81,3514,5,alpha,"alpha",u,u},{token,'=',81,3519,1,u,"=",u,u},{token,atom,81,3520,4,true,"true",u,u},{token,',',81,3524,1,u,",",u,u},{token,atom,81,3526,5,omega,"omega",u,u},{token,'=',81,3531,1,u,"=",u,u},{token,atom,81,3532,4,true,"true",u,u},{token,',',81,3536,1,u,",",u,u},{token,atom,81,3538,4,body,"body",u,u},{token,'=',81,3542,1,u,"=",u,u},{token,'[',81,3543,1,u,"[",u,u},{token,'#',82,3557,1,u,"#",u,u},{token,atom,82,3558,2,hr,"hr",u,u},{token,'{',82,3561,1,u,"{",u,u},{token,'}',82,3562,1,u,"}",u,u},{token,']',83,3572,1,u,"]",u,u},{token,'}',83,3573,1,u,"}",u,u},{token,']',84,3579,1,u,"]",u,u},{token,dot,84,3580,1,u,".",u,u}]}

        ethrbh@ethrbh-VirtualBox:~/tools$ 05:02:54,649 F: (BackendFactory.java:49) : Create build backend 17
        05:02:54,651 F: (BackendFactory.java:56) : Create backend 17_fa4e6_ethrbh_b3f83a
        05:02:54,653 F: (OtpNodeProxy.java:301) : Runtime 17_fa4e6_ethrbh_b3f83a@ethrbh-VirtualBox starting
        05:02:54,654 F: (OtpNodeProxy.java:419) : START node :> [/home/ethrbh/tools/erlang_otp_17_4/lib/erlang/bin/erl, -sname, 17_fa4e6_ethrbh_b3f83a@ethrbh-VirtualBox, -setcookie, erlide] *** /home/ethrbh/workspace
        05:02:54,675 F: (OtpNodeProxy.java:212) : 17_fa4e6_ethrbh_b3f83a@ethrbh-VirtualBox: waiting connection to peer... 
        05:02:54,753 F: (OpenAction.java:137) : open OpenResult {record grid_12}
        05:02:55,097 F: (OtpNodeProxy.java:219) : connected!
        05:02:55,201 F: (BackendFactory.java:49) : Create build backend 17
        05:02:55,202 F: (BackendFactory.java:56) : Create backend 17_fa4e6_ethrbh_b3fa62
        05:02:55,206 F: (OtpNodeProxy.java:419) : START node :> [/home/ethrbh/tools/erlang_otp_17_4/lib/erlang/bin/erl, -sname, 17_fa4e6_ethrbh_b3fa62@ethrbh-VirtualBox, -setcookie, erlide] *** /home/ethrbh/workspace
        05:02:55,206 F: (OtpNodeProxy.java:301) : Runtime 17_fa4e6_ethrbh_b3fa62@ethrbh-VirtualBox starting
        05:02:55,259 F: (OtpNodeProxy.java:212) : 17_fa4e6_ethrbh_b3fa62@ethrbh-VirtualBox: waiting connection to peer... 
        05:02:55,283 F: (ErlTextHover.java:297) : otp doc {record,grid_12}...
        05:02:55,345 F: (OtpNodeProxy.java:306) : Runtime 17_fa4e6_ethrbh_b3f83a@ethrbh-VirtualBox running
        05:02:55,346 F: (LogEventHandler.java:27) : info: {"Monitoring java node",'jerlide_5b3f851@ethrbh-VirtualBox'}
        05:02:55,347 F: (LogEventHandler.java:27) : info: {"Start monitor process: ",10000000,50000000}
        05:02:55,667 F: (OtpNodeProxy.java:219) : connected!
        05:02:55,927 F: (OtpNodeProxy.java:306) : Runtime 17_fa4e6_ethrbh_b3fa62@ethrbh-VirtualBox running
        05:02:55,927 F: (LogEventHandler.java:27) : info: {"Monitoring java node",'jerlide_5b3fa74@ethrbh-VirtualBox'}
        05:02:55,928 F: (LogEventHandler.java:27) : info: {"Start monitor process: ",10000000,50000000}
        05:02:59,965 F: (ErlTextHover.java:297) : otp doc {field,template,file}...
        05:03:03,520 F: (ErlParser.java:342) : unknown: {other,{{70,70,2947},1},u,[{token,'<',70,2947,1,u,"<",u,u},{token,atom,70,2948,1,p,"p",u,u},{token,'>',70,2949,1,u,">",u,u},{token,'<',71,2963,1,u,"<",u,u},{token,atom,71,2964,1,a,"a",u,u},{token,atom,71,2966,4,href,"href",u,u},{token,'=',71,2970,1,u,"=",u,u},{token,atom,71,2971,39,'http://www.pledgie.com/campaigns/2057',"'http://www.pledgie.com/campaigns/2057'",u,u},{token,'>',71,3010,1,u,">",u,u},{token,'<',71,3011,1,u,"<",u,u},{token,atom,71,3012,3,img,"img",u,u},{token,atom,71,3016,3,alt,"alt",u,u},{token,'=',71,3019,1,u,"=",u,u},{token,atom,71,3020,87,'Click here to lend your support to: nitrogen and make a donation at www.pledgie.com !',"'Click here to lend your support to: nitrogen and make a donation at www.pledgie.com !'",u,u},{token,atom,71,3108,3,src,"src",u,u},{token,'=',71,3111,1,u,"=",u,u},{token,atom,71,3112,60,'http://www.pledgie.com/campaigns/2057.png?skin_name=chrome',"'http://www.pledgie.com/campaigns/2057.png?skin_name=chrome'",u,u},{token,atom,71,3173,6,border,"border",u,u},{token,'=',71,3179,1,u,"=",u,u},{token,atom,71,3180,3,'0',"'0'",u,u},{token,'/',71,3184,1,u,"/",u,u},{token,'>',71,3185,1,u,">",u,u},{token,'<',71,3186,1,u,"<",u,u},{token,'/',71,3187,1,u,"/",u,u},{token,atom,71,3188,1,a,"a",u,u},{token,'>',71,3189,1,u,">",u,u},{token,'<',72,3192,1,u,"<",u,u},{token,'!',72,3193,1,u,"!",u,u},{token,'--',72,3194,2,u,"--",u,u},{token,'<',72,3207,1,u,"<",u,u},{token,atom,72,3208,1,p,"p",u,u},{token,'>',72,3209,1,u,">",u,u},{token,var,73,3223,13,'Alternatively',"Alternatively",u,u},{token,',',73,3236,1,u,",",u,u},{token,atom,73,3238,4,show,"show",u,u},{token,atom,73,3243,4,your,"your",u,u},{token,atom,73,3248,12,appreciation,"appreciation",u,u},{token,atom,73,3261,2,by,"by",u,u},{token,atom,73,3264,7,sending,"sending",u,u},{token,atom,73,3272,5,books,"books",u,u},{token,',',73,3277,1,u,",",u,u},{token,atom,73,3279,1,t,"t",u,u},{token,'-',73,3280,1,u,"-",u,u},{token,atom,73,3281,6,shirts,"shirts",u,u},{token,',',73,3287,1,u,",",u,u},{token,atom,73,3289,4,mugs,"mugs",u,u},{token,',',73,3293,1,u,",",u,u},{token,atom,73,3295,7,gadgets,"gadgets",u,u},{token,',',73,3302,1,u,",",u,u},{token,and,73,3304,3,u,"and",u,u},{token,atom,73,3308,5,other,"other",u,u},{token,atom,73,3314,5,shwag,"shwag",u,u},{token,atom,73,3320,2,to,"to",u,u},{token,':',73,3322,1,u,":",u,u},{token,'<',74,3336,1,u,"<",u,u},{token,atom,74,3337,1,p,"p",u,u},{token,'>',74,3338,1,u,">",u,u},{token,var,75,3352,5,'Basho',"Basho",u,u},{token,var,75,3358,12,'Technologies',"Technologies",u,u},{token,'/',75,3371,1,u,"/",u,u},{token,var,75,3373,5,'Rusty',"Rusty",u,u},{token,var,75,3379,8,'Klophaus',"Klophaus",u,u},{token,'/',75,3388,1,u,"/",u,u},{token,integer,75,3390,3,196,"196",u,u},{token,var,75,3394,8,'Broadway',"Broadway",u,u},{token,'/',75,3403,1,u,"/",u,u},{token,var,75,3405,9,'Cambridge',"Cambridge",u,u},{token,',',75,3414,1,u,",",u,u},{token,var,75,3416,2,'MA',"MA",u,u},{token,integer,75,3419,5,2139,"02139",u,u},{token,'--',75,3424,2,u,"--",u,u},{token,'>',75,3426,1,u,">",u,u},{token,string,76,3440,3,"
        ",""
        "",u,u},{token,']',77,3450,1,u,"]",u,u},{token,'}',77,3451,1,u,"}",u,u},{token,',',77,3452,1,u,",",u,u},{token,'#',79,3463,1,u,"#",u,u},{token,atom,79,3464,10,grid_clear,"grid_clear",u,u},{token,'{',79,3474,1,u,"{",u,u},{token,'}',79,3475,1,u,"}",u,u},{token,',',79,3476,1,u,",",u,u},{token,'#',81,3495,1,u,"#",u,u},{token,atom,81,3496,7,grid_12,"grid_12",u,u},{token,'{',81,3504,1,u,"{",u,u},{token,atom,81,3506,5,alpha,"alpha",u,u},{token,'=',81,3511,1,u,"=",u,u},{token,atom,81,3512,4,true,"true",u,u},{token,',',81,3516,1,u,",",u,u},{token,atom,81,3518,5,omega,"omega",u,u},{token,'=',81,3523,1,u,"=",u,u},{token,atom,81,3524,4,true,"true",u,u},{token,',',81,3528,1,u,",",u,u},{token,atom,81,3530,4,body,"body",u,u},{token,'=',81,3534,1,u,"=",u,u},{token,'[',81,3535,1,u,"[",u,u},{token,'#',82,3549,1,u,"#",u,u},{token,atom,82,3550,2,hr,"hr",u,u},{token,'{',82,3553,1,u,"{",u,u},{token,'}',82,3554,1,u,"}",u,u},{token,']',83,3564,1,u,"]",u,u},{token,'}',83,3565,1,u,"}",u,u},{token,']',84,3571,1,u,"]",u,u},{token,dot,84,3572,1,u,".",u,u}]}
        05:03:04,187 F: (ErlParser.java:342) : unknown: {other,{{70,70,2947},1},u,[{token,'<',70,2947,1,u,"<",u,u},{token,atom,70,2948,1,p,"p",u,u},{token,'>',70,2949,1,u,">",u,u},{token,'<',71,2963,1,u,"<",u,u},{token,atom,71,2964,1,a,"a",u,u},{token,atom,71,2966,4,href,"href",u,u},{token,'=',71,2970,1,u,"=",u,u},{token,atom,71,2971,39,'http://www.pledgie.com/campaigns/2057',"'http://www.pledgie.com/campaigns/2057'",u,u},{token,'>',71,3010,1,u,">",u,u},{token,'<',71,3011,1,u,"<",u,u},{token,atom,71,3012,3,img,"img",u,u},{token,atom,71,3016,3,alt,"alt",u,u},{token,'=',71,3019,1,u,"=",u,u},{token,atom,71,3020,87,'Click here to lend your support to: nitrogen and make a donation at www.pledgie.com !',"'Click here to lend your support to: nitrogen and make a donation at www.pledgie.com !'",u,u},{token,atom,71,3108,3,src,"src",u,u},{token,'=',71,3111,1,u,"=",u,u},{token,atom,71,3112,60,'http://www.pledgie.com/campaigns/2057.png?skin_name=chrome',"'http://www.pledgie.com/campaigns/2057.png?skin_name=chrome'",u,u},{token,atom,71,3173,6,border,"border",u,u},{token,'=',71,3179,1,u,"=",u,u},{token,atom,71,3180,3,'0',"'0'",u,u},{token,'/',71,3184,1,u,"/",u,u},{token,'>',71,3185,1,u,">",u,u},{token,'<',71,3186,1,u,"<",u,u},{token,'/',71,3187,1,u,"/",u,u},{token,atom,71,3188,1,a,"a",u,u},{token,'>',71,3189,1,u,">",u,u},{token,'<',72,3192,1,u,"<",u,u},{token,'!',72,3193,1,u,"!",u,u},{token,'--',72,3194,2,u,"--",u,u},{token,'<',72,3207,1,u,"<",u,u},{token,atom,72,3208,1,p,"p",u,u},{token,'>',72,3209,1,u,">",u,u},{token,var,73,3223,13,'Alternatively',"Alternatively",u,u},{token,',',73,3236,1,u,",",u,u},{token,atom,73,3238,4,show,"show",u,u},{token,atom,73,3243,4,your,"your",u,u},{token,atom,73,3248,12,appreciation,"appreciation",u,u},{token,atom,73,3261,2,by,"by",u,u},{token,atom,73,3264,7,sending,"sending",u,u},{token,atom,73,3272,5,books,"books",u,u},{token,',',73,3277,1,u,",",u,u},{token,atom,73,3279,1,t,"t",u,u},{token,'-',73,3280,1,u,"-",u,u},{token,atom,73,3281,6,shirts,"shirts",u,u},{token,',',73,3287,1,u,",",u,u},{token,atom,73,3289,4,mugs,"mugs",u,u},{token,',',73,3293,1,u,",",u,u},{token,atom,73,3295,7,gadgets,"gadgets",u,u},{token,',',73,3302,1,u,",",u,u},{token,and,73,3304,3,u,"and",u,u},{token,atom,73,3308,5,other,"other",u,u},{token,atom,73,3314,5,shwag,"shwag",u,u},{token,atom,73,3320,2,to,"to",u,u},{token,':',73,3322,1,u,":",u,u},{token,'<',74,3336,1,u,"<",u,u},{token,atom,74,3337,1,p,"p",u,u},{token,'>',74,3338,1,u,">",u,u},{token,var,75,3352,5,'Basho',"Basho",u,u},{token,var,75,3358,12,'Technologies',"Technologies",u,u},{token,'/',75,3371,1,u,"/",u,u},{token,var,75,3373,5,'Rusty',"Rusty",u,u},{token,var,75,3379,8,'Klophaus',"Klophaus",u,u},{token,'/',75,3388,1,u,"/",u,u},{token,integer,75,3390,3,196,"196",u,u},{token,var,75,3394,8,'Broadway',"Broadway",u,u},{token,'/',75,3403,1,u,"/",u,u},{token,var,75,3405,9,'Cambridge',"Cambridge",u,u},{token,',',75,3414,1,u,",",u,u},{token,var,75,3416,2,'MA',"MA",u,u},{token,integer,75,3419,5,2139,"02139",u,u},{token,'--',75,3424,2,u,"--",u,u},{token,'>',75,3426,1,u,">",u,u},{token,string,76,3440,3,"
        ",""
        "",u,u},{token,']',77,3450,1,u,"]",u,u},{token,'}',77,3451,1,u,"}",u,u},{token,',',77,3452,1,u,",",u,u},{token,'#',79,3463,1,u,"#",u,u},{token,atom,79,3464,10,grid_clear,"grid_clear",u,u},{token,'{',79,3474,1,u,"{",u,u},{token,'}',79,3475,1,u,"}",u,u},{token,',',79,3476,1,u,",",u,u},{token,'#',81,3495,1,u,"#",u,u},{token,atom,81,3496,7,grid_12,"grid_12",u,u},{token,'{',81,3504,1,u,"{",u,u},{token,atom,81,3506,5,alpha,"alpha",u,u},{token,'=',81,3511,1,u,"=",u,u},{token,atom,81,3512,4,true,"true",u,u},{token,',',81,3516,1,u,",",u,u},{token,atom,81,3518,5,omega,"omega",u,u},{token,'=',81,3523,1,u,"=",u,u},{token,atom,81,3524,4,true,"true",u,u},{token,',',81,3528,1,u,",",u,u},{token,atom,81,3530,4,body,"body",u,u},{token,'=',81,3534,1,u,"=",u,u},{token,'[',81,3535,1,u,"[",u,u},{token,'#',82,3549,1,u,"#",u,u},{token,atom,82,3550,2,hr,"hr",u,u},{token,'{',82,3553,1,u,"{",u,u},{token,'}',82,3554,1,u,"}",u,u},{token,']',83,3564,1,u,"]",u,u},{token,'}',83,3565,1,u,"}",u,u},{token,']',84,3571,1,u,"]",u,u},{token,dot,84,3572,1,u,".",u,u}]}
        05:03:04,277 F: (InternalBuilder.java:333) : .app: ignore deps/simple_bridge/test/simple_bridge_SUITE.erl
        05:03:04,277 F: (InternalBuilder.java:333) : .app: ignore deps/simple_bridge/test/simple_bridge_test_handler.erl
        05:03:04,337 F: (InternalBuilder.java:202) : Will compile 1 resource(s)

        ethrbh@ethrbh-VirtualBox:~/tools$ 
        ethrbh@ethrbh-VirtualBox:~/tools$ 
        ethrbh@ethrbh-VirtualBox:~/tools$ 05:03:14,960 F: (ErlTextHover.java:297) : otp doc {external,common,github_fork,0,not_found}...
        05:03:14,968 F: (ErlParser.java:342) : unknown: {other,{{33,33,1230},1},u,[{token,'<',33,1230,1,u,"<",u,u},{token,atom,33,1231,3,img,"img",u,u},{token,atom,33,1235,3,src,"src",u,u},{token,'=',33,1238,1,u,"=",u,u},{token,atom,33,1239,26,'/images/MiniSpaceman.png',"'/images/MiniSpaceman.png'",u,u},{token,atom,33,1266,5,style,"style",u,u},{token,'=',33,1271,1,u,"=",u,u},{token,atom,33,1272,25,'vertical-align: middle;',"'vertical-align: middle;'",u,u},{token,'/',33,1298,1,u,"/",u,u},{token,'>',33,1299,1,u,">",u,u},{token,var,34,1309,8,'Released',"Released",u,u},{token,atom,34,1318,5,under,"under",u,u},{token,atom,34,1324,3,the,"the",u,u},{token,var,34,1328,3,'MIT',"MIT",u,u},{token,var,34,1332,7,'License',"License",u,u},{token,dot,34,1339,1,u,".",u,u}]}
        05:03:14,968 F: (ErlParser.java:342) : unknown: {other,{{35,35,1349},3},"
        ",[{token,string,35,1349,3,"
        ",""
        "",u,u},{token,']',36,1355,1,u,"]",u,u},{token,'}',36,1356,1,u,"}",u,u},{token,dot,36,1357,1,u,".",u,u}]}
        05:03:15,093 F: (OpenAction.java:137) : open OpenResult {external common:github_fork/0}
        05:03:21,557 F: (OpenAction.java:137) : open OpenResult {record grid_clear}
        05:03:21,622 F: (ErlTextHover.java:297) : otp doc {record,grid_clear}...
        05:03:25,507 F: (ErlTextHover.java:297) : otp doc {record,grid_12}...
        05:03:26,741 F: (OpenAction.java:137) : open OpenResult {record grid_12}
        05:03:28,364 F: (OpenAction.java:137) : open OpenResult {record grid_clear}
        05:03:28,421 F: (ErlTextHover.java:297) : otp doc {record,grid_clear}...
        05:03:35,908 F: (ErlTextHover.java:297) : otp doc {record,hr}...
        05:03:35,921 F: (OpenAction.java:137) : open OpenResult {record hr}
        05:03:39,262 F: (ErlTextHover.java:297) : otp doc {record,hr}...
        05:03:39,302 F: (OpenAction.java:137) : open OpenResult {record hr}

        ethrbh@ethrbh-VirtualBox:~/tools$ 05:04:19,820 F: (ErlTextHover.java:297) : otp doc {external,erlang,pid_to_list,1,not_found}...
        05:04:44,830 F: (InternalBuilder.java:202) : Will compile 1 resource(s)
        05:04:46,021 F: (ErlTextHover.java:297) : otp doc {external,lists,reverse,1,"/home/ethrbh/tools/erla...
        05:04:47,298 F: (ErlTextHover.java:297) : otp doc {external,lists,reverse,1,"/home/ethrbh/tools/erla...
        05:04:49,345 F: (OpenAction.java:137) : open OpenResult {external lists:reverse/1 "/home/ethrbh/tools/erlang_otp_17_4/lib/erlang/lib/stdlib-2.3/src/lists.erl"}
        05:04:58,385 F: (ErlTextHover.java:297) : otp doc {record,grid_12}...
        05:05:00,834 F: (OpenAction.java:137) : open OpenResult {record grid_12}
        05:05:06,300 F: (OpenAction.java:137) : open OpenResult {include "includewf.hrl" "/home/ethrbh/tools/NitrogenProject.com/deps/nitrogen_core/include/wf.hrl"}
        05:05:06,303 F: (ErlTextHover.java:297) : otp doc {error,{include_lib,"includewf.hrl","/home/ethrbh/...

        ethrbh@ethrbh-VirtualBox:~/tools$ 
        ethrbh@ethrbh-VirtualBox:~/tools$ 
        ethrbh@ethrbh-VirtualBox:~/tools$ 
        ethrbh@ethrbh-VirtualBox:~/tools$ ls NitrogenProject.com/deps/nitrogen_core/ebin/
        action_add_class.beam                element_mobile_grid_block.beam
        action_alert.beam                    element_mobile_list.beam
        action_animate.beam                  element_mobile_list_divider.beam
        action_api.beam                      element_mobile_listitem.beam
        action_appear.beam                   element_mobile_panel.beam
        action_before_postback.beam          element_mobile_toggle.beam
        action_buttonize.beam                element_nav.beam
        action_clear_validation.beam         element_panel.beam
        action_click.beam                    element_password.beam
        action_comet.beam                    element_p.beam
        action_confirm.beam                  element_placeholder.beam
        action_console_log.beam              element_pre.beam
        action_continue.beam                 element_progress_bar.beam
        action_disable.beam                  element_qr.beam
        action_disable_selection.beam        element_radio.beam
        action_effect.beam                   element_radiogroup.beam
        action_enable.beam                   element_range.beam
        action_event.beam                    element_recaptcha.beam
        action_fade.beam                     element_restful_form.beam
        action_function.beam                 element_restful_reset.beam
        action_hide.beam                     element_restful_submit.beam
        action_jquery_effect.beam            element_restful_upload.beam
        action_make_readonly.beam            element_section.beam
        action_make_writable.beam            element_singlerow.beam
        action_redirect.beam                 element_sortblock.beam
        action_remove_class.beam             element_sortitem.beam
        action_script.beam                   element_span.beam
        action_set.beam                      element_sparkline.beam
        action_set_cookie.beam               element_spinner.beam
        action_set_multiple.beam             element_strong.beam
        action_show.beam                     element_sync_panel.beam
        action_slide_down.beam               element_table.beam
        action_slide_up.beam                 element_tablecell.beam
        action_toggle.beam                   element_tableheader.beam
        action_toggle_mobile_panel.beam      element_tablerow.beam
        action_update.beam                   element_template.beam
        action_validate.beam                 element_textarea.beam
        action_validation_error.beam         element_textbox_autocomplete.beam
        action_wire.beam                     element_textbox.beam
        cache_handler.beam                   element_time.beam
        config_handler.beam                  element_upload.beam
        crash_handler.beam                   element_value.beam
        debug_crash_handler.beam             element_wizard.beam
        default_cache_handler.beam           file_not_found_page.beam
        default_config_handler.beam          gproc_registry_handler.beam
        default_crash_handler.beam           http_basic_auth_security_handler.beam
        default_identity_handler.beam        identity_handler.beam
        default_log_handler.beam             log_handler.beam
        default_query_handler.beam           named_route_handler.beam
        default_role_handler.beam            nitrogen.beam
        default_security_handler.beam        nitrogen_core.app
        default_state_handler.beam           nitrogen_dev.beam
        dynamic_route_handler.beam           nitrogen_rest.beam
        element_article.beam                 nitrogen_smart_extensions.beam
        element_aside.beam                   nitro_mochiglobal.beam
        element_bind.beam                    nitro_mochijson2.beam
        element_br.beam                      nitro_mochinum.beam
        element_button.beam                  nprocreg_registry_handler.beam
        element_checkbox.beam                passthrough_route_handler.beam
        element_datepicker_textbox.beam      process_registry_handler.beam
        element_draggable.beam               query_handler.beam
        element_dropdown.beam                role_handler.beam
        element_droppable.beam               route_handler.beam
        element_email_link.beam              security_handler.beam
        element_em.beam                      session_handler.beam
        element_fieldset.beam                simple_session_handler.beam
        element_file.beam                    state_handler.beam
        element_flash.beam                   validator_confirm_password.beam
        element_function.beam                validator_confirm_same.beam
        element_google_chart.beam            validator_custom.beam
        element_gravatar.beam                validator_is_email.beam
        element_grid.beam                    validator_is_integer.beam
        element_h.beam                       validator_is_required.beam
        element_hidden.beam                  validator_js_custom.beam
        element_hr.beam                      validator_max_length.beam
        element_html5_footer.beam            validator_min_length.beam
        element_html5_header.beam            wf_action_queue.beam
        element_iframe.beam                  wf.beam
        element_image.beam                   wf_context.beam
        element_inplace.beam                 wf_convert.beam
        element_inplace_textarea.beam        wf_cookies.beam
        element_inplace_textbox.beam         wf_core.beam
        element_label.beam                   wf_event.beam
        element_lightbox.beam                wf_handler.beam
        element_link.beam                    wf_pickle.beam
        element_list.beam                    wf_render_actions.beam
        element_listitem.beam                wf_render_elements.beam
        element_literal.beam                 wf_tags.beam
        element_main.beam                    wf_test.beam
        element_mark.beam                    wf_test_srv.beam
        element_mobile_collapsible.beam      wf_utils.beam
        element_mobile_collapsible_set.beam  wf_validation.beam
        element_mobile_grid.beam
        ethrbh@ethrbh-VirtualBox:~/tools$ ls NitrogenProject.com/deps/nitrogen_core/include/
        crypto_compat.hrl  google_chart.hrl  wf.hrl  wf.inc  wf_test.hrl
        ethrbh@ethrbh-VirtualBox:~/tools$ ls NitrogenProject.com/deps/nitrogen_core/src/actions   handlers  nitrogen_core.app.src  nitrogen.erl  wf_core.erl
        elements  lib       nitrogen_dev.erl       validators    wf.erl
        ethrbh@ethrbh-VirtualBox:~/tools$ 

thanks for your help, /Robi

vladdu commented 9 years ago

Regarding erlang:list_to_pid, like I said before, it is expected to not be able to jump to definition because there isn't any: it's a built-in, written in C.

Setting ERL_LIBS helps the compiler, but erlide is not using it. So there is no documentation for these libraries, nor navigation to the definitions. There is a way to do that too, but it is a bit hacky... Make sure to use absolute paths everywhere.

cd <proj>/deps/nitrogen_core
find `pwd`/src > modules.erlidex
find `pwd`/include > includes.erlidex
# the *.erlidex files can be placed anywhere, adjust the reference to them below if moved

# repeat this for all deps applications

cd <proj>
find `pwd`/deps/ -name "modules.erlidex" > external_modules
find `pwd`/deps/ -name "includes.erlidex" > external_includes

vi .settings/org.erlide.core.prefs
# edit/add these lines:
# external_modules=<proj>/external_modules
# external_includes=<proj>/external_includes
ethrbh commented 9 years ago

hello Vlad,

Not showing any document and not jumping on erlang:list_to_pid/1 is fine. I understood that this is because the BIF.

I did your suggestion, and now I can "jump" between the main and deps applications.

Anyway, the new ErlIDE model what you have mentioned yesterday, will support this "feature" or it is out of your scope?

thanks for your help. /Robi

vladdu commented 9 years ago

The new model will understand rebar configuration and will need no manual configuration.

ethrbh commented 9 years ago

hello Vlad,

Sounds good. Do you have any estimation when will you be ready with this?

thanks, /Robi

vladdu commented 9 years ago

No, unfortunately. A lot of it is implemented, but as you know, the last 10% of the work take 90% of the effort. It is however what I am working on currently, so I hope that it can be usable in a month or so.

ethrbh commented 9 years ago

hello Vlad,

I know what do you mean about how the work-flow looks almost always.

thanks for your help, /Robi

vladdu commented 8 years ago

The original question has been answered, so I'm closing the ticket. Please create a new one if there are more issues.