command-t 1.11 → 1.11.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e542a39c30001daa8498a0dadc7e646fa5c9d342
4
- data.tar.gz: 4a1aedd0bc94d9afae2fa03c6ded35a8e1e4b9c1
3
+ metadata.gz: 90e1677bd5292b9f4953505a0441d0e82f8c93c0
4
+ data.tar.gz: eee2671da9e31c05f2bdf091427c273ea706b940
5
5
  SHA512:
6
- metadata.gz: 6ee44802106f493bc3138703b3b86c9b615c2d44a6fecfa348a22da310213605452c9205151c023ea65717c620b288885e546720b80de497019cc9cf639763e2
7
- data.tar.gz: e27e0fe5744d7f5b6833ad767ec8f04f2540c84d80f1d90464a26a6f9cd16981bf0ca985ca4fc8206b57a4a231eb06514eeb866a6d55dd542e22d03cd7004c8a
6
+ metadata.gz: ff4cd01ca300a6344a22b5619a967726805509bd8c046272b535d790b571784ee17eb69eb18c7cd7ac38e03d22ef6d0f1919529ba5570213b986f244fe30aa4e
7
+ data.tar.gz: 45862ab7a28dc0ec6c85d2885f2f426d212d37eaab5c7914a522139d6b52d393dfad0d00785ef43ff637375f532e7cd9fc7982d3a448a5eaec03fd586cdb74d1
data/README.txt CHANGED
@@ -108,6 +108,10 @@ by looking at the output of:
108
108
 
109
109
  :ruby puts "#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"
110
110
 
111
+ Or, for very old versions of Ruby which don't define `RUBY_PATCHLEVEL`:
112
+
113
+ :ruby puts RUBY_VERSION
114
+
111
115
  A suitable Ruby environment for Windows can be installed using the Ruby
112
116
  1.8.7-p299 RubyInstaller available at:
113
117
 
@@ -357,6 +361,10 @@ issuing this command:
357
361
 
358
362
  :ruby puts "#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"
359
363
 
364
+ Or, for very old versions of Ruby which don't define `RUBY_PATCHLEVEL`:
365
+
366
+ :ruby puts RUBY_VERSION
367
+
360
368
  Finally, beware that if you change your installation method for Command-T (for
361
369
  example, switching from one plugin manager to another) you should verify that
362
370
  you remove all of the files installed by the previous installation method; if
@@ -884,10 +892,10 @@ settings can be used to control behavior:
884
892
  Vim's |'wildignore'| setting is used to determine which files should be
885
893
  excluded from listings. This is a comma-separated list of glob patterns.
886
894
  It defaults to the empty string, but common settings include "*.o,*.obj"
887
- (to exclude object files) or ".git,.svn" (to exclude SCM metadata
888
- directories). For example:
895
+ (to exclude object files) or "**/.git/*,**/.svn/*" (to exclude SCM
896
+ metadata directories). For example:
889
897
 
890
- :set wildignore+=*.o,*.obj,.git
898
+ :set wildignore+=*.o,*.obj
891
899
 
892
900
  A pattern such as "vendor/rails/**" would exclude all files and
