- Screenshots
- Features
- Examples directory with documented customizations
- Copy examples to
~/.nash
upon first startup - Usage
- Record videos with https://asciinema.org/
- Customization / Extension API
- Writing your own plugin (start/stop, etc)
- Contribution guide
- Make it visible
- Blog post
- Youtube walkthrough
- Create npm package so it can be installed via
npm install
.
- Ensure default color palette / truecolor setting is good
- Catch exceptions in bindings to avoid breaking the shell
- Timeout for runHiddenCommand
- 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.
- 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
- Discard vertical menu, use single-column table menu / scroll bar / cool background
- Delete key removes line from history
- Aliases are not detected by the which command => implement via runHiddenCommand at startup (next)
- 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
- Docker instructions for Windows
- 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 when available