#!/bin/bash toolName=vim indentDownUrl="https://www.vim.org/scripts/download_script.php?src_id=27565" seqVimConfigLoc="$HOME/.vimrc" # Get script working directory # (when called from a different directory) WDIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >>/dev/null 2>&1 && pwd)" APTOPT= CONFIG=0 SCRIPT_FILE=$(basename -- $0) SCRIPT_NAME=${SCRIPT_FILE%%.*} CONFIG_FILE_NAME="${SCRIPT_NAME}.cfg" CONFIG_FILE_TEMPLATE="$WDIR/${CONFIG_FILE_NAME}.example" seq_config() { ## or to use sequencer api with global config file: #initSeqConfig "$CONFIG_FILE_NAME" "$CONFIG_FILE_TEMPLATE" #if [ $? -eq 0 ] ; then # CONFIG=1 #else # # End if no configuration file exists # dry || return -1 #fi ## Apt cmdline option to suppress user interaction quiet && APTOPT="-y" ## Return of non zero value will abort the sequence return 0 } step_1_info() { echo "Install $toolName"; } step_1_alias() { echo "install"; } step_1() { exe apt install vim $APTOPT } step_2_info() { echo "Installing indentation script $seqVimIndentLoc"; } step_2_alias() { echo "setup"; } step_2() { if [ ! -e "$seqVimIndentLoc" ]; then exe mkdir -p $(dirname "$seqVimIndentLoc") cd $(dirname "$seqVimIndentLoc") wget --content-disposition $indentDownUrl fi info "Installing indentation rules" addConf -c "$seqVimConfigBasic" "$seqVimConfigLoc" } seqVimIndentLoc="$HOME/.vim/indent/sh.vim" seqVimConfigBasic="set t_TI= t_TE= filetype plugin indent on syntax on" step_3_info() { echo "Install editorconfig as vim 8 plugin"; } step_3_alias() { echo "editorconfig"; } step_3() { local ecDir="$HOME/.vim/pack/editorconfig/start" local ecUrl='https://github.com/editorconfig/editorconfig-vim.git' if [ ! -e "$ecDir" ]; then info "Installing editorconfig plugin" exe mkdir -p "$ecDir" exe cd "$ecDir" exe git clone "$ecUrl" else info "Upgrading editorconfig plugin" exe cd "$ecDir" exe git pull fi } step_10_info() { echo "Setup $HOME/.vimrc globaly to use spaces and indent 2"; } step_10() { info "Installing formating rules" addConf -a "$seqVimConfig" "$seqVimConfigLoc" } seqVimConfig="set expandtab set tabstop=2 set softtabstop=2 set shiftwidth=2" readonly sqr_minVersion=16 . /usr/local/bin/sequencer.sh