diff options
author | typebrook <typebrook@gmail.com> | 2020-02-16 01:24:59 +0800 |
---|---|---|
committer | typebrook <typebrook@gmail.com> | 2020-02-16 01:24:59 +0800 |
commit | 189b99d83c4f5911f6e3ed58f58ca1d1ce385c75 (patch) | |
tree | 331b8db2acaca68024b42e1dec47fb3d9735bb3b | |
parent | 8872aba72bda92ad8cbbe1e62e4ceda5a4cf217b (diff) |
update
-rwxr-xr-x | scripts/gist | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/scripts/gist b/scripts/gist index a4033e1..cafe44a 100755 --- a/scripts/gist +++ b/scripts/gist | |||
@@ -8,7 +8,7 @@ | |||
8 | # Description: Manage your gists with git and Github API v3 | 8 | # Description: Manage your gists with git and Github API v3 |
9 | # Usage: gist [command] [<args>] | 9 | # Usage: gist [command] [<args>] |
10 | # | 10 | # |
11 | # [star | s] List your gists with format below, star for your starred gists: | 11 | # [star | s] List your gists with format below, star for your starred gists: |
12 | # [index_of_gist] [url] [file_num] [comment_num] [short description] | 12 | # [index_of_gist] [url] [file_num] [comment_num] [short description] |
13 | # fetch, f [star | s] Update the local list of your gists, star for your starred gists | 13 | # fetch, f [star | s] Update the local list of your gists, star for your starred gists |
14 | # <index_of_gist> [--no-action] Show the path of local gist repo and do custom actions | 14 | # <index_of_gist> [--no-action] Show the path of local gist repo and do custom actions |
@@ -124,7 +124,7 @@ update() { | |||
124 | if [[ $answer == [Yy] ]]; then | 124 | if [[ $answer == [Yy] ]]; then |
125 | cd ~ || { echo 'Update Failed'; exit 1; } | 125 | cd ~ || { echo 'Update Failed'; exit 1; } |
126 | if [[ -d ~/$repositoryName ]]; then rm -r -f $repositoryName || { echo "Permissions Error: try running the update as sudo"; exit 1; } ; fi | 126 | if [[ -d ~/$repositoryName ]]; then rm -r -f $repositoryName || { echo "Permissions Error: try running the update as sudo"; exit 1; } ; fi |
127 | echo -n "Downloading latest version of: $repositoryName." | 127 | echo -n "Downloading latest version of: $repositoryName." |
128 | # shellcheck disable=SC2015 | 128 | # shellcheck disable=SC2015 |
129 | git clone -q "https://github.com/$githubUserName/$repositoryName" && touch .BSnippetsHiddenFile || { echo "Failure!"; exit 1; } & | 129 | git clone -q "https://github.com/$githubUserName/$repositoryName" && touch .BSnippetsHiddenFile || { echo "Failure!"; exit 1; } & |
130 | while [ ! -f .BSnippetsHiddenFile ]; do { echo -n "."; sleep 2; };done | 130 | while [ ! -f .BSnippetsHiddenFile ]; do { echo -n "."; sleep 2; };done |
@@ -160,7 +160,7 @@ _configure() { | |||
160 | [[ ! $2 =~ ^(true|false)$ ]] && return 1 | 160 | [[ ! $2 =~ ^(true|false)$ ]] && return 1 |
161 | fi | 161 | fi |
162 | local key=$1 && shift && local target=$key="'$*'" | 162 | local key=$1 && shift && local target=$key="'$*'" |
163 | else | 163 | else |
164 | echo "Not a valid key for configuration, use <$valid_keys> instead." | 164 | echo "Not a valid key for configuration, use <$valid_keys> instead." |
165 | return 1 | 165 | return 1 |
166 | fi | 166 | fi |
@@ -226,16 +226,16 @@ _apply_config() { | |||
226 | 226 | ||
227 | _check_repo_status() { | 227 | _check_repo_status() { |
228 | if [[ ! -d $1 ]]; then | 228 | if [[ ! -d $1 ]]; then |
229 | if [[ $auto_sync == 'true' ]]; then | 229 | if [[ $auto_sync == 'true' ]]; then |
230 | echo "\e[32m[cloning]\e[0m"; | 230 | echo "\e[32m[cloning]\e[0m"; |
231 | else | 231 | else |
232 | echo "\e[32m[Not cloned yet]\e[0m"; | 232 | echo "\e[32m[Not cloned yet]\e[0m"; |
233 | fi | 233 | fi |
234 | else | 234 | else |
235 | cd "$1" || exit | 235 | cd "$1" || exit |
236 | if [[ -n $(git status --short) ]] &>/dev/null; then | 236 | if [[ -n $(git status --short) ]] &>/dev/null; then |
237 | echo "\e[36m[working]\e[0m" | 237 | echo "\e[36m[working]\e[0m" |
238 | else | 238 | else |
239 | [[ $(_blob_code "$1") != "$2" ]] 2>/dev/null && echo "\e[31m[outdated]\e[0m" | 239 | [[ $(_blob_code "$1") != "$2" ]] 2>/dev/null && echo "\e[31m[outdated]\e[0m" |
240 | [[ -n $(git cherry) ]] 2>/dev/null && echo "\e[31m[ahead]\e[0m" | 240 | [[ -n $(git cherry) ]] 2>/dev/null && echo "\e[31m[ahead]\e[0m" |
241 | fi | 241 | fi |
@@ -245,7 +245,7 @@ _check_repo_status() { | |||
245 | # Show the list of gist, but not updated time | 245 | # Show the list of gist, but not updated time |
246 | # show username for starred gist | 246 | # show username for starred gist |
247 | _show_list() { | 247 | _show_list() { |
248 | if [[ ! -e $INDEX ]]; then | 248 | if [[ ! -e $INDEX ]]; then |
249 | echo 'No local file found for last update, please run command:' | 249 | echo 'No local file found for last update, please run command:' |
250 | echo ' gist update' | 250 | echo ' gist update' |
251 | return 0 | 251 | return 0 |
@@ -299,7 +299,7 @@ for gist in raw: | |||
299 | print(gist["comments"], end=" ") | 299 | print(gist["comments"], end=" ") |
300 | print(gist["owner"]["login"], end=" ") | 300 | print(gist["owner"]["login"], end=" ") |
301 | print(gist["description"]) | 301 | print(gist["description"]) |
302 | ' | 302 | ' |
303 | } | 303 | } |
304 | 304 | ||
305 | # TODO check if a user has no gist | 305 | # TODO check if a user has no gist |
@@ -316,7 +316,7 @@ _parse_response() { | |||
316 | } | 316 | } |
317 | 317 | ||
318 | # TODO pagnation for more than 30 gists | 318 | # TODO pagnation for more than 30 gists |
319 | # TODO add files and date of a gist | 319 | # TODO add files and date of a gist |
320 | # get latest list of gists from Github API | 320 | # get latest list of gists from Github API |
321 | _fetch_gists() { | 321 | _fetch_gists() { |
322 | echo "fetching $user's gists from $GITHUB_API..." | 322 | echo "fetching $user's gists from $GITHUB_API..." |
@@ -438,7 +438,7 @@ print("updated_at:", raw["updated_at"]) | |||
438 | print("files:") | 438 | print("files:") |
439 | for file in raw["files"].keys(): | 439 | for file in raw["files"].keys(): |
440 | print(" ", file) | 440 | print(" ", file) |
441 | ' | 441 | ' |
442 | } | 442 | } |
443 | 443 | ||
444 | # equal to jq '.[] | {user: .user.login, created_at: .created_at, updated_at: .updated_at, body: .body}' | 444 | # equal to jq '.[] | {user: .user.login, created_at: .created_at, updated_at: .updated_at, body: .body}' |
@@ -451,7 +451,7 @@ for comment in raw: | |||
451 | print("|", "created_at:", comment["created_at"]) | 451 | print("|", "created_at:", comment["created_at"]) |
452 | print("|", "updated_at:", comment["updated_at"]) | 452 | print("|", "updated_at:", comment["updated_at"]) |
453 | print("|", comment["body"]) | 453 | print("|", comment["body"]) |
454 | ' | 454 | ' |
455 | } | 455 | } |
456 | 456 | ||
457 | _show_detail() { | 457 | _show_detail() { |
@@ -542,7 +542,7 @@ _edit_gist() { | |||
542 | 542 | ||
543 | echo -n 'Type new description: ' | 543 | echo -n 'Type new description: ' |
544 | read -r DESC < /dev/tty | 544 | read -r DESC < /dev/tty |
545 | 545 | ||
546 | http_data=$(mktemp) | 546 | http_data=$(mktemp) |
547 | echo '{' \"description\": \"${$DESC//\"/\\\"}\" '}' > "$http_data" | 547 | echo '{' \"description\": \"${$DESC//\"/\\\"}\" '}' > "$http_data" |
548 | http_method PATCH "$http_data $GITHUB_API/gists/$GIST_ID" > /dev/null \ | 548 | http_method PATCH "$http_data $GITHUB_API/gists/$GIST_ID" > /dev/null \ |
@@ -596,7 +596,7 @@ case "$1" in | |||
596 | version) | 596 | version) |
597 | echo "Version $currentVersion" | 597 | echo "Version $currentVersion" |
598 | exit 0 ;; | 598 | exit 0 ;; |
599 | update) | 599 | update) |
600 | checkInternet || exit 1 | 600 | checkInternet || exit 1 |
601 | update | 601 | update |
602 | exit 0 | 602 | exit 0 |