crun-py 0.0.5
C Programming Simplified
Requires Python: >=3.6

<p align="center">
  <img src="https://i.ibb.co/wYD0TKy/c-Run-image.png" alt="cRun-Banner"/>
</p>

## What is cRun?

cRun is a script that is meant to make compiling and running **.c** files easy for both beginners and experienced. It's designed mainly based on the use case of **students** new to C Programming

_Note: Previews here are from the original version the python version previews will be updated soon_

### Built by a rookie for the fellow rookies

I wrote this script after finding some things annoying about C Programming and being a beginner I am immature enough to make something for this purpose

### Go single or spice it up

Run a single file or multiple files one after another or maybe just get a menu with a list of all C programs in current directory all these and more with single commands.

<p align="center">
  <img src="https://i.ibb.co/hCPZSPv/Menu-Default.gif" alt="Default Menu"/>
  Default Menu
</p>
<p>&nbsp;</p>
<p align="center">
  <img src="https://i.ibb.co/NYhcD54/Single-File.gif" alt="Single File"/>
  Run a single file
</p>
<p>&nbsp;</p>
<p align="center">
  <img src="https://i.ibb.co/KzLqwF6/Multi-Compile.gif" alt="Compile Many"/>
  Compile Multiple files at once
</p>
<p>&nbsp;</p>
**There are many other options and tricks check the help message to learn more.**

### It's your choice !

Doesn't matter if you are a beginner on **Windows 10** or learning **Linux** with Ubuntu or just chilling with your **Android** Smartphone a single script is all you need I don't discriminate your choice of platform.
<p align ="center">Example on Android (from Termux)</p>
<p float="left" align ="center">
  <img src="https://i.ibb.co/WnKXX9n/Termux-Install.jpg" width="300" style="padding: 6px" />
  <img src="https://i.ibb.co/JsDtHxy/Termux.jpg" width="300" style="padding: 6px" /> 
  <img src="https://i.ibb.co/JCwzJsP/Termux-Run.jpg" width="300" style="padding: 6px" />
</p>

_Note: This version of the script will run on any platform with a python3 interpreter and gcc/clang/MinGw compiler installed_

##### Platforms supported for install
- Windows 10 (WSL)
- Windows (MinGW Needed)
- Linux
  - Debian Systems
  - Coming Soon
- Mac (Not Tested but shoul work)
- Android (Termux Only)

### No need to copy in every folder

<p align="center">
  <img src="https://i.ibb.co/zs3gNqL/Install-fresh.gif" alt="Install Once"/>
</p>

Once installed you can run the script from any directory you want. The script has a inbuilt function to copy itself to the local bin of your environment so that you can just "cRun" anywhere you want, it will appear like any other system command

### Updates are Easy AF

So you been using the script for some time and you find out there's a new version out now what to do then well just get the latest script however you wish ( Can do a quick git pull, or just use the inbuilt download option and navigate to that folder) and re run the install option it's just one command and it will handle the rest itself.

<p align="center">
  <img src="https://i.ibb.co/jkxgzVD/Update-Higher-V.gif" alt="Update Easy"/>
</p>

Every time the install option is run the script check the current directory for version of itself and will prompt the user according to the found version you can even downgrade to a previous version like this if you find some stupid bug in the latest one


## Why cRun?

C Beginners are usually on a Windows machine running Dev-C++ or even Turbo C++. Now everyone has their comfort zone but let's be honest it's **a clunky interface and experience is mediocre at the best**.

There are better IDEs out there but **very few** come with a interface to facilitate compiling and running the program directly(**Some are even paid**).

Now some out there already know that on a _Linux Environment(WSL for Windows 10 users)_ using the _gcc compiler_ to compile the file and then executing the object file from the terminal saves a lot more time and is **much more efficient**. Paired with a good code editor like Visual Studio Code, Atom, Sublime Text Editor, etc one can simply **code on the editor** and use the **terminal to compile and then run** the generated object file.

Now while this is the simplest way it still gets messy with how most of the students code on their systems. Usually we students create multiple **.c** files in the same directory and keep compiling them without providing a separate object file name not to mention the **need to type separate commands again and again** to compile and run the program.

**cRun Makes it easier to interact with all your programs in the current directory or just run a single C Program with one command**


```
Work in progress
```


### Support or Contact

Having trouble with Pages? Check out our
[documentation](https://help.github.com/categories/github-pages-basics/) or
[contact support](https://github.com/contact) and we’ll help you sort it out.