# TEA (Texteditor)

TEA ist ein Texteditor mit grafischer Benutzeroberfläche. Er ist ressourcenschonend, funktionsreich und anpassbar. TEA läuft auf allen gängigen Desktop-Betriebssystemen, darunter auch auf OS/2 und Haiku OS, sofern sie Qt 6, 5 oder 4.6+ unterstützen. Seine Benutzeroberfläche ist in mehreren Sprachen verfügbar.

## Bedienoberfläche

TEA ist als Desktop-Umgebung für die Textbearbeitung konzipiert. Daher geht sein Funktionsumfang über den eines reinen Texteditors hinaus. Die Benutzeroberfläche von TEA besteht aus fünf Registerkarten, die es dem Benutzer ermöglichen, zwischen verschiedenen Funktionsbereichen zu wechseln. Standardmäßig befinden sich die Registerkarten am rechten Rand des Anwendungsfensters.
| Registerkarte | Funktionen |
| editor | Hier befindet sich das Textbearbeitungsfenster. Am oberen Rand des Bearbeitungsfensters liegt eine Registerkartenleiste, mit der man zwischen geöffneten Textdateien wechseln kann. Unter dem Textbearbeitungsfensters ist ein weiteres Fenster, das die Bearbeitungshistorie anzeigt und unterhalb der Historie folgt das FIF, das "Famous input field", ein für Tea-spezifisches Eingabefeld. Die Bearbeitungshistorie und das FIF sind allen Registerkarten sichtbar. |
| files | enthält einen Dateimanager, mit dem der Nutzer im Dateisystem navigieren, Order anlegen, Dateien öffnen, umbenennen oder löschen kann. |
| options | Der Bereich zur Anpassung von TEA. Der Nutzer kann das Verhalten von TEA und den Inhalt der Menüleiste ändern sowie Tastenkombinationen festlegen, mit denen bestimmte Funktionen ausgelöst werden. |
| dates | Diese Registerkarte enthält einen Kalender. |
| manual | Hier findet der Benutzer ein ausführliches Benutzerhandbuch, einschließlich der Anleitungen für das Famous Input Field (FIF). |

## Technische Fähigkeiten

TEA bietet zahlreiche Hilfen, um Texte zu bearbeiten. Hier sind einige seiner wichtigsten Leistungsmerkmale:
* Texte einlesen: Öffnen kann TEA Dateien der Formate ODT (OpenDocument Text), KWD (altes KWord-Format), FB2, DOCX, RTF, SXW (altes OOo/StarOffice-Format), ABW (Abiword)-Formate und gzipped und extrahiert aus ihnen dann den reinen Text; schreiben kann TEA allerdings nur einfache Textformate.
* Syntax-Hervorhebung: TEA hebt die Syntax vieler Programmiersprachen farblich hervor, darunter C, C++, Bash-Script, BASIC, C#, D, Fortran, Java, LilyPond, Lout, Lua, NASM, NSIS, Pascal, Perl, PHP, PO (gettext), Python, Seed7, TeX/LaTeX, Vala, Verilog, XML, HTML, XHTML, Dokuwiki, MediaWiki.
* Anpassbare Benutzeroberfläche: TEA bietet verschiedene Farbschemata für den Bearbeitungsbereich und Themen für die Bedienoberfläche, zwischen denen der Anwender wählen kann, um zu bestimmen, mit welchen Farben zum einen der Text und zum anderen die Anwendung dargestellt wird.
* Hervorhebung der aktuellen Zeile: Die aktuelle Textzeile wird hervorgehoben, wenn man diese Fähigkeit in den Einstellungen, das heißt im Reiter „options“, anschaltet. Diese Hervorhebung vereinfacht besonders das Korrekturlesen, wenn ein Text auf dem Bildschirm mit einem analogen Text oder dem Text einer Vergleichsquelle abgeglichen wird. Das kommt regelmäßig vor, wenn man eine Textdatei korrigiert, die mit einem Scanner und einem OCR-Programm aus analogen Vorlagen erzeugt wurde, etwa bei der Erstellung von Korpora in der Linguistik. Lesezeichenmenü im Dateimanager: In TEAs Lesezeichenmenü kann der Anwender Ordnerpfade speichern, um schnell zu bestimmten Ordnern zu wechseln.
* Anpassbare Tastenkombinationen: Die meisten Shortcuts, mit denen man den Editor bedient, können geändert werden oder neue angelegt werden. Zum Beispiel wird [Ctrl]+[z] bekanntlich in vielen Anwendungen benutzt, um den letzten Arbeitsschritt zu widerrufen. Diese Tastenkombination wurde offensichtlich gewählt, weil auf englischen Tastaturen der Buchstabe z sehr nah bei der [Ctrl]-Taste liegt. Auf deutschen Tastaturen ist das nicht so, der gleiche Bedienkomfort kann aber im Editor TEA erreicht werden, wenn man einfach die Funktion "Rückgängig" in den "options" mit der Tastenkombination [Strg]+[y] verbindet.
* Erweiterbare Rechtschreibprüfung: Tea benutzt Wörterbücher von Aspell oder Hunspell und ermöglicht es den Wortschatz seiner Rechtschreibprüfung um Wörter zu erweitern, welche in diesen Wörterbüchern fehlen.
* Textbausteine: Der Benutzer kann Textbausteine (Code-Schnipsel, engl. code snippets) definieren, um häufig verwendete Textteile schnell einzufügen.
* Formatierung: TEA kann HTML-, XHTML-, Markdown, DocBook-, LaTeX-, Lout-, DokuWiki- und MediaWiki-Code schreiben, indem es beispielsweise einen Text in Bold-Tags (Fettschrift) einschließt oder den Link zu einem Bild einfügt.
* Drag&Drop-Code-Generierung: Der Code, um ein Bild einzufügen, wird für HTML, XHTML, Docbook, Latex, Markdown und Lout automatisch generiert, wenn das Bild per Drag&Drop ins Editorfenster gezogen wird.

