doing 2.0.18 → 2.0.22

Sign up to get free protection for your applications and to get access to all the features.
Files changed (107) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +22 -0
  3. data/Gemfile.lock +15 -5
  4. data/README.md +1 -1
  5. data/bin/doing +2 -18
  6. data/doing.gemspec +5 -4
  7. data/doing.rdoc +2 -2
  8. data/generate_completions.sh +3 -3
  9. data/lib/doing/cli_status.rb +6 -2
  10. data/lib/doing/completion/bash_completion.rb +185 -0
  11. data/lib/doing/completion/fish_completion.rb +175 -0
  12. data/lib/doing/completion/string.rb +17 -0
  13. data/lib/doing/completion/zsh_completion.rb +140 -0
  14. data/lib/doing/completion.rb +39 -0
  15. data/lib/doing/version.rb +1 -1
  16. data/lib/doing/wwid.rb +18 -6
  17. data/lib/doing.rb +1 -1
  18. data/lib/helpers/fzf/.goreleaser.yml +119 -0
  19. data/lib/helpers/fzf/.rubocop.yml +28 -0
  20. data/lib/helpers/fzf/ADVANCED.md +565 -0
  21. data/lib/helpers/fzf/BUILD.md +49 -0
  22. data/lib/helpers/fzf/CHANGELOG.md +1193 -0
  23. data/lib/helpers/fzf/Dockerfile +11 -0
  24. data/lib/helpers/fzf/LICENSE +21 -0
  25. data/lib/helpers/fzf/Makefile +166 -0
  26. data/lib/helpers/fzf/README-VIM.md +486 -0
  27. data/lib/helpers/fzf/README.md +712 -0
  28. data/lib/helpers/fzf/bin/fzf-tmux +233 -0
  29. data/lib/helpers/fzf/doc/fzf.txt +512 -0
  30. data/lib/helpers/fzf/go.mod +17 -0
  31. data/lib/helpers/fzf/go.sum +31 -0
  32. data/lib/helpers/fzf/install +382 -0
  33. data/lib/helpers/fzf/install.ps1 +65 -0
  34. data/lib/helpers/fzf/main.go +14 -0
  35. data/lib/helpers/fzf/man/man1/fzf-tmux.1 +68 -0
  36. data/lib/helpers/fzf/man/man1/fzf.1 +1001 -0
  37. data/lib/helpers/fzf/plugin/fzf.vim +1048 -0
  38. data/lib/helpers/fzf/shell/completion.bash +381 -0
  39. data/lib/helpers/fzf/shell/completion.zsh +329 -0
  40. data/lib/helpers/fzf/shell/key-bindings.bash +96 -0
  41. data/lib/helpers/fzf/shell/key-bindings.fish +172 -0
  42. data/lib/helpers/fzf/shell/key-bindings.zsh +114 -0
  43. data/lib/helpers/fzf/src/LICENSE +21 -0
  44. data/lib/helpers/fzf/src/algo/algo.go +884 -0
  45. data/lib/helpers/fzf/src/algo/algo_test.go +197 -0
  46. data/lib/helpers/fzf/src/algo/normalize.go +492 -0
  47. data/lib/helpers/fzf/src/ansi.go +409 -0
  48. data/lib/helpers/fzf/src/ansi_test.go +427 -0
  49. data/lib/helpers/fzf/src/cache.go +81 -0
  50. data/lib/helpers/fzf/src/cache_test.go +39 -0
  51. data/lib/helpers/fzf/src/chunklist.go +89 -0
  52. data/lib/helpers/fzf/src/chunklist_test.go +80 -0
  53. data/lib/helpers/fzf/src/constants.go +85 -0
  54. data/lib/helpers/fzf/src/core.go +351 -0
  55. data/lib/helpers/fzf/src/history.go +96 -0
  56. data/lib/helpers/fzf/src/history_test.go +68 -0
  57. data/lib/helpers/fzf/src/item.go +44 -0
  58. data/lib/helpers/fzf/src/item_test.go +23 -0
  59. data/lib/helpers/fzf/src/matcher.go +235 -0
  60. data/lib/helpers/fzf/src/merger.go +120 -0
  61. data/lib/helpers/fzf/src/merger_test.go +88 -0
  62. data/lib/helpers/fzf/src/options.go +1691 -0
  63. data/lib/helpers/fzf/src/options_test.go +457 -0
  64. data/lib/helpers/fzf/src/pattern.go +425 -0
  65. data/lib/helpers/fzf/src/pattern_test.go +209 -0
  66. data/lib/helpers/fzf/src/protector/protector.go +8 -0
  67. data/lib/helpers/fzf/src/protector/protector_openbsd.go +10 -0
  68. data/lib/helpers/fzf/src/reader.go +201 -0
  69. data/lib/helpers/fzf/src/reader_test.go +63 -0
  70. data/lib/helpers/fzf/src/result.go +243 -0
  71. data/lib/helpers/fzf/src/result_others.go +16 -0
  72. data/lib/helpers/fzf/src/result_test.go +159 -0
  73. data/lib/helpers/fzf/src/result_x86.go +16 -0
  74. data/lib/helpers/fzf/src/terminal.go +2832 -0
  75. data/lib/helpers/fzf/src/terminal_test.go +638 -0
  76. data/lib/helpers/fzf/src/terminal_unix.go +26 -0
  77. data/lib/helpers/fzf/src/terminal_windows.go +45 -0
  78. data/lib/helpers/fzf/src/tokenizer.go +253 -0
  79. data/lib/helpers/fzf/src/tokenizer_test.go +112 -0
  80. data/lib/helpers/fzf/src/tui/dummy.go +46 -0
  81. data/lib/helpers/fzf/src/tui/light.go +987 -0
  82. data/lib/helpers/fzf/src/tui/light_unix.go +110 -0
  83. data/lib/helpers/fzf/src/tui/light_windows.go +145 -0
  84. data/lib/helpers/fzf/src/tui/tcell.go +721 -0
  85. data/lib/helpers/fzf/src/tui/tcell_test.go +392 -0
  86. data/lib/helpers/fzf/src/tui/ttyname_unix.go +47 -0
  87. data/lib/helpers/fzf/src/tui/ttyname_windows.go +14 -0
  88. data/lib/helpers/fzf/src/tui/tui.go +625 -0
  89. data/lib/helpers/fzf/src/tui/tui_test.go +20 -0
  90. data/lib/helpers/fzf/src/util/atomicbool.go +34 -0
  91. data/lib/helpers/fzf/src/util/atomicbool_test.go +17 -0
  92. data/lib/helpers/fzf/src/util/chars.go +198 -0
  93. data/lib/helpers/fzf/src/util/chars_test.go +46 -0
  94. data/lib/helpers/fzf/src/util/eventbox.go +96 -0
  95. data/lib/helpers/fzf/src/util/eventbox_test.go +61 -0
  96. data/lib/helpers/fzf/src/util/slab.go +12 -0
  97. data/lib/helpers/fzf/src/util/util.go +138 -0
  98. data/lib/helpers/fzf/src/util/util_test.go +40 -0
  99. data/lib/helpers/fzf/src/util/util_unix.go +47 -0
  100. data/lib/helpers/fzf/src/util/util_windows.go +83 -0
  101. data/lib/helpers/fzf/test/fzf.vader +175 -0
  102. data/lib/helpers/fzf/test/test_go.rb +2626 -0
  103. data/lib/helpers/fzf/uninstall +117 -0
  104. data/scripts/generate_bash_completions.rb +6 -12
  105. data/scripts/generate_fish_completions.rb +7 -16
  106. data/scripts/generate_zsh_completions.rb +6 -15
  107. metadata +144 -9
