Pushing up more project docs

This commit is contained in:
Salt 2021-03-06 05:41:53 -06:00
parent 8494d0a21c
commit 3e918875be
2 changed files with 30 additions and 4 deletions

View File

@ -1,7 +1,29 @@
# proj # proj
## Usage
Invoke the script and pass the name of the project as its only non-flag argument:
```bash
proj learncpp
```
If the project exists in your project directory, it will spawn a subshell in that directory. Advanced usage and hooks are detailed below, but you can use it as a glorified `cd` if that's all you need.
## Flags
flag|description|args
---|---|---
-c|Path to a config file to load in place of the default (`~/.config/proj.conf`)|Path to config file
-h|Print basic help text|
## Configuration ## Configuration
value|type|description value|description|default
---|---|--- ---|---|---
project\_dir|string|Path to where projects should be stored. Defaults to ~/Projects git\_auto\_init|If not set to `0`, automatically initialize a git repository on project creation|`0`
git\_auto\_init\_always|If not set to `0`, automatically initialize a git repository any time you enter a project and `./.git` does not exist|`0`
git\_auto\_init\_gitignore|A colon-separated ($PATH-style) list of items to include in the initial `.gitignore`|`*.swp`
hook\_pre\_create|Path to a script invoked (not sourced) before a project is created. Script will be executed relative to `project_dir`|Empty string
hook\_pre\_spawn|Path to a script invoked (not sourced) before a shell is spawned in the project directory. Script will be executed relative to the project's root directory|Empty string
project\_dir|Path to where projects should be stored.|`$HOME/Projects`

8
proj
View File

@ -12,8 +12,12 @@ set -e
declare -r _name="$(basename -- "$0")" declare -r _name="$(basename -- "$0")"
# Options # Options
declare -a _config=( declare -a _config=(
[foo]="bar" [git_auto_init]="0"
[baz]="bop" [git_auto_init_always]="0"
[git_auto_init_gitignore]="*.swp"
[hook_pre_create]=""
[hook_pre_spawn]=""
[project_dir]="$HOME/Projects"
) )
declare _optconfigfile="${XDG_CONFIG_HOME:-$HOME/.config}/${_name}.conf" declare _optconfigfile="${XDG_CONFIG_HOME:-$HOME/.config}/${_name}.conf"
declare -i _opthelp declare -i _opthelp