Skip to content

Commit bb39562

Browse files
committed
Merge pull request #10 from nikolay/dev
v0.2.1
2 parents 2b74872 + cf88eae commit bb39562

File tree

1 file changed

+31
-19
lines changed

1 file changed

+31
-19
lines changed

wshare.sh

Lines changed: 31 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ readonly ERR_UNSUPPORTED_OS=1
1818
readonly ERR_INVALID_USAGE=2
1919
readonly ERR_FILE_NOT_FOUND=3
2020

21-
die () {
21+
die() {
2222
local message="$1"
2323
local -i exit_code="${2:-1}"
2424

@@ -29,11 +29,23 @@ die () {
2929

3030
alias call="eval"
3131

32-
result () {
32+
clipboard_copy() {
33+
if [[ -n "$(type -t pbcopy)" ]]; then
34+
pbcopy
35+
elif [[ -n "$(type -t xsel)" ]]; then
36+
xsel --clipboard --input
37+
elif [[ -n "$(type -t xclip)" ]]; then
38+
xclip -selection clipboard
39+
else
40+
:
41+
fi
42+
}
43+
44+
result() {
3345
declare -p $* | sed "s/^declare /local /"
3446
}
3547

36-
upload () {
48+
upload() {
3749
local file="$1"
3850

3951
[[ -r "$file" ]] || die "File $file does not exist or is not accessible" $ERR_FILE_NOT_FOUND
@@ -56,7 +68,7 @@ upload () {
5668
result upload_id upload_url upload_key
5769
}
5870

59-
shorten () {
71+
shorten() {
6072
local url="$1"
6173
local -i ttl="${2:-5}"
6274

@@ -71,7 +83,7 @@ shorten () {
7183
result shorturl_url shorturl_key shorturl_ttl
7284
}
7385

74-
delete () {
86+
delete() {
7587
local file
7688
local upload_id
7789
local upload_key
@@ -98,7 +110,7 @@ delete () {
98110
rmdir "$WSHARE_HOME" 2>/dev/null || true
99111
}
100112

101-
cleanup () {
113+
cleanup() {
102114
[[ -d "$WSHARE_HOME" ]] || return
103115

104116
local ttl_dir
@@ -122,7 +134,7 @@ cleanup () {
122134
fi
123135
}
124136

125-
share () {
137+
share() {
126138
local uri="$1"
127139
local ttl="${2:-5}"
128140

@@ -141,7 +153,7 @@ share () {
141153
mkdir -p "$db_dir"
142154
local db_file="$db_dir/$upload_id"
143155
if [[ -n "$upload_key" ]]; then
144-
cat <<-EOF > "$db_file"
156+
cat > "$db_file" <<-EOF
145157
$upload_key
146158
$shorturl_url
147159
EOF
@@ -150,16 +162,16 @@ share () {
150162
fi
151163
fi
152164

153-
echo -n "$shorturl_url" | pbcopy
165+
echo -n "$shorturl_url" | clipboard_copy
154166

155167
echo "$shorturl_url"
156168
}
157169

158-
get_latest_version () {
170+
get_latest_version() {
159171
basename "$(curl -s -o /dev/null -I -w "%{redirect_url}" https://github.com/nikolay/wshare/releases/latest)"
160172
}
161173

162-
show_usage () {
174+
show_usage() {
163175
cat <<-EOF
164176
Usage: $(basename $0) COMMAND
165177
@@ -172,12 +184,12 @@ show_usage () {
172184
EOF
173185
}
174186

175-
usage () {
187+
usage() {
176188
show_usage
177189
exit $ERR_INVALID_USAGE
178190
}
179191

180-
main () {
192+
main() {
181193
[[ $# -gt 0 ]] || usage
182194

183195
local command="${1:-}"
@@ -202,32 +214,32 @@ main () {
202214
shift
203215
share "$@"
204216
;;
205-
*)
217+
(*)
206218
main --share "$@"
207219
;;
208220
esac
209221
}
210222

211-
assignment () {
223+
assignment() {
212224
local variable="${1:-}"
213225
local value="${2:-}"
214226

215227
echo "$variable=\"$value\""
216228
}
217229

218-
do_install () {
230+
do_install() {
219231
mkdir -p "$(dirname "$WSHARE_BIN")"
220232
rm -f "$WSHARE_BIN"
221233
local self="${BASH_EXECUTION_STRING:-$(curl -sL git.io/wshare)}"
222234
echo "${self/$(assignment WSHARE_VERSION)/$(assignment WSHARE_VERSION "$(get_latest_version)")}" > "$WSHARE_BIN"
223235
chmod +x "$WSHARE_BIN"
224236
}
225237

226-
check_install () {
238+
check_install() {
227239
[[ "$(type -t wshare)" == "file" ]]
228240
}
229241

230-
install () {
242+
install() {
231243
local os="$(uname)"
232244
case "$os" in
233245
(Linux | Darwin)
@@ -256,7 +268,7 @@ install () {
256268
fi
257269

258270
;;
259-
*)
271+
(*)
260272
die "Unsupported OS: $os"
261273
;;
262274
esac

0 commit comments

Comments
 (0)