@@ -0,0 +1,117 @@
1
+ #!/usr/bin/env bash
2
+
3
+ xdg=0
4
+ prefix='~/.fzf'
5
+ prefix_expand=~/.fzf
6
+ fish_dir=${XDG_CONFIG_HOME:-$HOME/.config}/fish
7
+
8
+ help() {
9
+ cat << EOF
10
+ usage: $0 [OPTIONS]
11
+
12
+ --help Show this message
13
+ --xdg Remove files generated under \$XDG_CONFIG_HOME/fzf
14
+ EOF
15
+ }
16
+
17
+ for opt in "$@"; do
18
+ case $opt in
19
+ --help)
20
+ help
21
+ exit 0
22
+ ;;
23
+ --xdg)
24
+ xdg=1
25
+ prefix='"${XDG_CONFIG_HOME:-$HOME/.config}"/fzf/fzf'
26
+ prefix_expand=${XDG_CONFIG_HOME:-$HOME/.config}/fzf/fzf
27
+ ;;
28
+ *)
29
+ echo "unknown option: $opt"
30
+ help
31
+ exit 1
32
+ ;;
33
+ esac
34
+ done
35
+
36
+ ask() {
37
+ while true; do
38
+ read -p "$1 ([y]/n) " -r
39
+ REPLY=${REPLY:-"y"}
40
+ if [[ $REPLY =~ ^[Yy]$ ]]; then
41
+ return 0
42
+ elif [[ $REPLY =~ ^[Nn]$ ]]; then
43
+ return 1
44
+ fi
45
+ done
46
+ }
47
+
48
+ remove() {
49
+ echo "Remove $1"
50
+ rm -f "$1"
51
+ }
52
+
53
+ remove_line() {
54
+ src=$(readlink "$1")
55
+ if [ $? -eq 0 ]; then
56
+ echo "Remove from $1 ($src):"
57
+ else
58
+ src=$1
59
+ echo "Remove from $1:"
60
+ fi
61
+
62
+ shift
63
+ line_no=1
64
+ match=0
65
+ while [ -n "$1" ]; do
66
+ line=$(sed -n "$line_no,\$p" "$src" | \grep -m1 -nF "$1")
67
+ if [ $? -ne 0 ]; then
68
+ shift
69
+ line_no=1
70
+ continue
71
+ fi
72
+ line_no=$(( $(sed 's/:.*//' <<< "$line") + line_no - 1 ))
73
+ content=$(sed 's/^[0-9]*://' <<< "$line")
74
+ match=1
75
+ echo " - Line #$line_no: $content"
76
+ [ "$content" = "$1" ] || ask " - Remove?"
77
+ if [ $? -eq 0 ]; then
78
+ awk -v n=$line_no 'NR == n {next} {print}' "$src" > "$src.bak" &&
79
+ mv "$src.bak" "$src" || break
80
+ echo " - Removed"
81
+ else
82
+ echo " - Skipped"
83
+ line_no=$(( line_no + 1 ))
84
+ fi
85
+ done
86
+ [ $match -eq 0 ] && echo " - Nothing found"
87
+ echo
88
+ }
89
+
90
+ for shell in bash zsh; do
91
+ shell_config=${prefix_expand}.${shell}
92
+ remove "${shell_config}"
93
+ remove_line ~/.${shell}rc \
94
+ "[ -f ${prefix}.${shell} ] && source ${prefix}.${shell}" \
95
+ "source ${prefix}.${shell}"
96
+ done
97
+
98
+ bind_file="${fish_dir}/functions/fish_user_key_bindings.fish"
99
+ if [ -f "$bind_file" ]; then
100
+ remove_line "$bind_file" "fzf_key_bindings"
101
+ fi
102
+
103
+ if [ -d "${fish_dir}/functions" ]; then
104
+ remove "${fish_dir}/functions/fzf.fish"
105
+ remove "${fish_dir}/functions/fzf_key_bindings.fish"
106
+
107
+ if [ -z "$(ls -A "${fish_dir}/functions")" ]; then
108
+ rmdir "${fish_dir}/functions"
109
+ else
110
+ echo "Can't delete non-empty directory: \"${fish_dir}/functions\""
111
+ fi
112
+ fi
113
+
114
+ config_dir=$(dirname "$prefix_expand")
115
+ if [[ "$xdg" = 1 ]] && [[ "$config_dir" = */fzf ]] && [[ -d "$config_dir" ]]; then
116
+ rmdir "$config_dir"
117
+ fi
@@ -1,7 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
- $LOAD_PATH.unshift File.join(__dir__, '..', 'lib')
3
- require 'doing/cli_status'
4
-
2
+ require 'tty-progressbar'
5
3
  require 'shellwords'
