Giter Club home page Giter Club logo

angularjs-eclipse's People

Contributors

angelozerr avatar ardeearam avatar dgolovin avatar elkfrawy-df avatar gamerson avatar kaloyan-raev avatar pascalleclercq avatar piotrtomiak avatar splatov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

angularjs-eclipse's Issues

regular releases

As you may have heard from different source regular and often releases are considered good practice. Even with alpha/beta there should be some reference points for users,
and one more reason for developers to keep thing clean and ready for release.

Asking to navigate into an unknown controller causes seemingly infinite loop

I have a project that works, but for some reason the plugin isn't recognizing my controller references. I don't know why that's happening, but that's a different problem.

I had a crazy idea of simply putting my cursor on the controller name reference and pressing the key I have bound to navigate to that component (F3, in my case), just to see what it would do. I figured it would report an error, saying it can't find it, or perhaps magically find it. What happened was that it turned on the watch cursor at that point and never completed. I eventually killed the process 10 minutes later. While it was running, I thought to tail the Eclipse log file, and nothing new was appearing. However, when I looked further back in the file, I noticed a large number of exceptions like the following:


!ENTRY org.eclipse.ui.navigator 4 0 2014-03-20 10:12:55.541
!MESSAGE An exception occurred invoking extension: org.springframework.ide.eclipse.beans.ui.navigator.projectExplorerContent for object org.eclipse.jface.viewers.TreePath@6dd11785
!STACK 0
java.lang.IllegalArgumentException: [Assertion failed] - this argument is required; it must not be null
at org.springframework.util.Assert.notNull(Assert.java:112)
at org.springframework.util.Assert.notNull(Assert.java:123)
at org.springframework.ide.eclipse.beans.core.internal.model.BeansModelUtils.getBeanClass(BeansModelUtils.java:176)
at org.springframework.ide.eclipse.metadata.ui.AnnotationMetadataContentProvider.getChildren(AnnotationMetadataContentProvider.java:58)
at org.springframework.ide.eclipse.beans.ui.model.BeansModelContentProvider.getChildren(BeansModelContentProvider.java:146)
at org.springframework.ide.eclipse.beans.ui.navigator.BeansNavigatorContentProvider.getChildren(BeansNavigatorContentProvider.java:96)
at org.springframework.ide.eclipse.beans.ui.model.BeansModelContentProvider.getChildren(BeansModelContentProvider.java:366)
at org.springframework.ide.eclipse.beans.ui.model.BeansModelContentProvider.hasChildren(BeansModelContentProvider.java:375)
at org.eclipse.ui.internal.navigator.extensions.SafeDelegateTreeContentProvider.hasChildren(SafeDelegateTreeContentProvider.java:284)
at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider.callNormalHasChildren(NavigatorContentServiceContentProvider.java:428)
at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider.access$4(NavigatorContentServiceContentProvider.java:425)
at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider$3.run(NavigatorContentServiceContentProvider.java:395)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider.hasChildren(NavigatorContentServiceContentProvider.java:381)
at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider.hasChildren(NavigatorContentServiceContentProvider.java:422)
at org.eclipse.jface.viewers.AbstractTreeViewer.isExpandable(AbstractTreeViewer.java:2138)
at org.eclipse.jface.viewers.TreeViewer.isExpandable(TreeViewer.java:588)
at org.eclipse.jface.viewers.AbstractTreeViewer.isExpandable(AbstractTreeViewer.java:2176)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpandToLevel(AbstractTreeViewer.java:1767)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpandToLevel(AbstractTreeViewer.java:1780)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpandToLevel(AbstractTreeViewer.java:1780)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpandToLevel(AbstractTreeViewer.java:1780)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpandToLevel(AbstractTreeViewer.java:1780)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpandToLevel(AbstractTreeViewer.java:1780)
at org.eclipse.jface.viewers.AbstractTreeViewer.expandToLevel(AbstractTreeViewer.java:1075)
at org.eclipse.jface.viewers.AbstractTreeViewer.expandToLevel(AbstractTreeViewer.java:1056)
at org.eclipse.jface.viewers.AbstractTreeViewer.expandAll(AbstractTreeViewer.java:1045)
at org.eclipse.mylyn.internal.context.ui.FocusedViewerManager.updateExpansionState(FocusedViewerManager.java:413)
at org.eclipse.mylyn.internal.context.ui.FocusedViewerManager.access$1(FocusedViewerManager.java:398)
at org.eclipse.mylyn.internal.context.ui.FocusedViewerManager$FocusedViewerDelayedRefreshJob.doRefresh(FocusedViewerManager.java:112)
at org.eclipse.mylyn.commons.workbench.DelayedRefreshJob.runInUIThread(DelayedRefreshJob.java:97)
at org.eclipse.ui.progress.UIJob$1.run(UIJob.java:95)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4145)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3762)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:138)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:610)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
at org.eclipse.equinox.launcher.Main.run(Main.java:1450)

at org.eclipse.equinox.launcher.Main.main(Main.java:1426)

There were also quite a few exceptions reporting an inability to create a Node process, but that isn't a new problem. I've been seeing many of those since I started using this.

Here's the that other exception:

