Closed ethrbh closed 8 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).
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
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.
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.
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.
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
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.
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.
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
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?
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
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
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
The new model will understand rebar configuration and will need no manual configuration.
hello Vlad,
Sounds good. Do you have any estimation when will you be ready with this?
thanks, /Robi
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.
hello Vlad,
I know what do you mean about how the work-flow looks almost always.
thanks for your help, /Robi
The original question has been answered, so I'm closing the ticket. Please create a new one if there are more issues.
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