Giter Site home page Giter Site logo

n_shell's People

Contributors

jessiefrance avatar nfischer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

jessiefrance

n_shell's Issues

Add an option to show the shelljs version in the prompt

Let's add an option to modify the prompt to look like:

shelljs v0.6.0 $

Also, we can have an option to do a custom prompt (like Bash's PS1 variable). One of the options could be version number. So it would mean that the default prompt looks something like --prompt='shelljs $ ' and the version-number prompt like --prompt='shelljs %v $ '

Add unit tests and linting

It'd be nice to reuse some of the tests written for n_, which uses the mocha framework and jshint.

If anyone is interested in taking up a PR for this (which would be awesome!), please ping this thread to give me a heads up. This is pretty low on my priority list, but if you'd like to see unit tests to improve project stability, please let me know.

Update shelljs-plugin deps

The shelljs plugins are outdated, and they cause a conflict with newer shelljs versions.

Also, shelljs probably shouldn't be a * dependency

[ feature ] Tab completion

This is a feature idea I have right now, for how to make this more usable. I'd like to see tab completion, not only for variables, but also for strings representing paths on the file system (similar to how Bash works by default).

$ ls()
foo.txt
bar.txt
baz.txt
$ cat('b➡️
$ cat('bar.txt'➡️
$ cat('baz.txt');
this is the context of baz.txt

The ➡️ denotes when I would press tab. Tab completion would happen in-place, not on a new line, but it was easier to show my idea this way.

It'd be even better if tab completion worked on other paths, such as cat('~/.bas➡️ ➡️ cat('~/.bashrc');.

Node v12 REPL's function preview interacts poorly with shelljs

It looks like node v12's REPL will run javascript code as you type it into the console. This has some annoying interactions with shelljs commands though because:

  1. these have side effects (ex. shell.clear() clears the console)
  2. n_shell has a feature to execute commands without typing parentheses (ex. ls<CR> is the same as ls()<CR>)

These combine to make for a really unpleasant user experience. Ex. typing touch (without pressing enter) will cause touch() to be eagerly executed by the REPL preview, which outputs an error (touch: no files given).

Maybe we should just disable the feature referenced in (2) and require parentheses. For some reason the node REPL won't show the preview for ls(), only for ls.

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.