!ENTRY org.eclipse.angularjs.ui 4 0 2014-03-20 11:58:55.190
!MESSAGE Error while tern validator.
!STACK 0
tern.TernException: tern.server.nodejs.process.NodejsProcessException: Cannot start node process.
at tern.server.nodejs.NodejsTernServer.request(NodejsTernServer.java:298)
at tern.eclipse.ide.core.IDETernProject.request(IDETernProject.java:656)
at tern.eclipse.ide.core.IDETernProject.request(IDETernProject.java:650)
at org.eclipse.angularjs.internal.ui.validation.HTMLAngularContentValidator.find(HTMLAngularContentValidator.java:122)
at org.eclipse.angularjs.internal.ui.validation.HTMLAngularContentValidator.doValidate(HTMLAngularContentValidator.java:71)
at org.eclipse.angularjs.internal.ui.validation.AbstractValidator.validate(AbstractValidator.java:144)
at org.eclipse.angularjs.internal.ui.validation.AbstractValidator.validate(AbstractValidator.java:126)
at org.eclipse.angularjs.internal.ui.validation.AbstractValidator.validate(AbstractValidator.java:110)
at org.eclipse.wst.sse.ui.internal.reconcile.validator.ReconcileStepForValidator.validate(ReconcileStepForValidator.java:381)
at org.eclipse.wst.sse.ui.internal.reconcile.validator.ReconcileStepForValidator.reconcileModel(ReconcileStepForValidator.java:259)
at org.eclipse.jface.text.reconciler.AbstractReconcileStep.reconcile(AbstractReconcileStep.java:95)
at org.eclipse.wst.sse.ui.internal.reconcile.validator.ValidatorStrategy.reconcile(ValidatorStrategy.java:269)
at org.eclipse.wst.sse.ui.internal.reconcile.DocumentRegionProcessor.process(DocumentRegionProcessor.java:321)
at org.eclipse.wst.sse.ui.internal.reconcile.StructuredRegionProcessor.process(StructuredRegionProcessor.java:258)
at org.eclipse.wst.sse.ui.internal.reconcile.DirtyRegionProcessor$BackgroundThread.run(DirtyRegionProcessor.java:691)
Caused by: tern.server.nodejs.process.NodejsProcessException: Cannot start node process.
at tern.server.nodejs.process.NodejsProcess.start(NodejsProcess.java:327)
at tern.server.nodejs.NodejsTernServer.getBaseURL(NodejsTernServer.java:184)
at tern.server.nodejs.NodejsTernServer.makeRequest(NodejsTernServer.java:156)
at tern.server.nodejs.NodejsTernServer.request(NodejsTernServer.java:290)

... 14 more

ngrepeat with "(AAA, BBB) in list" puts "(AAA, BBB)" into completions, not "AAA" and "BBB".

Consider the following block of code:

               <div ng-repeat="(name, dataSource) in dataSourceMap">
                  <pane accordion-group>
                     <div accordion-heading>
                           <div>
                              {{n}}  // line 1
                           </div>
                      </div>
                       <div ng-repeat="result in getResults(dataSourceMap[name])">
                           {{result.success}}/{{result.millisAgo}}
                           <br/>
                       </div>
                   </pane>
               </div>

If I move my cursor just past the "n" on line 1 and press ctrl-space, one of the first entries in the completion list should be "name". Instead, what happens is that it says "No Default Proposals".

Next, delete the "n" and press ctrl-space. One of the completions in the list is "(name, dataSource)", which isn't valid. It should instead have both "name" and "dataSource".

Tern->Node.js pref page says "Value must be an existing file" after upgrading plugin

When I installed the plugin, I set it to point to the embedded instance.

Today I updated the plugin. I didn't see the new behavior that I expected, so I tried exploring my settings. I looked at this "Tern->Node.js" prefs page, and now I see that it says at the top "Value must be an existing file" with a red circle next to it. I looked at the greyed out value of the "Node.js path" field, and I looked in File Explorer, and I verified that that path actually does not exist.

I then changed the "Node.js install" dropdown to "Native Node.js" and then back again to the embedded version. I then verified that the new path in the "Node.js path" field pointed to a file that DOES exist. I still don't see the new behavior that I expected, but I think that's a different problem.

[question] Uses specific embedded version of AngularJS and JQuery?

Does AngularJS-Eclipse use a specific embedded version of AngularJS and JQuery for its completions, or does it use the versions referenced by the code the user is working on? I would think it would be ideal for it to be the latter, but I imagine that's not likely. If it does use a specific embedded version of each, is it possible to advertise those version numbers in some part of the plugin interface, perhaps the preferences wizards?

Settings for directive syntax

Using directiv ein HTML editor follows several syntax :

  • start with '', or 'x-', or 'data-'
  • delimiter ':', '-', '_'

Today directive completion in HTML editor shows the whole syntaxes. It should be good to have a settings (Angular Property -> Syntax in the Project Preferences) to choose the syntax.

Can't find controllers

I may have multiple issues, but the first visible issue is that after installing and configuring everything according to the instructions, I still see red markers in my html for all the controller references, saying "Cannot find controller with name ...". This is working code, so those controllers do exist.

