Skip to content

Commit 71f4b08

Browse files
authored
docs: minor improvement and restructoring (#968)
1 parent 67d5fbd commit 71f4b08

3 files changed

Lines changed: 125 additions & 94 deletions

File tree

README.md

Lines changed: 36 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,41 @@
44
[![Jenkins tests](https://img.shields.io/jenkins/tests?jobUrl=https%3A%2F%2Fci.eclipse.org%2Ftm4e%2Fjob%2FTM4E%2Fjob%2Fmain%2F&logo=jenkins&logoColor=white)](https://ci.eclipse.org/tm4e/job/TM4E/)
55
[![License](https://img.shields.io/github/license/eclipse-tm4e/tm4e.svg?color=blue)](LICENSE)
66

7-
TM4E provides a Java implementation of the [TextMate grammar](https://en.wikipedia.org/wiki/TextMate#Language_grammars) engine, based on the [microsoft/vscode-textmate](https://github.com/microsoft/vscode-textmate) project, that can be embedded in any Java application,
8-
along with Eclipse IDE integration for syntax highlighting and VS Code-style [Language Configuration](https://code.visualstudio.com/api/references/contribution-points#contributes.languages) (brackets, auto-closing, on-enter behavior, and more).
97

10-
TM4E is an [official Eclipse.org project](https://projects.eclipse.org/projects/technology.tm4e), and follows the usual Eclipse.org processes and IP requirements.
8+
## Table of contents
9+
10+
- [About TM4E](#about-tm4e)
11+
- [Key Features](#key-features)
12+
- [Installation](#-installation)
13+
- [Getting started as an end user](#-getting-started-as-an-end-user)
14+
- [Who is using TM4E?](#-who-is-using-tm4e)
15+
- [Architecture and modules](#-architecture-and-modules)
16+
- [Integrating TM4E](#-integrating-tm4e)
17+
- [Contributing](#-contributing)
18+
- [License](#-license)
19+
20+
21+
## About TM4E
1122

12-
**Example**: TypeScript editor using TM4E-based highlighting (from [Eclipse Wild Web Developer](https://github.com/eclipse/wildwebdeveloper)):
23+
TM4E provides a Java implementation of the [TextMate grammar](https://en.wikipedia.org/wiki/TextMate#Language_grammars) engine, based on the [microsoft/vscode-textmate](https://github.com/microsoft/vscode-textmate) project.
24+
It can be embedded in any Java application, along with Eclipse IDE integration for syntax highlighting and VS Code-style [Language Configuration](https://code.visualstudio.com/api/references/contribution-points#contributes.languages) (brackets, auto-closing, on-enter behavior, and more).
25+
26+
**Example**: TypeScript editor using TM4E-based highlighting (from [Eclipse Wild Web Developer](https://github.com/eclipse/wildwebdeveloper))
1327

1428
![TypeScript Editor Screenshot](docs/img/typescript_editor.png)
1529

30+
TM4E is an [official Eclipse.org project](https://projects.eclipse.org/projects/technology.tm4e), and follows the usual Eclipse.org processes and IP requirements.
31+
32+
1633
## Key features
1734

1835
- TextMate-based syntax highlighting for Eclipse editors, including the Generic Editor and TM4E-powered custom editors.
1936
- Language-configuration based editor features, such as auto-closing and matching brackets, on-enter indentation and comment continuation, toggle line and block comments, and folding when supported.
2037
- Themable colorization through TextMate themes, with built-in Light/Dark themes and additional themes contributed by plugins.
2138
- A TM4E secondary partitioner that understands embedded languages and exposes normalized grammar scopes that other tooling can consume.
2239

23-
## 📦 Installation
40+
41+
## 📥 Installation
2442

2543
### 1) In Eclipse IDE or RCP applications
2644

@@ -42,7 +60,6 @@ TM4E version |Min. Eclipse version | Min. Java version
4260
[0.6.2](https://download.eclipse.org/tm4e/releases/0.6.2/)+ | [2022-09](https://projects.eclipse.org/releases/2022-09) ([4.25](https://projects.eclipse.org/projects/eclipse/releases/4.25.0)) | 17
4361
[0.6.0](https://download.eclipse.org/tm4e/releases/0.6.0/)+ | [2022-03](https://projects.eclipse.org/releases/2022-03) ([4.23](https://projects.eclipse.org/projects/eclipse/releases/4.23.0)) | 17
4462

45-
4663
### 2) As a Java API with Maven
4764

4865
**Snapshot** binaries of `org.eclipse.tm4e.core` are available at https://repo.eclipse.org/content/repositories/tm4e-snapshots/org/eclipse/org.eclipse.tm4e.core/.
@@ -82,7 +99,16 @@ Then reference the dependency in your pom.xml as follows:
8299
```
83100

84101

85-
## 👥 Who is using TM4E?
102+
## 🚀 Getting started as an end user
103+
104+
If you are using an Eclipse IDE or other tool that ships TM4E-powered editors, you usually do not install TM4E directly.
105+
106+
- For day-to-day usage, configuration, and troubleshooting of TM4E-powered editors, see the [User Guide](docs/user-guide.md).
107+
- For usage questions and general help, use [GitHub discussions](https://github.com/eclipse-tm4e/tm4e/discussions).
108+
- To report problems with TM4E-powered editors, file issues in [GitHub issues](https://github.com/eclipse-tm4e/tm4e/issues) and include details about your IDE, TM4E version, and steps to reproduce.
109+
110+
111+
## 🙋 Who is using TM4E?
86112

87113
Here are some projects that use TM4E:
88114

@@ -104,35 +130,26 @@ Here are some projects that use TM4E:
104130
- [Phaser Editor 2D](https://github.com/PhaserEditor2D/PhaserEditor) - an IDE for the creation of HTML5 games.
105131

106132

107-
## 📚 End users
108-
109-
If you are using an Eclipse IDE or other tool that ships TM4E-powered editors, you usually do not install TM4E directly.
110-
111-
- For day-to-day usage, configuration, and troubleshooting of TM4E-powered editors, see the [User Guide](docs/user-guide.md).
112-
- For usage questions and general help, use [GitHub discussions](https://github.com/eclipse-tm4e/tm4e/discussions).
113-
- To report problems with TM4E-powered editors, file issues in [GitHub issues](https://github.com/eclipse-tm4e/tm4e/issues) and include details about your IDE, TM4E version, and steps to reproduce.
114-
115-
116133
## 🧩 Architecture and modules
117134

118135
TM4E is split into three main bundles plus an optional language pack feature:
119136

120137
- [org.eclipse.tm4e.core](https://github.com/eclipse-tm4e/tm4e/tree/main/org.eclipse.tm4e.core) - Java TextMate engine (a port of [vscode-textmate](https://github.com/Microsoft/vscode-textmate)), UI-agnostic and usable with any Java UI toolkit.
121138
- [org.eclipse.tm4e.ui](https://github.com/eclipse-tm4e/tm4e/tree/main/org.eclipse.tm4e.ui) - Eclipse integration layer providing [`TMPresentationReconciler`](org.eclipse.tm4e.ui/src/main/java/org/eclipse/tm4e/ui/text/TMPresentationReconciler.java), TextMate-based partitioning, theming, preference pages, hovers, and diagnostics.
122139
- [org.eclipse.tm4e.languageconfiguration](https://github.com/eclipse-tm4e/tm4e/tree/main/org.eclipse.tm4e.languageconfiguration) - VS Code-style `language-configuration.json` support for bracket handling, auto-close, on-enter behavior, and comment toggling.
123-
- [org.eclipse.tm4e.language_pack](https://github.com/eclipse-tm4e/tm4e/tree/main/org.eclipse.tm4e.language_pack) - Optional language pack feature that bundles TextMate grammars and language configurations so many common languages work out of the box in the Eclipse IDE.
140+
- [org.eclipse.tm4e.language_pack](https://github.com/eclipse-tm4e/tm4e/tree/main/org.eclipse.tm4e.language_pack) - Optional language pack feature that bundles 50+ TextMate grammars and language configurations so many common languages work out of the box in the Eclipse IDE.
124141

125142

126143
## 🔌 Integrating TM4E
127144

128145
If you are an Eclipse plug-in developer or Java tool author and want to consume TM4E:
129146

130-
- Start with the [Plugin Developer Guide](docs/plugin-developer-guide.md) for how to depend on TM4E, register grammars and language configurations, and wire TM4E into editors.
147+
- Start with the [Plugin Developer Guide](docs/plugin-developer-guide.md) for how to depend on TM4E, contribute grammars, themes, and language configurations, and wire TM4E into editors.
131148
- For integration questions, best practices, and design discussions, use [GitHub discussions](https://github.com/eclipse-tm4e/tm4e/discussions).
132149
- To report bugs or request new APIs or integration features, file issues in [GitHub issues](https://github.com/eclipse-tm4e/tm4e/issues).
133150

134151

135-
## 🛠 Contributing
152+
## 🤝 Contributing
136153

137154
If you want to work on TM4E itself:
138155

0 commit comments

Comments
 (0)