Coder Social home page Coder Social logo

cutejs-intellij-plugin's People

Contributors

reefridge avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

fryngies

cutejs-intellij-plugin's Issues

Serialization error

java.lang.AssertionError: No ID found for serializer FILE (com.intellij.lang.javascript.types.JSFileElementType), external id:Language: CuteJS:FILE, language:Language: CuteJS, FILE
	at com.intellij.psi.stubs.StubSerializationHelper.a(StubSerializationHelper.java:124)
	at com.intellij.psi.stubs.StubSerializationHelper.a(StubSerializationHelper.java:73)
	at com.intellij.psi.stubs.StubSerializationHelper.serialize(StubSerializationHelper.java:98)
	at com.intellij.psi.stubs.SerializationManagerImpl.serialize(SerializationManagerImpl.java:155)
	at com.intellij.psi.stubs.StubUpdatingIndex$3.a(StubUpdatingIndex.java:248)
	at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:925)
	at com.intellij.psi.stubs.StubUpdatingIndex$3.map(StubUpdatingIndex.java:214)
	at com.intellij.psi.stubs.StubUpdatingIndex$3.map(StubUpdatingIndex.java:197)
	at com.intellij.util.indexing.impl.MapReduceIndex.mapInput(MapReduceIndex.java:273)
	at com.intellij.util.indexing.VfsAwareMapReduceIndex.calculateUpdateData(VfsAwareMapReduceIndex.java:97)
	at com.intellij.util.indexing.impl.MapReduceIndex.update(MapReduceIndex.java:213)
	at com.intellij.util.indexing.FileBasedIndexImpl.a(FileBasedIndexImpl.java:1668)
	at com.intellij.util.indexing.FileBasedIndexImpl.a(FileBasedIndexImpl.java:1596)
	at com.intellij.openapi.fileTypes.impl.FileTypeManagerImpl.freezeFileTypeTemporarilyIn(FileTypeManagerImpl.java:519)
	at com.intellij.util.indexing.FileBasedIndexImpl.a(FileBasedIndexImpl.java:1555)
	at com.intellij.util.indexing.FileBasedIndexImpl.indexFileContent(FileBasedIndexImpl.java:1543)
	at com.intellij.util.indexing.FileBasedIndexImpl.processRefreshedFile(FileBasedIndexImpl.java:1522)
	at com.intellij.util.indexing.FileBasedIndexImpl$VirtualFileUpdateTask.doProcess(FileBasedIndexImpl.java:1686)
	at com.intellij.util.indexing.FileBasedIndexImpl$VirtualFileUpdateTask.doProcess(FileBasedIndexImpl.java:1683)
	at com.intellij.util.indexing.UpdateTask.a(UpdateTask.java:76)
	at com.intellij.util.indexing.UpdateTask.processAll(UpdateTask.java:46)
	at com.intellij.util.indexing.FileBasedIndexImpl.a(FileBasedIndexImpl.java:1705)
	at com.intellij.util.indexing.FileBasedIndexImpl.ensureUpToDate(FileBasedIndexImpl.java:740)
	at com.intellij.util.indexing.FileBasedIndexImpl.ensureUpToDate(FileBasedIndexImpl.java:706)
	at com.intellij.util.indexing.FileBasedIndexImpl.processAllKeys(FileBasedIndexImpl.java:644)
	at com.intellij.util.indexing.FileBasedIndexImpl.processAllKeys(FileBasedIndexImpl.java:633)
	at com.intellij.util.indexing.FileBasedIndexImpl.getAllKeys(FileBasedIndexImpl.java:627)
	at org.cutejs.lang.psi.CuteResolveUtil$Companion.getAllNamespaces(CuteResolveUtil.kt:49)
	at org.cutejs.ide.codeInsight.CuteReferenceContributor$registerReferenceProviders$pattern$1.accepts(CuteReferenceContributor.kt:15)
	at org.cutejs.ide.codeInsight.CuteReferenceContributor$registerReferenceProviders$pattern$1.accepts(CuteReferenceContributor.kt:13)
	at com.intellij.patterns.ObjectPattern.accepts(ObjectPattern.java:58)
	at com.intellij.psi.impl.source.resolve.reference.NamedObjectProviderBinding.addMatchingProviders(NamedObjectProviderBinding.java:113)
	at com.intellij.psi.impl.source.resolve.reference.SimpleProviderBinding.addAcceptableReferenceProviders(SimpleProviderBinding.java:41)
	at com.intellij.psi.impl.source.resolve.reference.PsiReferenceRegistrarImpl.getPairsByElement(PsiReferenceRegistrarImpl.java:144)
	at com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistryImpl.doGetReferencesFromProviders(ReferenceProvidersRegistryImpl.java:100)
	at com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistry.getReferencesFromProviders(ReferenceProvidersRegistry.java:50)
	at com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistry.getReferencesFromProviders(ReferenceProvidersRegistry.java:44)
	at com.intellij.lang.javascript.psi.resolve.JSReferenceExpressionResolver.resolveFromProviders(JSReferenceExpressionResolver.java:165)
	at com.intellij.lang.javascript.psi.resolve.JSReferenceExpressionResolver.resolve(JSReferenceExpressionResolver.java:71)
	at com.intellij.lang.javascript.psi.resolve.JSReferenceExpressionResolver.resolve(JSReferenceExpressionResolver.java:32)
	at com.intellij.psi.impl.source.resolve.ResolveCache.resolve(ResolveCache.java:150)
	at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:180)
	at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:172)
	at com.intellij.lang.javascript.psi.resolve.JSResolveUtil.resolve(JSResolveUtil.java:2124)
	at com.intellij.lang.javascript.psi.impl.JSReferenceExpressionImpl.multiResolve(JSReferenceExpressionImpl.java:474)
	at com.intellij.lang.javascript.highlighting.JSSemanticHighlightingUtil.highlight(JSSemanticHighlightingUtil.java:168)
	at com.intellij.lang.javascript.validation.JSAnnotatingVisitor.visitJSReferenceExpression(JSAnnotatingVisitor.java:472)
	at com.intellij.lang.javascript.psi.impl.JSReferenceExpressionImpl.accept(JSReferenceExpressionImpl.java:461)
	at com.intellij.lang.javascript.validation.JSAnnotator.annotate(JSAnnotator.java:17)
	at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.a(DefaultHighlightVisitor.java:139)
	at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.visit(DefaultHighlightVisitor.java:102)
	at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.a(GeneralHighlightingPass.java:366)
	at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.a(GeneralHighlightingPass.java:298)
	at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.a(GeneralHighlightingPass.java:325)
	at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.a(GeneralHighlightingPass.java:328)
	at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.analyze(DefaultHighlightVisitor.java:86)
	at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.a(GeneralHighlightingPass.java:328)
	at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.a(GeneralHighlightingPass.java:295)
	at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.collectInformationWithProgress(GeneralHighlightingPass.java:238)
	at com.intellij.codeInsight.daemon.impl.ProgressableTextEditorHighlightingPass.doCollectInformation(ProgressableTextEditorHighlightingPass.java:83)
	at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:69)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.a(PassExecutorService.java:423)
	at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1161)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.d(PassExecutorService.java:416)
	at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:580)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:525)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:85)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.b(PassExecutorService.java:415)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.c(PassExecutorService.java:391)
	at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:147)
	at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:222)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:389)
	at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:161)
	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
	at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)

