Git Product home page Git Product logo

upterm's Introduction

Join the chat at https://gitter.im/railsware/upterm Build Status

Deprecated

Upterm is deprecated. Project had lost maintainer and have zero activity to support it from community (only issues was created in repo).

I am no longer accepting pull requests and issues.

I recomended to check Hyper instead.

What Is It?

Upterm is looking for maintainers

Upterm (formerly Black Screen) is an IDE in the world of terminals. Strictly speaking, it's both a terminal emulator and an interactive shell based on Electron.

Autocompletion

Upterm shows the autocompletion box as you type and tries to be smart about what to suggest. Often you can find useful additional information on the right side of the autocompletion, e.g. expanded alias value, command descriptions, value of the previous directory (cd -), etc.

Compatibility

All command-line programs (including emacs, ssh and vim) should work as expected. If you experience any glitches, please create an issue.

Install

MacOS
brew cask install upterm

Beware that the version in Homebrew might be outdated. Visit the releases page to download the latest version.

Linux (Arch Linux)
yaourt -S upterm

As with macOS's brew install, the AUR may also be outdated. To install the latest version, refer to the install guide for Linux (Others).

Linux (Others)
  • Download and open the AppImage file from the releases page.
Windows

Windows is not officially supported at the moment. The Windows Support Issue explains potential experimental support.

Technologies

More Screenshots

Development Setup

git clone https://github.com/railsware/upterm.git && cd upterm
npm start

Instructions are available for debugging the application in Visual Studio Code.

To create a standalone application, execute npm run pack in the project directory.

Contributing

See Contributing Guide.

License

The MIT License.

upterm's People

Contributors

bananu7 avatar bmats avatar drew-gross avatar ekaragodin avatar fabricionaweb avatar g07cha avatar ghosind avatar greenkeeperio-bot avatar gregolsen avatar iiegor avatar islandman93 avatar ivarshavets avatar j-em avatar kevinschaich avatar le0pard avatar lsindra avatar marnen avatar mkenne11 avatar moollaza avatar nblackburn avatar notslang avatar noygal avatar pavgup avatar qaisjp avatar rebornix avatar robertoua avatar shockone avatar tanishq-dubey avatar vlad-shatskyi avatar zacanger 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  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  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  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

upterm's Issues

Set up Docker

  • Create a container which would have everything required for running specs and create an npm script npm test (see package.json for other scripts) to run those specs.
  • Create a container which would have everything set up for new contributors to start working on the project. The goal is to make setup as easy as possible.

Compile Typescript Before Running Tests

The current test task looks like this:

gulp.task('test', function () {
    return gulp.src(options.test.source)
        .pipe($.typescript(options.typeScript.config))
        .pipe(gulp.dest(options.test.target))
        .pipe($.mocha());
});

It works, but I have to compile TypeScript beforehand. I'd like the compilation to be a part of this task, but when I add it:

gulp.task('test', ['typescript'], function () {
    return gulp.src(options.test.source)
        .pipe($.typescript(options.typeScript.config))
        .pipe(gulp.dest(options.test.target))
        .pipe($.mocha());
});

the task fails with a very strange error

[20:28:07] Using gulpfile ~/dev/black-screen/gulpfile.js
[20:28:07] Starting 'typescript'...
[20:28:09] gulp-notify: [Black Screen Watcher] TypeScript has been compiled.
[20:28:09] Finished 'typescript' after 1.67 s
[20:28:09] Starting 'test'...
Could not find input file /Users/me/dev/black-screen/test/src/History.ts. This is probably an issue of gulp-typescript.
Please report it at https://github.com/ivogabe/gulp-typescript/issues
Debug information:
sourceRoot = "/Users/me/dev/black-screen/test/"
sources = ["src/History.ts"]
Could not find input file /Users/me/dev/black-screen/test/test/history_test.ts. This is probably an issue of gulp-typescript.
Please report it at https://github.com/ivogabe/gulp-typescript/issues
Debug information:
sourceRoot = "/Users/me/dev/black-screen/test/"
sources = ["test/history_test.ts"]
Could not find input file /Users/me/dev/black-screen/test/test/________________empty.ts. This is probably an issue of gulp-typescript.
Please report it at https://github.com/ivogabe/gulp-typescript/issues
Debug information:
sourceRoot = "/Users/me/dev/black-screen/test/"
sources = ["test/________________empty.ts"]


  0 passing (0ms)