After I saw this, I noticed that I had to add the relevant files to the "Script Paths" list. I first added each file individually, as the folder with my scripts also has a "libs" folder with third-party libraries that might not be relevant. I later decided to try just setting the folder, even though it includes the other non-relevant files. Neither strategy made much apparent different, but the further diagnostics are with the folder setting in place.

When I validate the HTML, I get a large amount of output in the tern console (almost 4mb), most of which looks somewhat like the example from (https://github.com/angelozerr/angularjs-eclipse/wiki/Getting-Started), like "Tern request", "Tern response", et cetera.

I did see a handful of occurrences (about 5) of things that look like errors:

if (node.type == "FunctionExpression") {
        ^

TypeError: Cannot read property 'type' of undefined
at applyWithInjection (C:\eclipse\springsource\sts-3.4.0\sts-3.4.0.RELEASE\plugins\tern.server.nodejs_1.0.0.201403171816\node_modules\tern\plugin\angular.js:64:13)
at C:\eclipse\springsource\sts-3.4.0\sts-3.4.0.RELEASE\plugins\tern.server.nodejs_1.0.0.201403171816\node_modules\tern\plugin\angular.js:117:24
C:\eclipse\springsource\sts-3.4.0\sts-3.4.0.RELEASE\plugins\tern.server.nodejs_1.0.0.201403171816\node_modules\tern\plugin\angular.js:64
at fn.computeRet (C:\eclipse\springsource\sts-3.4.0\sts-3.4.0.RELEASE\plugins\tern.server.nodejs_1.0.0.201403171816\node_modules\tern\lib\def.js:176:21)
at Object.exports.IsCallee.constraint.addType (C:\eclipse\springsource\sts-3.4.0\sts-3.4.0.RELEASE\plugins\tern.server.nodejs_1.0.0.201403171816\node_modules\tern\lib\infer.js:285:9)
at withWorklist (C:\eclipse\springsource\sts-3.4.0\sts-3.4.0.RELEASE\plugins\tern.server.nodejs_1.0.0.201403171816\node_modules\tern\lib\infer.js:677:21)
at Object.CallExpression (C:\eclipse\springsource\sts-3.4.0\sts-3.4.0.RELEASE\plugins\tern.server.nodejs_1.0.0.201403171816\node_modules\tern\lib\infer.js:893:7)
at Object.extend.propagate (C:\eclipse\springsource\sts-3.4.0\sts-3.4.0.RELEASE\plugins\tern.server.nodejs_1.0.0.201403171816\node_modules\tern\lib\infer.js:88:25)
at inferExprVisitor.CallExpression (C:\eclipse\springsource\sts-3.4.0\sts-3.4.0.RELEASE\plugins\tern.server.nodejs_1.0.0.201403171816\node_modules\tern\lib\infer.js:1038:14)
at infer (C:\eclipse\springsource\sts-3.4.0\sts-3.4.0.RELEASE\plugins\tern.server.nodejs_1.0.0.201403171816\node_modules\tern\lib\infer.js:1075:39)

at inferExprVisitor.CallExpression (C:\eclipse\springsource\sts-3.4.0\sts-3.4.0.RELEASE\plugins\tern.server.nodejs_1.0.0.201403171816\node_modules\tern\lib\infer.js:1033:20)

java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:196)
at java.net.SocketInputStream.read(SocketInputStream.java:122)
at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:166)
at org.apache.http.impl.io.SocketInputBuffer.fillBuffer(SocketInputBuffer.java:90)
at org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:281)
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:92)
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:62)
at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:254)
at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:289)
at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:252)
at org.apache.http.impl.conn.ManagedClientConnectionImpl.receiveResponseHeader(ManagedClientConnectionImpl.java:191)
at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:300)
at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:127)
at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:715)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:520)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:784)
at tern.server.nodejs.NodejsTernHelper.makeRequest(NodejsTernHelper.java:65)
at tern.server.nodejs.NodejsTernServer.makeRequest(NodejsTernServer.java:164)
at tern.server.nodejs.NodejsTernServer.request(NodejsTernServer.java:144)
at tern.eclipse.ide.core.IDETernProject.request(IDETernProject.java:604)
at tern.eclipse.ide.core.IDETernProject.synchFiles(IDETernProject.java:596)
at tern.eclipse.ide.core.IDETernProject.syncFiles(IDETernProject.java:504)
at tern.eclipse.ide.core.IDETernProject.synchFiles(IDETernProject.java:627)
at tern.eclipse.ide.core.IDETernProject.request(IDETernProject.java:649)
at org.eclipse.angularjs.internal.ui.validation.HTMLAngularContentValidator.find(HTMLAngularContentValidator.java:122)
at org.eclipse.angularjs.internal.ui.validation.HTMLAngularContentValidator.doValidate(HTMLAngularContentValidator.java:71)
at org.eclipse.angularjs.internal.ui.validation.AbstractValidator.validate(AbstractValidator.java:144)
at org.eclipse.angularjs.internal.ui.validation.AbstractValidator.validate(AbstractValidator.java:126)
at org.eclipse.angularjs.internal.ui.validation.AbstractValidator.validate(AbstractValidator.java:110)
at org.eclipse.wst.sse.ui.internal.reconcile.validator.ReconcileStepForValidator.validate(ReconcileStepForValidator.java:381)
at org.eclipse.wst.sse.ui.internal.reconcile.validator.ReconcileStepForValidator.reconcileModel(ReconcileStepForValidator.java:259)
at org.eclipse.jface.text.reconciler.AbstractReconcileStep.reconcile(AbstractReconcileStep.java:95)
at org.eclipse.wst.sse.ui.internal.reconcile.validator.ValidatorStrategy.reconcile(ValidatorStrategy.java:269)
at org.eclipse.wst.sse.ui.internal.reconcile.DocumentRegionProcessor.process(DocumentRegionProcessor.java:321)
at org.eclipse.wst.sse.ui.internal.reconcile.StructuredRegionProcessor.process(StructuredRegionProcessor.java:258)
at org.eclipse.wst.sse.ui.internal.reconcile.DirtyRegionProcessor$BackgroundThread.run(DirtyRegionProcessor.java:691)