### Funktionen

| Funktionsbereich | Fähigkeiten |
| Textkonvertierungen | Groß- in Kleinbuchstaben umwandeln oder umgekehrt, englischen oder russischen Text in Morsekode umwandeln oder umgekehrt etc. |
| Text-Analysen | Textstatistiken: Anzahl der Wörter, die Länge der Wörter; Wörter extrahieren; Wortlängen; Mengensortierung und Sortieralphabet durch Universal Text Analyzer (UNITAZ); Teilstring zählen und Teilstring zählen (regexp) |
| Mathematik | Tea kann einfache mathematische Ausdrücke berechnen, die im Text markiert sind, etwa eine Addition, eine Multiplikation 23*12, eine Potenzierung 25^2 oder eine Prozentrechnung 250%4 (4 Prozent von 250). |

#### Universal Text Analyzer

* UNITAZ-Sortierungen (Universal Text Analyzer)
* UNITAZ-Längensortierung
* UNITAZ – alphabetisch sortiert
* UNITAZ – nach Häufigkeit sortiert

#### Famous Input Field (FIF)

Das Famous Input Field ist ein spezielles Eingabefeld in TEA am unteren Rand des Editorfensters. Mit dem FIF können Benutzer Text suchen und ersetzen, indem sie den Befehl alterText~neuerText eingeben und auf "Ersetzen durch", "Alles ersetzen" oder "Alles ersetzen in geöffneten Dateien" klicken. Dadurch wird die Zeichenkette alterText durch die Zeichenkette neuerText ersetzt.
Zusätzlich gehören zum FIF drei verschiedene Suchschaltflächen, die sich rechts neben dem Eingabefeld befinden.

## Geschichte

