Skip to content

SnabbGET/SnabbGET

Repository files navigation

SnabbGET 🐐

SnabbGET logo

Graphic and fast shell and chatbox in C/C++.



Cloning

Use this command to clone SnabbGET:

git clone --recurse-submodules https://github.com/SnabbGET/SnabbGET

If you forgot to clone the submodules, you can still do:

git submodule update --init --recursive

What is SnabbGET?

A video of the shell:

SnabbGET demo image

Made with Asciinema

SnabbGET is a 'guified' terminal built with love ❤ for all beginners learning how to use a terminal.

The idea of creating this kind of terminal came out because we tought that it's pretty easy to be confused using a terminal, as a beginner. This terminal makes everything easier with an user interface! We will do our best to do the most beginner-friendly & easy to use terminal.

We'll focus on OS such as Windows and Linux. No MacOS for the moment, sorry :(

You can use the SnabbGET shell or the chatbox. Same features.

Compiling

Compiling the terminal edition (CLI):

Tools required

  • Version of C++ used: C++17;
  • make (or nmake on Visual Studio) or Execute the Make.* file;
  • A C++ compiler (lld almost required on Windows: ld take some hours vs 3s for lld);
  • Python interpreter on Windows, recommended on Linux.

First use

Use this command to compile the lbraries:

make libs

Compile

The Shell:

make
./output # .exe

The chatbox:

make chatbox
./output_chatbox # .exe

Contribute

If you want to change something, you must recompile the file:

  • File in cmd? <path/to/file>.
  • utils.cpp? compile_utils.
  • utils.hpp, shell.hpp or errors.hpp? you can recompile all. Just wite make.
  • shell.cpp, errors.cpp, reader.cpp or cli.cpp? compile_shell.
  • main.cpp? compile_main.
  • chatbox.cpp? compile_chatbox.
  • You created a file, and you won't modify the Makefile? <path/to/file>
make # <your command here>
make link # or link_chatbox
./output # [_chatbox] [.exe]

Debug:

make
make run

More informaitons about the GUI version will be given soon.

FAQ & Links

You have questions about SnabbGET?

Open an issue, ask us for information, see the wiki or see our project.

You can also open a PR to contribute to this project.

Thanks

SnabbGET use the Isocline library under the MIT License, the exprtk library under the MIT License, and the library "Lohmann, N. (2022). JSON for Modern C++ (Version 3.11.2) [Computer software].".

I used and adapt torrycrass' image converter to generate the images in assets/. The image came form Pixbay.

License

SnabbGET is under the MIT License.