6
4
 
7
5
  class ::String
@@ -23,8 +21,6 @@ class ::String
23
21
  end
24
22
 
25
23
  class BashCompletions
26
- include Status
27
-
28
24
  attr_accessor :commands, :global_options
29
25
 
30
26
  def main_function
@@ -32,12 +28,9 @@ class BashCompletions
32
28
  out = []
33
29
  logic = []
34
30
  need_export = []
35
- # processing = []
36
31
 
37
32
  @commands.each_with_index do |cmd, i|
38
- # processing << cmd[:commands].first
39
- processing = cmd[:commands]
40
- progress('Processing subcommand options', i, @commands.count, processing)
33
+ @bar.advance
41
34
 
42
35
  data = get_help_sections(cmd[:commands].first)
43
36
 
@@ -82,7 +75,6 @@ class BashCompletions
82
75
  fi
83
76
  }
84
77
  EOFUNC
85
- clear
86
78
  out.join("\n")
87
79
  end
88
80
 
@@ -193,17 +185,19 @@ class BashCompletions
193
185
  end
194
186
 
195
187
  def initialize
196
- status('Generating Bash completions', reset: false)
197
188
  data = get_help_sections
198
189
  @global_options = parse_options(data[:global_options])
199
190
  @commands = parse_commands(data[:commands])
