summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authortypebrook <typebrook@gmail.com>2020-02-05 15:41:10 +0800
committertypebrook <typebrook@gmail.com>2020-02-05 15:41:10 +0800
commit9ac72104cfdeb081a123db1e3ae4b4997ade6760 (patch)
treebaf7fcaf27ce62c308fb1de3aeedc841dd14f271
parentc99937847f1f7e2abd742326e3263ee1fe54885e (diff)
update
-rwxr-xr-xscripts/gist18
1 files changed, 13 insertions, 5 deletions
diff --git a/scripts/gist b/scripts/gist
index f7933e1..e52d98f 100755
--- a/scripts/gist
+++ b/scripts/gist
@@ -20,16 +20,16 @@
20# clean, C clean removed gists in local 20# clean, C clean removed gists in local
21# config, c [token | user | folder | auto-sync | EDITOR | action [value] ] do configuration 21# config, c [token | user | folder | auto-sync | EDITOR | action [value] ] do configuration
22# user, U <user> get gists from a given Github user 22# user, U <user> get gists from a given Github user
23# grep, g <pattern> grep gists by a given pattern
23# help, h show this help message 24# help, h show this help message
24# 25#
25# Example: 26# Example:
26# gist (Show your gists) 27# gist (Show your gists)
27# gist 3 (show the repo path of your 3rd gist, and do custom actions) 28# gist 3 (show the repo path of your 3rd gist, and do custom actions)
28# 29#
29# Since now a gist is a local cloned repo 30# Since now a gist is a local cloned repo
30# It is your business to do git commit and git push 31# It is your business to do git commit and git push
31 32
32# TODO grep mode for description, file content
33# TODO push github.com (may need new token) 33# TODO push github.com (may need new token)
34# TODO unit test 34# TODO unit test
35# TODO test on bats, mac and remote machine 35# TODO test on bats, mac and remote machine
@@ -164,7 +164,7 @@ _show_list() {
164 echo ' gist update' 164 echo ' gist update'
165 return 0 165 return 0
166 fi 166 fi
167 local filter='/^ *s/ d; /^$/ d' 167 [[ -z $1 ]] && filter='/^ *s/ d; /^$/ d'
168 [[ $1 == "s" ]] && filter='/^ *[^ s]/ d; /^$/ d' 168 [[ $1 == "s" ]] && filter='/^ *[^ s]/ d; /^$/ d'
169 169
170 while read index link blob_code file_num extra author description; do 170 while read index link blob_code file_num extra author description; do
@@ -185,6 +185,11 @@ _show_list() {
185 echo -e '\nrun "gist help" for more details' > /dev/tty 185 echo -e '\nrun "gist help" for more details' > /dev/tty
186} 186}
187 187
188# support files
189_grep_content() {
190 _show_list other | grep -i $1
191}
192
188# parse JSON from STDIN with string of commands 193# parse JSON from STDIN with string of commands
189AccessJsonElement() { 194AccessJsonElement() {
190 PYTHONIOENCODING=utf-8 \ 195 PYTHONIOENCODING=utf-8 \
@@ -441,7 +446,7 @@ _edit_gist() {
441 read DESC < /dev/tty 446 read DESC < /dev/tty
442 447
443 http_data=$(mktemp) 448 http_data=$(mktemp)
444 echo "{ \"description\": \"$DESC\" }" > $http_data 449 echo { \"description\": \"$(echo $DESC | sed 's/"/\\"/g')\" } > $http_data
445 http_method PATCH $http_data $GITHUB_API/gists/$GIST_ID > /dev/null \ 450 http_method PATCH $http_data $GITHUB_API/gists/$GIST_ID > /dev/null \
446 && _update 451 && _update
447} 452}
@@ -480,6 +485,9 @@ case "$1" in
480 user | U) 485 user | U)
481 shift 486 shift
482 _query_user "$@" ;; 487 _query_user "$@" ;;
488 grep | g)
489 shift
490 _grep_content "$@" ;;
483 help | h) 491 help | h)
484 usage ;; 492 usage ;;
485 *) 493 *)