annotate setup @ 695:26568ef0d05a

[bashrc] Use bash internal random variable
author nanaya <me@nanaya.pro>
date Sun, 23 Oct 2022 01:58:46 +0900
parents a9fbb21ab09c
children 1e0f578f6752
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
533
77c1f9e624a3 Rename prefix to `.ec.` instead of `.ecos_`.
edogawaconan <me@myconan.net>
parents: 527
diff changeset
176 _upgrade() {
77c1f9e624a3 Rename prefix to `.ec.` instead of `.ecos_`.
edogawaconan <me@myconan.net>
parents: 527
diff changeset
177 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
178 src="${HOME}/.ecos_${i}"
534
49235ac0891a A better check?
edogawaconan <me@myconan.net>
parents: 533
diff changeset
179 dst="${HOME}/.ec.${i}"
49235ac0891a A better check?
edogawaconan <me@myconan.net>
parents: 533
diff changeset
180 if test -f "${src}" || test -d "${src}" || test -h "${src}"; then
49235ac0891a A better check?
edogawaconan <me@myconan.net>
parents: 533
diff changeset
181 if test ! -f "${dst}" && test ! -d "${dst}" && test ! -h "${dst}"; then
49235ac0891a A better check?
edogawaconan <me@myconan.net>
parents: 533
diff changeset
182 _echo "Moving ${src} to ${dst}"
49235ac0891a A better check?
edogawaconan <me@myconan.net>
parents: 533
diff changeset
183 mv -f "${src}" "${dst}"
49235ac0891a A better check?
edogawaconan <me@myconan.net>
parents: 533
diff changeset
184 fi
533
77c1f9e624a3 Rename prefix to `.ec.` instead of `.ecos_`.
edogawaconan <me@myconan.net>
parents: 527
diff changeset
185 fi
77c1f9e624a3 Rename prefix to `.ec.` instead of `.ecos_`.
edogawaconan <me@myconan.net>
parents: 527
diff changeset
186 done
77c1f9e624a3 Rename prefix to `.ec.` instead of `.ecos_`.
edogawaconan <me@myconan.net>
parents: 527
diff changeset
187 }
77c1f9e624a3 Rename prefix to `.ec.` instead of `.ecos_`.
edogawaconan <me@myconan.net>
parents: 527
diff changeset
188
127
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
189 _help() {
23
738a2da8b79c Added usage information for setup script.
Edho Prima Arief <me@myconan.net>
parents: 17
diff changeset
190 cat <<EOF
738a2da8b79c Added usage information for setup script.
Edho Prima Arief <me@myconan.net>
parents: 17
diff changeset
191 Usage: ${0} [install|uninstall]
738a2da8b79c Added usage information for setup script.
Edho Prima Arief <me@myconan.net>
parents: 17
diff changeset
192 EOF
738a2da8b79c Added usage information for setup script.
Edho Prima Arief <me@myconan.net>
parents: 17
diff changeset
193 }
738a2da8b79c Added usage information for setup script.
Edho Prima Arief <me@myconan.net>
parents: 17
diff changeset
194
127
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
195 case "${1}" in
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
196 install|uninstall)
533
77c1f9e624a3 Rename prefix to `.ec.` instead of `.ecos_`.
edogawaconan <me@myconan.net>
parents: 527
diff changeset
197 _upgrade
325
795ad57794a6 [setup] Returning solaris compatibility.
Edho Arief <edho@myconan.net>
parents: 315
diff changeset
198 _tcsh "${1}"
795ad57794a6 [setup] Returning solaris compatibility.
Edho Arief <edho@myconan.net>
parents: 315
diff changeset
199 _bash "${1}"
527
cb4e2a6595ea Add ksh support.
edogawaconan <me@myconan.net>
parents: 508
diff changeset
200 _ksh "${1}"
325
795ad57794a6 [setup] Returning solaris compatibility.
Edho Arief <edho@myconan.net>
parents: 315
diff changeset
201 _zsh "${1}"
527
cb4e2a6595ea Add ksh support.
edogawaconan <me@myconan.net>
parents: 508
diff changeset
202 _rc "${1}" "shellinit-posix" ".ec.shellinit-posix"
533
77c1f9e624a3 Rename prefix to `.ec.` instead of `.ecos_`.
edogawaconan <me@myconan.net>
parents: 527
diff changeset
203 _rc "${1}" "../bin" ".ec.bin"
417
31bc186f8ed3 Sorted dotfile installation.
Edho Arief <edho@myconan.net>
parents: 416
diff changeset
204 _rc "${1}" "gemrc" ".gemrc"
356
38fad89edd55 Added gitconfig.
Edho Arief <edho@myconan.net>
parents: 338
diff changeset
205 _rc "${1}" "gitconfig" ".gitconfig"
456
e0f9a54b9dce Add global gitignore.
Edho Arief <edho@myconan.net>
parents: 425
diff changeset
206 _rc "${1}" "gitignore_global" ".gitignore_global"
332
db66d53e10ea Canonical name for configs.
Edho Arief <edho@myconan.net>
parents: 325
diff changeset
207 _rc "${1}" "hgrc" ".hgrc"
580
5a0f3d427979 Change touch function to noop when uninstalling
nanaya <me@myconan.net>
parents: 579
diff changeset
208 _touch "${1}" "${HOME}/.hgrc.local"
473
1ed4d4c449a6 Add global hgignore.
edogawaconan <me@myconan.net>
parents: 471
diff changeset
209 _rc "${1}" "hgignore_global" ".hgignore_global"
580
5a0f3d427979 Change touch function to noop when uninstalling
nanaya <me@myconan.net>
parents: 579
diff changeset
210 _touch "${1}" "${HOME}/.hgignore_global.local"
417
31bc186f8ed3 Sorted dotfile installation.
Edho Arief <edho@myconan.net>
parents: 416
diff changeset
211 _rc "${1}" "inputrc" ".inputrc"
501
072662ced8b8 Per-version tmux config.
edogawaconan <me@myconan.net>
parents: 485
diff changeset
212 _tmux "${1}"
662
f280738a90a6 [vim] vendor theme and add some more
nanaya <me@nanaya.pro>
parents: 606
diff changeset
213 _vim_x "${1}" autoload
f280738a90a6 [vim] vendor theme and add some more
nanaya <me@nanaya.pro>
parents: 606
diff changeset
214 _vim_x "${1}" colors
f280738a90a6 [vim] vendor theme and add some more
nanaya <me@nanaya.pro>
parents: 606
diff changeset
215 _vim_x "${1}" syntax
417
31bc186f8ed3 Sorted dotfile installation.
Edho Arief <edho@myconan.net>
parents: 416
diff changeset
216 _rc "${1}" "vimrc" ".vimrc"
482
20521d872fab Add irbrc to keep history of commands.
edogawaconan <me@myconan.net>
parents: 476
diff changeset
217 _rc "${1}" "irbrc" ".irbrc"
26
175848778e77 Added initial upgrade support.
Edho Prima Arief <me@myconan.net>
parents: 23
diff changeset
218 ;;
23
738a2da8b79c Added usage information for setup script.
Edho Prima Arief <me@myconan.net>
parents: 17
diff changeset
219 *)
127
a7484f2c9616 Long-overdue massive reorganization.
Edho Prima Arief <edho@myconan.net>
parents: 126
diff changeset
220 _help
23
738a2da8b79c Added usage information for setup script.
Edho Prima Arief <me@myconan.net>
parents: 17
diff changeset
221 ;;
1
ddd721f10cb8 Unified installer/uninstaller.
Edho Prima Arief <me@myconan.net>
parents:
diff changeset
222 esac