Server stopped at 61784

I also looked at the "Error Log" view. I saw a handful of "Error while tern validator" messages. Here is the body of one of those:

eclipse.buildId=3.4.0.201310051614-RELEASE-e43
java.version=1.7.0_51
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Framework arguments: -product org.springsource.sts.ide -showlocation
Command-line arguments: -os win32 -ws win32 -arch x86 -product org.springsource.sts.ide -showlocation -data ...

Error
Tue Mar 18 08:39:42 PDT 2014
Error while tern validator.

tern.TernException: org.apache.http.conn.HttpHostConnectException: Connection to http://localhost:61784 refused
at tern.server.nodejs.NodejsTernServer.request(NodejsTernServer.java:298)
at tern.eclipse.ide.core.IDETernProject.request(IDETernProject.java:656)
at tern.eclipse.ide.core.IDETernProject.request(IDETernProject.java:650)
at org.eclipse.angularjs.internal.ui.validation.HTMLAngularContentValidator.find(HTMLAngularContentValidator.java:122)
at org.eclipse.angularjs.internal.ui.validation.HTMLAngularContentValidator.doValidate(HTMLAngularContentValidator.java:71)
at org.eclipse.angularjs.internal.ui.validation.AbstractValidator.validate(AbstractValidator.java:144)
at org.eclipse.angularjs.internal.ui.validation.AbstractValidator.validate(AbstractValidator.java:126)
at org.eclipse.angularjs.internal.ui.validation.AbstractValidator.validate(AbstractValidator.java:110)
at org.eclipse.wst.sse.ui.internal.reconcile.validator.ReconcileStepForValidator.validate(ReconcileStepForValidator.java:381)
at org.eclipse.wst.sse.ui.internal.reconcile.validator.ReconcileStepForValidator.reconcileModel(ReconcileStepForValidator.java:259)
at org.eclipse.jface.text.reconciler.AbstractReconcileStep.reconcile(AbstractReconcileStep.java:95)
at org.eclipse.wst.sse.ui.internal.reconcile.validator.ValidatorStrategy.reconcile(ValidatorStrategy.java:269)
at org.eclipse.wst.sse.ui.internal.reconcile.DocumentRegionProcessor.process(DocumentRegionProcessor.java:321)
at org.eclipse.wst.sse.ui.internal.reconcile.StructuredRegionProcessor.process(StructuredRegionProcessor.java:258)
at org.eclipse.wst.sse.ui.internal.reconcile.DirtyRegionProcessor$BackgroundThread.run(DirtyRegionProcessor.java:691)
Caused by: org.apache.http.conn.HttpHostConnectException: Connection to http://localhost:61784 refused
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:190)
at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:294)
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:643)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:479)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:784)
at tern.server.nodejs.NodejsTernHelper.makeRequest(NodejsTernHelper.java:65)
at tern.server.nodejs.NodejsTernServer.makeRequest(NodejsTernServer.java:164)
at tern.server.nodejs.NodejsTernServer.request(NodejsTernServer.java:290)
... 14 more
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:127)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180)

... 23 more

Syntax Coloring preference page will throw IllegalArugmentException while pressing OK if color preference was update outside

When I set the syntax color from outside the preference page (specifically, from the eclipse-color-theme plugin), and navigate to the Syntax Coloring page, and press OK, following exception will be thrown:

