30 lines
1.3 KiB
Markdown
30 lines
1.3 KiB
Markdown
# 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
|
|
|
|
value|description|default
|
|
---|---|---
|
|
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`
|