uniorg-solutions / idea-ui5helper Goto Github PK
View Code? Open in Web Editor NEWIDEA Plugin to work with (SAP|OPEN)UI5
IDEA Plugin to work with (SAP|OPEN)UI5
find out how to get the parser called for library code
find & parse UI5 .extend(
calls
support sap.ui.controller
We already have a decent amount of informations we'd need for this. Add this to completion contributors etc.
Error while indexing /home/masch/upstream/openui5/1.42/src/sap.ui.table/test/sap/ui/table/qunit/TableQUnitUtils.js
To reindex this file IDEA has to be restarted: String index out of range: -1
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1967)
at de.uniorg.ui5helper.framework.IndexingHandler$1.fillIndexingData(IndexingHandler.java:94)
at com.intellij.lang.javascript.psi.literal.JSLiteralImplicitElementProvidersRegistry.calculateIndexingData(JSLiteralImplicitElementProvidersRegistry.java:256)
at com.intellij.lang.javascript.psi.impl.JSLiteralExpressionImpl.calculateIndexingData(JSLiteralExpressionImpl.java:234)
at com.intellij.lang.javascript.psi.impl.JSImplicitElementProviderImpl.lambda$getIndexingData$0(JSImplicitElementProviderImpl.java:48)
at com.intellij.psi.util.CachedValuesManager.lambda$getCachedValue$0(CachedValuesManager.java:141)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:222)
at com.intellij.psi.impl.PsiCachedValue.getValueWithLock(PsiCachedValue.java:60)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38)
at com.intellij.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:87)
at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:140)
at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:127)
at com.intellij.lang.javascript.psi.impl.JSImplicitElementProviderImpl.getIndexingData(JSImplicitElementProviderImpl.java:39)
at com.intellij.lang.javascript.psi.impl.JSImplicitElementProviderImpl.getIndexingData(JSImplicitElementProviderImpl.java:35)
at com.intellij.lang.javascript.psi.stubs.impl.JSPossiblyStoredStubImpl.<init>(JSPossiblyStoredStubImpl.java:32)
at com.intellij.lang.javascript.psi.stubs.impl.JSLiteralExpressionStubImpl.<init>(JSLiteralExpressionStubImpl.java:28)
at com.intellij.lang.javascript.psi.stubs.impl.JSLiteralExpressionStubImpl.<init>(JSLiteralExpressionStubImpl.java:24)
at com.intellij.lang.javascript.types.JSLiteralExpressionElementType.createStub(JSLiteralExpressionElementType.java:36)
at com.intellij.lang.javascript.types.JSLiteralExpressionElementType.createStub(JSLiteralExpressionElementType.java:23)
at com.intellij.psi.stubs.DefaultStubBuilder$StubBuildingWalkingVisitor.a(DefaultStubBuilder.java:113)
at com.intellij.psi.stubs.DefaultStubBuilder$StubBuildingWalkingVisitor.visitNode(DefaultStubBuilder.java:88)
at com.intellij.lang.javascript.psi.stubs.impl.JSFileStubBuilder$1.visitNode(JSFileStubBuilder.java:48)
at com.intellij.psi.stubs.DefaultStubBuilder$StubBuildingWalkingVisitor.buildStubTree(DefaultStubBuilder.java:83)
at com.intellij.lang.javascript.psi.stubs.impl.JSFileStubBuilder.buildStubTree(JSFileStubBuilder.java:63)
at com.intellij.psi.stubs.StubTreeBuilder.buildStubTree(StubTreeBuilder.java:86)
at com.intellij.psi.stubs.StubUpdatingIndex$4.a(StubUpdatingIndex.java:211)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:926)
at com.intellij.psi.stubs.StubUpdatingIndex$4.map(StubUpdatingIndex.java:210)
at com.intellij.psi.stubs.StubUpdatingIndex$4.map(StubUpdatingIndex.java:193)
at com.intellij.util.indexing.impl.MapReduceIndex.mapInput(MapReduceIndex.java:251)
at com.intellij.util.indexing.VfsAwareMapReduceIndex.calculateUpdateData(VfsAwareMapReduceIndex.java:96)
at com.intellij.util.indexing.impl.MapReduceIndex.update(MapReduceIndex.java:194)
at com.intellij.util.indexing.FileBasedIndexImpl.a(FileBasedIndexImpl.java:1582)
at com.intellij.util.indexing.FileBasedIndexImpl.a(FileBasedIndexImpl.java:1518)
at com.intellij.openapi.fileTypes.impl.FileTypeManagerImpl.freezeFileTypeTemporarilyIn(FileTypeManagerImpl.java:516)
at com.intellij.util.indexing.FileBasedIndexImpl.a(FileBasedIndexImpl.java:1479)
at com.intellij.util.indexing.FileBasedIndexImpl.indexFileContent(FileBasedIndexImpl.java:1464)
at com.intellij.util.indexing.UnindexedFilesUpdater.a(UnindexedFilesUpdater.java:105)
at com.intellij.openapi.project.CacheUpdateRunner$MyRunnable.a(CacheUpdateRunner.java:229)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1153)
at com.intellij.openapi.project.CacheUpdateRunner$MyRunnable.a(CacheUpdateRunner.java:246)
at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:176)
at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:556)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:501)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:66)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:163)
at com.intellij.openapi.project.CacheUpdateRunner$MyRunnable.run(CacheUpdateRunner.java:242)
at com.intellij.openapi.application.impl.ApplicationImpl$2.run(ApplicationImpl.java:334)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
If theres a manifest.json
we could parse it and use the provided information to provide support in associated files.
Therefore we need to find out what files are associated with the manifest.json.
Same directory & subdirs should do the job for a first version.
Information we could gather from the manifest.json
.navTo
completion)This might even be it's own plugin.
Extending the Database Explorer here would be awesome, but isn't quite required.
Maybe we could even get path completions etc from this.
Index .properties
files and provide References for each key so we can navigate to them, show the default translation etc.
To support SAPs binding DSL we need to be able to parse all three types of bindings
{model>/some/path here/123}
or {just/the/path}
{ path: 'my/path', formatter: '.formatterFunction' }
{= ${my/Path}.isCool() === true }
But to do this, someone who understands GrammarKit is required.
This would enable features like go to formatter
, go to type
, model name completion etc.
For example: simplify a expression/complex binding to a normal binding.
Information about existing and planned features, open problems, etc.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.