novaShell is a Windows terminal wrapper written in C, featuring tab autocomplete, Linux-style aliases, improved command history, and enhanced readability through colored output.
The long-term goal is to develop a standalone GUI version in C++.
| 🚀 Feature | Description |
|---|---|
| 🔹 Tab Autocomplete | Type a shortcut and press Tab to expand it into a full command. |
| 🐧 Linux Aliases | Use familiar Linux commands, automatically converted to Windows equivalents. |
| ⏳ Command History | Use arrow keys to navigate history or run nvs-history to list all. |
| 🎨 Colored Output | Improves readability of terminal responses. |
| ⚙️ Built-in Commands | Enhanced internal handling of cd, dir, and others. |
| 🧩 Customizable | Easily extend autocomplete and alias features in main.c. |
After downloading and/or compiling the software, simply run the .exe file.
A Windows terminal will open, mimicking the normal command line but with additional features like:
- Tab autocomplete for common commands
- Linux-to-Windows command aliases
- Improved command history
- Built-in
dirandcdfunctions - Colored output for better readability
To use autocomplete, type a shortcut and press Tab.
The following autocomplete shortcuts are currently implemented (more are planned):
| Shortcut | Expands To |
|---|---|
| / | // |
| v | ver |
| p | pwd |
| h | help |
| r | rmdir |
| m | move |
| c | cls |
| d | del |
| ex | explorer . |
| mk | mkdir |
| co | copy |
| ip | ipconfig |
| .. | cd .. |
| di | dir |
| sys | systeminfo |
| pingg | ping google.com |
| kill | taskkill /PID |
| Shortcut | Expands To |
|---|---|
| nvs | nvs-help |
| about | nvs-about |
| history | nvs-history |
Adding Custom Shortcuts:
To create new shortcuts, simply add them to the complete_command function in main.c.
For users accustomed to Linux commands, novaShell automatically converts certain Linux commands to their Windows counterparts.
| Linux Command | Windows Equivalent |
|---|---|
| ls | dir |
| list | dir |
| clr | cls |
| date | time |
| pwd | chdir |
Adding Custom Aliases:
To add more aliases, include them in the aliases struct in main.c.
- Use the Up/Down arrow keys to cycle through recent commands.
- Enter
nvs-historyto output all previously used commands. - Close the terminal to clear the command history.
⚡ **Advanced Usage & Customization**
- Open
main.c. - Locate the
complete_commandfunction. - Add your custom shortcut and expansion mapping.
- Open
main.c. - Locate the
aliasesstruct. - Add your custom Linux-to-Windows alias pair.
- A full C++ standalone GUI.
- Plugin support for user-defined scripts.
- Persistent command history across sessions.
- Custom color schemes.