java.lang.IllegalArgumentException: Argument not valid
    at org.eclipse.swt.SWT.error(SWT.java:4378)
    at org.eclipse.swt.SWT.error(SWT.java:4312)
    at org.eclipse.swt.SWT.error(SWT.java:4283)
    at org.eclipse.swt.graphics.GC.setBackground(GC.java:4190)
    at org.eclipse.swt.custom.StyledTextRenderer.drawLine(StyledTextRenderer.java:383)
    at org.eclipse.swt.custom.StyledText.handlePaint(StyledText.java:6106)
    at org.eclipse.swt.custom.StyledText$7.handleEvent(StyledText.java:5642)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1081)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1066)
    at org.eclipse.swt.widgets.Composite.WM_PAINT(Composite.java:1491)
    at org.eclipse.swt.widgets.Control.windowProc(Control.java:4668)
    at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:340)
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:4990)
    at org.eclipse.swt.internal.win32.OS.VtblCall(Native Method)
    at org.eclipse.swt.internal.ole.win32.IOleInPlaceObject.InPlaceDeactivate(IOleInPlaceObject.java:21)
    at org.eclipse.swt.ole.win32.OleClientSite.deactivateInPlaceClient(OleClientSite.java:559)
    at org.eclipse.swt.ole.win32.OleClientSite.onDispose(OleClientSite.java:908)
    at org.eclipse.swt.ole.win32.OleClientSite.access$1(OleClientSite.java:895)
    at org.eclipse.swt.ole.win32.OleClientSite$1.handleEvent(OleClientSite.java:129)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1081)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062)
    at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
    at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:875)
    at org.eclipse.swt.widgets.Widget.release(Widget.java:815)
    at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:875)
    at org.eclipse.swt.widgets.Widget.release(Widget.java:815)
    at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:875)
    at org.eclipse.swt.widgets.Widget.release(Widget.java:815)
    at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:875)
    at org.eclipse.swt.widgets.Widget.release(Widget.java:815)
    at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:875)
    at org.eclipse.swt.widgets.Widget.release(Widget.java:815)
    at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:875)
    at org.eclipse.swt.widgets.Widget.release(Widget.java:815)
    at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:875)
    at org.eclipse.swt.widgets.Widget.release(Widget.java:815)
    at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:875)
    at org.eclipse.swt.widgets.Widget.release(Widget.java:815)
    at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:875)
    at org.eclipse.swt.widgets.Widget.release(Widget.java:815)
    at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:875)
    at org.eclipse.swt.widgets.Widget.release(Widget.java:815)
    at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:875)
    at org.eclipse.swt.widgets.Widget.release(Widget.java:815)
    at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:875)
    at org.eclipse.swt.widgets.Widget.release(Widget.java:815)
    at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:875)
    at org.eclipse.swt.widgets.Canvas.releaseChildren(Canvas.java:166)
    at org.eclipse.swt.widgets.Decorations.releaseChildren(Decorations.java:790)
    at org.eclipse.swt.widgets.Shell.releaseChildren(Shell.java:1290)
    at org.eclipse.swt.widgets.Widget.release(Widget.java:815)
    at org.eclipse.swt.widgets.Widget.dispose(Widget.java:450)
    at org.eclipse.swt.widgets.Decorations.dispose(Decorations.java:448)
    at org.eclipse.swt.widgets.Shell.dispose(Shell.java:715)
    at org.eclipse.jface.window.Window.close(Window.java:336)
    at org.eclipse.jface.dialogs.Dialog.close(Dialog.java:994)
    at org.eclipse.jface.preference.PreferenceDialog.close(PreferenceDialog.java:318)
    at org.eclipse.ui.internal.dialogs.FilteredPreferenceDialog.close(FilteredPreferenceDialog.java:698)
    at org.eclipse.ui.internal.dialogs.WorkbenchPreferenceDialog.close(WorkbenchPreferenceDialog.java:147)
    at org.eclipse.jface.preference.PreferenceDialog$13.run(PreferenceDialog.java:987)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)
    at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
    at org.eclipse.jface.preference.PreferenceDialog.okPressed(PreferenceDialog.java:945)
    at org.eclipse.ui.internal.dialogs.FilteredPreferenceDialog.okPressed(FilteredPreferenceDialog.java:448)
    at org.eclipse.ui.internal.dialogs.WorkbenchPreferenceDialog.okPressed(WorkbenchPreferenceDialog.java:171)
    at org.eclipse.jface.preference.PreferenceDialog.buttonPressed(PreferenceDialog.java:233)
    at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:628)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4170)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3759)
    at org.eclipse.jface.window.Window.runEventLoop(Window.java:826)
    at org.eclipse.jface.window.Window.open(Window.java:802)
    at org.eclipse.ui.internal.dialogs.WorkbenchPreferenceDialog.open(WorkbenchPreferenceDialog.java:215)
    at org.eclipse.ui.internal.OpenPreferencesAction.run(OpenPreferencesAction.java:65)
    at org.eclipse.jface.action.Action.runWithEvent(Action.java:499)
    at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
    at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
    at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4170)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3759)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:140)
    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:611)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1450)

Error checking issue

Hello,

I am getting 'missing' module / controler errors in this simple use case:

screen shot 2014-05-24 at 08 44 11

screen shot 2014-05-24 at 08 18 46

This controller is not 'missing' as it was defined in app.js script included in <head> DOM element:

screen shot 2014-05-24 at 08 17 38

And it works just fine:

screen shot 2014-05-24 at 08 28 30

So I don't see how this controller could be 'missing' - it's just defined in a .js file...

I don't know if this is a problem with the plugin, or with Tern, or with Eclipse but hope you'll tell me. At a higher level, error checking is always a great feature but it would be even better if it was aware of code depedencies...

line ending issue (CRLF) inside repository

When checking out again I got

Checkout conflict with files: org.eclipse.angularjs.core/src/org/eclipse/angularjs/core/Module.java org.eclipse.angularjs.ui/src/org/eclipse/angularjs/internal/ui/AngularUIMessages.properties Checkout conflict with files: org.eclipse.angularjs.core/src/org/eclipse/angularjs/core/Module.java org.eclipse.angularjs.ui/src/org/eclipse/angularjs/internal/ui/AngularUIMessages.properties

