https://github.com/hasderhi/novashell
A Windows terminal wrapper written in C. Comes with tab autocomplete, Linux aliases and more. The goal is to create a standalone GUI in C++ for this someday.
https://github.com/hasderhi/novashell
c terminal terminal-wrapper windows windows-cmd
Last synced: 2 months ago
JSON representation
A Windows terminal wrapper written in C. Comes with tab autocomplete, Linux aliases and more. The goal is to create a standalone GUI in C++ for this someday.
- Host: GitHub
- URL: https://github.com/hasderhi/novashell
- Owner: hasderhi
- License: mit
- Created: 2025-07-20T13:21:50.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-07-20T15:39:33.000Z (12 months ago)
- Last Synced: 2025-07-20T16:27:06.692Z (12 months ago)
- Topics: c, terminal, terminal-wrapper, windows, windows-cmd
- Language: C
- Homepage: https://tk-dev-software.com/novashell
- Size: 32.2 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: license.md
Awesome Lists containing this project
README
# novaShell




---
## Overview
**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++**.
---
## Features
| 🚀 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`. |
---
## How to Use
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 `dir` and `cd` functions
- Colored output for better readability
---
## Autocomplete
To use autocomplete, type a shortcut and press `Tab`.
The following autocomplete shortcuts are currently implemented (more are planned):
### General
| 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 |
### Internal
| 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`.
---
## Aliases
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`.
---
## History
- Use the **Up/Down arrow keys** to cycle through recent commands.
- Enter `nvs-history` to output all previously used commands.
- Close the terminal to clear the command history.
---
⚡ **Advanced Usage & Customization**
### Adding New Autocomplete Shortcuts
1. Open `main.c`.
2. Locate the `complete_command` function.
3. Add your custom shortcut and expansion mapping.
### Adding New Aliases
1. Open `main.c`.
2. Locate the `aliases` struct.
3. Add your custom Linux-to-Windows alias pair.
---
### Planned Features
- A full **C++ standalone GUI**.
- **Plugin support** for user-defined scripts.
- **Persistent command history** across sessions.
- **Custom color schemes**.