GithubHelp home page GithubHelp logo

bhanditz / jediterm Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jetbrains/jediterm

0.0 2.0 0.0 95.58 MB

Pure Java Terminal Emulator. Works with SSH and PTY.

License: GNU Lesser General Public License v3.0

Java 99.51% HTML 0.05% Kotlin 0.44% Batchfile 0.01% Shell 0.01%

jediterm's Introduction

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:

  • terminal

    The core library that provides VT100 compatible terminal emulator and Java Swing based implementation of terminal panel UI.

  • ssh

    The jediterm-ssh.jar library that provides, using the Jsch library, a terminal for remote SSH terminal sessions.

  • pty

    The jediterm-pty.jar library that, by using the Pty4J library, enables a terminal for local PTY terminal sessions.

  • JediTerm

    The standalone version of the JediTerm terminal distributed as a .dmg for Mac OSX.

Features

  • Ssh using JSch from jcraft.org
  • Local terminal for Unix, Mac and Windows using Pty4J
  • Xterm emulation - passes most of tests from vttest
  • Xterm 256 colours
  • Scrolling
  • Copy/Paste
  • Mouse support
  • Terminal resizing from client or server side
  • Terminal tabs

Authors

Dmitry Trofimov [email protected], 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

All sources in the repository are licensed under LGPLv3, except the following roots, which are Apache 2.0 licensed:

  • JediTerm/*
  • terminal/src/com/jediterm/terminal/emulator/*

jediterm's People

Contributors

trofimander avatar plonk42 avatar segrey avatar olegstepanov avatar cmf avatar rprichard avatar ydgholz avatar jschaf avatar yole avatar mikehearn avatar stigger avatar brofi avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.