The reason is that I am Windows user, and default git and EGit behavior is to convert to
to CRLF.
Sometimes when there is mess with line endings codes, some files after check out are marked as changed, while they are not.

See satyagraha/gfm_viewer#21

satyagraha/gfm_viewer@1c3e5e6

html editor could suggest directive parameters

I don't know how easy it is to implement this feature for custom angular directives that are defined in the project (probably not very hard due to using tern), but for angular built-in directives, that are described in xml, it should be fairly simple.

For example if html element already contains ng-pluralize, then "count", "when" and "offset" attributes (that are parameters to ng-pluralize directive) should also be suggested to the user unless they are already present on the html element (see http://docs.angularjs.org/api/ng.directive:ngPluralize) - smth like following could be added to
https://github.com/angelozerr/tern.java/blob/master/core/tern.core/src/tern/angular/modules/ng.xml
to describe ngPluralize directive parameters:

<directive name="ngPluralize" url="http://docs.angularjs.org/api/ng.directive:ngPluralize">
  <!-- other thins omitted for the demo -->
  <parameters>
    <parameter name="count" types="string, expression">The variable to be bounded to.</parameter>
    <parameter name="when" types="string">The mapping between plural category to its corresponding strings.</parameter>
    <parameter name="offset" types="number" optional="true">Offset to deduct from the total number.</parameter>
  </parameters>
</directive>

Question: Anyway to reference JS files in a different project?

Hey there,

First of all, AWESOME job with this and THANK YOU. It has proved to be very useful to me.

I have one problem. At the moment we have 3 projects that we use in my job.

2 main projects and 1 common project - we use maven overlay at the point of compilation to merge the main project with the common project together.

The problem I am having is that if I reference a service from the main project that resides in the common project, it does not give me the suggestions I would expect. The problem is that Tern seems to have a problem if I create a "link" folder from the main project to the common project and add it to the scripts path.

I tried creating a symlink but that does not seem to work either.

Do you have any advice on how we can fix this on our side or any suggestions?

Once again, thank you!

Jose

Manage custom directive

With Angular you can create your own directive. AngularJS Eclipse should retrieve those custom directive and use it in HTML editor (completion+syntax coloring) and display it in the angular explorer.

To do that, there is 2 solutions :

Load the tree of the "Angular Explorer" View in a job

The tree of the "Angular Explorer" View can be slow to load the first time if Javascript files to parse with tern are big.

Today when the tree loads must parse big js files, the UI is frozzen. To resolve that, the tree should be loaded in a WorkbenchJob like it was done here
https://www.assembla.com/code/smart-cs/subversion-2/node/blob/trunk/source/java/org.wcs.smart.patrol/src/org/wcs/smart/patrol/internal/ui/TreeDropDown.java?raw=1&rev=885

Auto-close {{

When {{ is typed, the editor should add with }} to close it. This feature could be an option in a AngularJS Project Preferences.

Deadlock in AngularJS-eclipse/Tern.java

Have angular-phonecat example project (https://github.com/angular/angular-phonecat.git) imported into my Eclipse (the project has a number of steps, that are hidden under different branches, so I've executed 'git checkout step-5' before starting to play with that project).
Have added pretty much of project folders at Tern->Script Paths project property page
Have turned on the Tern Console output at Tern->Console project property page

When doing a content assist in Expression Language in HTML File I've got the following deadlock (see the full stacktrace here: http://ur1.ca/gr4b4 ):

Thread main
waiting for: Object (id=13814)
owned by: Daemon Thread org.eclipse.wst.sse.ui.internal.reconcile.StructuredRegionProcessor
IDETernProject.synchFiles(List, Node, IFile, TernDoc) line: 609
IDETernProject.request(TernQuery, List, Node, IFile, ITernCompletionCollector) line: 407
HTMLAngularTagsCompletionProposalComputer.populateAngularProposals(ContentAssistRequest, IDOMNode, AngularType, Integer) line: 333
HTMLAngularTagsCompletionProposalComputer.computeCompletionProposals(String, ITextRegion, IDOMNode, IDOMNode, CompletionProposalInvocationContext) line: 442
HTMLAngularTagsCompletionProposalComputer(AbstractXMLCompletionProposalComputer).computeCompletionProposals(CompletionProposalInvocationContext, IProgressMonitor) line: 169
CompletionProposalComputerDescriptor.computeCompletionProposals(CompletionProposalInvocationContext, IProgressMonitor) line: 284

Daemon Thread org.eclipse.wst.sse.ui.internal.reconcile.StructuredRegionProcessor
owns: MessageConsoleStream (id=13822)
owns: ConsoleDocument (id=13823)
waited by: Daemon Thread Thread-55
owns: ArrayList (id=13835)
owns: Object (id=13814)
waited by: Thread main
waiting for: ArrayList (id=13821)
Object.wait(long) line: not available [native method]
ArrayList(Object).wait() line: 503 [local variables unavailable]
IOConsolePartitioner.streamAppended(IOConsoleOutputStream, String) line: 482
MessageConsoleStream(IOConsoleOutputStream).notifyParitioner(String) line: 247
MessageConsoleStream(IOConsoleOutputStream).encodedWrite(String) line: 242
MessageConsoleStream(IOConsoleOutputStream).write(String) line: 226
MessageConsoleStream.print(String) line: 56
MessageConsoleStream.println(String) line: 81
TernConsole.doAppendLine(LineType, String) line: 100
TernNodejsInterceptor.outPrintln(String) line: 32
TernNodejsInterceptor(LoggingInterceptor).handleRequest(TernDoc, ITernServer, String) line: 20
NodejsTernHelper.makeRequest(String, TernDoc, boolean, List, ITernServer) line: 88
NodejsTernServer.makeRequest(TernDoc) line: 161
NodejsTernServer.request(TernDoc, IResponseHandler) line: 142
IDETernProject.request(TernDoc) line: 588
IDETernProject.synchFiles(TernDoc) line: 580
IDETernProject.synchFiles(List, Node, IFile, TernDoc) line: 614
IDETernProject.request(TernQuery, List, Node, IFile, ITernTypeCollector) line: 633
HTMLAngularContentValidator.find(IDOMAttr, IFile, IDETernProject, AngularType) line: 112
HTMLAngularContentValidator.doValidate(IStructuredDocumentRegion, IReporter, IFile, IStructuredModel) line: 61
HTMLAngularContentValidator(AbstractValidator).validate(IStructuredDocumentRegion, IReporter, IFile, IStructuredModel) line: 144
HTMLAngularContentValidator(AbstractValidator).validate(IReporter, IFile, IStructuredDocumentRegion[]) line: 126
HTMLAngularContentValidator(AbstractValidator).validate(IRegion, IValidationContext, IReporter) line: 110
ReconcileStepForValidator.validate(DirtyRegion, IRegion) line: 381
ReconcileStepForValidator.reconcileModel(DirtyRegion, IRegion) line: 259

Daemon Thread Thread-55
owns: ArrayList (id=13835)
waiting for: ConsoleDocument (id=13823)
TernConsole.doAppendLine(LineType, String) line: 99
TernNodejsInterceptor.outPrintln(String) line: 32
TernNodejsInterceptor.onData(NodejsProcess, String) line: 101
NodejsProcess.notifyDataProcess(String) line: 483
NodejsProcess.access$3(NodejsProcess, String) line: 480
NodejsProcess$StdOut.run() line: 121
Thread.run() line: 722 [local variables unavailable]

NullPointerException in TernServerManager.refresh()

What I did to get this:

Installed from http://oss.opensagres.fr/tern.repository/1.0.0-SNAPSHOT/ into Luna and WTP 3.6.m5 candidate.
Opened Window->Preferences->Tern->Node.js Preference Page and selected "Node.js v0.10.22 - linux.gtk.x86_64" (probably installed somewhere in my environment), then pressed "OK"

The result was the following exceptin in Error Log:

!ENTRY org.eclipse.ui 4 0 2014-02-24 17:34:38.180
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.NullPointerException
at tern.eclipse.ide.internal.core.TernServerTypeManager.refresh(TernServerTypeManager.java:188)
at tern.eclipse.ide.server.nodejs.internal.ui.preferences.TernNodejsPreferencesPage.performOk(TernNodejsPreferencesPage.java:80)
at org.eclipse.jface.preference.PreferencePage.performApply(PreferencePage.java:434)
at org.eclipse.jface.preference.PreferencePage$2.widgetSelected(PreferencePage.java:282)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4423)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1388)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3771)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3391)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:827)
at org.eclipse.jface.window.Window.open(Window.java:803)
at org.eclipse.ui.internal.dialogs.WorkbenchPreferenceDialog.open(WorkbenchPreferenceDialog.java:215)
at org.eclipse.ui.internal.OpenPreferencesAction.run(OpenPreferencesAction.java:65)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:499)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:588)
at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:505)
at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:415)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4423)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1388)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3771)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3391)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1122)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1006)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:146)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:615)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:566)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:125)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:109)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:80)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:372)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:226)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
at org.eclipse.equinox.launcher.Main.main(Main.java:1426)

