GitHunt
AK

TextMate support in Eclipse IDE

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 2024-06 (4.32)
0.16.0+ 2024-06 (4.32)
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:

  • Apache NetBeans - A multi-language IDE written in Java that uses TM4E core parts to support syntax highlighting based on TextMate grammars.
  • Eclipse Corrosion - Rust development tools in Eclipse IDE.
  • Eclipse aCute - C# edition in Eclipse IDE.
  • Eclipse Wild Web Developer - Simple and productive Web Development Tools in the Eclipse IDE.
  • Eclipse ShellWax - A shell script development plugin for the Eclipse IDE, providing a rich edition experience through integration with the Bash Language Server.
  • LiClipseText - An editor which enables Eclipse to be used as a general-purpose text editor, providing support for multiple languages out of the box.
  • EditorConfig for Eclipse - EditorConfig for Eclipse with GenericEditor.
  • Solargraph - Ruby development tools for Eclipse.
  • dart4e - Dart/Flutter development support for the Eclipse IDE.
  • haxe4e - Haxe programming language support for the Eclipse IDE.
  • Previewer - Eclipse plugin that contributes a Preview view that renders syntax-highlighted sample text in real-time using your TextMate grammar as you edit.
  • Deprecated projects:

Documentation

See Further documentation for additional information.

๐Ÿ‘ท Get support and contribute

  • License: TM4E is a community open-source project licensed under the Eclipse Public License 2.0.
  • Support: You can ask (and answer!) questions in the GitHub discussions. Report bugs, and request features using GitHub issues.
  • Source Code: This github.com/eclipse-tm4e/tm4e repository is the reference repository to contribute to TM4E
  • Build: Builds can be performed with a simple ./mvnw clean verify
  • Continuous testing, integration and deployment is performed by CI jobs at https://ci.eclipse.org/tm4e/ and https://github.com/eclipse-tm4e/tm4e/actions
  • Developers mailing-list: Contributors are also expected to subscribe the tm4e-dev mailing-list.
  • Becoming a committer: as usual with Eclipse.org projects, anyone who's made significant contributions and who's upheld quality standards alongside good judgement and open-mindedness.

Languages

Java89.4%HTML2.6%CSS1.5%TypeScript1.1%SCSS0.5%Python0.4%Groovy0.3%JavaScript0.3%Shell0.2%TeX0.2%Rust0.2%Perl0.2%Swift0.2%Batchfile0.2%PowerShell0.2%Ruby0.2%PHP0.1%Objective-C0.1%Go0.1%Visual Basic .NET0.1%C++0.1%Clojure0.1%R0.1%Less0.1%Lua0.1%C0.1%ShaderLab0.1%Handlebars0.1%HLSL0.1%F#0.1%XSLT0.1%Raku0.1%Objective-C++0.1%Dockerfile0.1%CoffeeScript0.1%Cuda0.1%C#0.1%Pug0.1%Makefile0.1%Dart0.1%
Eclipse Public License 2.0
Created November 14, 2025
Updated November 14, 2025
akurtakov/tm4e | GitHunt