191
+ @bar = TTY::ProgressBar.new("\033[0;0;33mGenerating Bash completions: \033[0;35;40m[:bar]\033[0m", total: @commands.count, bar_format: :blade)
192
+ @bar.resize(25)
200
193
  end
201
194
 
202
195
  def generate_completions
196
+ @bar.start
203
197
  out = []
204
198
  out << main_function
205
199
  out << 'complete -F _doing doing'
206
- status('Complete', reset: false)
200
+ @bar.finish
207
201
  out.join("\n")
208
202
  end
209
203
  end
@@ -1,7 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
- $LOAD_PATH.unshift File.join(__dir__, '..', 'lib')
3
- require 'doing/cli_status'
4
-
2
+ require 'tty-progressbar'
5
3
  require 'shellwords'
6
4
 
7
5
  class ::String
@@ -23,7 +21,6 @@ class ::String
23
21
  end
24
22
 
25
23
  class FishCompletions
26
- include Status
27
24
 
28
25
  attr_accessor :commands, :global_options
29
26
 
@@ -134,11 +131,7 @@ class FishCompletions
134
131
 
135
132
  def generate_subcommand_completions
136
133
  out = []
137
- # processing = []
138
134
  @commands.each_with_index do |cmd, i|
139
- # processing << cmd[:commands].first
140
- processing = cmd[:commands]
141
- progress('Processing subcommands', i, @commands.count, processing)
142
135
  out << "complete -xc doing -n '__fish_doing_needs_command' -a '#{cmd[:commands].join(' ')}' -d #{Shellwords.escape(cmd[:description])}"
143
136
  end
144
137
 
@@ -149,13 +142,9 @@ class FishCompletions
149
142
 
150
143
  out = []
151
144
  need_export = []
152
- # processing = []
153
145
 
154
146
  @commands.each_with_index do |cmd, i|
155
- # processing << cmd[:commands].first
156
- processing = cmd[:commands]
157
- progress('Processing subcommand options', i, @commands.count, processing)
158
-
147
+ @bar.advance
159
148
  data = get_help_sections(cmd[:commands].first)
160
149
 
161
150
  if data[:synopsis].join(' ').strip.split(/ /).last =~ /(path|file)/i
@@ -180,23 +169,25 @@ class FishCompletions
180
169
  out << "complete -f -c doing -s o -l output -x -n '__fish_doing_using_command #{need_export.join(' ')}' -a '(__fish_doing_export_plugins)'"
181
170
  end
182
171
 
183
- clear
172
+ # clear
184
173
  out.join("\n")
185
174
  end
186
175
 
187
176
  def initialize
188
- status('Generating Fish completions', reset: false)
189
177
  data = get_help_sections
190
178
  @global_options = parse_options(data[:global_options])
191
179
  @commands = parse_commands(data[:commands])
180
+ @bar = TTY::ProgressBar.new("\033[0;0;33mGenerating Fish completions: \033[0;35;40m[:bar]\033[0m", total: @commands.count, bar_format: :blade)
181
+ @bar.resize(25)
192
182
  end
193
183
 
194
184
  def generate_completions
185
+ @bar.start
195
186
  out = []
196
187
  out << generate_helpers
197
188
  out << generate_subcommand_completions
198
189
  out << generate_subcommand_option_completions
199
- status('Complete', reset: false)
190
+ @bar.finish
200
191
  out.join("\n")
201
192
  end
202
193
  end
@@ -1,7 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
- $LOAD_PATH.unshift File.join(__dir__, '..', 'lib')
3
- require 'doing/cli_status'
4
-
2
+ require 'tty-progressbar'
5
3
  require 'shellwords'
6
4
 
7
5
  class ::String
@@ -23,7 +21,6 @@ class ::String
23
21
  end
24
22
 
25
23
  class ZshCompletions
26
- include Status
27
24
 
28
25
  attr_accessor :commands, :global_options
29
26
 
@@ -57,7 +54,7 @@ class ZshCompletions
57
54
  }
58
55
 
59
56
  EOFUNCTIONS
60
- status('Complete', reset: false)
57
+ @bar.finish
61
58
  out
62
59
  end
63
60
 
@@ -106,28 +103,20 @@ class ZshCompletions
106
103
 
107
104
  def generate_subcommand_completions
108
105
  out = []
109
- # processing = []
110
106
  @commands.each_with_index do |cmd, i|
111
- # processing << cmd[:commands].first
112
- processing = cmd[:commands]
113
- progress('Processing subcommands', i, @commands.count, processing)
114
107
  cmd[:commands].each do |c|
115
108
  out << "'#{c}:#{cmd[:description].gsub(/'/, '\\\'')}'"
116
109
  end
117
110
  end
118
- clear
119
111
  out
120
112
  end
121
113
 
122
114
  def generate_subcommand_option_completions(indent: ' ')
123
115
 
124
116
  out = []
125
- # processing = []
126
117
 
127
118
  @commands.each_with_index do |cmd, i|
128
- # processing << cmd[:commands].first
129
- processing = cmd[:commands]
130
- progress('Processing subcommand options', i, @commands.count, processing)
119
+ @bar.advance
131
120
 
132
121
  data = get_help_sections(cmd[:commands].first)
133
122
  option_arr = []
@@ -155,13 +144,15 @@ class ZshCompletions
155
144
  end
156
145
 
157
146
  def initialize
158
- status('Generating Zsh completions', reset: false)
159
147
  data = get_help_sections
160
148
  @global_options = parse_options(data[:global_options])
161
149
  @commands = parse_commands(data[:commands])
150
+ @bar = TTY::ProgressBar.new(" \033[0;0;33mGenerating Zsh completions: \033[0;35;40m[:bar]\033[0m", total: @commands.count, bar_format: :blade)
151
+ @bar.resize(25)
162
152
  end
163
153
 
164
154
  def generate_completions
155
+ @bar.start
165
156
  generate_helpers
166
157
  end
167
158
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: doing
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.18
4
+ version: 2.0.22
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brett Terpstra
@@ -90,58 +90,102 @@ dependencies:
90
90
  name: yard
91
91
  requirement: !ruby/object:Gem::Requirement
92
92
  requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '0.9'
93
96
  - - ">="
94
97
  - !ruby/object:Gem::Version
95
- version: '0'
98
+ version: 0.9.26
96
99
  type: :development
97
100
  prerelease: false
98
101
  version_requirements: !ruby/object:Gem::Requirement
99
102
  requirements:
103
+ - - "~>"
104
+ - !ruby/object:Gem::Version
105
+ version: '0.9'
100
106
  - - ">="
101
107
  - !ruby/object:Gem::Version
102
- version: '0'
108
+ version: 0.9.26
103
109
  - !ruby/object:Gem::Dependency
104
110
  name: redcarpet
105
111
  requirement: !ruby/object:Gem::Requirement
106
112
  requirements:
113
+ - - "~>"
114
+ - !ruby/object:Gem::Version
115
+ version: '3.5'
107
116
  - - ">="
108
117
  - !ruby/object:Gem::Version
109
- version: '0'
118
+ version: 3.5.1
110
119
  type: :development
111
120
  prerelease: false
112
121
  version_requirements: !ruby/object:Gem::Requirement
113
122
  requirements:
123
+ - - "~>"
124
+ - !ruby/object:Gem::Version
125
+ version: '3.5'
114
126
  - - ">="
115
127
  - !ruby/object:Gem::Version
116
- version: '0'
128
+ version: 3.5.1
117
129
  - !ruby/object:Gem::Dependency
118
130
  name: github-markup
119
131
  requirement: !ruby/object:Gem::Requirement
120
132
  requirements:
133
+ - - "~>"
134
+ - !ruby/object:Gem::Version
135
+ version: '4.0'
121
136
  - - ">="
