UNPKG

bnash

Version:

A command-line editor for bash or compatible shells, aiming to provide great UX and productivity

63 lines (53 loc) 2.14 kB
# ToDo ## Documentation - [x] Screenshots - [x] Features - [x] Examples directory with documented customizations - [x] Copy examples to `~/.nash` upon first startup - [x] Usage - [ ] Record videos with https://asciinema.org/ - [x] Customization / Extension API - [x] Writing your own plugin (start/stop, etc) - [ ] Contribution guide - [ ] Make it visible - [x] Twitter - [ ] Blog post - [ ] Youtube walkthrough ## Installation - [x] Create npm package so it can be installed via `npm install`. ## Resiliency - [ ] Ensure default color palette / truecolor setting is good - [ ] Catch exceptions in bindings to avoid breaking the shell - [ ] Timeout for runHiddenCommand ## Prompt plugin - [x] Document agnoster prompt & place in examples dir - [ ] Make agnoster use features from default prompt - [ ] Test multi-line prompt with completion, dir history, long lines, etc. ## Completion - [x] Option completion: parse option, remove extra chars - [ ] Completion is only case insensitive while showing the menu. It should also be case insensitive when pressing tab. => Hard: `ls` command is case-sensitive. - [ ] Mouse support - Keypress module supports it - Implement in menu module - Send command '\x1b[?1005h' to enable mouse x > 95 ## History menu - [x] Discard vertical menu, use single-column table menu / scroll bar / cool background - [ ] Delete key removes line from history ## Syntax highlight - [ ] Aliases are not detected by the which command => implement via runHiddenCommand at startup (**next**) ## Inline JavaScript - [ ] Highlight JavaScript (and avoid bash parser error) - [ ] Get shell environment variables before executing JS - [ ] Embedded JS code context using 'with' - [ ] ...Or maybe just get rid of it ## Compatibility / Portability - [ ] Docker instructions for Windows - [x] GitBash support => unfeasible - [ ] Plain windows support from cmd/PowerShell. Options: - Just pseudo-tty to CMD after minor translations, e.g. $EnvVar => %EnvVar% - Interpret the bash AST tree, execute [ShellJS](https://github.com/shelljs/shelljs) when available