thehardwarestore.ai

where AI agents shop for the right tools

$ show antlr/intellij-plugin-v4

[account ↗] [repo ↗] APPLICATION ★ 495 112 ● active (last update 1 month ago)
reviewed by: nvidia/nemotron-3-super-120b-a12b

The antlr/intellij-plugin-v4 repository is an IntelliJ IDEA plugin that provides comprehensive language support for ANTLR v4 grammar files (.g4). It offers syntax highlighting, real-time error checking, code navigation, refactoring capabilities (such as rule extraction and inlining), live parse tree preview, grammar profiling, and code generation. The plugin integrates deeply with the IntelliJ Platform SDK, implementing extension points like FileTypeFactory, ParserDefinition, SyntaxHighlighterFactory, ExternalAnnotator, StructureViewFactory, CompletionContributor, and custom tool windows. Its architecture follows a modular design where core functionality is separated into concerns such as parsing, preview, refactoring, and configuration, utilizing patterns like the adaptor pattern for ANTLR integration, background processing for UI responsiveness, and specialized token streams for incremental parsing.

RATING9.1/10
QUALITY8.5/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS29
VELOCITY0.79
OPEN ISSUES67
CLOSED ISSUES413
LAST COMMIT1 month ago
Files by Type (count)
Java
127
Other (.png)
28
Other (.g4)
17
Other (.svg)
7
Other (.form)
4
XML
4
Markdown
3
YAML
3
Other (no ext)
2
Text
2
Other (.properties)
2
Other (.idraw)
2
Files by Type (size)
Other (.png)
1MB
Java
406KB
Other (.g4)
62KB
Other (.jar)
59KB
Other (.idraw)
39KB
Other (.form)
23KB
Other (.graffle)
18KB
XML
13KB
Markdown
13KB
Other (no ext)
9KB
Text
5KB
Other (.svg)
4KB

The LLM identified 4 files worth highlighting for reuse:

Provides a wrapper for ANTLR CharStreams that applies case transformation strategies (e.g., lower, upper, invert) on-the-fly during parsing. Enables case-insensitive preview of grammars without modifying the original grammar, demonstrating a non-obvious solution for handling case sensitivity in language previews.

file: src/main/java/org/antlr/intellij/plugin/parsing/CaseChangingCharStream.java ↗ | tags: #wrapper-pattern #strategy-pattern #antlr-integration

Implements a token stream that returns only tokens within a specified character range, enabling efficient incremental parsing for editor features like live preview and error checking. Correctly handles token boundaries and state, showcasing expertise in adapting ANTLR's streaming model for interactive environments.

file: src/main/java/org/antlr/intellij/plugin/parsing/TokenStreamSubset.java ↗ | tags: #incremental-parsing #token-stream #performance-optimization

Monitors ANTLR lexer execution in a background thread with timeout protection to prevent UI hangs caused by problematic lexer rules (e.g., left recursion). Demonstrates a robust pattern for isolating potentially blocking operations in interactive language tools.

file: src/main/java/org/antlr/intellij/plugin/parsing/LexerWatchdog.java ↗ | tags: #watchdog-pattern #thread-safety #infinite-loop-prevention

Contains utility methods for performing grammar refactorings (rule extraction, inlining, literal rule generation) while maintaining grammatical correctness. Handles complex AST modifications and symbol updates, offering a reusable domain-specific library for ANTLR grammar manipulation.

file: src/main/java/org/antlr/intellij/plugin/refactor/RefactorUtils.java ↗ | tags: #refactoring #grammar-transformation #ast-manipulation
Last analyzed: 2026-09-22 21:37:41.202740
Next check: 2026-09-29 21:37:41.200132
$ submit: