Conflicting language extensions cause IDE error
Virtlink opened this issue · comments
A language with extension .ts
conflicts with the TS (NaBl&TS) language, and causes an IDE error.
Exception
java.lang.IllegalStateException: Resource intellij:///home/daniel/repos/metaborg-typescript/typescript.test/mytest.ts identifies to multiple languages: language TypeSystemLanguage, language typescript
at org.metaborg.core.language.LanguageIdentifierService.identifyToResource(LanguageIdentifierService.java:148)
at org.metaborg.core.language.LanguageIdentifierService.identify(LanguageIdentifierService.java:105)
at org.metaborg.core.language.LanguageIdentifierService.identify(LanguageIdentifierService.java:73)
at org.metaborg.core.language.LanguageIdentifierService.identify(LanguageIdentifierService.java:58)
at org.metaborg.intellij.idea.parsing.SpoofaxSyntaxHighlighterFactory.getSyntaxHighlighter(SpoofaxSyntaxHighlighterFactory.java:84)
at com.intellij.openapi.fileTypes.SyntaxHighlighterFactory.getSyntaxHighlighter(SyntaxHighlighterFactory.java:39)
at com.intellij.openapi.fileTypes.LanguageFileTypeHighlighterProvider.create(LanguageFileTypeHighlighterProvider.java:31)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.openapi.util.KeyedExtensionFactory.getByKey(KeyedExtensionFactory.java:92)
at com.intellij.openapi.util.KeyedExtensionFactory.access$000(KeyedExtensionFactory.java:33)
at com.intellij.openapi.util.KeyedExtensionFactory$1.invoke(KeyedExtensionFactory.java:56)
at com.sun.proxy.$Proxy117.create(Unknown Source)
at com.intellij.openapi.fileTypes.SyntaxHighlighterFactory.getSyntaxHighlighter(SyntaxHighlighterFactory.java:54)
at com.intellij.openapi.fileTypes.FileTypeEditorHighlighterProviders$1.getEditorHighlighter(FileTypeEditorHighlighterProviders.java:51)
at com.intellij.openapi.editor.highlighter.EditorHighlighterFactoryImpl.createEditorHighlighter(EditorHighlighterFactoryImpl.java:78)
at com.intellij.openapi.fileEditor.impl.text.TextEditorImpl.loadEditorInBackground(TextEditorImpl.java:66)
at com.intellij.openapi.fileEditor.impl.text.PsiAwareTextEditorImpl.loadEditorInBackground(PsiAwareTextEditorImpl.java:50)
at com.intellij.openapi.fileEditor.impl.text.AsyncEditorLoader$1.lambda$runBackgroundProcess$1(AsyncEditorLoader.java:83)
at com.intellij.psi.impl.PsiDocumentManagerBase$6.run(PsiDocumentManagerBase.java:477)
at com.intellij.psi.impl.PsiDocumentManagerBase$7.compute(PsiDocumentManagerBase.java:506)
at com.intellij.psi.impl.PsiDocumentManagerBase$7.compute(PsiDocumentManagerBase.java:502)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:892)
at com.intellij.psi.impl.PsiDocumentManagerBase.commitAndRunReadAction(PsiDocumentManagerBase.java:502)
at com.intellij.psi.impl.PsiDocumentManagerBase.commitAndRunReadAction(PsiDocumentManagerBase.java:474)
at com.intellij.openapi.fileEditor.impl.text.AsyncEditorLoader$1.runBackgroundProcess(AsyncEditorLoader.java:77)
at com.intellij.openapi.fileEditor.impl.text.AsyncEditorLoader.lambda$null$0(AsyncEditorLoader.java:135)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runWithWriteActionPriority$2(ProgressIndicatorUtils.java:135)
at com.intellij.openapi.progress.impl.CoreProgressManager$3.run(CoreProgressManager.java:179)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:568)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:519)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:164)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runWithWriteActionPriority(ProgressIndicatorUtils.java:133)
at com.intellij.openapi.fileEditor.impl.text.AsyncEditorLoader.lambda$loadImmediately$1(AsyncEditorLoader.java:135)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at com.intellij.util.concurrency.BoundedTaskExecutor$2.run(BoundedTaskExecutor.java:210)
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)
Spoofax: 2.3.0
When a source file has two or more possible languages, IntelliJ will now show an error balloon and use the plain text parser as fallback.