893
901
  subdirectories inside the "vendor/rails" directory (relative to
@@ -900,6 +908,30 @@ settings can be used to control behavior:
900
908
  |g:CommandTWildIgnore| setting to apply an override that takes effect
901
909
  only during Command-T searches.
902
910
 
911
+ Note that there are some differences among file scanners
912
+ (see |g:CommandTFileScanner|) with respect to 'wildignore' handling:
913
+
914
+ - The default "ruby" scanner explores the filesystem recursively using a
915
+ depth-first search, and any directory (or subdirectory) which matches
916
+ the 'wildignore' pattern is not explored. So, if your 'wildignore'
917
+ contains "node_modules" then that entire sub-hierarchy will be
918
+ ignored. Additionally, wildcard patterns like "node_modules/**" or
919
+ "**/node_modules/*" will cause the entire sub-hierarchy to be ignored.
920
+
921
+ - The "git" and "find" scanners apply 'wildignore' filtering only after
922
+ completing their scans. Filtering only applies to files and not
923
+ directories. This means that in the "node_modules" example case, the
924
+ "node_modules" directory is not considered itself, and when we examine
925
+ a file like "node_modules/foo/bar" the "node_modules" pattern does
926
+ not match it (because "bar" does not match it). To exclude
927
+ any "node_modules" directory anywhere in the hierarchy and all of its
928
+ descendants we must use a pattern like "**/node_modules/*". To do this
929
+ only for a top-level "node_modules", use "node_modules/**".
930
+
931
+ - The "watchman" scanner is intended for use with massive hierarchies
932
+ where speed is of the utmost import, so it doesn't consult
933
+ 'wildignore' at all.
934
+
903
935
 
904
936
  FAQ *command-t-faq*
905
937
 
@@ -1075,21 +1107,21 @@ Command-T is written and maintained by Greg Hurrell <greg@hurrell.net>.
1075
1107
  Other contributors that have submitted patches include (in alphabetical
1076
1108
  order):
1077
1109
 
1078
- Abhinav Gupta Marian Schubert Scott Bronson
1079
- Andy Waite Matthew Todd Seth Fowler
1080
- Anthony Panozzo Mike Lundy Shlomi Fish
1081
- Artem Nezvigin Nadav Samet Steven Moazami
1082
- Ben Osheroff Nate Kane Sung Pae
1083
- Daniel Hahler Nicholas Alpi Thomas Pelletier
1084
- David Szotten Noon Silk Ton van den Heuvel
1110
+ Abhinav Gupta Lucas de Vries Roland Puntaier
1111
+ Aleksandrs Ļedovskis Marcus Brito Ross Lagerwall
1112
+ Andy Waite Marian Schubert Scott Bronson
1113
+ Anthony Panozzo Matthew Todd Seth Fowler
1114
+ Artem Nezvigin Mike Lundy Shlomi Fish
1115
+ Ben Osheroff Nadav Samet Steven Moazami
1116
+ Daniel Hahler Nate Kane Sung Pae
1117
+ David Szotten Nicholas Alpi Thomas Pelletier
1118
+ Emily Strickland Noon Silk Ton van den Heuvel
1085
1119
  Felix Tjandrawibawa Ole Petter Bang Victor Hugo Borja
1086
1120
  Gary Bernhardt Patrick Hayes Vít Ondruch
1087
1121
  Ivan Ukhov Paul Jolly Woody Peterson
1088
1122
  Jacek Wysocki Pavel Sergeev Yan Pritzker
1089
1123
  Jeff Kreeftmeijer Rainux Luo Yiding Jia
1090
1124
  Kevin Webster Richard Feldman Zak Johnson
1091
- Lucas de Vries Roland Puntaier
1092
- Marcus Brito Ross Lagerwall
1093
1125
 
1094
1126
  As this was the first Vim plug-in I had ever written I was heavily influenced
1095
1127
  by the design of the LustyExplorer plug-in by Stephen Bach, which I understand
@@ -1183,6 +1215,15 @@ POSSIBILITY OF SUCH DAMAGE.
1183
1215
 
1184
1216
  HISTORY *command-t-history*
1185
1217
 
1218
+ 1.11.1 (29 August 2014)
1219
+
1220
+ - compatibility fixes with Ruby 1.8.6 (patch from Emily Strickland)
1221
+ - compatibility fixes with Ruby 1.8.5
1222
+ - fix 'wildignore' being ignored (bug present since 1.11)
1223
+ - fix current working directory being ignored when |g:CommandTTraverseSCM| is
1224
+ set to "pwd" (bug present since 1.11)
1225
+ - performance improvements
1226
+
1186
1227
  1.11 (15 August 2014)
1187
1228
 
1188
1229
  - improve edge-case handling in match results window code (patches from
data/Rakefile CHANGED
@@ -30,11 +30,11 @@ def clear
30
30
  "\033[0m"
31
31
  end
32
32
 
33
- def warn str
33
+ def warn(str)
34
34
  puts "#{yellow}warning: #{str}#{clear}"
35
35
  end
36
36
 
37
- def err str
37
+ def err(str)
38
38
  puts "#{red}error: #{str}#{clear}"
39
39
  end
40
40
 
data/doc/command-t.txt CHANGED
@@ -108,6 +108,10 @@ by looking at the output of:
108
108
 
109
109
  :ruby puts "#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"
110
110
 
111
+ Or, for very old versions of Ruby which don't define `RUBY_PATCHLEVEL`:
112
+
113
+ :ruby puts RUBY_VERSION
114
+
111
115
  A suitable Ruby environment for Windows can be installed using the Ruby
112
116
  1.8.7-p299 RubyInstaller available at:
113
117
 
@@ -357,6 +361,10 @@ issuing this command:
357
361
 
358
362
  :ruby puts "#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"
359
363
 
364
+ Or, for very old versions of Ruby which don't define `RUBY_PATCHLEVEL`:
365
+
366
+ :ruby puts RUBY_VERSION
367
+
360
368
  Finally, beware that if you change your installation method for Command-T (for
361
369
  example, switching from one plugin manager to another) you should verify that
362
370
  you remove all of the files installed by the previous installation method; if
@@ -884,10 +892,10 @@ settings can be used to control behavior:
884
892
  Vim's |'wildignore'| setting is used to determine which files should be
885
893
  excluded from listings. This is a comma-separated list of glob patterns.
886
894
  It defaults to the empty string, but common settings include "*.o,*.obj"
887
- (to exclude object files) or ".git,.svn" (to exclude SCM metadata
888
- directories). For example:
895
+ (to exclude object files) or "**/.git/*,**/.svn/*" (to exclude SCM
896
+ metadata directories). For example:
889
897
 
890
- :set wildignore+=*.o,*.obj,.git
898
+ :set wildignore+=*.o,*.obj
891
899
 
892
900
  A pattern such as "vendor/rails/**" would exclude all files and
893
901
  subdirectories inside the "vendor/rails" directory (relative to
@@ -900,6 +908,30 @@ settings can be used to control behavior:
900
908
  |g:CommandTWildIgnore| setting to apply an override that takes effect
901
909
  only during Command-T searches.
902
910
 
911
+ Note that there are some differences among file scanners
912
+ (see |g:CommandTFileScanner|) with respect to 'wildignore' handling:
913
+
914
+ - The default "ruby" scanner explores the filesystem recursively using a
915
+ depth-first search, and any directory (or subdirectory) which matches
916
+ the 'wildignore' pattern is not explored. So, if your 'wildignore'
917
+ contains "node_modules" then that entire sub-hierarchy will be
918
+ ignored. Additionally, wildcard patterns like "node_modules/**" or
919
+ "**/node_modules/*" will cause the entire sub-hierarchy to be ignored.
920
+
921
+ - The "git" and "find" scanners apply 'wildignore' filtering only after
922
+ completing their scans. Filtering only applies to files and not
923
+ directories. This means that in the "node_modules" example case, the
924
+ "node_modules" directory is not considered itself, and when we examine
925
+ a file like "node_modules/foo/bar" the "node_modules" pattern does
926
+ not match it (because "bar" does not match it). To exclude
927
+ any "node_modules" directory anywhere in the hierarchy and all of its
928
+ descendants we must use a pattern like "**/node_modules/*". To do this
929
+ only for a top-level "node_modules", use "node_modules/**".
930
+
931
+ - The "watchman" scanner is intended for use with massive hierarchies
932
+ where speed is of the utmost import, so it doesn't consult
933
+ 'wildignore' at all.
934
+
903
935
 
904
936
  FAQ *command-t-faq*
905
937
 
@@ -1075,21 +1107,21 @@ Command-T is written and maintained by Greg Hurrell <greg@hurrell.net>.
1075
1107
  Other contributors that have submitted patches include (in alphabetical
1076
1108
  order):
1077
1109
 
1078
- Abhinav Gupta Marian Schubert Scott Bronson
1079
- Andy Waite Matthew Todd Seth Fowler
1080
- Anthony Panozzo Mike Lundy Shlomi Fish
1081
- Artem Nezvigin Nadav Samet Steven Moazami
1082
- Ben Osheroff Nate Kane Sung Pae
1083
- Daniel Hahler Nicholas Alpi Thomas Pelletier
1084
- David Szotten Noon Silk Ton van den Heuvel
1110
+ Abhinav Gupta Lucas de Vries Roland Puntaier
1111
+ Aleksandrs Ļedovskis Marcus Brito Ross Lagerwall
1112
+ Andy Waite Marian Schubert Scott Bronson
1113
+ Anthony Panozzo Matthew Todd Seth Fowler
1114
+ Artem Nezvigin Mike Lundy Shlomi Fish
1115
+ Ben Osheroff Nadav Samet Steven Moazami
1116
+ Daniel Hahler Nate Kane Sung Pae
1117
+ David Szotten Nicholas Alpi Thomas Pelletier
1118
+ Emily Strickland Noon Silk Ton van den Heuvel
1085
1119
  Felix Tjandrawibawa Ole Petter Bang Victor Hugo Borja
1086
1120
  Gary Bernhardt Patrick Hayes Vít Ondruch
1087
1121
  Ivan Ukhov Paul Jolly Woody Peterson
1088
1122
  Jacek Wysocki Pavel Sergeev Yan Pritzker
1089
1123
  Jeff Kreeftmeijer Rainux Luo Yiding Jia
1090
1124
  Kevin Webster Richard Feldman Zak Johnson
1091
- Lucas de Vries Roland Puntaier
1092
- Marcus Brito Ross Lagerwall
1093
1125
 
1094
1126
  As this was the first Vim plug-in I had ever written I was heavily influenced
1095
1127
  by the design of the LustyExplorer plug-in by Stephen Bach, which I understand
@@ -1183,6 +1215,15 @@ POSSIBILITY OF SUCH DAMAGE.
1183
1215
 
1184
1216
  HISTORY *command-t-history*
1185
1217
 
1218
+ 1.11.1 (29 August 2014)
1219
+
1220
+ - compatibility fixes with Ruby 1.8.6 (patch from Emily Strickland)
1221
+ - compatibility fixes with Ruby 1.8.5
1222
+ - fix 'wildignore' being ignored (bug present since 1.11)
1223
+ - fix current working directory being ignored when |g:CommandTTraverseSCM| is
1224
+ set to "pwd" (bug present since 1.11)
1225
+ - performance improvements
1226
+
1186
1227
  1.11 (15 August 2014)
1187
1228
 
1188
1229
  - improve edge-case handling in match results window code (patches from
@@ -50,16 +50,17 @@ module CommandT
50
50
  if arg && arg.size > 0
51
51
  @path = File.expand_path(arg, VIM::pwd)
52
52
  else
53
- traverse = get_string('g:CommandTTraverseSCM') || 'file'
53
+ traverse = VIM::get_string('g:CommandTTraverseSCM') || 'file'
54
54
  case traverse
55
55
  when 'file'
56
56
  @path = nearest_ancestor(VIM::current_file_dir, scm_markers)
57
57
  when 'dir'
58
58
  @path = nearest_ancestor(VIM::pwd, scm_markers)
59
+ else
60
+ @path = VIM::pwd
59
61
  end
60
62
  end
61
63
 
62
- @path = VIM::pwd unless @path
63
64
  @active_finder = file_finder
64
65
  file_finder.path = @path
65
66
  show
@@ -130,7 +131,7 @@ module CommandT
130
131
  end
131
132
  end
132
133
 
133
- def accept_selection options = {}
134
+ def accept_selection(options = {})
134
135
  selection = @match_window.selection
135
136
  hide
136
137
  open_selection(selection, options) unless selection.nil?
@@ -203,21 +204,21 @@ module CommandT
203
204
  end
204
205
 
205
206
  def tab_command
206
- get_string('g:CommandTAcceptSelectionTabCommand') || 'tabe'
207
+ VIM::get_string('g:CommandTAcceptSelectionTabCommand') || 'tabe'
207
208
  end
208
209
 
209
210
  def split_command
210
- get_string('g:CommandTAcceptSelectionSplitCommand') || 'sp'
211
+ VIM::get_string('g:CommandTAcceptSelectionSplitCommand') || 'sp'
211
212
  end
212
213
 
213
214
  def vsplit_command
214
- get_string('g:CommandTAcceptSelectionVSplitCommand') || 'vs'
215
+ VIM::get_string('g:CommandTAcceptSelectionVSplitCommand') || 'vs'
215
216
  end
216
217
 
217
218
  private
218
219
 
219
220
  def scm_markers
220
- markers = get_string('g:CommandTSCMDirectories')
221
+ markers = VIM::get_string('g:CommandTSCMDirectories')
221
222
  markers = markers && markers.split(/\s*,\s*/)
222
223
  markers = %w[.git .hg .svn .bzr _darcs] unless markers && markers.length
223
224
  markers
@@ -231,11 +232,11 @@ module CommandT
231
232
  @initial_window = $curwin
232
233
  @initial_buffer = $curbuf
233
234
  @match_window = MatchWindow.new \
234
- :highlight_color => get_string('g:CommandTHighlightColor'),
235
- :match_window_at_top => get_bool('g:CommandTMatchWindowAtTop'),
236
- :match_window_reverse => get_bool('g:CommandTMatchWindowReverse'),
235
+ :highlight_color => VIM::get_string('g:CommandTHighlightColor'),
236
+ :match_window_at_top => VIM::get_bool('g:CommandTMatchWindowAtTop'),
237
+ :match_window_reverse => VIM::get_bool('g:CommandTMatchWindowReverse'),
237
238
  :min_height => min_height,
238
- :debounce_interval => get_number('g:CommandTInputDebounce', 50),
239
+ :debounce_interval => VIM::get_number('g:CommandTInputDebounce') || 50,
239
240
  :prompt => @prompt
240
241
  @focus = @prompt
241
242
  @prompt.focus
@@ -245,12 +246,12 @@ module CommandT
245
246
  end
246
247
 
247
248
  def max_height
248
- @max_height ||= get_number('g:CommandTMaxHeight', 0)
249
+ @max_height ||= VIM::get_number('g:CommandTMaxHeight') || 0
249
250
  end
250
251
 
251
252
  def min_height
252
253
  @min_height ||= begin
253
- min_height = get_number('g:CommandTMinHeight', 0)
254
+ min_height = VIM::get_number('g:CommandTMinHeight') || 0
254
255
  min_height = max_height if max_height != 0 && min_height > max_height
255
256
  min_height
256
257
  end
@@ -259,9 +260,9 @@ module CommandT
259
260
  def case_sensitive?
260
261
  if @prompt.abbrev.match(/[A-Z]/)
261
262
  if VIM::exists?('g:CommandTSmartCase')
262
- smart_case = get_bool('g:CommandTSmartCase')
263
+ smart_case = VIM::get_bool('g:CommandTSmartCase')
263
264
  else
264
- smart_case = get_bool('&smartcase')
265
+ smart_case = VIM::get_bool('&smartcase')
265
266
  end
266
267
 
267
268
  if smart_case
@@ -270,47 +271,24 @@ module CommandT
270
271
  end
271
272
 
272
273
  if VIM::exists?('g:CommandTIgnoreCase')
273
- return !get_bool('g:CommandTIgnoreCase')
274
+ return !VIM::get_bool('g:CommandTIgnoreCase')
274
275
  end
275
276
 
276
277
  false
277
278
  end
278
279
 
279
- def get_number(name, default = nil)
280
- VIM::exists?(name) ? ::VIM::evaluate("#{name}").to_i : default
281
- end
282
-
283
- def get_bool(name)
284
- VIM::exists?(name) ? ::VIM::evaluate("#{name}").to_i != 0 : nil
285
- end
286
-
287
- def get_string(name)
288
- VIM::exists?(name) ? ::VIM::evaluate("#{name}").to_s : nil
289
- end
290
-
291
- # expect a string or a list of strings
292
- def get_list_or_string name
293
- return nil unless VIM::exists?(name)
294
- list_or_string = ::VIM::evaluate("#{name}")
295
- if list_or_string.kind_of?(Array)
296
- list_or_string.map { |item| item.to_s }
297
- else
298
- list_or_string.to_s
299
- end
300
- end
301
-
302
280
  # Backslash-escape space, \, |, %, #, "
303
- def sanitize_path_string str
281
+ def sanitize_path_string(str)
304
282
  # for details on escaping command-line mode arguments see: :h :
305
283
  # (that is, help on ":") in the Vim documentation.
306
284
  str.gsub(/[ \\|%#"]/, '\\\\\0')
307
285
  end
308
286
 
309
287
  def default_open_command
310
- if !get_bool('&modified') ||
311
- get_bool('&hidden') ||
312
- get_bool('&autowriteall') && !get_bool('&readonly')
313
- get_string('g:CommandTAcceptSelectionCommand') || 'e'
288
+ if !VIM::get_bool('&modified') ||
289
+ VIM::get_bool('&hidden') ||
290
+ VIM::get_bool('&autowriteall') && !VIM::get_bool('&readonly')
291
+ VIM::get_string('g:CommandTAcceptSelectionCommand') || 'e'
314
292
  else
315
293
  'sp'
316
294
  end
@@ -336,7 +314,7 @@ module CommandT
336
314
  end
337
315
  end
338
316
 
339
- def open_selection selection, options = {}
317
+ def open_selection(selection, options = {})
340
318
  command = options[:command] || default_open_command
341
319
  selection = File.expand_path selection, @path
342
320
  selection = relative_path_under_working_directory selection
@@ -347,7 +325,7 @@ module CommandT
347
325
  @active_finder.open_selection command, selection, options
348
326
  end
349
327
 
350
- def map key, function, param = nil
328
+ def map(key, function, param = nil)
351
329
  ::VIM::command "noremap <silent> <buffer> #{key} " \
352
330
  ":call CommandT#{function}(#{param})<CR>"
353
331
  end
@@ -387,7 +365,7 @@ module CommandT
387
365
  'SelectPrev' => ['<C-p>', '<C-k>', '<Up>'],
388
366
  'ToggleFocus' => '<Tab>',
389
367
  }.each do |key, value|
390
- if override = get_list_or_string("g:CommandT#{key}Map")
368
+ if override = VIM::get_list_or_string("g:CommandT#{key}Map")
391
369
  Array(override).each do |mapping|
392
370
  map mapping, key
393
371
  end
@@ -430,14 +408,14 @@ module CommandT
430
408
 
431
409
  def file_finder
432
410
  @file_finder ||= CommandT::FileFinder.new nil,
433
- :max_depth => get_number('g:CommandTMaxDepth'),
434
- :max_files => get_number('g:CommandTMaxFiles'),
435
- :max_caches => get_number('g:CommandTMaxCachedDirectories'),
436
- :always_show_dot_files => get_bool('g:CommandTAlwaysShowDotFiles'),
437
- :never_show_dot_files => get_bool('g:CommandTNeverShowDotFiles'),
438
- :scan_dot_directories => get_bool('g:CommandTScanDotDirectories'),
439
- :wild_ignore => get_string('g:CommandTWildIgnore'),
440
- :scanner => get_string('g:CommandTFileScanner')
411
+ :max_depth => VIM::get_number('g:CommandTMaxDepth'),
412
+ :max_files => VIM::get_number('g:CommandTMaxFiles'),
413
+ :max_caches => VIM::get_number('g:CommandTMaxCachedDirectories'),
414
+ :always_show_dot_files => VIM::get_bool('g:CommandTAlwaysShowDotFiles'),
415
+ :never_show_dot_files => VIM::get_bool('g:CommandTNeverShowDotFiles'),
416
+ :scan_dot_directories => VIM::get_bool('g:CommandTScanDotDirectories'),
417
+ :wild_ignore => VIM::get_string('g:CommandTWildIgnore'),
418
+ :scanner => VIM::get_string('g:CommandTFileScanner')
441
419
  end
442
420
 
443
421
  def jump_finder
@@ -446,7 +424,7 @@ module CommandT
446
424
 
447
425
  def tag_finder
448
426
  @tag_finder ||= CommandT::TagFinder.new \
449
- :include_filenames => get_bool('g:CommandTTagIncludeFilenames')
427
+ :include_filenames => VIM::get_bool('g:CommandTTagIncludeFilenames')
450
428
  end
451
429
  end # class Controller
452
430
  end # module CommandT