From 42f5af538981981a626764cd8934129e2d755cb5 Mon Sep 17 00:00:00 2001 From: Jacob Bohanon Date: Thu, 22 Sep 2022 11:35:34 -0400 Subject: [PATCH] roll own gvm due to annoyances with gvm using a separate GOPATH for each version --- nvim/init.vim | 3 +- zsh/.oh-my-zsh | 1 - zsh/config.d/go.zsh | 3 +- zsh/config.d/solo.zsh | 42 +++++++++++------------ zsh/mygvm | 80 +++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 104 insertions(+), 25 deletions(-) delete mode 160000 zsh/.oh-my-zsh create mode 100755 zsh/mygvm diff --git a/nvim/init.vim b/nvim/init.vim index 268358b..149c1e7 100644 --- a/nvim/init.vim +++ b/nvim/init.vim @@ -95,7 +95,7 @@ nnoremap fh lua require('harpoon.ui').toggle_quick_menu() nnoremap err oif err != nil {return nil, err}kkI nnoremap :GoReferrers -nnoremap q :bd +nnoremap q :bp\|bd # nnoremap w :w nnoremap n :bn nnoremap b :bp @@ -116,6 +116,7 @@ tnoremap tnoremap tnoremap tnoremap +tnoremap nnoremap ee :NvimTreeFindFileToggle nnoremap h lua require("harpoon.mark").add_file() diff --git a/zsh/.oh-my-zsh b/zsh/.oh-my-zsh deleted file mode 160000 index ed411d3..0000000 --- a/zsh/.oh-my-zsh +++ /dev/null @@ -1 +0,0 @@ -Subproject commit ed411d3ff196e32844409ebe0f8b3e21b0b1c9f6 diff --git a/zsh/config.d/go.zsh b/zsh/config.d/go.zsh index 5bfad0e..21e9496 100644 --- a/zsh/config.d/go.zsh +++ b/zsh/config.d/go.zsh @@ -1,7 +1,6 @@ # GO stuff export GOPATH="${HOME}/go" -#export GOROOT="$(brew --prefix golang)/libexec" -export GOROOT="/usr/local/go" +export GOROOT="${HOME}/.go/go" export PATH=${GOPATH}/bin:${GOROOT}/bin:$PATH export GOPRIVATE="github.com/solo-io" export ACK_GINKGO_DEPRECATIONS=1.16.5 diff --git a/zsh/config.d/solo.zsh b/zsh/config.d/solo.zsh index c1a319a..02dcaf3 100644 --- a/zsh/config.d/solo.zsh +++ b/zsh/config.d/solo.zsh @@ -1,23 +1,23 @@ # Aliases to reach different repos -alias cdsi='cd $GOPATH/src/github.com/solo-io' -alias cdg='cd $GOPATH/src/github.com/solo-io/gloo' -alias nvg='nvim $GOPATH/src/github.com/solo-io/gloo/README.md' -alias cdgf='cd $GOPATH/src/github.com/solo-io/gloo-fed' -alias nvgf='nvim $GOPATH/src/github.com/solo-io/gloo-fed/README.md' -alias cdsp='cd $GOPATH/src/github.com/solo-io/solo-projects' -alias nvsp='nvim $GOPATH/src/github.com/solo-io/solo-projects/README.md' -alias cdsa='cd $GOPATH/src/github.com/solo-io/solo-apis' -alias nvsa='nvim $GOPATH/src/github.com/solo-io/solo-apis/README.md' -alias cddp='cd $GOPATH/src/github.com/solo-io/dev-portal' -alias nvdp='nvim $GOPATH/src/github.com/solo-io/dev-portal/README.md' -alias cdgm='cd $GOPATH/src/github.com/solo-io/gloo-mesh' -alias nvgm='nvim $GOPATH/src/github.com/solo-io/gloo-mesh/README.md' -alias cdgmui='cd $GOPATH/src/github.com/solo-io/gloo-mesh-ui' -alias nvgmui='nvim $GOPATH/src/github.com/solo-io/gloo-mesh-ui/README.md' -alias cdgme='cd $GOPATH/src/github.com/solo-io/gloo-mesh-enterprise' -alias nvgme='nvim $GOPATH/src/github.com/solo-io/gloo-mesh-enterprise/README.md' -alias cdea='cd $GOPATH/src/github.com/solo-io/ext-auth-service' -alias nvea='nvim $GOPATH/src/github.com/solo-io/ext-auth-service/README.md' -alias cdrl='cd $GOPATH/src/github.com/solo-io/rate-limiter' -alias nvrl='nvim $GOPATH/src/github.com/solo-io/rate-limiter/README.md' +alias cdsi='cd $HOME/src/github.com/solo-io' +alias cdg='cd $HOME/src/github.com/solo-io/gloo' +alias nvg='nvim $HOME/src/github.com/solo-io/gloo/README.md' +alias cdgf='cd $HOME/src/github.com/solo-io/gloo-fed' +alias nvgf='nvim $HOME/src/github.com/solo-io/gloo-fed/README.md' +alias cdsp='cd $HOME/src/github.com/solo-io/solo-projects' +alias nvsp='nvim $HOME/src/github.com/solo-io/solo-projects/README.md' +alias cdsa='cd $HOME/src/github.com/solo-io/solo-apis' +alias nvsa='nvim $HOME/src/github.com/solo-io/solo-apis/README.md' +alias cddp='cd $HOME/src/github.com/solo-io/dev-portal' +alias nvdp='nvim $HOME/src/github.com/solo-io/dev-portal/README.md' +alias cdgm='cd $HOME/src/github.com/solo-io/gloo-mesh' +alias nvgm='nvim $HOME/src/github.com/solo-io/gloo-mesh/README.md' +alias cdgmui='cd $HOME/src/github.com/solo-io/gloo-mesh-ui' +alias nvgmui='nvim $HOME/src/github.com/solo-io/gloo-mesh-ui/README.md' +alias cdgme='cd $HOME/src/github.com/solo-io/gloo-mesh-enterprise' +alias nvgme='nvim $HOME/src/github.com/solo-io/gloo-mesh-enterprise/README.md' +alias cdea='cd $HOME/src/github.com/solo-io/ext-auth-service' +alias nvea='nvim $HOME/src/github.com/solo-io/ext-auth-service/README.md' +alias cdrl='cd $HOME/src/github.com/solo-io/rate-limiter' +alias nvrl='nvim $HOME/src/github.com/solo-io/rate-limiter/README.md' diff --git a/zsh/mygvm b/zsh/mygvm new file mode 100755 index 0000000..cfee1dc --- /dev/null +++ b/zsh/mygvm @@ -0,0 +1,80 @@ +#!/bin/bash + +valid='false' +exists='false' +list_versions() { + echo "valid options:" + for i in "$HOME"/.go/go1*; do basename "$i"; done + echo "" +} + +install_version() { + check_valid $1 + if [[ $valid != 'true' ]]; then + echo "invalid version $1" + echo "using" + go version + exit 1 + fi + + fname="$HOME/.go/downloads/$1.darwin-arm64.tar.gz" + + if [[ ! -f $fname ]]; then + curl -Lo $fname https://dl.google.com/go/$1.darwin-arm64.tar.gz + fi + cd $HOME/.go/downloads + tar -zxf $1.darwin-arm64.tar.gz + mv go/ ../$1 + check_exists $1 + link_version $1 +} + +link_version() { + if [[ $exists == 'true' ]]; then + ln -sfn $HOME/.go/$1 $HOME/.go/go + fi +} + +check_valid() { + if [[ $1 =~ go1\.[0-9]{1,2}\.[0-9]{1,2} ]]; then + valid='true' + fi +} +check_exists() { + if [[ -d $HOME/.go/$1 ]]; then + exists='true' + fi +} + +check_exists $1 +if [[ $1 == '' ]]; then + list_versions + echo "using" + go version + exit 1 +elif [[ $1 == 'install' ]]; then + install_version $2 +elif [[ $exists == 'true' ]]; then + link_version $1 +else + echo "$1 not found in $HOME/.go" + list_versions + check_valid $1 + + if [[ $valid == 'true' ]]; then + echo "attempt to download and install? [y/n]" + read input + if [[ $input == 'y' ]]; then + install_version $1 + fi + else + echo "invalid version $1" + echo "using" + go version + exit 1 + fi +fi + +echo "using" +go version +