#!/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" step_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 -eq 0 ] && return -1 #fi ## Apt cmdline option to suppress user interaction [ $QUIET -ne 0 ] && APTOPT="-y" ## Return of non zero value will abort the sequence return 0 } step_1_info() { echo "Install $toolName"; } step_1_alias() { ALIAS="install"; } step_1() { exe apt install vim $APTOPT } step_2_info() { echo "Installing indentation script $seqVimIndentLoc"; } step_2_alias() { ALIAS="setup"; } step_2() { if [ ! -e "$seqVimIndentLoc" ]; then exe mkdir -p $(dirname "$seqVimIndentLoc") cd $(dirname "$seqVimIndentLoc") wget --content-disposition $indentDownUrl fi echoseq " [I] 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() { ALIAS="editorconfig"; } step_3() { local ecDir="$HOME/.vim/pack/editorconfig/start" local ecUrl='https://github.com/editorconfig/editorconfig-vim.git' if [ ! -e "$ecDir" ]; then echoseq " [I] Installing editorconfig plugin" exe mkdir -p "$ecDir" exe cd "$ecDir" exe git clone "$ecUrl" else echoseq " [I] 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() { echoseq " [I] Installing formating rules" addConf -a "$seqVimConfig" "$seqVimConfigLoc" } seqVimConfig="set expandtab set tabstop=2 set softtabstop=2 set shiftwidth=2" VERSION_SEQREV=15 . /usr/local/bin/sequencer.sh