[20:28:10] Finished 'test' after 1.18 s

Although, if to run the tasks sequentually (the version of test should be without the dependency) everything works fine.

$ gulp typescript
$ gulp test

No Windows Support - should mention in README.md

๐Ÿ˜ข The installer doesn't work on Windows:

C:\Users\Benjamin\src\black-screen [master]
ฮป npm run install-all

> [email protected] install-all C:\Users\Benjamin\src\black-screen
> PATH=node_modules/.bin:$PATH rm -rf node_modules && npm install && bower install && npm run rebuild-pty

'npm' is not recognized as an internal or external command,
operable program or batch file.

npm ERR! Windows_NT 6.3.9600
npm ERR! argv "node" "C:\\Users\\Benjamin\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js" "run" "install-all"
npm ERR! node v0.12.4
npm ERR! npm  v2.14.2
npm ERR! code ELIFECYCLE
npm ERR! [email protected] install-all: `PATH=node_modules/.bin:$PATH rm -rf node_modules && npm install && bower install && npm run rebuild-pty`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install-all script 'PATH=node_modules/.bin:$PATH rm -rf node_modules && npm install && bower install && npm run rebuild-pty'.
npm ERR! This is most likely a problem with the black-screen package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     PATH=node_modules/.bin:$PATH rm -rf node_modules && npm install && bower install && npm run rebuild-pty
npm ERR! You can get their info via:
npm ERR!     npm owner ls black-screen
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     C:\Users\Benjamin\src\black-screen\npm-debug.log

I presume this to mean that Windows support isn't even a thing. That's all fine and good; project owners do what they want. However, it would have been helpful to me to have a blurb in the README that would have prevented me from getting my hopes up :-)

"TypeError: undefined is not a function" in typescript lib.

I get this error on mac os 10.10.5, npm 2.14.2, node v0.12.7.

black-screen version 7b11841.

$ npm run install-all
...
# No errors.