Semiletov schreibt, dass der 4. Oktober 2000 die Geburtsstunde von TEA gewesen sei, als er das Projekt, einen eigenen Texteditor – damals noch unter dem Namen Typewriter – zu programmieren, mit einer Datei namens REMain.pas unter Delphi begann. Unmittelbarer Vorgänger von TEA war Typewriter 2.2 Beta, den Semiletov in den Jahren 2000 und 2001 entwickelt hatte und im Herbst 2001 mit der ersten Version für Windows in TEA umbenannte.
Ursprünglich wurde TEA also als Windows-Programm entwickelt. In der Version 1.0.0.49, die am 30. Dezember 2001 veröffentlicht wurde, stand das Akronym TEA noch für „Text Editing and Authoring“. Später wurde eine Version für Linux mit GTK+ geschrieben, die sowohl für Windows als auch für Linux kompiliert werden konnte. Schließlich wurde TEA mit Qt neu geschrieben, genauso wie zum Beispiel der Media Player VLC und andere bekannte Programme.

### Versionsgeschichte

Die folgende Tabelle führt von den älteren Versionen nur Major-Releases auf und einzelne Versionen mit wichtigen Änderungen.
| Version | Ver­öffent­lichungs­datum | Beschreibung |
| 1.0.0.46 | 19. Dez. 2001 | Alpha-Version nur für die Win32-API, unter anderem mit einer einfachen Web-Suche und Funktionen zu automatischen Speicherung beim Schließen der Datei. |
| 1.0.0.50 | 25. Dez. 2001 | Die erste stabile Version |
| 11.0.0.607 | 2003 | Letzte Windows-Version. |
| 12.1 (Win32) | 26. Apr. 2006 | Win32-Version parallel zur GTK+-Version 13.0 |
| 13.0 (GTK+) | 26. Apr. 2006 | Erste GTK+Version, noch parallel zu Win32 12.1 |
| 18.0.0 (Qt) | 4. Juli 2008 | Erste Qt-Version (Qt 3 & Qt 4), von Grund auf neu kodiert. |
| 17.6.6 (GTK+) | 6. Aug. 2008 | Letzte reguläre Version mit GTK+ 2, kompiliert nicht auf modernen Systemen |
| 26.0.0 | 1. Okt. 2009 | Syntaxhervorhebung für Lua, Perl und Vala, Hunspell- oder Aspell-Rechtschreibprüfung, Ersetzen in allen Dateien, Lesezeichen bearbeiten, veraltete Pfade finden. |
| 26.1.0 | 7. Dez. 2009 | Verbesserte Syntaxhervorhebung. Hervorhebung für NASM-, Bash-Skript- und LilyPond-Code. Zwei neue Textfilter: "Vor Begrenzung in jeder Zeile entfernen" und "Nach Begrenzung in jeder Zeile entfernen". |
| 27.0.0 | 25. Feb. 2010 | Zeilennummernanzeige, rekursive Suche in Dateien, Profile für Ansichtseinstellungen, deutsche Benutzeroberfläche, neue Farbpaletten, Skripting-Fähigkeiten, Auswahl nach Regexp. |
| 28.0.0 | 14. Juni 2010 | Netbook-freundlichere Benutzeroberfläche, verbesserter Dateimanager, Bildschirmfoto-Werkzeuge, Auswahl auskommentieren, automatisches Speichern von Snippets und Vorlagen. |
| 28.1.4 (Qt) | 24. Dez. 2010 | Letzte Windows 98 unterstützende Version |
| 29.0.0 | 1. Apr. 2011 | Für Win32-Build gibt es eine Aspell-Unterstützung. Für alle Plattformen: große Codebereinigung, viele Korrekturen, Optimierungen, neue Farbpaletten (Old paper und Toiler paper), usw. die traditionellen Dialoge zum Speichern/Öffnen von Dateien beruhen wieder auf Qt. |
| 30.0.0 | 27. Juni 2011 | Benutzerschriftarten laden, Textteile mit einem Label zu Sprungzielen machen, Korrekturen und Verbesserungen. |
| 31.1.0 | 28. Dez. 2011 | Korrekturen und Verbesserungen bestehender Funktionen. Unter anderem kann der FB2-Reader nun auch mit nicht-UTF-8 Zeichensätzen umgehen. |
| 32.0.0 | 6. März 2012 | Neue Funktionen: Mondkalender, UI- und Dokument-Tabs anpassbar, ODT- und XML-Importer verbessert, grundlegende Python-Syntaxhervorhebung. Code teilweise Public Domain, teilweise GPL v3. Ablagedateien: Eine geöffnete Datei kann als "Ablage" gewählt werden, in die sehr einfach und schnell Texte kopieren werden können |
| 33.0.0 | 28. Apr. 2012 | Ein wichtiger Schritt: Der TEA-Quellcode ist nun kompatibel mit Qt5 alpha, kompiliert also problemlos mit Qt 4.4+ oder Qt 5 alpha. |
| 34.0.0 | 26. Jan. 2013 | Kein SLA-Format (Scribus) mehr. Bessere FB2-Buchanzeige. Optionaler Snippet-Einsatz für die Funktion "Auf jede Zeile anwenden". Rechtschreibprüfung gefixt. Schnellere Syntax-Hervorhebung. Hunspell für Win32. |
| 35.0.0 | 24. März 2013 | Letzte Version auf SourceForge. Neue Website: [http://semiletov.org/tea]. Neu: Zeilenenden nativ, Dateimanager umgeschrieben, INSERT-Taste für Auswahl, Wiki-Modus für DokuWiki und MediaWiki, Qt5-Kompatibilität. |
| 17.6.7 (GTK+) | 27. Apr. 2013 | Anpassung der alten Version mit GTK+ 2, wodurch Tea auf moderneren Linux-Distributionen lauffähig wurde. |
| 18.0.0 (GTK+) | 3. Juli 2013 | Überführung der angepassten GTK+ 2 Version nach GTK+ 3 |
| 41.1.1 (Qt) | 21. Apr. 2016 | Qt 4.6+ und Qt 5 |
| 60.4.0 | 14. Juli 2021 | Autosave-Funktionen hinzugefügt |
| 60.5.0 | 7. Aug. 2021 | Reader für Fictionbook 2 (FB2) optimiert, DJVU-Unterstützung u. a. |
| 60.5.1 | 23. Sep. 2021 | Unterstützung für komprimierte Fictionbook-Dateien hinzugefügt. (FB2.ZIP, FBZ) |
| 60.6.0 | 8. Okt. 2021 | style="line-height:140%" |
| 60.7.0 | 6. Jan. 2022 | Unterstützung benutzerdefinierter virtueller Tastaturen zur schnellen Eingabe von Buchstaben oder ganzen Wörtern mit der Maus. |
| 61.0.0 | 7. Juli 2022 | Schnelleres internes XML-Parsing durch Wechsel von Qt-XML zu pugixml, verbessertes Lesezeichenformat, neue Funktion "Show ebooks fine", fügt Leerzeichen vor jedem Absatz ein. |
| 61.1.0 | 21. Sep. 2022 | Neue Option zum Anzeigen von Tabulator- und Leerzeichen. Für Qt6-Builds kann die Funktion "timecodes by msecs" Timecodes in SubRip- und Youtube-Untertiteln zeitlich verschieben. |
| 61.2.0 | 30. Okt. 2022 | Vorschau für die gerade geöffnete Markdown-Datei hinzugefügt. Fehlerkorrekturen, zum Beispiel für die Funktion von Qt, welche Text in die Zwischenablage kopiert. |
| 62.0.0 | 12. Nov. 2022 | Neuimplementierung der Interaktion mit der Zwischenablage. Standardmäßig aktivierte Dialoge zum Speichern/Öffnen von Dateien anstelle des eingebauten Dateimanagers, um neuen Anwendern den Anfang zu erleichtern. |

### Begleit-Websites

Das Programm und die dazugehörige Website waren anfangs nur auf Russisch verfügbar, was sich nachteilig auf seine Verbreitung außerhalb der Ukraine und Russlands ausgewirkt hat. Inzwischen ist die Website zweisprachig (Russisch und Englisch) und das Programm selbst wurde in mehrere Sprachen übersetzt.
| Von | bis | Website |
| 24. März 2013 | heute | semiletov.org/tea/ (Memento vom 6. Oktober 2017 im Webarchiv archive.today) & tea.ourproject.org |
| 26. Juni 2006 | 24. März 2013 | http://tea-editor.sourceforge.net/ |
| Dez. 2001 | 26. Juni 2006 | http://www.roxton.kiev.ua/ |