122
137
  - !ruby/object:Gem::Version
123
- version: '0'
138
+ version: 4.0.0
124
139
  type: :development
125
140
  prerelease: false
126
141
  version_requirements: !ruby/object:Gem::Requirement
127
142
  requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '4.0'
128
146
  - - ">="
129
147
  - !ruby/object:Gem::Version
130
- version: '0'
148
+ version: 4.0.0
131
149
  - !ruby/object:Gem::Dependency
132
150
  name: parallel_tests
133
151
  requirement: !ruby/object:Gem::Requirement
134
152
  requirements:
153
+ - - "~>"
154
+ - !ruby/object:Gem::Version
155
+ version: '3.7'
135
156
  - - ">="
136
157
  - !ruby/object:Gem::Version
137
- version: '0'
158
+ version: 3.7.3
138
159
  type: :development
139
160
  prerelease: false
140
161
  version_requirements: !ruby/object:Gem::Requirement
141
162
  requirements:
163
+ - - "~>"
164
+ - !ruby/object:Gem::Version
165
+ version: '3.7'
166
+ - - ">="
167
+ - !ruby/object:Gem::Version
168
+ version: 3.7.3
169
+ - !ruby/object:Gem::Dependency
170
+ name: tty-progressbar
171
+ requirement: !ruby/object:Gem::Requirement
172
+ requirements:
173
+ - - "~>"
174
+ - !ruby/object:Gem::Version
175
+ version: '0.18'
176
+ - - ">="
177
+ - !ruby/object:Gem::Version
178
+ version: 0.18.2
179
+ type: :runtime
180
+ prerelease: false
181
+ version_requirements: !ruby/object:Gem::Requirement
182
+ requirements:
183
+ - - "~>"
184
+ - !ruby/object:Gem::Version
185
+ version: '0.18'
142
186
  - - ">="
143
187
  - !ruby/object:Gem::Version
144
- version: '0'
188
+ version: 0.18.2
145
189
  - !ruby/object:Gem::Dependency
146
190
  name: gli
147
191
  requirement: !ruby/object:Gem::Requirement
@@ -306,6 +350,11 @@ files:
306
350
  - lib/doing/array.rb
307
351
  - lib/doing/cli_status.rb
308
352
  - lib/doing/colors.rb
353
+ - lib/doing/completion.rb
354
+ - lib/doing/completion/bash_completion.rb
355
+ - lib/doing/completion/fish_completion.rb
356
+ - lib/doing/completion/string.rb
357
+ - lib/doing/completion/zsh_completion.rb
309
358
  - lib/doing/configuration.rb
310
359
  - lib/doing/errors.rb
311
360
  - lib/doing/hash.rb
@@ -342,6 +391,92 @@ files:
342
391
  - lib/examples/plugins/wiki_export/templates/wiki_index.haml
343
392
  - lib/examples/plugins/wiki_export/wiki_export.rb
344
393
  - lib/helpers/fuzzyfilefinder
394
+ - lib/helpers/fzf/.goreleaser.yml
395
+ - lib/helpers/fzf/.rubocop.yml
396
+ - lib/helpers/fzf/ADVANCED.md
397
+ - lib/helpers/fzf/BUILD.md
398
+ - lib/helpers/fzf/CHANGELOG.md
399
+ - lib/helpers/fzf/Dockerfile
400
+ - lib/helpers/fzf/LICENSE
401
+ - lib/helpers/fzf/Makefile
402
+ - lib/helpers/fzf/README-VIM.md
403
+ - lib/helpers/fzf/README.md
404
+ - lib/helpers/fzf/bin/fzf-tmux
405
+ - lib/helpers/fzf/doc/fzf.txt
406
+ - lib/helpers/fzf/go.mod
407
+ - lib/helpers/fzf/go.sum
408
+ - lib/helpers/fzf/install
409
+ - lib/helpers/fzf/install.ps1
410
+ - lib/helpers/fzf/main.go
411
+ - lib/helpers/fzf/man/man1/fzf-tmux.1
412
+ - lib/helpers/fzf/man/man1/fzf.1
413
+ - lib/helpers/fzf/plugin/fzf.vim
414
+ - lib/helpers/fzf/shell/completion.bash
415
+ - lib/helpers/fzf/shell/completion.zsh
416
+ - lib/helpers/fzf/shell/key-bindings.bash
417
+ - lib/helpers/fzf/shell/key-bindings.fish
418
+ - lib/helpers/fzf/shell/key-bindings.zsh
419
+ - lib/helpers/fzf/src/LICENSE
420
+ - lib/helpers/fzf/src/algo/algo.go
421
+ - lib/helpers/fzf/src/algo/algo_test.go
422
+ - lib/helpers/fzf/src/algo/normalize.go
423
+ - lib/helpers/fzf/src/ansi.go
424
+ - lib/helpers/fzf/src/ansi_test.go
425
+ - lib/helpers/fzf/src/cache.go
426
+ - lib/helpers/fzf/src/cache_test.go
427
+ - lib/helpers/fzf/src/chunklist.go
428
+ - lib/helpers/fzf/src/chunklist_test.go
429
+ - lib/helpers/fzf/src/constants.go
430
+ - lib/helpers/fzf/src/core.go
431
+ - lib/helpers/fzf/src/history.go
432
+ - lib/helpers/fzf/src/history_test.go
433
+ - lib/helpers/fzf/src/item.go
434
+ - lib/helpers/fzf/src/item_test.go
435
+ - lib/helpers/fzf/src/matcher.go
436
+ - lib/helpers/fzf/src/merger.go
437
+ - lib/helpers/fzf/src/merger_test.go
438
+ - lib/helpers/fzf/src/options.go
439
+ - lib/helpers/fzf/src/options_test.go
440
+ - lib/helpers/fzf/src/pattern.go
441
+ - lib/helpers/fzf/src/pattern_test.go
442
+ - lib/helpers/fzf/src/protector/protector.go
443
+ - lib/helpers/fzf/src/protector/protector_openbsd.go
444
+ - lib/helpers/fzf/src/reader.go
445
+ - lib/helpers/fzf/src/reader_test.go
446
+ - lib/helpers/fzf/src/result.go
447
+ - lib/helpers/fzf/src/result_others.go
448
+ - lib/helpers/fzf/src/result_test.go
449
+ - lib/helpers/fzf/src/result_x86.go
450
+ - lib/helpers/fzf/src/terminal.go
451
+ - lib/helpers/fzf/src/terminal_test.go
452
+ - lib/helpers/fzf/src/terminal_unix.go
453
+ - lib/helpers/fzf/src/terminal_windows.go
454
+ - lib/helpers/fzf/src/tokenizer.go
455
+ - lib/helpers/fzf/src/tokenizer_test.go
456
+ - lib/helpers/fzf/src/tui/dummy.go
457
+ - lib/helpers/fzf/src/tui/light.go
458
+ - lib/helpers/fzf/src/tui/light_unix.go
459
+ - lib/helpers/fzf/src/tui/light_windows.go
460
+ - lib/helpers/fzf/src/tui/tcell.go
461
+ - lib/helpers/fzf/src/tui/tcell_test.go
462
+ - lib/helpers/fzf/src/tui/ttyname_unix.go
463
+ - lib/helpers/fzf/src/tui/ttyname_windows.go
464
+ - lib/helpers/fzf/src/tui/tui.go
465
+ - lib/helpers/fzf/src/tui/tui_test.go
466
+ - lib/helpers/fzf/src/util/atomicbool.go
467
+ - lib/helpers/fzf/src/util/atomicbool_test.go
468
+ - lib/helpers/fzf/src/util/chars.go
469
+ - lib/helpers/fzf/src/util/chars_test.go
470
+ - lib/helpers/fzf/src/util/eventbox.go
471
+ - lib/helpers/fzf/src/util/eventbox_test.go
472
+ - lib/helpers/fzf/src/util/slab.go
473
+ - lib/helpers/fzf/src/util/util.go
474
+ - lib/helpers/fzf/src/util/util_test.go
475
+ - lib/helpers/fzf/src/util/util_unix.go
476
+ - lib/helpers/fzf/src/util/util_windows.go
477
+ - lib/helpers/fzf/test/fzf.vader
478
+ - lib/helpers/fzf/test/test_go.rb
479
+ - lib/helpers/fzf/uninstall
345
480
  - lib/templates/doing-markdown.erb
346
481
  - lib/templates/doing.css
347
482
  - lib/templates/doing.haml