Update with config info

This commit is contained in:
Maxwell 2024-07-11 17:06:31 +10:00
parent 42bf0e129a
commit e33b0c8f8b

View File

@ -13,9 +13,30 @@ Mash is a shell (like sh, bash, fish, or zsh) which has been coded in Python by
* Colourful out of the box * Colourful out of the box
* Built in ls (mls) and cat (mat) * Built in ls (mls) and cat (mat)
* Cross-platform (see below for details) * Cross-platform (see below for details)
* Configurable (kind of)
## Platform support ## Platform support
Mash has been developed and tested on Arch Linux (btw), so should work as intended there. However, Mash should run anywhere so long as there is a UNIX-like filesystem, a recent version of Python 3 is installed and the `colorama` Pip package is avaliable (providing the colours). This means macOS, most Linux distros, and most UNIX-like OSes should work without too much modification. Mash has been developed and tested on Arch Linux (btw), so should work as intended there. However, Mash should run anywhere so long as there is a UNIX-like filesystem, a recent version of Python 3 is installed and the `colorama` Pip package is avaliable (providing the colours). This means macOS, most Linux distros, and most UNIX-like OSes should work without too much modification.
**However, Windows support is very hit and miss. Don't see this as a Powershell replacement.** Yes, I know Powershell and the regular Command Prompt suck, but for now don't expect good support. Running programs is tested and working, however using directories gets a bit messy due to the differences between UNIX-like and NT design. **However, Windows support is very hit and miss. Don't see this as a Powershell replacement.** Yes, I know Powershell and the regular Command Prompt suck, but for now don't expect good support. Running programs is tested and working, however using directories gets a bit messy due to the differences between UNIX-like and NT design.
## Configuration (EARLY BETA)
Mash is a "configurable" shell. You can customise some parts of it to make it your own. It uses a syntax that is sort of inspired by CSS (emphasis on the sort of), but I just coded whatever felt easiest to code.
### Writing a config file
Mash will automatically look for a config file at `(home directory)/.config/mash/mash.conf`, and if one is not found, it will copy one from `/etc/mash/mash.conf`. If neither of these exist, it crashes (for now). The syntax isn't that hard to understand, but may change in the future if I feel like it.
To write a valid line of Mash syntax, type:
`thingToConfigure:configurationOption,`
Mash looks for a colon in every word, and if it is found, that is recognised as an option for configuration. **For now, don't type a space between the colon and the next option.** After your custom option, the comma is used to signal the end of configuring that option. You can either start typing on a new line, or type **without a space** after the comma.
### Valid configuration options
* `motd:(string)`: Set your MOTD when opening Mash.
More should be added in future.