Skip to content

Repository files navigation

novaShell

C LanguageWindowsVersion
License


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

🚀 FeatureDescription
🔹 Tab AutocompleteType a shortcut and press Tab to expand it into a full command.
🐧 Linux AliasesUse familiar Linux commands, automatically converted to Windows equivalents.
Command HistoryUse arrow keys to navigate history or run nvs-history to list all.
🎨 Colored OutputImproves readability of terminal responses.
⚙️ Built-in CommandsEnhanced internal handling of cd, dir, and others.
🧩 CustomizableEasily 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

ShortcutExpands To
///
vver
ppwd
hhelp
rrmdir
mmove
ccls
ddel
exexplorer .
mkmkdir
cocopy
ipipconfig
..cd ..
didir
syssysteminfo
pinggping google.com
killtaskkill /PID

Internal

ShortcutExpands To
nvsnvs-help
aboutnvs-about
historynvs-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 CommandWindows Equivalent
lsdir
listdir
clrcls
datetime
pwdchdir

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.

About

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.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages