Skip to content

Commit e412598

Browse files
author
Hiroki Konishi
committed
Update: organize pmy.zsh
1 parent c6645d4 commit e412598

File tree

3 files changed

+69
-54
lines changed

3 files changed

+69
-54
lines changed

_shell/_pmy.zsh

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -10,36 +10,37 @@ _pmy_main() {
1010

1111
local out="$(pmy --bufferLeft=${buffer_left} --bufferRight=${buffer_right})"
1212

13-
1413
if [[ -z $out ]] ; then
1514
echo "No rule was matched"
1615
__pmy_res_lbuffer=${buffer_left}
1716
__pmy_res_rbuffer=${buffer_right}
17+
return
18+
fi
19+
20+
eval ${out}
21+
22+
if [[ ${__pmy_out_error_message} != '' ]] ; then
23+
echo ${__pmy_out_error_message}
24+
return
25+
fi
26+
27+
local fuzzy_finder_cmd=${__pmy_out_fuzzy_finder_cmd:-${PMY_FUZZY_FINDER_DEFAULT_CMD}}
28+
local fzf_res_tag_included="$(eval ${__pmy_out_command} | eval ${fuzzy_finder_cmd})"
29+
if [[ -z ${__pmy_out_tag_all_empty} ]] ; then
30+
local tag="$(echo -n ${fzf_res_tag_included} | awk -F ${__pmy_out_tag_delimiter} 'BEGIN{ORS = ""}{print $1}' | base64)"
31+
tag=${tag//\//a_a}
32+
tag=${tag//+/b_b}
33+
tag=${tag//=/c_c}
34+
local fzf_res="$(echo ${fzf_res_tag_included} | awk -F ${__pmy_out_tag_delimiter} '{for(i=2;i<NF;i++){printf("%s%s",$i,OFS=" ")}print $NF}')"
1835
else
19-
eval ${out}
20-
if [[ ${__pmy_out_error_message} != '' ]] ; then
21-
echo ${__pmy_out_error_message}
22-
return
23-
fi
24-
25-
local fuzzy_finder_cmd=${__pmy_out_fuzzy_finder_cmd:-${PMY_FUZZY_FINDER_DEFAULT_CMD}}
26-
local fzf_res_tag_included="$(eval ${__pmy_out_command} | eval ${fuzzy_finder_cmd})"
27-
if [[ -z ${__pmy_out_tag_all_empty} ]] ; then
28-
local tag="$(echo -n ${fzf_res_tag_included} | awk -F ${__pmy_out_tag_delimiter} 'BEGIN{ORS = ""}{print $1}' | base64)"
29-
tag=${tag//\//a_a}
30-
tag=${tag//+/b_b}
31-
tag=${tag//=/c_c}
32-
local fzf_res="$(echo ${fzf_res_tag_included} | awk -F ${__pmy_out_tag_delimiter} '{for(i=2;i<NF;i++){printf("%s%s",$i,OFS=" ")}print $NF}')"
33-
else
34-
local fzf_res="${fzf_res_tag_included}"
35-
local tag=""
36-
fi
37-
local after_cmd_variable="__pmy_out_${tag}_after"
38-
local after_cmd="$(eval echo \$$after_cmd_variable)"
39-
local res="$(echo ${fzf_res} | eval ${after_cmd})"
40-
__pmy_res_lbuffer="${__pmy_out_buffer_left}${res}"
41-
__pmy_res_rbuffer="${__pmy_out_buffer_right}"
36+
local fzf_res="${fzf_res_tag_included}"
37+
local tag=""
4238
fi
39+
local after_cmd_variable="__pmy_out_${tag}_after"
40+
local after_cmd="$(eval echo \$$after_cmd_variable)"
41+
local res="$(echo ${fzf_res} | eval ${after_cmd})"
42+
__pmy_res_lbuffer="${__pmy_out_buffer_left}${res}"
43+
__pmy_res_rbuffer="${__pmy_out_buffer_right}"
4344

4445
if ! [[ -z $test_flag ]] then
4546
echo $__pmy_res_lbuffer

shell/pmy.zsh

Lines changed: 43 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -23,41 +23,55 @@ _pmy_main() {
2323
# local out="$(pmy --bufferLeft=${buffer_left} --bufferRight=${buffer_right} 2>/dev/null)"
2424
local out="$(pmy --bufferLeft=${buffer_left} --bufferRight=${buffer_right})"
2525

26-
26+
# ${out} is empty, which indicates
27+
# there was no matching
2728
if [[ -z $out ]] ; then
2829
echo "No rule was matched"
2930
__pmy_res_lbuffer=${buffer_left}
3031
__pmy_res_rbuffer=${buffer_right}
31-
else
32-
eval ${out}
33-
# Check if error occurred.
34-
if [[ ${__pmy_out_error_message} != '' ]] ; then
35-
echo ${__pmy_out_error_message}
36-
return
37-
fi
32+
return
33+
fi
34+
35+
# Here, evaluate the output of pmy,
36+
# following local variable will be declared
37+
# - ${__pmy_out_buffer_left}
38+
# - ${__pmy_out_buffer_right}
39+
# - ${__pmy_out_command}
40+
# - ${__pmy_out_<tagname>_after}
41+
# - ${__pmy_out_fuzzy_finder_cmd}
42+
# - ${__pmy_out_tag_all_empty}
43+
# - ${__pmy_out_tag_delimiter}
44+
# - ${__pmy_out_error_message}
45+
eval ${out}
3846

39-
local fuzzy_finder_cmd=${__pmy_out_fuzzy_finder_cmd:-${PMY_FUZZY_FINDER_DEFAULT_CMD}}
40-
local fzf_res_tag_included="$(eval ${__pmy_out_command} | eval ${fuzzy_finder_cmd})"
41-
# get result from fzf
42-
# get tag
43-
if [[ -z ${__pmy_out_tag_all_empty} ]] ; then
44-
local tag="$(echo -n ${fzf_res_tag_included} | awk -F ${__pmy_out_tag_delimiter} 'BEGIN{ORS = ""}{print $1}' | base64)"
45-
tag=${tag//\//a_a} # original escape of base64 `/`
46-
tag=${tag//+/b_b} # original escape of base64 `+`
47-
tag=${tag//=/c_c} # original escape of base64 `+`
48-
# get rest statement
49-
local fzf_res="$(echo ${fzf_res_tag_included} | awk -F ${__pmy_out_tag_delimiter} '{for(i=2;i<NF;i++){printf("%s%s",$i,OFS=" ")}print $NF}')"
50-
else
51-
local fzf_res="${fzf_res_tag_included}"
52-
local tag=""
53-
fi
54-
# get after command
55-
local after_cmd_variable="__pmy_out_${tag}_after"
56-
local after_cmd="$(eval echo \$$after_cmd_variable)"
57-
local res="$(echo ${fzf_res} | eval ${after_cmd})"
58-
__pmy_res_lbuffer="${__pmy_out_buffer_left}${res}"
59-
__pmy_res_rbuffer="${__pmy_out_buffer_right}"
47+
# Check if error occurred.
48+
if [[ ${__pmy_out_error_message} != '' ]] ; then
49+
echo ${__pmy_out_error_message}
50+
return
51+
fi
52+
53+
local fuzzy_finder_cmd=${__pmy_out_fuzzy_finder_cmd:-${PMY_FUZZY_FINDER_DEFAULT_CMD}}
54+
local fzf_res_tag_included="$(eval ${__pmy_out_command} | eval ${fuzzy_finder_cmd})"
55+
# get result from fzf
56+
# get tag
57+
if [[ -z ${__pmy_out_tag_all_empty} ]] ; then
58+
local tag="$(echo -n ${fzf_res_tag_included} | awk -F ${__pmy_out_tag_delimiter} 'BEGIN{ORS = ""}{print $1}' | base64)"
59+
tag=${tag//\//a_a} # original escape of base64 `/`
60+
tag=${tag//+/b_b} # original escape of base64 `+`
61+
tag=${tag//=/c_c} # original escape of base64 `+`
62+
# get rest statement
63+
local fzf_res="$(echo ${fzf_res_tag_included} | awk -F ${__pmy_out_tag_delimiter} '{for(i=2;i<NF;i++){printf("%s%s",$i,OFS=" ")}print $NF}')"
64+
else
65+
# tag was not specified, so use line as it is
66+
local fzf_res="${fzf_res_tag_included}"
67+
local tag=""
6068
fi
69+
# get after command
70+
local after_cmd_variable="__pmy_out_${tag}_after"
71+
local after_cmd="$(eval echo \$$after_cmd_variable)"
72+
local res="$(echo ${fzf_res} | eval ${after_cmd})"
73+
__pmy_res_lbuffer="${__pmy_out_buffer_left}${res}"
74+
__pmy_res_rbuffer="${__pmy_out_buffer_right}"
6175

6276
if ! [[ -z $test_flag ]] then
6377
echo $__pmy_res_lbuffer

statik/statik.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)