86 lines
2.3 KiB
Bash
Executable File
86 lines
2.3 KiB
Bash
Executable File
#!/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
|