Formatting

Implement formatting model builder for Cute lang

IllegalStateException with IDEA 2019.1

IntelliJ IDEA 2019.1.1 (Ultimate Edition)
Build #IU-191.6707.61, built on April 16, 2019

JRE: 11.0.3+7-Ubuntu-1ubuntu1 amd64
JVM: OpenJDK 64-Bit Server VM by Ubuntu
Linux 5.0.0-14-generic

CuteJS v1.0.1

java.lang.IllegalStateException: TextAttributeKey(name:'KEYWORD', fallbackAttributeKey:'DEFAULT_KEYWORD')  was already registered with the other fallback attribute key: DEFAULT_STATIC_FIELD
	at com.intellij.openapi.editor.colors.TextAttributesKey.mergeKeys(TextAttributesKey.java:215)
	at com.intellij.openapi.editor.colors.TextAttributesKey.lambda$getOrCreate$4(TextAttributesKey.java:201)
	at java.base/java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1932)
	at com.intellij.openapi.editor.colors.TextAttributesKey.getOrCreate(TextAttributesKey.java:201)
	at com.intellij.openapi.editor.colors.TextAttributesKey.createTextAttributesKey(TextAttributesKey.java:188)
	at org.cutejs.ide.highlight.CuteHighlighter.<clinit>(CuteHighlighter.kt:39)
	at org.cutejs.ide.highlight.CuteHighlighterFactory.getSyntaxHighlighter(CuteHighlighterFactory.kt:10)
	at com.intellij.openapi.fileTypes.SyntaxHighlighterFactory.getSyntaxHighlighter(SyntaxHighlighterFactory.java:39)
	at org.jetbrains.plugins.ruby.ruby.lang.highlighter.RubyEditorHighlighter.<init>(RubyEditorHighlighter.java:44)
	at org.jetbrains.plugins.ruby.ruby.lang.highlighter.RubyEditorHighlighterProvider.getEditorHighlighter(RubyEditorHighlighterProvider.java:18)
	at com.intellij.openapi.editor.highlighter.EditorHighlighterFactoryImpl.createEditorHighlighter(EditorHighlighterFactoryImpl.java:78)
	at com.intellij.openapi.editor.highlighter.EditorHighlighterFactoryImpl.createEditorHighlighter(EditorHighlighterFactoryImpl.java:107)
	at com.intellij.usages.impl.SyntaxHighlighterOverEditorHighlighter.<init>(SyntaxHighlighterOverEditorHighlighter.java:45)
	at com.intellij.usages.ChunkExtractor.<init>(ChunkExtractor.java:116)
	at com.intellij.usages.ChunkExtractor.<init>(ChunkExtractor.java:60)
	at com.intellij.usages.ChunkExtractor$1.lambda$create$0(ChunkExtractor.java:93)
	at com.intellij.util.containers.FactoryMap$1.create(FactoryMap.java:192)
	at com.intellij.util.containers.FactoryMap.get(FactoryMap.java:65)
	at com.intellij.usages.ChunkExtractor.getExtractor(ChunkExtractor.java:104)
	at com.intellij.usages.ChunkExtractor.extractChunks(ChunkExtractor.java:99)
	at com.intellij.usages.UsageInfo2UsageAdapter.initChunks(UsageInfo2UsageAdapter.java:133)
	at com.intellij.usages.UsageInfo2UsageAdapter.doUpdateCachedText(UsageInfo2UsageAdapter.java:474)
	at com.intellij.usages.UsageInfo2UsageAdapter.updateCachedText(UsageInfo2UsageAdapter.java:464)
	at com.intellij.usages.impl.UsageNode.updateCachedPresentation(UsageNode.java:103)
	at com.intellij.usages.impl.Node.update(Node.java:106)
	at com.intellij.usages.impl.UsageViewImpl.doAppendUsage(UsageViewImpl.java:1182)
	at com.intellij.usages.impl.UsageViewImpl.appendUsage(UsageViewImpl.java:1131)
	at com.intellij.usages.impl.SearchForUsagesRunnable.lambda$null$7(SearchForUsagesRunnable.java:398)
	at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:940)
	at com.intellij.usages.impl.SearchForUsagesRunnable.lambda$searchUsages$8(SearchForUsagesRunnable.java:398)
	at com.intellij.find.findInProject.FindInProjectManager.lambda$null$1(FindInProjectManager.java:101)
	at com.intellij.find.impl.FindInProjectTask.lambda$null$6(FindInProjectTask.java:206)
	at com.intellij.find.impl.FindInProjectUtil.addToUsages(FindInProjectUtil.java:294)
	at com.intellij.find.impl.FindInProjectUtil.lambda$processUsagesInFile$2(FindInProjectUtil.java:255)
	at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:974)
	at com.intellij.openapi.application.ReadAction.compute(ReadAction.java:57)
	at com.intellij.find.impl.FindInProjectUtil.processUsagesInFile(FindInProjectUtil.java:253)
	at com.intellij.find.impl.FindInProjectTask.lambda$searchInFiles$9(FindInProjectTask.java:206)
	at com.intellij.psi.impl.search.PsiSearchHelperImpl.lambda$null$3(PsiSearchHelperImpl.java:363)
	at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:164)
	at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:218)
	at com.intellij.psi.impl.search.PsiSearchHelperImpl.lambda$processFilesConcurrentlyDespiteWriteActions$4(PsiSearchHelperImpl.java:362)
	at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:133)
	at com.intellij.concurrency.ApplierCompleter.tryToExecAllList(ApplierCompleter.java:231)
	at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:159)
	at com.intellij.concurrency.ApplierCompleter.tryToExecAllList(ApplierCompleter.java:231)
	at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:159)
	at com.intellij.concurrency.ApplierCompleter.tryToExecAllList(ApplierCompleter.java:231)
	at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:159)
	at com.intellij.concurrency.ApplierCompleter.tryToExecAllList(ApplierCompleter.java:231)
	at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:159)
	at com.intellij.concurrency.ApplierCompleter.tryToExecAllList(ApplierCompleter.java:231)
	at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:159)
	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:586)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:532)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:86)
	at com.intellij.concurrency.ApplierCompleter.wrapInReadActionAndIndicator(ApplierCompleter.java:116)
	at com.intellij.concurrency.ApplierCompleter.compute(ApplierCompleter.java:99)
	at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:746)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:177)

Parser tests

  • Create fixtures (tests/testsData)
  • Create CuteTestSuite
  • Write parser's tests (look at Rust plugin approach to testing)

Indexing error

No ID found for serializer FILE (com.intellij.lang.javascript.types.JSFileElementType), external id:Language: CuteInnerJS:FILE

FileBasedIndex for jst files

  • Store namespace identifier for each jst files in FileBasedIndex to efficient access to template files (and PSI files) by namespace

Reference contributor

Go to template jst file from JS reference to the template namespace
Example:

foo.templates.bar.baz(input);

cmd+lmb on buz should opens baz.jst or offer list with possible targets

File icon

Now used icon from jetbrains tutorial about developing custom language support plugin

Need create original (or based on existing file icons in idea) icon for jst files

Quircks on parsing arrow functions

{{ const a = ()<psiError> => {}; }}

problem solving when i try to wrap all js contents in { ... } block statement, but need find another (more clean) solution

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.