eclipse-tm4e / tm4e

TextMate support in Eclipse IDE
https://projects.eclipse.org/projects/technology.tm4e
Eclipse Public License 2.0
93 stars 56 forks source link
eclipse hacktoberfest java textmate

Eclipse TM4E - TextMate and language-configuration support for Java and in Eclipse IDE

GitHub Actions Jenkins tests License

TM4E brings Java API to tokenize textual documents according to TextMate grammars with an Eclipse IDE client that can do syntax highlighting according to this tokenization; and Eclipse IDE client for VSCode Language Configuration to support matching bracket, auto close, on enter support.

TM4E is an official Eclipse.org project so it conforms to typical Eclipse.org requirements and guarantees.

📥 Install

1) in Eclipse IDE or RCP applications

You can install TM4E from the update site https://download.eclipse.org/tm4e/releases/latest/. TM4E is usually installed together with its consumers, so end-user should usually not need to directly install it.

The latest snapshot build can be installed from the update site https://download.eclipse.org/tm4e/snapshots/.

Eclipse IDE compatibility

TM4E version Min. Eclipse version
latest 2023-09 (4.29)
0.9.0+ 2023-09 (4.29)
0.8.1+ 2023-06 (4.28)
0.8+ 2023-03 (4.27)
0.6.3+ 2022-12 (4.26)
0.6.2+ 2022-09 (4.25)
0.6.0+ 2022-03 (4.23)

2) as a Java API with Maven

Snapshot binaries of org.eclipse.tm4e.core are available at https://repo.eclipse.org/content/repositories/tm4e-snapshots/org/eclipse/org.eclipse.tm4e.core/. You need to add the following repository configuration to your Maven settings.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<settings>
  <profiles>
    <profile>
      <repositories>
        <repository>
          <id>tm4e-snapshots</id>
          <name>tm4e-snapshots</name>
          <url>https://repo.eclipse.org/content/repositories/tm4e-snapshots/</url>
          <releases><enabled>false</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </repository>
      </repositories>
    </profile>
  </profiles>
  <activeProfiles>
    <activeProfile>tm4e-snapshots</activeProfile>
  </activeProfiles>
</settings>

Then you can reference the dependency in your pom.xml like so:

<dependencies>
  <dependency>
    <groupId>org.eclipse</groupId>
    <artifactId>org.eclipse.tm4e.core</artifactId>
    <version>[VERSION]-SNAPSHOT</version>
  </dependency>
</dependencies>

[more information coming ...]

⌨️ Code

Clone to Eclipse IDE

The following class and modules should be used as entry point provides:

An example with TypeScript:

TypeScript Editor

👪 Who is using tm4e?

Here are some projects that use tm4e:

👷 Get support and contribute