Skip to content
Snippets Groups Projects
Commit aea802c6 authored by Zsombor Szabo-Antalovszky's avatar Zsombor Szabo-Antalovszky
Browse files

Resolving Issues

parents 0cb1f2ce c0c85c53
No related branches found
No related tags found
No related merge requests found
# Nosh - A Simple Custom Shell for Windows
Nosh is a simple, customizable command-line shell designed for Windows systems. Inspired by Unix-like shells, Nosh provides a variety of basic commands and functionalities, with a few fun additions. It is meant to emulate many of the standard shell operations, as well as offer a unique user experience. This project is open-source, and you are welcome to contribute.
## Features:
`about`: Display information about the shell and its author(s).
`about --version`: Display the version of the shell.
`exit`: Exit the shell program.
`grasp`: Search through directories for files or directories. Supports:
`grasp -d <directory>`: List all files and directories in the specified directory.
`grasp -f <directory>`: (In development) Specify a file to search for, to be implemented with the pattern matching feature.
`list`: Display the contents of a directory or the current working directory.
`mkdir`: Create a new directory. Usage: `mkdir <directory_name>`
`noemi`: Draw a heart shape made of # characters
`noemi -l`: Draw a heart shape made of # characters with more delay
|
`rn (rename)`: Rename a file or directory. Usage: `rn <old_name> <new_name>`
`store`: Save content to a specified file. This could be used to store commands or data for later use.
## Installation
1. **Clone the repositiory**
```bash
git clone https://git.gvk.idi.ntnu.no/ZsomborSzaboAntalovszky/nosh.git
cd nosh
```
2. **Build the Shell**
```bash
g++ -o nosh.exe nosh.cpp
```
Assuming you have `g++` installed.
This will create an executable called `nosh.exe`.
**Run the Shell**
Once the build completes successfully, run `nosh.exe`.
## Contributing
Before contributing, please note that if you create a derivative or customized version of Nosh, you **must change the name** to avoid confusion with the original project. This helps maintain clarity and ensures proper credit to contributors.
1. Fork the repository.
2. Create a new branch (`git checkout -b feature-branch`).
3. Make your changes.
4. Commit your changes (`git commit -am 'Add new feature'`).
5. Push to the branch (`git push origin feature-branch`).
6. Open a pull request.
## License
````
MIT License
Copyright (c) 2025 Zsombor Szabó-Antalovszky
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, subject to the following conditions:
1. The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
2. Any modified version of this Software, or any software derived from this Software, **must include a name distinct from the original project name ("Nosh")** to avoid confusion with the original project.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
````
## Acknowledgements
Due to being unfamiliar to some API-s and libraries in C++, this project was developed with a heavy assistance from [ChatGPT](https://openai.com/chatgpt), whose insights and guidance were instrumental in its creation.
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment