Christian Lenz created NETBEANS-4540: ----------------------------------------
Summary: SyntaxException for specific grammar Key: NETBEANS-4540 URL: https://issues.apache.org/jira/browse/NETBEANS-4540 Project: NetBeans Issue Type: Bug Components: textmate-lexer Affects Versions: 12.0 Environment: Product Version: Apache NetBeans IDE 12.0 Java: 11.0.2; Java HotSpot(TM) 64-Bit Server VM 11.0.2+9-LTS Runtime: Java(TM) SE Runtime Environment 11.0.2+9-LTS System: Windows 10 version 10.0 running on amd64; Cp1252; de_DE (nb) User directory: C:\Users\Chris\AppData\Roaming\Netbeans\12.0 Cache directory: C:\Users\Chris\AppData\Local\NetBeans\Cache\12.0 Reporter: Christian Lenz Assignee: Jan Lahoda Attachments: example.tex When I use this grammar file: https://github.com/James-Yu/LaTeX-Workshop/blob/master/syntax/LaTeX.tmLanguage.json for tex files, I got an SyntaxException fot the attached file (example.tex) {code} org.joni.exception.SyntaxException: premature end of char-class at org.joni.ScannerSupport.newSyntaxException(ScannerSupport.java:166) at org.joni.Parser.parseCharClass(Parser.java:342) at org.joni.Parser.parseCharClass(Parser.java:318) at org.joni.Parser.parseExp(Parser.java:892) at org.joni.Parser.parseBranch(Parser.java:1116) at org.joni.Parser.parseSubExp(Parser.java:1133) at org.joni.Parser.parseRegexp(Parser.java:1166) at org.joni.Parser.parse(Parser.java:65) at org.joni.Analyser.compile(Analyser.java:80) at org.joni.Regex.<init>(Regex.java:159) at org.joni.Regex.<init>(Regex.java:136) at org.eclipse.tm4e.core.internal.oniguruma.OnigRegExp.<init>(OnigRegExp.java:49) at org.eclipse.tm4e.core.internal.oniguruma.OnigSearcher.<init>(OnigSearcher.java:29) at org.eclipse.tm4e.core.internal.oniguruma.OnigScanner.<init>(OnigScanner.java:24) at org.eclipse.tm4e.core.internal.rule.RegExpSourceList.createOnigScanner(RegExpSourceList.java:132) at org.eclipse.tm4e.core.internal.rule.RegExpSourceList.compile(RegExpSourceList.java:86) at org.eclipse.tm4e.core.internal.rule.BeginEndRule.compile(BeginEndRule.java:77) at org.eclipse.tm4e.core.internal.grammar.LineTokenizer.matchRule(LineTokenizer.java:276) at org.eclipse.tm4e.core.internal.grammar.LineTokenizer.matchRuleOrInjections(LineTokenizer.java:299) at org.eclipse.tm4e.core.internal.grammar.LineTokenizer.scanNext(LineTokenizer.java:110) at org.eclipse.tm4e.core.internal.grammar.LineTokenizer.scan(LineTokenizer.java:97) at org.eclipse.tm4e.core.internal.grammar.LineTokenizer._tokenizeString(LineTokenizer.java:537) at org.eclipse.tm4e.core.internal.grammar.Grammar._tokenize(Grammar.java:239) at org.eclipse.tm4e.core.internal.grammar.Grammar.tokenizeLine(Grammar.java:191) at org.netbeans.modules.textmate.lexer.TextmateLexer.nextToken(TextmateLexer.java:75) at org.netbeans.lib.lexer.LexerInputOperation.nextToken(LexerInputOperation.java:191) at org.netbeans.lib.lexer.inc.IncTokenList.tokenOrEmbeddingImpl(IncTokenList.java:170) at org.netbeans.lib.lexer.inc.IncTokenList.tokenOrEmbedding(IncTokenList.java:165) at org.netbeans.api.lexer.TokenSequence.moveNext(TokenSequence.java:463) at org.netbeans.modules.textmate.lexer.SyntaxHighlighting$TSInfo.moveNextToken(SyntaxHighlighting.java:779) at org.netbeans.modules.textmate.lexer.SyntaxHighlighting$HSImpl.moveTheSequence(SyntaxHighlighting.java:476) at org.netbeans.modules.textmate.lexer.SyntaxHighlighting$HSImpl.moveNext(SyntaxHighlighting.java:405) at org.netbeans.modules.editor.lib2.highlighting.DirectMergeContainer$Wrapper.fetchNextHighlight(DirectMergeContainer.java:600) at org.netbeans.modules.editor.lib2.highlighting.DirectMergeContainer$HlSequence.updateMergeVars(DirectMergeContainer.java:337) at org.netbeans.modules.editor.lib2.highlighting.DirectMergeContainer$HlSequence.nextMerge(DirectMergeContainer.java:303) at org.netbeans.modules.editor.lib2.highlighting.DirectMergeContainer$HlSequence.moveNext(DirectMergeContainer.java:234) at org.netbeans.modules.editor.lib2.highlighting.HighlightsReader.readUntil(HighlightsReader.java:59) at org.netbeans.modules.editor.lib2.view.HighlightsViewFactory.restart(HighlightsViewFactory.java:168) at org.netbeans.modules.editor.lib2.view.ViewBuilder$FactoryState.init(ViewBuilder.java:1299) at org.netbeans.modules.editor.lib2.view.ViewBuilder.createViews(ViewBuilder.java:699) at org.netbeans.modules.editor.lib2.view.ViewBuilder.createReplaceRepaintViews(ViewBuilder.java:660) at org.netbeans.modules.editor.lib2.view.ViewUpdates.reinitAllViews(ViewUpdates.java:189) at org.netbeans.modules.editor.lib2.view.DocumentViewOp.checkViewsInited(DocumentViewOp.java:619) at org.netbeans.modules.editor.lib2.view.DocumentView.getPreferredSpan(DocumentView.java:226) at java.desktop/javax.swing.plaf.basic.BasicTextUI$RootView.getPreferredSpan(BasicTextUI.java:1452) at java.desktop/javax.swing.plaf.basic.BasicTextUI.getPreferredSize(BasicTextUI.java:957) at java.desktop/javax.swing.JComponent.getPreferredSize(JComponent.java:1680) at java.desktop/javax.swing.JEditorPane.getPreferredSize(JEditorPane.java:1345) at org.netbeans.modules.editor.NbEditorUI$LayeredEditorPane.getPreferredSize(NbEditorUI.java:453) at java.desktop/javax.swing.ScrollPaneLayout.layoutContainer(ScrollPaneLayout.java:795) at java.desktop/java.awt.Container.layout(Container.java:1537) at java.desktop/java.awt.Container.doLayout(Container.java:1526) at java.desktop/java.awt.Container.validateTree(Container.java:1722) at java.desktop/java.awt.Container.validateTree(Container.java:1731) at java.desktop/java.awt.Container.validateTree(Container.java:1731) at java.desktop/java.awt.Container.validateTree(Container.java:1731) at java.desktop/java.awt.Container.validateTree(Container.java:1731) at java.desktop/java.awt.Container.validateTree(Container.java:1731) at java.desktop/java.awt.Container.validateTree(Container.java:1731) at java.desktop/java.awt.Container.validateTree(Container.java:1731) at java.desktop/java.awt.Container.validateTree(Container.java:1731) at java.desktop/java.awt.Container.validate(Container.java:1657) at org.netbeans.core.windows.view.ui.DesktopImpl$LayeredLayout.layoutContainer(DesktopImpl.java:529) at java.desktop/java.awt.Container.layout(Container.java:1537) at java.desktop/java.awt.Container.doLayout(Container.java:1526) at java.desktop/java.awt.Container.validateTree(Container.java:1722) at java.desktop/java.awt.Container.validateTree(Container.java:1731) at java.desktop/java.awt.Container.validateTree(Container.java:1731) at java.desktop/java.awt.Container.validateTree(Container.java:1731) at java.desktop/java.awt.Container.validateTree(Container.java:1731) at java.desktop/java.awt.Container.validate(Container.java:1657) at java.desktop/javax.swing.RepaintManager$3.run(RepaintManager.java:745) at java.desktop/javax.swing.RepaintManager$3.run(RepaintManager.java:743) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.desktop/javax.swing.RepaintManager.validateInvalidComponents(RepaintManager.java:742) at java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1889) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740) at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:136) [catch] at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) {code} Steps to reproduce: * Open options * Go to Editor -> Language Servers * Create a new entry for tex files (LaTeX) * Use the given grammar file to register it for tex files * Save and apply options. * Open the example.tex file * See the exception -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@netbeans.apache.org For additional commands, e-mail: commits-h...@netbeans.apache.org For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists