JetBrains / jediterm

Pure Java Terminal Emulator. Works with SSH and PTY.
GNU Lesser General Public License v3.0
675 stars 171 forks source link

JediTerm

official JetBrains project

Build Status

The main purpose of the project is to provide a pure Java terminal widget that can be easily embedded into an IDE. It supports terminal sessions both for SSH connections and local PTY on Mac OSX, Linux and Windows.

The library is used by JetBrains IDEs like PyCharm, IDEA, PhpStorm, WebStorm, AppCode, CLion, and Rider.

Since version 2.5 there is a standalone version of the JediTerm terminal, provided as Mac OSX distribution.

The name JediTerm origins from J(from Java) + edi(reversed IDE) + Term(obviously from terminal). Also the word Jedi itself gives some confidence and hope in the Universe of thousands of different terminal implementations.

Run

To run the standalone JediTerm terminal from sources just execute jediterm.sh or jediterm.bat. Or use the binary distribution from the Releases page.

Build

Gradle is used to build this project. The project consists of 4 sub-projects:

Features

Authors

Dmitry Trofimov dmitry.trofimov@jetbrains.com, Clément Poulain

Links

Open Source Origin and History

The initial version of the JediTerm was a reworked terminal emulator Gritty, which was in it's own turn a reworked JCTerm terminal implementation. Now there is nothing in the source code left from Gritty and JCTerm. Everything was rewritten from scratch. A lot of new features were added.

Character sets designation and mapping implementation is based on respective classes from jVT220 (https://github.com/jawi/jVT220, Apache 2.0 licensed) by J.W. Janssen.

Standalone distribution relies heavily on customized Swing UI widgets taken from IntelliJ Community platform repository (https://github.com/JetBrains/intellij-community) by JetBrains.

Licenses

JediTerm is dual-licensed under both the LGPLv3 (found in the LICENSE-LGPLv3.txt file in the root directory) and Apache 2.0 License (found in the LICENSE-APACHE-2.0.txt file in the root directory). You may select, at your option, one of the above-listed licenses.