feat(perl): add perlbrew
auto activation (#12814)
Co-authored-by: Carlo Sala <carlosalag@protonmail.com>
This commit is contained in:
parent
501f29f90c
commit
9a0e22c184
2 changed files with 32 additions and 17 deletions
|
@ -8,10 +8,16 @@ To use it, add `perl` to the plugins array in your zshrc file:
|
||||||
plugins=(... perl)
|
plugins=(... perl)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Perlbrew activation
|
||||||
|
|
||||||
|
If the plugin detects that `perlbrew` hasn't been activated, yet there is an installation of it in
|
||||||
|
`$PERLBREW_ROOT`, it'll initialize by default. To avoid this behaviour, set `ZSH_PERLBREW_ACTIVATE=false`
|
||||||
|
before `source oh-my-zsh.sh` in your zshrc.
|
||||||
|
|
||||||
## Aliases
|
## Aliases
|
||||||
|
|
||||||
| Aliases | Command | Description |
|
| Aliases | Command | Description |
|
||||||
| :------------ | :----------------- | :------------------------------------- |
|
| :---------- | :----------------- | :------------------------------------- |
|
||||||
| pbi | `perlbrew install` | Install specific perl version |
|
| pbi | `perlbrew install` | Install specific perl version |
|
||||||
| pbl | `perlbrew list` | List all perl version installed |
|
| pbl | `perlbrew list` | List all perl version installed |
|
||||||
| pbo | `perlbrew off` | Go back to the system perl |
|
| pbo | `perlbrew off` | Go back to the system perl |
|
||||||
|
@ -23,15 +29,15 @@ plugins=(... perl)
|
||||||
|
|
||||||
## Functions
|
## Functions
|
||||||
|
|
||||||
* `newpl`: creates a basic Perl script file and opens it with $EDITOR.
|
- `newpl`: creates a basic Perl script file and opens it with $EDITOR.
|
||||||
|
|
||||||
* `pgs`: Perl Global Substitution: `pgs <find_pattern> <replace_pattern> <filename>`
|
- `pgs`: Perl Global Substitution: `pgs <find_pattern> <replace_pattern> <filename>` Looks for
|
||||||
Looks for `<find_pattern>` and replaces it with `<replace_pattern>` in `<filename>`.
|
`<find_pattern>` and replaces it with `<replace_pattern>` in `<filename>`.
|
||||||
|
|
||||||
* `prep`: Perl grep, because 'grep -P' is terrible: `prep <pattern> [<filename>]`
|
- `prep`: Perl grep, because 'grep -P' is terrible: `prep <pattern> [<filename>]` Lets you work with pipes or
|
||||||
Lets you work with pipes or files (if no `<filename>` provided, use stdin).
|
files (if no `<filename>` provided, use stdin).
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
In order to make this work, you will need to have perl installed.
|
In order to make this work, you will need to have perl installed. More info on the usage and install:
|
||||||
More info on the usage and install: https://www.perl.org/get.html
|
https://www.perl.org/get.html
|
||||||
|
|
|
@ -54,3 +54,12 @@ pgs() { # [find] [replace] [filename]
|
||||||
prep() { # [pattern] [filename unless STDOUT]
|
prep() { # [pattern] [filename unless STDOUT]
|
||||||
perl -nle 'print if /'"$1"'/;' $2
|
perl -nle 'print if /'"$1"'/;' $2
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# If the 'perlbrew' function isn't defined, perlbrew isn't setup.
|
||||||
|
if [[ $ZSH_PERLBREW_ACTIVATE != false ]] && (( ! $+functions[perlbrew] )); then
|
||||||
|
local _perlbrew="${PERLBREW_ROOT:-${HOME}/perl5/perlbrew}"
|
||||||
|
if [[ -f "${_perlbrew}/etc/bashrc" ]]; then
|
||||||
|
source "${_perlbrew}/etc/bashrc"
|
||||||
|
fi
|
||||||
|
unset _perlbrew
|
||||||
|
fi
|
||||||
|
|
Loading…
Reference in a new issue