X-Git-Url: https://git.josue.xyz/?a=blobdiff_plain;f=vim-go%2Finstall.sh;h=96e48fb6e44bb624d902e889cd69f63d129b1177;hb=91512157ab426c87e0a82b594620e90e324b23a3;hp=da4401b2ee2eed82adc33f8393d85649bba38ae7;hpb=85a231cc55e039a7e99a5a853a7d7ad8519fa596;p=webi-installers%2F.git diff --git a/vim-go/install.sh b/vim-go/install.sh index da4401b..96e48fb 100644 --- a/vim-go/install.sh +++ b/vim-go/install.sh @@ -1,9 +1,78 @@ #!/bin/bash -{ +function __init_vim_go() { set -e set -u + mkdir -p "$HOME/.vim/pack/plugins/start" rm -rf "$HOME/.vim/pack/plugins/start/vim-go" git clone --depth=1 https://github.com/fatih/vim-go.git "$HOME/.vim/pack/plugins/start/vim-go" + + # Install go linting tools + echo "Building go language tools..." + export GO111MODULE=on + + echo "" + + # Official Golang Tooling + echo -n "golint: " + go get golang.org/x/lint/golint@latest > /dev/null #2>/dev/null + echo -n "gopls: " + go get golang.org/x/tools/gopls@latest > /dev/null #2>/dev/null + echo -n "guru: " + go get golang.org/x/tools/cmd/guru@latest > /dev/null #2>/dev/null + echo -n "goimports: " + go get golang.org/x/tools/cmd/goimports@latest > /dev/null #2>/dev/null + echo -n "gorename: " + go get golang.org/x/tools/cmd/gorename@latest > /dev/null #2>/dev/null + echo -n "gotype: " + go get golang.org/x/tools/cmd/gotype@latest > /dev/null #2>/dev/null + + echo -n "golangci-lint: " + go get github.com/golangci/golangci-lint/cmd/golangci-lint@latest > /dev/null #2>/dev/null + + # Community Tooling + echo -n "fillstruct: " + go get github.com/davidrjenni/reftools/cmd/fillstruct@master > /dev/null #2>/dev/null + echo -n "godef: " + go get github.com/rogpeppe/godef@master > /dev/null #2>/dev/null + echo -n "motion: " + go get github.com/fatih/motion@master > /dev/null #2>/dev/null + echo -n "errcheck: " + go get github.com/kisielk/errcheck > /dev/null #2>/dev/null + echo -n "dlv: " + go get github.com/go-delve/delve/cmd/dlv@master > /dev/null #2>/dev/null + echo -n "iferr: " + go get github.com/koron/iferr@master > /dev/null #2>/dev/null + echo -n "impl: " + go get github.com/josharian/impl@master > /dev/null #2>/dev/null + echo -n "keyify: " + go get honnef.co/go/tools/cmd/keyify@master > /dev/null #2>/dev/null + echo -n "gomodifytags: " + go get github.com/fatih/gomodifytags@master > /dev/null #2>/dev/null + echo -n "asmfmt: " + go get github.com/klauspost/asmfmt/cmd/asmfmt@master > /dev/null #2>/dev/null + echo -n "gotags: " + go get github.com/jstemmer/gotags > /dev/null #2>/dev/null + + if [ -f "$HOME/.vimrc" ]; then + set +e + if ! grep 'source.*go.vim' -r ~/.vimrc; then + mkdir -p ~/.vim/plugins + printf '\n" Golang: reasonable defaults from webinstall.dev/vim-go\n' >> ~/.vimrc + printf 'source ~/.vim/plugins/go.vim\n' >> ~/.vimrc + fi + set -e + fi + + if ! [ -f "$HOME/.vim/plugins/go.vim" ]; then + mkdir -p ~/.vim/plugins + WEBI_HOST=${WEBI_HOST:-"https://webinstall.dev"} + curl -fsS -o ~/.vim/plugins/go.vim "$WEBI_HOST/packages/vim-go/go.vim" + fi + + echo 'Running :GoInstallBinaries in vim ...' + printf ':GoInstallBinaries\n:q\n' | vim -e } + +__init_vim_go