$ gulp
[17:35:09] Using gulpfile ~/black-screen/gulpfile.js
[17:35:09] Starting 'default'...
[17:35:09] Starting 'watch'...
[17:35:09] Starting 'clean'...
[17:35:09] Finished 'default' after 359 ms
[17:35:09] Finished 'clean' after 58 ms
[17:35:09] Starting 'typescript'...
[17:35:09] Starting 'sass'...
[17:35:10] Starting 'react'...
[17:35:11] gulp-notify: [Black Screen Watcher] React has been compiled.
[17:35:11] Finished 'react' after 1.83 s
/Users/agkish/black-screen/node_modules/typescript/lib/typescript.js:35171
            if (host.fileExists(fileName)) {
                     ^
TypeError: undefined is not a function
    at tryLoad (/Users/agkish/black-screen/node_modules/typescript/lib/typescript.js:35171:22)
    at loadNodeModuleFromFile (/Users/agkish/black-screen/node_modules/typescript/lib/typescript.js:35164:20)
    at loadModuleFromNodeModules (/Users/agkish/black-screen/node_modules/typescript/lib/typescript.js:35213:30)
    at nodeModuleNameResolver (/Users/agkish/black-screen/node_modules/typescript/lib/typescript.js:35158:20)
    at resolveModuleName (/Users/agkish/black-screen/node_modules/typescript/lib/typescript.js:35140:41)
    at /Users/agkish/black-screen/node_modules/typescript/lib/typescript.js:35417:113
    at Object.map (/Users/agkish/black-screen/node_modules/typescript/lib/typescript.js:945:29)
    at resolveModuleNamesWorker (/Users/agkish/black-screen/node_modules/typescript/lib/typescript.js:35417:65)
    at processImportedModules (/Users/agkish/black-screen/node_modules/typescript/lib/typescript.js:35833:35)
    at findSourceFile (/Users/agkish/black-screen/node_modules/typescript/lib/typescript.js:35795:21)

app showing a white screen with a '1'

I cloned the project, ran npm run install-all and npm run package and after install the app, this is what I see

screen shot 2015-09-06 at 12 59 35

I'm running OSX Yosemite 10.10.5 with npm 2.12.1

The packaged version doesn't read PATH

Extracting @alebcay's comment as a separate issue.

I'm also getting some other weird stuff with ls coloring and formatting. This is what I get when I run it through gulp - everything works the way it should:

q4ysyk9

but then, when I do npm run package and run it from the standalone app bundle, I get this:

af2jiml

It seems that the gulp version is reading my path - which ls returns my ls that I installed from MacPorts. However, the standalone doesn't seem to do that, and is instead using /bin/ls. Even so, I still can't figure out why it's only outputting the first line out output with /bin/ls (it only shows "Applications", nothing else).

clear don't work && vim going crazy

the simple clear command don't work, and vim goning crazy!

vim don't recognize direction command and also don't show menu and other plugin installed.

os => osx ElCapitan beta6

Selecting different command in dropdown list

Steps to reproduce

  1. mkdir testfolder
  2. rm -r testfolder
  3. Start typing rm -r testfolder
  4. Select mkdir testfolder from dropdown list by hitting Enter key

Actual Result: rm: formated: No such file or directory
Expected Result: Create folder

OS X: 10.10.5
Commit: cf88802

Quake-style dropdown feature

I understand this is not a feature that's implemented easily but please consider adding quake-style dropdown support in the future.

ls command show unformatted text

This is how ls command looks in Black Screen
screen shot 2015-09-07 at 9 52 01 am
And this is how same command looks in Term2(Default Terminal also displays same)
screen shot 2015-09-07 at 9 52 14 am

As you can see no formating provided currently.

App builded using npm run package
OS X: 10.10.5
Commit: cf88802

terminal not rendered

[73809:0905/232202:INFO:CONSOLE(336)] "Uncaught Error: Cannot find module '/Users/me/dev/black-screen/compiled/src/views/TerminalLayout'", source: module.js (336)

Pass vttest

http://www.columbia.edu/kermit/vttest.html

Cursor movements
  • Movements box (80 columns)
  • Movements box (132 columns)
  • Movements wrap (80 columns)
  • Movements wrap (132 columns)
  • Movements cursor-controls in ESC sequences
  • Movements leading zeros in ESC sequences

Improve the Build Process

  • Build with io.js. #27
  • Ensure npm run package isn't platform dependent. #57
  • Read user's PATH. #50
  • Do not include live reload into the build. #32
  • Automatically create a binary on push. #28
  • Try to concatenate all the files for shorter start time. #193
  • Make it work on Linux. #49
  • Replace the child_pty Library with pty.js. #83
  • Create homebrew cask for easy installation on Mac #77

Features list

Be cool to have a list of features that set this apart from your average terminal.

`npm run package` should build for all the platforms

Currently the package script

rm -rf '/Applications/Black Screen.app'; electron-packager . 'Black Screen' --platform=darwin --arch=x64 --version='0.30.0' --out='/Applications' --icon='./icon.icns'

is very platform dependent.

Perhaps, it's worth looking into how Atom or other Electron projects are being packaged.

Use a persistent shell instead of spawning new commands

I was working on adding the ability to call zsh functions when I noticed that each time a command is run a new process is created rather than sending text to additional shell.

One of the functions I use all the time is autojump. But unfortunately it isn't much use in black screen because spinning up a new zsh instance and changing directories there doesn't really help. I also noticed this current design prevents settings variables and using them in later commands.

I'm just getting familiar with the code base and so I may be misunderstanding. I'm also sure that there is a good reason for the current way it is done. But just wanted to get discussion started around the topic.

Again, love the idea and seems so far to be a really well made project.

Build Automation - Continuous Integration - Delivery

Working Tasks for implementation of CI & CD

Tools

CI & CD Platform ( In order of viability imho )
  • Travis CI
Build Automation
  • Gulp Build Automation
Unit Test / Coverage
  • Chai Execution in Travis
  • Mocha Execution in Travis
Code Coverage
  • Codecov Implementation

Requirements

Pull Request Validation
  • Clean Build
  • Passing Unit Tests
  • Clean Static Code Analysis
Release Validation
  • Pull Request Validation + Packaging Validation of supported platforms
  • Further requrements T.B.D.
Versioning
Release Planning
  • Waffle.io
Docker Build
Homebrew Support
Package Distribution
  • Alpha Builds - Binary packages added to tagged GitHub Release

Continuous Delivery Stages

T.B.D. Based on CI Platform and desired tooling

Linux support

Though Linux isn't supported yet. I think we need to pay attention to it.

For Debian based distros:

The upstream name for the Node.js interpreter command is "node".
In Debian the interpreter command has been changed to "nodejs".

This was done to prevent a namespace collision: other commands use
the same name in their upstreams, such as ax25-node from the "node"
package.

Scripts calling Node.js as a shell command must be changed to instead
use the "nodejs" command.

This could take it one step closer to Linux compatibility.

A new branch might be needed because Windows, OS X and other linux distros use 'node' for this. Kinda frustrating. Debian is after all a popular distribution with several different flavors.

I wonder if you can use an if condition to handle this?

trying to install

[05:26:58] Starting 'typescript'...
[05:26:59] Starting 'sass'...
[05:26:59] Starting 'react'...
[05:27:00] gulp-notify: [Black Screen Watcher] React has been compiled.
[05:27:01] Finished 'react' after 1.87 s
/Users/rudix/Desktop/black-screen/node_modules/typescript/lib/typescript.js:35171
if (host.fileExists(fileName)) {
^
TypeError: undefined is not a function

npm run install-all doesn't work

npm-debug.log

0 info it worked if it ends with ok
1 verbose cli [ '/Users/roberto/.nvm/versions/io.js/v1.8.1/bin/iojs',
1 verbose cli   '/Users/roberto/.nvm/versions/io.js/v1.8.1/bin/npm',
1 verbose cli   'run',
1 verbose cli   'install-all' ]
2 info using npm@2.8.3
3 info using node@v1.8.1
4 verbose run-script [ 'preinstall-all', 'install-all', 'postinstall-all' ]
5 info preinstall-all black-screen@0.0.1
6 info install-all black-screen@0.0.1
7 verbose unsafe-perm in lifecycle true
8 info black-screen@0.0.1 Failed to exec install-all script
9 verbose stack Error: black-screen@0.0.1 install-all: `npm install && npm run install-native && npm run cleanup`
9 verbose stack Exit status 1
9 verbose stack     at EventEmitter.<anonymous> (/Users/roberto/.nvm/versions/io.js/v1.8.1/lib/node_modules/npm/lib/utils/lifecycle.js:213:16)
9 verbose stack     at emitTwo (events.js:87:13)
9 verbose stack     at EventEmitter.emit (events.js:169:7)
9 verbose stack     at ChildProcess.<anonymous> (/Users/roberto/.nvm/versions/io.js/v1.8.1/lib/node_modules/npm/lib/utils/spawn.js:24:14)
9 verbose stack     at emitTwo (events.js:87:13)
9 verbose stack     at ChildProcess.emit (events.js:169:7)
9 verbose stack     at maybeClose (child_process.js:953:16)
9 verbose stack     at Process.ChildProcess._handle.onexit (child_process.js:1020:5)
10 verbose pkgid black-screen@0.0.1
11 verbose cwd /Users/roberto/workspace/black-screen
12 error Darwin 14.3.0
13 error argv "/Users/roberto/.nvm/versions/io.js/v1.8.1/bin/iojs" "/Users/roberto/.nvm/versions/io.js/v1.8.1/bin/npm" "run" "install-all"
14 error node v1.8.1
15 error npm  v2.8.3
16 error code ELIFECYCLE
17 error black-screen@0.0.1 install-all: `npm install && npm run install-native && npm run cleanup`
17 error Exit status 1
18 error Failed at the black-screen@0.0.1 install-all script 'npm install && npm run install-native && npm run cleanup'.
18 error This is most likely a problem with the black-screen package,
18 error not with npm itself.
18 error Tell the author that this fails on your system:
18 error     npm install && npm run install-native && npm run cleanup
18 error You can get their info via:
18 error     npm owner ls black-screen
18 error There is likely additional logging output above.
19 verbose exit [ 1, true ]

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.