annotate setup @ 704:1e0f578f6752

Update vendor and add support for vim packs
author nanaya <me@nanaya.net>
date Sun, 18 Dec 2022 20:06:46 +0900
parents a9fbb21ab09c
children 500c3e9bf73f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
ddd721f10cb8 Unified installer/uninstaller.
Edho Prima Arief <me@myconan.net>
parents:
diff changeset
1 #!/bin/sh
ddd721f10cb8 Unified installer/uninstaller.
Edho Prima Arief <me@myconan.net>
parents:
diff changeset
2
404
c171c29e13f5 A bit of documentation.
Edho Arief <edho@myconan.net>
parents: 393
diff changeset
3 # This script is bourne-shell compatible.
c171c29e13f5 A bit of documentation.
Edho Arief <edho@myconan.net>
parents: 393
diff changeset
4 # Or at least it is when I last tested it in Solaris 10.
c171c29e13f5 A bit of documentation.
Edho Arief <edho@myconan.net>
parents: 393
diff changeset
5
c171c29e13f5 A bit of documentation.
Edho Arief <edho@myconan.net>
parents: 393
diff changeset
6 # Ensure no variable is empty when used.
325
795ad57794a6 [setup] Returning solaris compatibility.
Edho Arief <edho@myconan.net>
parents: 315
diff changeset
7 set -u
404
c171c29e13f5 A bit of documentation.
Edho Arief <edho@myconan.net>
parents: 393
diff changeset
8 # Stop on any error.
325
795ad57794a6 [setup] Returning solaris compatibility.
Edho Arief <edho@myconan.net>
parents: 315
diff changeset
9 set -e
795ad57794a6 [setup] Returning solaris compatibility.
Edho Arief <edho@myconan.net>
parents: 315
diff changeset
10
404
c171c29e13f5 A bit of documentation.
Edho Arief <edho@myconan.net>
parents: 393
diff changeset
11 # Get directory where this script and dotfiles are located.
c171c29e13f5 A bit of documentation.
Edho Arief <edho@myconan.net>
parents: 393
diff changeset
12 # $0 contains either full path when executed from a PATH (godwhy)
c171c29e13f5 A bit of documentation.
Edho Arief <edho@myconan.net>
parents: 393
diff changeset
13 # or with complete path or ./<scriptname> when executed that way.
c171c29e13f5 A bit of documentation.
Edho Arief <edho@myconan.net>
parents: 393
diff changeset
14 # Therefore it's safe to use dirname in this case.
127
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
15 basedir="`dirname "${0}"`"
404
c171c29e13f5 A bit of documentation.
Edho Arief <edho@myconan.net>
parents: 393
diff changeset
16
c171c29e13f5 A bit of documentation.
Edho Arief <edho@myconan.net>
parents: 393
diff changeset
17 # To get actual path, go to the directory and pwd from it.
127
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
18 cd "${basedir}"
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
19 basedir="`pwd`"
404
c171c29e13f5 A bit of documentation.
Edho Arief <edho@myconan.net>
parents: 393
diff changeset
20
c171c29e13f5 A bit of documentation.
Edho Arief <edho@myconan.net>
parents: 393
diff changeset
21 # FIXME: test existence of the directories.
c171c29e13f5 A bit of documentation.
Edho Arief <edho@myconan.net>
parents: 393
diff changeset
22 # dotfiles
127
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
23 rcdir="${basedir}/rc"
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
24
471
9af2e1cd964e Add test for $HOME writability.
edogawaconan <me@myconan.net>
parents: 467
diff changeset
25 # Make sure $HOME points somewhere and writable.
127
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
26 test -n "${HOME}" || exit 1
471
9af2e1cd964e Add test for $HOME writability.
edogawaconan <me@myconan.net>
parents: 467
diff changeset
27 test -w "${HOME}" || exit 1
127
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
28
404
c171c29e13f5 A bit of documentation.
Edho Arief <edho@myconan.net>
parents: 393
diff changeset
29 # A safe echo.
127
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
30 _echo() {
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
31 _echon "${*}"; printf "\n"
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
32 }
404
c171c29e13f5 A bit of documentation.
Edho Arief <edho@myconan.net>
parents: 393
diff changeset
33 # A safe and cross platform echo -n.
127
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
34 _echon() {
338
94d0e4826d28 Cosmetics.
Edho Arief <edho@myconan.net>
parents: 332
diff changeset
35 printf '%s' "${*}"
127
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
36 }
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
37
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
38 _tcsh() {
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
39 case "$1" in
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
40 uninstall|install)
533
77c1f9e624a3 Rename prefix to `.ec.` instead of `.ecos_`.
edogawaconan <me@myconan.net>
parents: 527
diff changeset
41 _rc "${1}" "cshrc" ".ec.tcsh"
689
a9fbb21ab09c [setup] shellcheck-ed
nanaya <me@nanaya.pro>
parents: 688
diff changeset
42 # shellcheck disable=SC2016
533
77c1f9e624a3 Rename prefix to `.ec.` instead of `.ecos_`.
edogawaconan <me@myconan.net>
parents: 527
diff changeset
43 _init "${1}" 'test -r "${HOME}/.ec.tcsh" && source "${HOME}/.ec.tcsh" #ECCORE_TCSH' ".cshrc"
689
a9fbb21ab09c [setup] shellcheck-ed
nanaya <me@nanaya.pro>
parents: 688
diff changeset
44 # shellcheck disable=SC2016
533
77c1f9e624a3 Rename prefix to `.ec.` instead of `.ecos_`.
edogawaconan <me@myconan.net>
parents: 527
diff changeset
45 _init "${1}" 'test -r "${HOME}/.ec.tcsh" && source "${HOME}/.ec.tcsh" #ECCORE_TCSH' ".tcshrc"
127
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
46 ;;
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
47 esac
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
48 }
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
49
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
50 _bash() {
338
94d0e4826d28 Cosmetics.
Edho Arief <edho@myconan.net>
parents: 332
diff changeset
51 case "${1}" in
127
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
52 uninstall|install)
533
77c1f9e624a3 Rename prefix to `.ec.` instead of `.ecos_`.
edogawaconan <me@myconan.net>
parents: 527
diff changeset
53 _rc "${1}" "bashrc" ".ec.bash"
689
a9fbb21ab09c [setup] shellcheck-ed
nanaya <me@nanaya.pro>
parents: 688
diff changeset
54 # shellcheck disable=SC2016
533
77c1f9e624a3 Rename prefix to `.ec.` instead of `.ecos_`.
edogawaconan <me@myconan.net>
parents: 527
diff changeset
55 _init "${1}" '[ -r "${HOME}/.ec.bash" ] && . "${HOME}/.ec.bash" #ECCORE_BASH' ".bash_profile"
689
a9fbb21ab09c [setup] shellcheck-ed
nanaya <me@nanaya.pro>
parents: 688
diff changeset
56 # shellcheck disable=SC2016
533
77c1f9e624a3 Rename prefix to `.ec.` instead of `.ecos_`.
edogawaconan <me@myconan.net>
parents: 527
diff changeset
57 _init "${1}" '[ -r "${HOME}/.ec.bash" ] && . "${HOME}/.ec.bash" #ECCORE_BASH' ".bashrc"
127
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
58 ;;
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
59 esac
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
60 }
1
ddd721f10cb8 Unified installer/uninstaller.
Edho Prima Arief <me@myconan.net>
parents:
diff changeset
61
527
cb4e2a6595ea Add ksh support.
edogawaconan <me@myconan.net>
parents: 508
diff changeset
62 _ksh() {
cb4e2a6595ea Add ksh support.
edogawaconan <me@myconan.net>
parents: 508
diff changeset
63 case "${1}" in
cb4e2a6595ea Add ksh support.
edogawaconan <me@myconan.net>
parents: 508
diff changeset
64 uninstall|install)
cb4e2a6595ea Add ksh support.
edogawaconan <me@myconan.net>
parents: 508
diff changeset
65 _rc "${1}" "kshrc" ".ec.ksh"
689
a9fbb21ab09c [setup] shellcheck-ed
nanaya <me@nanaya.pro>
parents: 688
diff changeset
66 # shellcheck disable=SC2016
527
cb4e2a6595ea Add ksh support.
edogawaconan <me@myconan.net>
parents: 508
diff changeset
67 _init "${1}" '[ -r "${HOME}/.ec.ksh" ] && . "${HOME}/.ec.ksh" #ECCORE_KSH' ".profile"
cb4e2a6595ea Add ksh support.
edogawaconan <me@myconan.net>
parents: 508
diff changeset
68 ;;
cb4e2a6595ea Add ksh support.
edogawaconan <me@myconan.net>
parents: 508
diff changeset
69 esac
cb4e2a6595ea Add ksh support.
edogawaconan <me@myconan.net>
parents: 508
diff changeset
70 }
cb4e2a6595ea Add ksh support.
edogawaconan <me@myconan.net>
parents: 508
diff changeset
71
127
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
72 _zsh() {
338
94d0e4826d28 Cosmetics.
Edho Arief <edho@myconan.net>
parents: 332
diff changeset
73 case "${1}" in
127
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
74 uninstall|install)
533
77c1f9e624a3 Rename prefix to `.ec.` instead of `.ecos_`.
edogawaconan <me@myconan.net>
parents: 527
diff changeset
75 _rc "${1}" "zshrc" ".ec.zsh"
689
a9fbb21ab09c [setup] shellcheck-ed
nanaya <me@nanaya.pro>
parents: 688
diff changeset
76 # shellcheck disable=SC2016
533
77c1f9e624a3 Rename prefix to `.ec.` instead of `.ecos_`.
edogawaconan <me@myconan.net>
parents: 527
diff changeset
77 _init "${1}" '[ -r "${HOME}/.ec.zsh" ] && . "${HOME}/.ec.zsh" #ECCORE_ZSH' ".zshrc"
127
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
78 ;;
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
79 esac
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
80 }
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
81
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
82 _rc() {
135
6a110770a756 A bit more sanity testing.
Edho Prima Arief <edho@myconan.net>
parents: 130
diff changeset
83 if test -z "${3}" || test -z "${2}" || test -z "${1}"; then
6a110770a756 A bit more sanity testing.
Edho Prima Arief <edho@myconan.net>
parents: 130
diff changeset
84 _echo "Invalid command."
6a110770a756 A bit more sanity testing.
Edho Prima Arief <edho@myconan.net>
parents: 130
diff changeset
85 return
6a110770a756 A bit more sanity testing.
Edho Prima Arief <edho@myconan.net>
parents: 130
diff changeset
86 fi
127
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
87 _srcfile="${rcdir}/${2}"
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
88 _dstfile="${HOME}/${3}"
325
795ad57794a6 [setup] Returning solaris compatibility.
Edho Arief <edho@myconan.net>
parents: 315
diff changeset
89 _dstdir="`_echo "${_dstfile}" | sed -e 's,^\(.*\)/[^/]*$,\1,'`"
315
c6ad8279b076 Support for solarized vim color scheme.
Edho Arief <edho@myconan.net>
parents: 246
diff changeset
90 mkdir -p "${_dstdir}"
127
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
91 if test ! -h "${_dstfile}"; then
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
92 if test -f "${_dstfile}"; then
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
93 cp "${_dstfile}" "${_dstfile}.bak"
135
6a110770a756 A bit more sanity testing.
Edho Prima Arief <edho@myconan.net>
parents: 130
diff changeset
94 _echo "${_dstfile} backed up to ${_dstfile}.bak"
127
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
95 elif test -d "${_dstfile}"; then
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
96 cp -r "${_dstfile}" "${_dstfile}.bak"
135
6a110770a756 A bit more sanity testing.
Edho Prima Arief <edho@myconan.net>
parents: 130
diff changeset
97 _echo "Directory ${_dstfile} backed up to ${_dstfile}.bak"
127
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
98 fi
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
99 fi
135
6a110770a756 A bit more sanity testing.
Edho Prima Arief <edho@myconan.net>
parents: 130
diff changeset
100 rm -rf "${_dstfile}"
127
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
101 case "${1}" in
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
102 install)
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
103 ln -fs "${_srcfile}" "${_dstfile}"
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
104 _echo "Installed ${_dstfile}"
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
105 ;;
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
106 uninstall)
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
107 _echo "Removed ${_dstfile}"
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
108 ;;
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
109 esac
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
110 }
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
111
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
112 _init() {
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
113 _script="${HOME}/${3}"
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
114 _scripttmp="${HOME}/.tmp.${3}"
325
795ad57794a6 [setup] Returning solaris compatibility.
Edho Arief <edho@myconan.net>
parents: 315
diff changeset
115 rm -f "${_scripttmp}"
127
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
116 _data="${2}"
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
117 if [ -f "${_script}" ]; then
325
795ad57794a6 [setup] Returning solaris compatibility.
Edho Arief <edho@myconan.net>
parents: 315
diff changeset
118 sed -e "/`_echo "${_data}" | sed -e 's/.*#//'`/d" "${_script}" > "${_scripttmp}"
127
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
119 mv -f "${_scripttmp}" "${_script}"
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
120 fi
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
121 case "${1}" in
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
122 install)
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
123 _echo "${_data}" >> "${_script}"
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
124 _echo "Added autostart to ${_script}"
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
125 ;;
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
126 uninstall)
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
127 _echo "Removed autostart from ${_script}"
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
128 ;;
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
129 esac
1
ddd721f10cb8 Unified installer/uninstaller.
Edho Prima Arief <me@myconan.net>
parents:
diff changeset
130 }
ddd721f10cb8 Unified installer/uninstaller.
Edho Prima Arief <me@myconan.net>
parents:
diff changeset
131
474
8c637534d6cd More informative touch.
edogawaconan <me@myconan.net>
parents: 473
diff changeset
132 _touch() {
580
5a0f3d427979 Change touch function to noop when uninstalling
nanaya <me@myconan.net>
parents: 579
diff changeset
133 test "${1}" = "uninstall" && return
5a0f3d427979 Change touch function to noop when uninstalling
nanaya <me@myconan.net>
parents: 579
diff changeset
134 shift
5a0f3d427979 Change touch function to noop when uninstalling
nanaya <me@myconan.net>
parents: 579
diff changeset
135
474
8c637534d6cd More informative touch.
edogawaconan <me@myconan.net>
parents: 473
diff changeset
136 touch "${@}"
689
a9fbb21ab09c [setup] shellcheck-ed
nanaya <me@nanaya.pro>
parents: 688
diff changeset
137 _echo "Ensured existence of ${*}"
474
8c637534d6cd More informative touch.
edogawaconan <me@myconan.net>
parents: 473
diff changeset
138 }
8c637534d6cd More informative touch.
edogawaconan <me@myconan.net>
parents: 473
diff changeset
139
501
072662ced8b8 Per-version tmux config.
edogawaconan <me@myconan.net>
parents: 485
diff changeset
140 _tmux() {
072662ced8b8 Per-version tmux config.
edogawaconan <me@myconan.net>
parents: 485
diff changeset
141 # Remove old tmux config.
072662ced8b8 Per-version tmux config.
edogawaconan <me@myconan.net>
parents: 485
diff changeset
142 _rc uninstall "tmux.conf" ".tmux.conf"
072662ced8b8 Per-version tmux config.
edogawaconan <me@myconan.net>
parents: 485
diff changeset
143 for tmux_conf in "${rcdir}/tmux-"*.conf; do
505
de5f65991cde sh doesn't have parameter expansion :(
edogawaconan <me@myconan.net>
parents: 503
diff changeset
144 tmux_conf_file="`basename "/${tmux_conf}"`"
501
072662ced8b8 Per-version tmux config.
edogawaconan <me@myconan.net>
parents: 485
diff changeset
145 _rc "${1}" "${tmux_conf_file}" ".${tmux_conf_file}"
072662ced8b8 Per-version tmux config.
edogawaconan <me@myconan.net>
parents: 485
diff changeset
146 done
072662ced8b8 Per-version tmux config.
edogawaconan <me@myconan.net>
parents: 485
diff changeset
147 }
072662ced8b8 Per-version tmux config.
edogawaconan <me@myconan.net>
parents: 485
diff changeset
148
662
f280738a90a6 [vim] vendor theme and add some more
nanaya <me@nanaya.pro>
parents: 606
diff changeset
149 _vim_x() {
579
fd416344f175 Fix uninstall message
nanaya <me@myconan.net>
parents: 572
diff changeset
150 case "${1}" in
fd416344f175 Fix uninstall message
nanaya <me@myconan.net>
parents: 572
diff changeset
151 install) _echon "Copying";;
fd416344f175 Fix uninstall message
nanaya <me@myconan.net>
parents: 572
diff changeset
152 uninstall) _echon "Removing";;
fd416344f175 Fix uninstall message
nanaya <me@myconan.net>
parents: 572
diff changeset
153 esac
662
f280738a90a6 [vim] vendor theme and add some more
nanaya <me@nanaya.pro>
parents: 606
diff changeset
154 x="${2}"
f280738a90a6 [vim] vendor theme and add some more
nanaya <me@nanaya.pro>
parents: 606
diff changeset
155 _echon " vim ${x}..."
572
a163d6875651 Vendor autoloads.
nanaya <me@myconan.net>
parents: 555
diff changeset
156
662
f280738a90a6 [vim] vendor theme and add some more
nanaya <me@nanaya.pro>
parents: 606
diff changeset
157 for i in "${basedir}/vendor/vim-${x}"/*.vim; do
f280738a90a6 [vim] vendor theme and add some more
nanaya <me@nanaya.pro>
parents: 606
diff changeset
158 file_name="`basename "/${i}"`"
f280738a90a6 [vim] vendor theme and add some more
nanaya <me@nanaya.pro>
parents: 606
diff changeset
159 _echon "[${file_name}]"
f280738a90a6 [vim] vendor theme and add some more
nanaya <me@nanaya.pro>
parents: 606
diff changeset
160 _rc "${1}" "../vendor/vim-${x}/${file_name}" ".vim/${x}/${file_name}" > /dev/null
508
bbcffc594d1e Vendor what should be vendored and add some more.
edogawaconan <me@myconan.net>
parents: 505
diff changeset
161 done
688
17cacf387f7c Update vendor
nanaya <me@nanaya.pro>
parents: 663
diff changeset
162 for d in "${basedir}/vendor/vim-${x}"/*/; do
17cacf387f7c Update vendor
nanaya <me@nanaya.pro>
parents: 663
diff changeset
163 test -d "$d" || continue
17cacf387f7c Update vendor
nanaya <me@nanaya.pro>
parents: 663
diff changeset
164 dir_name="`basename "/${d}"`"
17cacf387f7c Update vendor
nanaya <me@nanaya.pro>
parents: 663
diff changeset
165 _echon "[${dir_name}]"
17cacf387f7c Update vendor
nanaya <me@nanaya.pro>
parents: 663
diff changeset
166 mkdir -p ".vim/${x}/${dir_name}"
17cacf387f7c Update vendor
nanaya <me@nanaya.pro>
parents: 663
diff changeset
167 for i in "${d}"/*.vim; do
17cacf387f7c Update vendor
nanaya <me@nanaya.pro>
parents: 663
diff changeset
168 file_name="`basename "/${i}"`"
17cacf387f7c Update vendor
nanaya <me@nanaya.pro>
parents: 663
diff changeset
169 _echon "[${file_name}]"
17cacf387f7c Update vendor
nanaya <me@nanaya.pro>
parents: 663
diff changeset
170 _rc "${1}" "../vendor/vim-${x}/${dir_name}/${file_name}" ".vim/${x}/${dir_name}/${file_name}" > /dev/null
17cacf387f7c Update vendor
nanaya <me@nanaya.pro>
parents: 663
diff changeset
171 done
17cacf387f7c Update vendor
nanaya <me@nanaya.pro>
parents: 663
diff changeset
172 done
508
bbcffc594d1e Vendor what should be vendored and add some more.
edogawaconan <me@myconan.net>
parents: 505
diff changeset
173 _echo ...done
bbcffc594d1e Vendor what should be vendored and add some more.
edogawaconan <me@myconan.net>
parents: 505
diff changeset
174 }
bbcffc594d1e Vendor what should be vendored and add some more.
edogawaconan <me@myconan.net>
parents: 505
diff changeset
175
704
1e0f578f6752 Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents: 689
diff changeset
176 _vim_packs() {
1e0f578f6752 Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents: 689
diff changeset
177 case "${1}" in
1e0f578f6752 Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents: 689
diff changeset
178 install) _echon "Symlinking vim packs...";;
1e0f578f6752 Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents: 689
diff changeset
179 uninstall) _echon "Removing vim packs...";;
1e0f578f6752 Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents: 689
diff changeset
180 esac
1e0f578f6752 Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents: 689
diff changeset
181
1e0f578f6752 Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents: 689
diff changeset
182 for i in "${basedir}/vendor/vim-packs"/*; do
1e0f578f6752 Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents: 689
diff changeset
183 pack_name="`basename "/${i}"`"
1e0f578f6752 Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents: 689
diff changeset
184 _echon "[${pack_name}]"
1e0f578f6752 Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents: 689
diff changeset
185 _rc "${1}" "../vendor/vim-packs/${pack_name}" ".vim/pack/default/opt/${pack_name}" > /dev/null
1e0f578f6752 Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents: 689
diff changeset
186 done
1e0f578f6752 Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents: 689
diff changeset
187 }
1e0f578f6752 Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents: 689
diff changeset
188
533
77c1f9e624a3 Rename prefix to `.ec.` instead of `.ecos_`.
edogawaconan <me@myconan.net>
parents: 527
diff changeset
189 _upgrade() {
77c1f9e624a3 Rename prefix to `.ec.` instead of `.ecos_`.
edogawaconan <me@myconan.net>
parents: 527
diff changeset
190 for i in bash bash.after bash.before bin tcsh tcsh.after tcsh.before zsh zsh.after zsh.before; do
77c1f9e624a3 Rename prefix to `.ec.` instead of `.ecos_`.
edogawaconan <me@myconan.net>
parents: 527
diff changeset
191 src="${HOME}/.ecos_${i}"
534
49235ac0891a A better check?
edogawaconan <me@myconan.net>
parents: 533
diff changeset
192 dst="${HOME}/.ec.${i}"
49235ac0891a A better check?
edogawaconan <me@myconan.net>
parents: 533
diff changeset
193 if test -f "${src}" || test -d "${src}" || test -h "${src}"; then
49235ac0891a A better check?
edogawaconan <me@myconan.net>
parents: 533
diff changeset
194 if test ! -f "${dst}" && test ! -d "${dst}" && test ! -h "${dst}"; then
49235ac0891a A better check?
edogawaconan <me@myconan.net>
parents: 533
diff changeset
195 _echo "Moving ${src} to ${dst}"
49235ac0891a A better check?
edogawaconan <me@myconan.net>
parents: 533
diff changeset
196 mv -f "${src}" "${dst}"
49235ac0891a A better check?
edogawaconan <me@myconan.net>
parents: 533
diff changeset
197 fi
533
77c1f9e624a3 Rename prefix to `.ec.` instead of `.ecos_`.
edogawaconan <me@myconan.net>
parents: 527
diff changeset
198 fi
77c1f9e624a3 Rename prefix to `.ec.` instead of `.ecos_`.
edogawaconan <me@myconan.net>
parents: 527
diff changeset
199 done
77c1f9e624a3 Rename prefix to `.ec.` instead of `.ecos_`.
edogawaconan <me@myconan.net>
parents: 527
diff changeset
200 }
77c1f9e624a3 Rename prefix to `.ec.` instead of `.ecos_`.
edogawaconan <me@myconan.net>
parents: 527
diff changeset
201
127
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
202 _help() {
23
738a2da8b79c Added usage information for setup script.
Edho Prima Arief <me@myconan.net>
parents: 17
diff changeset
203 cat <<EOF
738a2da8b79c Added usage information for setup script.
Edho Prima Arief <me@myconan.net>
parents: 17
diff changeset
204 Usage: ${0} [install|uninstall]
738a2da8b79c Added usage information for setup script.
Edho Prima Arief <me@myconan.net>
parents: 17
diff changeset
205 EOF
738a2da8b79c Added usage information for setup script.
Edho Prima Arief <me@myconan.net>
parents: 17
diff changeset
206 }
738a2da8b79c Added usage information for setup script.
Edho Prima Arief <me@myconan.net>
parents: 17
diff changeset
207
127
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
208 case "${1}" in
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
209 install|uninstall)
533
77c1f9e624a3 Rename prefix to `.ec.` instead of `.ecos_`.
edogawaconan <me@myconan.net>
parents: 527
diff changeset
210 _upgrade
325
795ad57794a6 [setup] Returning solaris compatibility.
Edho Arief <edho@myconan.net>
parents: 315
diff changeset
211 _tcsh "${1}"
795ad57794a6 [setup] Returning solaris compatibility.
Edho Arief <edho@myconan.net>
parents: 315
diff changeset
212 _bash "${1}"
527
cb4e2a6595ea Add ksh support.
edogawaconan <me@myconan.net>
parents: 508
diff changeset
213 _ksh "${1}"
325
795ad57794a6 [setup] Returning solaris compatibility.
Edho Arief <edho@myconan.net>
parents: 315
diff changeset
214 _zsh "${1}"
527
cb4e2a6595ea Add ksh support.
edogawaconan <me@myconan.net>
parents: 508
diff changeset
215 _rc "${1}" "shellinit-posix" ".ec.shellinit-posix"
533
77c1f9e624a3 Rename prefix to `.ec.` instead of `.ecos_`.
edogawaconan <me@myconan.net>
parents: 527
diff changeset
216 _rc "${1}" "../bin" ".ec.bin"
417
31bc186f8ed3 Sorted dotfile installation.
Edho Arief <edho@myconan.net>
parents: 416
diff changeset
217 _rc "${1}" "gemrc" ".gemrc"
356
38fad89edd55 Added gitconfig.
Edho Arief <edho@myconan.net>
parents: 338
diff changeset
218 _rc "${1}" "gitconfig" ".gitconfig"
456
e0f9a54b9dce Add global gitignore.
Edho Arief <edho@myconan.net>
parents: 425
diff changeset
219 _rc "${1}" "gitignore_global" ".gitignore_global"
332
db66d53e10ea Canonical name for configs.
Edho Arief <edho@myconan.net>
parents: 325
diff changeset
220 _rc "${1}" "hgrc" ".hgrc"
580
5a0f3d427979 Change touch function to noop when uninstalling
nanaya <me@myconan.net>
parents: 579
diff changeset
221 _touch "${1}" "${HOME}/.hgrc.local"
473
1ed4d4c449a6 Add global hgignore.
edogawaconan <me@myconan.net>
parents: 471
diff changeset
222 _rc "${1}" "hgignore_global" ".hgignore_global"
580
5a0f3d427979 Change touch function to noop when uninstalling
nanaya <me@myconan.net>
parents: 579
diff changeset
223 _touch "${1}" "${HOME}/.hgignore_global.local"
417
31bc186f8ed3 Sorted dotfile installation.
Edho Arief <edho@myconan.net>
parents: 416
diff changeset
224 _rc "${1}" "inputrc" ".inputrc"
501
072662ced8b8 Per-version tmux config.
edogawaconan <me@myconan.net>
parents: 485
diff changeset
225 _tmux "${1}"
662
f280738a90a6 [vim] vendor theme and add some more
nanaya <me@nanaya.pro>
parents: 606
diff changeset
226 _vim_x "${1}" autoload
f280738a90a6 [vim] vendor theme and add some more
nanaya <me@nanaya.pro>
parents: 606
diff changeset
227 _vim_x "${1}" colors
f280738a90a6 [vim] vendor theme and add some more
nanaya <me@nanaya.pro>
parents: 606
diff changeset
228 _vim_x "${1}" syntax
704
1e0f578f6752 Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents: 689
diff changeset
229 _vim_packs "${1}"
417
31bc186f8ed3 Sorted dotfile installation.
Edho Arief <edho@myconan.net>
parents: 416
diff changeset
230 _rc "${1}" "vimrc" ".vimrc"
482
20521d872fab Add irbrc to keep history of commands.
edogawaconan <me@myconan.net>
parents: 476
diff changeset
231 _rc "${1}" "irbrc" ".irbrc"
26
175848778e77 Added initial upgrade support.
Edho Prima Arief <me@myconan.net>
parents: 23
diff changeset
232 ;;
23
738a2da8b79c Added usage information for setup script.
Edho Prima Arief <me@myconan.net>
parents: 17
diff changeset
233 *)
127
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
234 _help
23
738a2da8b79c Added usage information for setup script.
Edho Prima Arief <me@myconan.net>
parents: 17
diff changeset
235 ;;
1
ddd721f10cb8 Unified installer/uninstaller.
Edho Prima Arief <me@myconan.net>
parents:
diff changeset
236 esac