chezmoi init

This commit is contained in:
Cy Pokhrel 2024-10-22 11:11:45 -04:00
commit 530d6d7195
No known key found for this signature in database
GPG key ID: 1200FBE36C2ADE2E
1176 changed files with 111325 additions and 0 deletions

View file

@ -0,0 +1,37 @@
# Ruby Version Manager plugin
This plugin adds some utility functions and completions for [Ruby Version Manager](https://rvm.io/).
To use it, add `rvm` to the plugins array in your zshrc file:
```zsh
plugins=(... rvm)
```
## Aliases
| Alias | Command |
| ------------ | -------------------- |
| `rb18` | `rvm use ruby-1.8.7` |
| `rb19` | `rvm use ruby-1.9.3` |
| `rb20` | `rvm use ruby-2.0.0` |
| `rb21` | `rvm use ruby-2.1` |
| `rb22` | `rvm use ruby-2.2` |
| `rb23` | `rvm use ruby-2.3` |
| `rb24` | `rvm use ruby-2.4` |
| `rb25` | `rvm use ruby-2.5` |
| `rb26` | `rvm use ruby-2.6` |
| `rb27` | `rvm use ruby-2.7` |
| `rb30` | `rvm use ruby-3.0` |
| `rb31` | `rvm use ruby-3.1` |
| `rb32` | `rvm use ruby-3.2` |
| `rvm-update` | `rvm get head` |
| `gems` | `gem list` |
| `rvms` | `rvm gemset` |
## Deprecated versions
At the time of writing this (2021-12-28), Ruby versions until 2.5 are [EOL][1],
and will be removed in the future.
[1]: https://endoflife.date/ruby

View file

@ -0,0 +1,56 @@
# Completion
fpath+=("${rvm_path}/scripts/zsh/Completion")
typeset -g -A _comps
autoload -Uz _rvm
_comps[rvm]=_rvm
# Aliases
alias rubies='rvm list rubies'
alias rvms='rvm gemset'
alias gemsets='rvms list'
# rb{version} utilities
# From `rvm list known`
typeset -A rubies
rubies=(
18 'ruby-1.8.7'
19 'ruby-1.9.3'
20 'ruby-2.0.0'
21 'ruby-2.1'
22 'ruby-2.2'
23 'ruby-2.3'
24 'ruby-2.4'
25 'ruby-2.5'
26 'ruby-2.6'
27 'ruby-2.7'
30 'ruby-3.0'
31 'ruby-3.1'
32 'ruby-3.2'
)
for v in ${(k)rubies}; do
version="${rubies[$v]}"
functions[rb${v}]="rvm use ${version}\${1+"@\$1"}"
functions[_rb${v}]="compadd \$(ls -1 \"\${rvm_path}/gems\" | grep '^${version}@' | sed -e 's/^${version}@//' | awk '{print $1}')"
compdef _rb$v rb$v
done
unset rubies v version
function rvm-update {
rvm get head
}
# TODO: Make this usable w/o rvm.
function gems {
local current_ruby=`rvm-prompt i v p`
local current_gemset=`rvm-prompt g`
gem list $@ | sed -E \
-e "s/\([0-9, \.]+( .+)?\)/$fg[blue]&$reset_color/g" \
-e "s|$(echo $rvm_path)|$fg[magenta]\$rvm_path$reset_color|g" \
-e "s/$current_ruby@global/$fg[yellow]&$reset_color/g" \
-e "s/$current_ruby$current_gemset$/$fg[green]&$reset_color/g"
}