Refresh Angular Explorer when script paths setting changes

I was viewing the Angular Explorer for a new project. I then edited the project properties and set the script paths so it would find my scripts. I clicked OK. A reasonable expectation at that point is that Eclipse would refresh the project information views, like the Angular Explorer, without having to manually refresh. However, nothing happens at this point. Once I manually refreshed the Angular Explorer, it shows the modules and components.

Not working when used in combination with Aptana

Angular Context Help does not come up when used with Aptana Plugin.
Either Aptana Plugin (which gives context help for css classes) OR AngularJS plugin can be use at any time.

Have to disable the 'Web' 'Nature' of Aptana in project settings for angularjs context help to work.

Would like to have both Aptana CSS context help and AngularJS context help when html file is opened.

Environment: Mac/Eclipse-Kepler-WTP

Spread the word and binaries

As suggested in Nodeclipse/nodeclipse#119 please create entry on Marketplace.

Can I include angularjs-eclipse into Enide Studio ? http://sourceforge.net/projects/nodeclipse/files/Enide-Studio-2014/

I usually test/use plugin before including, but I am not [yet] developing with angular.
So I hope you agree and actively support. For example: Nodeclipse is released every month http://www.nodeclipse.org/history , then after a while I'd like to release Enide Studio. Can we aline a bit our release times or at least be aware of them.

Maybe you have other idea or thought about this and open source in general.

