Giter Club home page Giter Club logo

terminus's Introduction

                    ████████╗███████╗██████╗ ███╗   ███╗██╗███╗   ██╗██╗   ██╗███████╗
                    ╚══██╔══╝██╔════╝██╔══██╗████╗ ████║██║████╗  ██║██║   ██║██╔════╝
                       ██║   █████╗  ██████╔╝██╔████╔██║██║██╔██╗ ██║██║   ██║███████╗
                       ██║   ██╔══╝  ██╔══██╗██║╚██╔╝██║██║██║╚██╗██║██║   ██║╚════██║
                       ██║   ███████╗██║  ██║██║ ╚═╝ ██║██║██║ ╚████║╚██████╔╝███████║
                       ╚═╝   ╚══════╝╚═╝  ╚═╝╚═╝     ╚═╝╚═╝╚═╝  ╚═══╝ ╚═════╝ ╚══════╝

version stars forks style guide

A terminal for Atom, with themes, API and more... Now coded in JavaScript! ❤️


demo

Atom One dark UI theme with Atom One Dark Syntax theme and the included One Dark theme.

ANNOUCEMENT

Terminus development is coming to an end. Since the days it has been forked and decaffeinated, we had hoped to attract talented developers to volunteer and help further modernize the project.

To realistically keep this project relevant, modern and operational with all future versions of Atom, atom-space-pen-views and term.js dependencies need to be replaced -- since neither of which have been maintained for years or alternatively fork such dependencies and modernize them. Either case would require a re-write Terminus's relevant source code or the dependencies or both. However a modern alternative already exists; it is called x-terminal.

We strongly recommend that all Terminus users switch to x-terminal which is a modern terminal for Atom using relevant and maintained technologies.

Terminus works with Atom 1.60.0 and will likely work with any minor and patch releases to the 1.6x.x Atom release branch and then stability and operation can no longer be guaranteed with future Atom versions.

Apologies to all our users for any inconviniences caused.

Contributing

Terminus is a 100% community driven project, there are no dedicated developers or support, there are a number of ways you can contribute to Terminus. Checkout our CONTRIBUTING.MD

We are looking for and need contributors that can also develop, in order to survive as a project, please check out our code and help out where you can...

Thank you for your consideration.

Install

Ready to install?

You can install via apm: apm install terminus

Or navigate to the install tab in Atom’s settings view, and search for Terminus.

Usage

Terminus stays in the bottom of your editor while you work.

Click on a status icon to toggle that terminal (or ctrl-`). Right click the status icon for a list of available commands. From the right-click menu you can color code the status icon as well as hide or close the terminal instance.

Terminal

You can open the last active terminal with the terminus:toggle command (Default: ctrl-`). If no terminal instances are available, then a new one will be created. The same toggle command is used to hide the currently active terminal.

From there you can begin typing into the terminal. By default the terminal will change directory into the project folder if possible. The default working directory can be changed in the settings to the home directory or to the active file directory.

See available commands below.

Features

Full Terminal

Every terminal is loaded with your system’s default initialization files. This ensures that you have access to the same commands and aliases as you would in your standard terminal.

Themes

The terminal is preloaded with several themes that you can choose from.
Not satisfied? Use the following template in your Atom stylesheet and customize colors:

.terminus .xterm {
  background-color: #0d0208;
  color: #00ff41;

  ::selection {
    background-color: #003b00;
    color: #003b00;
  }

  .terminal-cursor {
    background-color: #00ff41;
  }
}

Process Titles

By hovering over the terminal status icon, you can see which command process is currently running in the terminal.

Terminal Naming

Need a faster way to figure out which terminal is which? Name your status icons!

Available via the status icon context menu.

Color Coding

Color code your status icons!

The colors are customizable in the settings, however the color names remain the same in the context menu.

Sorting

Organize your open terminal instances by dragging and dropping them.

Resizable

You can resize the view vertically, or just maximize it with the maximize button.

Working Directory

You can set the default working directory for new terminals. By default this will be the project folder.

File Dropping

Dropping a file on the terminal will insert the file path into the input. This works with external files, tabs from the Atom tab-view, and entries from the Atom tree-view.

Insert Selected Text

Insert and run selected text from your text editor by running the terminus:insert-selected-text command or ctrl-i.

If you have text selected, it will insert your selected text into the active terminal and run it.
If you don't have text selected it, will run the text on the line where your cursor is then proceed to the next line.

Quick Command Insert

Quickly insert a command to your active terminal by executing the terminus:insert-text command.

A dialog will pop up asking for the input to insert. If you have the Run Inserted Text option enabled in the settings (default is false), Terminus will automatically run the command for you.

Support for Special Keys

Support for IME, dead keys and other key combinations via the Insert Text dialog box. Just click the keyboard button in the top left of the terminal or set up a keymap to the terminus:insert-text command.

Note: Make sure you have the Run Inserted Command toggle off otherwise it will run your inserted text.

Map Terminal To

Map your terminals to each file or folder you are working on for automatic terminal switching.

File

Folder

Toggling the Auto Open a New Terminal (For Terminal Mapping) option will have the mapping create a new terminal automatically for files and folders that don't have a terminal.
The toggle is located right under the Map Terminals To option.

Commands

Command Action Default Keybind
terminus:new Create a new terminal instance. ctrl-shift-t
or
cmd-shift-t
terminus:toggle Toggle the last active terminal instance.
Note: This will create a new terminal if it needs to.
ctrl-`
Control + Backtick
terminus:prev Switch to the terminal left of the last active terminal. ctrl-shift-j
or
cmd-shift-j
terminus:next Switch to the terminal right of the last active terminal. ctrl-shift-k
or
cmd-shift-k
terminus:insert-selected-text Run the selected text as a command in the active terminal. ctrl-i
terminus:insert-text Bring up an input box for using IME and special keys. alt-shift-i
or
cmd-shift-i
terminus:fullscreen Toggle fullscreen for active terminal. ––––––––––––
terminus:close Close the active terminal. alt-shift-x
or
cmd-shift-x
terminus:close-all Close all terminals. ––––––––––––
terminus:rename Rename the active terminal. ––––––––––––

Services

The terminal v1.0.0 service is provided for other packages to interact with Terminus through Atom's services API.

The terminal service provides the following methods:

updateProcessEnv(object)

Update environment variables for any new terminals.

run(string[])

Run commands in a new terminal.

open()

Open a new terminal.

getTerminalViews()

Get the current views for all open terminals.

terminus's People

Contributors

alechp avatar anderoonies avatar barbayar avatar benphelps avatar boergens avatar dangoncalves avatar dependabot[bot] avatar dmytrokyrychuk avatar fred-barclay avatar fusion809 avatar greengremlin avatar ipaintcode avatar ivankravets avatar jeremyramin avatar jhanschoo avatar jomik avatar kingjacob avatar lgeiger avatar markoradak avatar mattlyons0 avatar mattpilott avatar mgyongyosi avatar pietrodn avatar renovate-bot avatar renovate[bot] avatar semantic-release-bot avatar the-j0k3r avatar uzitech avatar vanossj avatar yubaoquan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  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.