ANTLRV4 adaptor for IntelliJ-based IDEs

Support for using ANTLR-generated parsers/lexers in IntelliJ-based IDE plug-ins.

License

License

Categories

Categories

IntelliJ IDEA Development Tools IDE Ant Build Tools ANTLR Compiler-compiler
GroupId

GroupId

org.antlr
ArtifactId

ArtifactId

antlr4-intellij-adaptor
Last Version

Last Version

0.1
Release Date

Release Date

Type

Type

jar
Description

Description

ANTLRV4 adaptor for IntelliJ-based IDEs
Support for using ANTLR-generated parsers/lexers in IntelliJ-based IDE plug-ins.
Project URL

Project URL

https://github.com/antlr/antlr4-intellij-adaptor
Source Code Management

Source Code Management

https://github.com/antlr/antlr4-intellij-adaptor

Download antlr4-intellij-adaptor

How to add to project

<!-- https://jarcasting.com/artifacts/org.antlr/antlr4-intellij-adaptor/ -->
<dependency>
    <groupId>org.antlr</groupId>
    <artifactId>antlr4-intellij-adaptor</artifactId>
    <version>0.1</version>
</dependency>
// https://jarcasting.com/artifacts/org.antlr/antlr4-intellij-adaptor/
implementation 'org.antlr:antlr4-intellij-adaptor:0.1'
// https://jarcasting.com/artifacts/org.antlr/antlr4-intellij-adaptor/
implementation ("org.antlr:antlr4-intellij-adaptor:0.1")
'org.antlr:antlr4-intellij-adaptor:jar:0.1'
<dependency org="org.antlr" name="antlr4-intellij-adaptor" rev="0.1">
  <artifact name="antlr4-intellij-adaptor" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.antlr', module='antlr4-intellij-adaptor', version='0.1')
)
libraryDependencies += "org.antlr" % "antlr4-intellij-adaptor" % "0.1"
[org.antlr/antlr4-intellij-adaptor "0.1"]

Dependencies

compile (1)

Group / Artifact Type Version
org.antlr : antlr4-runtime jar 4.7.2

Project Modules

There are no modules declared in this project.

ANTLRv4 support in IntelliJ IDEs Build Status Maven Central

A library to support the use of ANTLRv4 grammars for custom languages in IntelliJ-based IDEs plug-in development.

This library has adaptors that convert ANTLR-generated parse trees into IntelliJ PSI trees. Mostly this library is about adapting ANTLR parsers and trees, but there is considerable support to examine PSI trees derived from ANTLR parse trees. For example, if you're building a structure view for your plug-in and you want to get the list of function names you can use XPath-like specs such as "/script/function/ID":

Collection<? extends PsiElement> allfuncs =
    XPath.findAll(SampleLanguage.INSTANCE, tree,
                  "/script/function/ID");

Using the library in your project

The library is published on Maven Central which means you can download the JAR and add it to your classpath manually, or pull the dependency automatically if you are using a Gradle build:

repositories {
    mavenCentral()
}

dependencies {
    compile "org.antlr:antlr4-intellij-adaptor:0.1"
}

In Maven builds, use:

<dependency>
  <groupId>org.antlr</groupId>
  <artifactId>antlr4-intellij-adaptor</artifactId>
  <version>0.1</version>
</dependency>

You can now head over to the Getting started section of the wiki.

Examples

Here is a list of known plugins that use the adaptor:

Other usages can be found on GitHub

Migration from the pre-Maven version

Before 0.1, it was recommended to add this Git repo as a submodule of your own project, or to copy the source files directly.

It is now recommended to use the Maven dependency. The main breaking change is that the base package has been renamed from org.antlr.jetbrains.adaptor to org.antlr.intellij.adaptor

org.antlr

Antlr Project

The Project organization for the ANTLR parser generator.

Versions

Version
0.1