Paul

Syntax checking errors: The word 'html' is not correctly spelled

This is to report strange syntax errors in angularjs-eclipse 0.1 editor - as shown below:

screen shot 2014-05-03 at 11 04 10

First case is the word "html" that would be mispelled in <!DOCTYPE>: this could be fixed spelling it "HTML" โ€” looks like a Uppercase issue in the syntax checker to me.

Here below I have retyped every reported "syntax error" with upper cases and the document looks clean now:

screen shot 2014-05-03 at 11 25 39

Last but not least there is no yellow note showing up at the current cursor position as shown in documentation - it might expect a lower case string may be? Lower case being syntax error...

Autocomplete after renaming

If you change the name of a module, the old name is always in content assist.
The validation doesn't show the error.

AngularJS tags become undefined after saving the file

I have a Google Web Application Project in Eclipse, and I installed the angularjs plugin. I converted the project to an AngularJS project and indeed my html files are opened automatically with the AngularJS editor. When I add a new AngularJS directive to the file, for example ng-app, I see that it is identified and the tooltip gives some explanation about it. However when I save the file with 'automatic build' set, a warning appears saying this attribute name is unidentified. I cannot get rid of this warning.

Anide name

Hello @angelozerr @pascalleclercq

Most people see @Nodeclipse as Eclipse plugin for Node.js, and I came with Enide as IDE that combines several plugins (including Nodeclipse). Enide is used for Eclipse package Enide Studio. So basically there are Nodeclipse and Enide names.

After a lot of thoughts, here comes Anide an IDE or AnIDE.
Good thing for this name is that a lot meaning can be put it, but it still stays IDE:
e.g. a Node.js IDE, Android, a new IDE, A (as 1st) IDE, AngularJS IDE, Angelo IDE and so on.

Before Maven and Gradle plugins, there were JavaScript only efforts, but JSIDE sounds not good, and as most Eclipse users use Java more (including me), there is no point of making JavaScript only Eclipse-based IDE.

Please comment and criticize. What is your view?

Less categories in update site

please use less categories in update site (for tern.java + angularjs-eclipse), just 1-2 would be enough. One category for 2-8 features. For example see Kepler update site

directive html doesn't propose variables/functions available in the scope

4.1) ...through directive parameters - for example:
scope : {
phone : '=',
colors : "=",
linkPrefix : '@'
},
OR
4.2) ...that are added there through angular.extend() as follows:
angular.extend($scope, {
obj: {"tere": "tere!", "key": "value"},
fun: function() {
alert("i'm available throuogh $scope and could as well have been defined as following: '$scope.fun = function() {...}'");
}
});

Loose tern nature.

I have a little problem with the patch #50 when :

  1. I convert project to tern.
  2. I convert project to angularjs eclipse.

I loose tern nature.

Make this plugin compatible with JSP Editor

First, thanks for this great idea.

Second, unfortunately, I have troubles with your Eclipse plugin when I try opening a JSP file, either with the standard JSP Editor or with the AngularJs Editor: the ng- attributes are not recognized, while this is the case if I open an ".html" file extension.

I have tried opening either with the "Open With" feature or modifying the file association with editors, and, unfortunately, it does not change anything.

Any ideas?

Thanks.

HTML File
image

JSP File
image

JSP File (even with Open With)
image

By the way, the project has been converted to an AngularJs Project, as required.

Versions:
Eclipse Java EE IDE for Web Developers.
Version: Kepler Service Release 1
Build id: 20130919-0819

Eclipse Web Developer Tools
Version: 3.5.1.v201307171524-7O7QG2NEMkBS3C2az0gQwwALctEj3DZPgTEZceV4
Build id: 20110922230524

Completion doesn't work for HTML Templates

In the HTML editor, Module, Controller, expression completion doesn't works with HTML Templates because :

  1. HTML Templates doesn't include scripts.
  2. HTML Templates cannot define the controller (the controller is defined with $routeProvider). See sample at https://github.com/angular/angular-phonecat/blob/master/app/js/app.js

The Angular HTML Editor doesn't work with the sample at https://github.com/angular/angular-phonecat which uses HTML templates https://github.com/angular/angular-phonecat/tree/master/app/partials

This issue is created to find the best solution to manage those HTML Templates.

Here my idea :

  1. Give the capability to set root HTML page which includes the whole scripts in the Angular Project Properties. This config will define the scripts to load when completion must be done. For instance if the root is configurated with this HTML file https://github.com/angular/angular-phonecat/blob/master/app/index.html and when completion will be done in HTML templates js/app.js, etc will be used.
  2. https://github.com/angular/angular-phonecat/blob/master/app/partials/phone-list.html doesn't define scripts and controller. The controller is defined with $routeProvider :

$routeProvider.
when('/phones', {
templateUrl: 'partials/phone-list.html',
controller: 'PhoneListCtrl'
})

It means that when partials/phone-list.html is opened in the HTML editor, the scripts of index.html (app.js, etc) should be used and the controller is PhoneListCtrl. The best solution should use $routeProvider config to know which controller must be used, but templateUrl can be a function or a dynamic path.

So to resolve that, I tell me that we must have a config (Project Properties, View, Editor?) which defines a controller for HTML Templates.

Any feedback are welcome!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.