command-t 1.11.4 → 1.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/README.txt +128 -39
  4. data/Rakefile +2 -18
  5. data/doc/command-t.txt +128 -39
  6. data/doc/tags +6 -1
  7. data/plugin/command-t.vim +7 -10
  8. data/ruby/command-t.rb +17 -0
  9. data/ruby/command-t/Makefile +8 -8
  10. data/ruby/command-t/controller.rb +89 -22
  11. data/ruby/command-t/ext.bundle +0 -0
  12. data/ruby/command-t/finder.rb +8 -2
  13. data/ruby/command-t/finder/buffer_finder.rb +8 -10
  14. data/ruby/command-t/finder/file_finder.rb +22 -27
  15. data/ruby/command-t/finder/jump_finder.rb +8 -10
  16. data/ruby/command-t/finder/mru_buffer_finder.rb +20 -22
  17. data/ruby/command-t/finder/tag_finder.rb +18 -20
  18. data/ruby/command-t/match_window.rb +30 -13
  19. data/ruby/command-t/path_utilities.rb +17 -0
  20. data/ruby/command-t/prompt.rb +1 -1
  21. data/ruby/command-t/scanner.rb +7 -3
  22. data/ruby/command-t/scanner/buffer_scanner.rb +14 -15
  23. data/ruby/command-t/scanner/file_scanner.rb +75 -66
  24. data/ruby/command-t/scanner/file_scanner/file_limit_exceeded.rb +10 -0
  25. data/ruby/command-t/scanner/file_scanner/find_file_scanner.rb +38 -38
  26. data/ruby/command-t/scanner/file_scanner/git_file_scanner.rb +46 -26
  27. data/ruby/command-t/scanner/file_scanner/ruby_file_scanner.rb +43 -43
  28. data/ruby/command-t/scanner/file_scanner/watchman_file_scanner.rb +46 -46
  29. data/ruby/command-t/scanner/jump_scanner.rb +22 -23
  30. data/ruby/command-t/scanner/mru_buffer_scanner.rb +20 -21
  31. data/ruby/command-t/scanner/tag_scanner.rb +23 -23
  32. data/ruby/command-t/scm_utilities.rb +22 -0
  33. data/ruby/command-t/settings.rb +0 -2
  34. data/ruby/command-t/util.rb +1 -1
  35. data/ruby/command-t/vim.rb +3 -3
  36. data/ruby/command-t/watchman.c +0 -15
  37. metadata +6 -3
  38. data/ruby/command-t/vim/path_utilities.rb +0 -34
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 15b705a2624dd62c0c65aeb2b4cf83d6a65ff912
4
- data.tar.gz: 634e56a4920160bc57030edf343e5dfe3006c7d7
3
+ metadata.gz: 9d28350a8f515cb7471b5fa00a9074b0721b6c30
4
+ data.tar.gz: 246ebc958cfc16da936f2a71c72414505e8bd159
5
5
  SHA512:
6
- metadata.gz: cc4e56903ae78486158c715970317bc2789ca3be23b7115cdf86e56c5116f004baa4bd054c410d1bd05f09f14f066845e4b78afe2164658a57c0d369703aa965
7
- data.tar.gz: a7a848d60520dfa88ae35d03f3950f0119c32a5e2ba0ce55dca55b41be9f93ac825e19090322af697b32644b862c9c084753cbf0245ebd562772ce5e9516e268
6
+ metadata.gz: 694364fc9b561d94529c0bebb1e02491b641b9fefb0cb02f942268affea2672ea6776f8b8b1074ca15d9d3fe09a7696f8d7d7a9cd1062c686ebdb61967a1a96c
7
+ data.tar.gz: cf34b852f36ef42b54b29e70ce2e9e30949a598a28fce5ab16aaa9b29068eef222df4412a3107490d678d298e5dff522327727e617b79f3cb698349ae6571898
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright 2010-2014 Greg Hurrell. All rights reserved.
1
+ Copyright 2010-2015 Greg Hurrell. All rights reserved.
2
2
 
3
3
  Redistribution and use in source and binary forms, with or without
4
4
  modification, are permitted provided that the following conditions are met:
data/README.txt CHANGED
@@ -276,13 +276,34 @@ as follows:
276
276
  ruby extconf.rb
277
277
  make
278
278
 
279
- Note: If you are an RVM or rbenv user, you must perform the build using the
280
- same version of Ruby that Vim itself is linked against. This will often be the
281
- system Ruby, which can be selected before issuing the "make" command with one
282
- of the following commands:
279
+ Note: If you are an RVM or rbenv user, you must build CommandT using the same
280
+ version of Ruby that Vim itself is linked against. You can find out the
281
+ version that Vim is linked against by issuing following command inside Vim:
283
282
 
284
- rvm use system
285
- rbenv local system
283
+ :ruby puts "#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"
284
+
285
+ Or, for very old versions of Ruby which don't define `RUBY_PATCHLEVEL`:
286
+
287
+ :ruby puts RUBY_VERSION
288
+
289
+ You can either set your version of Ruby to the output of the above command and
290
+ then build Command-T, or re-build Vim with a version of Ruby you prefer.
291
+
292
+ To set the version of Ruby, issue one of the following commands before
293
+ the `make` command:
294
+
295
+ rvm use VERSION # where "VERSION" is the Ruby version Vim is linked against
296
+ rbenv local VERSION
297
+
298
+ If you decide to re-build Vim, for OS X, you can simply use Homebrew to
299
+ uninstall and re-install Vim with following commands:
300
+
301
+ brew uninstall vim
302
+ brew install vim
303
+
304
+ For more information about Homebrew, see:
305
+
306
+ http://brew.sh
286
307
 
287
308
  Note: If you are on OS X Mavericks and compiling against MacVim, the default
288
309
  system Ruby is 2.0 but MacVim still links against the older 1.8.7 Ruby that is
@@ -370,11 +391,22 @@ Or, for very old versions of Ruby which don't define `RUBY_PATCHLEVEL`:
370
391
 
371
392
  :ruby puts RUBY_VERSION
372
393
 
373
- Finally, beware that if you change your installation method for Command-T (for
374
- example, switching from one plugin manager to another) you should verify that
375
- you remove all of the files installed by the previous installation method; if
376
- you fail to do this, Vim may end up executing the old code, invalidating all
377
- your attempts to get Vim and Command-T using the same version of Ruby.
394
+ Additionally, beware that if you change your installation method for Command-T
395
+ (for example, switching from one plugin manager to another) you should verify
396
+ that you remove all of the files installed by the previous installation
397
+ method; if you fail to do this, Vim may end up executing the old code,
398
+ invalidating all your attempts to get Vim and Command-T using the same version
399
+ of Ruby.
400
+
401
+ Finally, if you end up changing Ruby versions or upgrading other parts of the
402
+ system (the operating system itself, or Vim, for example), you may need to
403
+ issue an additional "make clean" before re-building Command-T; this ensures
404
+ that potentially incompatible build products are disposed of and re-created
405
+ during the build:
406
+
407
+ make clean
408
+ ruby extconf.rb
409
+ make
378
410
 
379
411
 
380
412
  USAGE *command-t-usage*
@@ -390,13 +422,12 @@ by issuing the command:
390
422
  :CommandT
391
423
 
392
424
  A prompt will appear at the bottom of the screen along with a file window
393
- showing all of the files in the current directory (as returned by the
394
- |:pwd| command).
425
+ showing all of the files in the current project (the project directory is
426
+ determined according to the value of the |g:CommandTTraverseSCM| setting,
427
+ which defaults to the SCM root of the current file).
395
428
 
396
- For the most efficient file navigation within a project it's recommended that
397
- you |:cd| into the root directory of your project when starting to work on it.
398
- If you wish to open a file from outside of the project folder you can pass in
399
- an optional path argument (relative or absolute) to |:CommandT|:
429
+ You can pass in an optional path argument to |:CommandT| (relative to the
430
+ current working directory (|:pwd|) or absolute):
400
431
 
401
432
  :CommandT ../path/to/other/files
402
433
 
@@ -509,6 +540,13 @@ COMMANDS *command-t-commands*
509
540
  re-evaluated, causing any changes made to settings via the
510
541
  |:let| command to be picked up.
511
542
 
543
+ *:CommandTLoad*
544
+ |:CommandTLoad| Immediately loads the plug-in files, if they haven't been
545
+ loaded already (normally, the files are loaded lazily the
546
+ first time you run a Command-T command or use a Command-T
547
+ mapping). This command may be useful for people wishing to
548
+ extend Command-T by "monkey patching" its functionality.
549
+
512
550
 
513
551
  MAPPINGS *command-t-mappings*
514
552
 
@@ -622,13 +660,13 @@ Following is a list of all available options:
622
660
  *g:CommandTTraverseSCM*
623
661
  |g:CommandTTraverseSCM| string (default: 'file')
624
662
 
625
- Instructs Command-T how to chose a root path when opening a file finder
663
+ Instructs Command-T how to choose a root path when opening a file finder
626
664
  without an explicit path argument. Possible values are:
627
665
 
628
666
  - "file": starting from the file currently being edited, traverse
629
667
  upwards through the filesystem hierarchy until you find an SCM root
630
668
  (as indicated by the presence of a ".git", ".hg" or similar directory)
631
- and use that as the base path. If no such root is found, fallback to
669
+ and use that as the base path. If no such root is found, fall back to
632
670
  using Vim's present working directory as a root. The list of SCM
633
671
  directories that Command-T uses to detect an SCM root can be
634
672
  customized with the |g:CommandTSCMDirectories| option.
@@ -640,6 +678,13 @@ Following is a list of all available options:
640
678
  - "pwd": use Vim's present working directory as a root (ie. attempt no
641
679
  traversal).
642
680
 
681
+ *g:CommandTGitScanSubmodules*
682
+ |g:CommandTGitScanSubmodules| boolean (default: 0)
683
+
684
+ If set to 1, Command-T will scan submodules (recursively) when using the
685
+ "git" file scanner (see |g:CommandTFileScanner|).
686
+
687
+
643
688
  *g:CommandTSCMDirectories*
644
689
  |g:CommandTSCMDirectories| string (default: '.git,.hg,.svn,.bzr,_darcs')
645
690
 
@@ -811,6 +856,15 @@ Following is a list of all available options:
811
856
  For an example of how this can be used to apply arbitrarily complex
812
857
  logic, see the example in |g:CommandTAcceptSelectionTabCommand| above.
813
858
 
859
+ *g:CommandTEncoding*
860
+ |g:CommandTEncoding| string (default: none)
861
+
862
+ In most environments Command-T will work just fine using the character
863
+ encoding settings from your local environment. This setting can be used
864
+ to force Command-T to use a specific encoding, such as "UTF-8", if your
865
+ environment ends up defaulting to an undesired encoding, such as
866
+ "ASCII-8BIT".
867
+
814
868
  As well as the basic options listed above, there are a number of settings that
815
869
  can be used to override the default key mappings used by Command-T. For
816
870
  example, to set <C-x> as the mapping for cancelling (dismissing) the Command-T
@@ -1065,6 +1119,12 @@ anchored at the root level of your repository in any case.
1065
1119
  Command-T will internally cache up to 10 different directories, so even if you
1066
1120
  |cd| repeatedly, it should only need to scan each directory once.
1067
1121
 
1122
+ let g:CommandTSmartCase = 1
1123
+
1124
+ Makes Command-T perform case-sensitive matching whenever the search pattern
1125
+ includes an uppercase letter. This allows you to narrow the search results
1126
+ listing with fewer keystrokes. See also |g:CommandTIgnoreCase|.
1127
+
1068
1128
  It's advisable to keep a long-running Vim instance in place and let it cache
1069
1129
  the directory listings rather than repeatedly closing and re-opening Vim in
1070
1130
  order to edit every file. On those occasions when you do need to flush the
@@ -1094,6 +1154,8 @@ kind of ongoing calibration will come quite naturally.
1094
1154
  Finally, it is important to be on a relatively recent version of Command-T to
1095
1155
  fully benefit from the available performance enhancements:
1096
1156
 
1157
+ - version 1.10 (July 2014) added the |g:CommandTIgnoreCase| and
1158
+ |g:CommandTSmartCase| options
1097
1159
  - version 1.9 (May 2014) tweaked memoization algorithm for a 10% speed boost
1098
1160
  - version 1.8 (March 2014) sped up the Watchman file scanner by switching its
1099
1161
  communication from the JSON to the binary Watchman protocol
@@ -1112,22 +1174,31 @@ Command-T is written and maintained by Greg Hurrell <greg@hurrell.net>.
1112
1174
  Other contributors that have submitted patches include (in alphabetical
1113
1175
  order):
1114
1176
 
1115
- Abhinav Gupta Marcus Brito Scott Bronson
1116
- Aleksandrs Ļedovskis Marian Schubert Seth Fowler
1117
- Andy Waite Matthew Todd Sherzod Gapirov
1118
- Anthony Panozzo Mike Lundy Shlomi Fish
1119
- Artem Nezvigin Nadav Samet Steven Moazami
1120
- Ben Osheroff Nate Kane Sung Pae
1121
- Daniel Hahler Nicholas Alpi Thomas Pelletier
1122
- David Szotten Noon Silk Ton van den Heuvel
1123
- Emily Strickland Ole Petter Bang Victor Hugo Borja
1124
- Felix Tjandrawibawa Patrick Hayes Vít Ondruch
1125
- Gary Bernhardt Paul Jolly Woody Peterson
1126
- Ivan Ukhov Pavel Sergeev Yan Pritzker
1127
- Jacek Wysocki Rainux Luo Yiding Jia
1128
- Jeff Kreeftmeijer Richard Feldman Zak Johnson
1129
- Kevin Webster Roland Puntaier
1130
- Lucas de Vries Ross Lagerwall
1177
+ Abhinav Gupta Noon Silk
1178
+ Aleksandrs Ļedovskis Ole Petter Bang
1179
+ Andy Waite Patrick Hayes
1180
+ Anthony Panozzo Paul Jolly
1181
+ Artem Nezvigin Pavel Sergeev
1182
+ Ben Boeckel Rainux Luo
1183
+ Ben Osheroff Richard Feldman
1184
+ Daniel Hahler Roland Puntaier
1185
+ David Szotten Ross Lagerwall
1186
+ Emily Strickland Scott Bronson
1187
+ Felix Tjandrawibawa Seth Fowler
1188
+ Gary Bernhardt Sherzod Gapirov
1189
+ Ivan Ukhov Shlomi Fish
1190
+ Jacek Wysocki Steven Moazami
1191
+ Jeff Kreeftmeijer Sung Pae
1192
+ Kevin Webster Thomas Pelletier
1193
+ Lucas de Vries Ton van den Heuvel
1194
+ Marcus Brito Victor Hugo Borja
1195
+ Marian Schubert Vlad Seghete
1196
+ Matthew Todd Vít Ondruch
1197
+ Mike Lundy Woody Peterson
1198
+ Nadav Samet Yan Pritzker
1199
+ Nate Kane Yiding Jia
1200
+ Nicholas Alpi Zak Johnson
1201
+ Nikolai Aleksandrovich Pavlov
1131
1202
 
1132
1203
  As this was the first Vim plug-in I had ever written I was heavily influenced
1133
1204
  by the design of the LustyExplorer plug-in by Stephen Bach, which I understand
@@ -1155,11 +1226,10 @@ the clone URL for which is:
1155
1226
 
1156
1227
  git://git.wincent.com/command-t.git
1157
1228
 
1158
- Mirrors exist on GitHub and Gitorious; these are automatically updated once
1159
- per hour from the authoritative repository:
1229
+ A mirror exists on GitHub, which is automatically updated once per hour from
1230
+ the authoritative repository:
1160
1231
 
1161
1232
  https://github.com/wincent/command-t
1162
- https://gitorious.org/command-t/command-t
1163
1233
 
1164
1234
  Patches are welcome via the usual mechanisms (pull requests, email, posting to
1165
1235
  the project issue tracker etc).
@@ -1196,7 +1266,7 @@ Bug reports should be submitted to the issue tracker at:
1196
1266
 
1197
1267
  LICENSE *command-t-license*
1198
1268
 
1199
- Copyright 2010-2014 Greg Hurrell. All rights reserved.
1269
+ Copyright 2010-2015 Greg Hurrell. All rights reserved.
1200
1270
 
1201
1271
  Redistribution and use in source and binary forms, with or without
1202
1272
  modification, are permitted provided that the following conditions are met:
@@ -1221,6 +1291,25 @@ POSSIBILITY OF SUCH DAMAGE.
1221
1291
 
1222
1292
  HISTORY *command-t-history*
1223
1293
 
1294
+ 1.12 (9 April 2015)
1295
+
1296
+ - add |:CommandTLoad| command
1297
+ - fix rare failure to restore cursor color after closing Command-T (patch from
1298
+ Vlad Seghete)
1299
+ - doc fixes and updates (patches from Daniel Hahler and Nicholas T.)
1300
+ - make it possible to force reloading of the plug-in (patch from Daniel
1301
+ Hahler)
1302
+ - add |g:CommandTEncoding| option, to work around rare encoding compatibility
1303
+ issues
1304
+ - fix error restoring cursor highlights involving some configurations (patch
1305
+ from Daniel Hahler)
1306
+ - skip set-up of |<Esc>| key mapping on rxvt terminals (patch from Daniel
1307
+ Hahler)
1308
+ - add |g:CommandTGitScanSubmodules| option, which can be used to recursively
1309
+ scan submodules when the "git" file scanner is used (patch from Ben Boeckel)
1310
+ - fix for not falling back to "find"-based scanner when a Watchman-related
1311
+ error occurs
1312
+
1224
1313
  1.11.4 (4 November 2014)
1225
1314
 
1226
1315
  - fix infinite loop on Windows when |g:CommandTTraverseSCM| is set to a value
data/Rakefile CHANGED
@@ -47,7 +47,7 @@ def prepare_release_notes
47
47
  break unless lines.shift == '' &&
48
48
  (line = lines.shift) && line =~ /^\d\.\d/ &&
49
49
  lines.shift == ''
50
- while line = lines.shift and line != ''
50
+ while line = lines.shift && line != ''
51
51
  out.puts line
52
52
  end
53
53
  break
@@ -131,22 +131,6 @@ task :make do
131
131
  end
132
132
  end
133
133
 
134
- namespace :make do
135
- desc 'Compile under all multiruby versions'
136
- task :all do
137
- system './compile-test.sh'
138
- bail_on_failure
139
- end
140
- end
141
-
142
- namespace :spec do
143
- desc 'Run specs under all multiruby versions'
144
- task :all do
145
- system './multi-spec.sh'
146
- bail_on_failure
147
- end
148
- end
149
-
150
134
  desc 'Check that the current HEAD is tagged'
151
135
  task :check_tag do
152
136
  unless system 'git describe --exact-match HEAD 2> /dev/null'
@@ -155,7 +139,7 @@ task :check_tag do
155
139
  end
156
140
 
157
141
  desc 'Run checks prior to release'
158
- task :prerelease => ['make:all', 'spec:all', :vimball, :check_tag]
142
+ task :prerelease => ['make', 'spec', :vimball, :check_tag]
159
143
 
160
144
  namespace :upload do
161
145
  desc 'Upload current vimball to Amazon S3'
@@ -276,13 +276,34 @@ as follows:
276
276
  ruby extconf.rb
277
277
  make
278
278
 
279
- Note: If you are an RVM or rbenv user, you must perform the build using the
280
- same version of Ruby that Vim itself is linked against. This will often be the
281
- system Ruby, which can be selected before issuing the "make" command with one
282
- of the following commands:
279
+ Note: If you are an RVM or rbenv user, you must build CommandT using the same
280
+ version of Ruby that Vim itself is linked against. You can find out the
281
+ version that Vim is linked against by issuing following command inside Vim:
283
282
 
284
- rvm use system
285
- rbenv local system
283
+ :ruby puts "#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"
284
+
285
+ Or, for very old versions of Ruby which don't define `RUBY_PATCHLEVEL`:
286
+
287
+ :ruby puts RUBY_VERSION
288
+
289
+ You can either set your version of Ruby to the output of the above command and
290
+ then build Command-T, or re-build Vim with a version of Ruby you prefer.
291
+
292
+ To set the version of Ruby, issue one of the following commands before
293
+ the `make` command:
294
+
295
+ rvm use VERSION # where "VERSION" is the Ruby version Vim is linked against
296
+ rbenv local VERSION
297
+
298
+ If you decide to re-build Vim, for OS X, you can simply use Homebrew to
299
+ uninstall and re-install Vim with following commands:
300
+
301
+ brew uninstall vim
302
+ brew install vim
303
+
304
+ For more information about Homebrew, see:
305
+
306
+ http://brew.sh
286
307
 
287
308
  Note: If you are on OS X Mavericks and compiling against MacVim, the default
288
309
  system Ruby is 2.0 but MacVim still links against the older 1.8.7 Ruby that is
@@ -370,11 +391,22 @@ Or, for very old versions of Ruby which don't define `RUBY_PATCHLEVEL`:
370
391
 
371
392
  :ruby puts RUBY_VERSION
372
393
 
373
- Finally, beware that if you change your installation method for Command-T (for
374
- example, switching from one plugin manager to another) you should verify that
375
- you remove all of the files installed by the previous installation method; if
376
- you fail to do this, Vim may end up executing the old code, invalidating all
377
- your attempts to get Vim and Command-T using the same version of Ruby.
394
+ Additionally, beware that if you change your installation method for Command-T
395
+ (for example, switching from one plugin manager to another) you should verify
396
+ that you remove all of the files installed by the previous installation
397
+ method; if you fail to do this, Vim may end up executing the old code,
398
+ invalidating all your attempts to get Vim and Command-T using the same version
399
+ of Ruby.
400
+
401
+ Finally, if you end up changing Ruby versions or upgrading other parts of the
402
+ system (the operating system itself, or Vim, for example), you may need to
403
+ issue an additional "make clean" before re-building Command-T; this ensures
404
+ that potentially incompatible build products are disposed of and re-created
405
+ during the build:
406
+
407
+ make clean
408
+ ruby extconf.rb
409
+ make
378
410
 
379
411
 
380
412
  USAGE *command-t-usage*
@@ -390,13 +422,12 @@ by issuing the command:
390
422
  :CommandT
391
423
 
392
424
  A prompt will appear at the bottom of the screen along with a file window
393
- showing all of the files in the current directory (as returned by the
394
- |:pwd| command).
425
+ showing all of the files in the current project (the project directory is
426
+ determined according to the value of the |g:CommandTTraverseSCM| setting,
427
+ which defaults to the SCM root of the current file).
395
428
 
396
- For the most efficient file navigation within a project it's recommended that
397
- you |:cd| into the root directory of your project when starting to work on it.
398
- If you wish to open a file from outside of the project folder you can pass in
399
- an optional path argument (relative or absolute) to |:CommandT|:
429
+ You can pass in an optional path argument to |:CommandT| (relative to the
430
+ current working directory (|:pwd|) or absolute):
400
431
 
401
432
  :CommandT ../path/to/other/files
402
433
 
@@ -509,6 +540,13 @@ COMMANDS *command-t-commands*
509
540
  re-evaluated, causing any changes made to settings via the
510
541
  |:let| command to be picked up.
511
542
 
543
+ *:CommandTLoad*
544
+ |:CommandTLoad| Immediately loads the plug-in files, if they haven't been
545
+ loaded already (normally, the files are loaded lazily the
546
+ first time you run a Command-T command or use a Command-T
547
+ mapping). This command may be useful for people wishing to
548
+ extend Command-T by "monkey patching" its functionality.
549
+
512
550
 
513
551
  MAPPINGS *command-t-mappings*
514
552
 
@@ -622,13 +660,13 @@ Following is a list of all available options:
622
660
  *g:CommandTTraverseSCM*
623
661
  |g:CommandTTraverseSCM| string (default: 'file')
624
662
 
625
- Instructs Command-T how to chose a root path when opening a file finder
663
+ Instructs Command-T how to choose a root path when opening a file finder
626
664
  without an explicit path argument. Possible values are:
627
665
 
628
666
  - "file": starting from the file currently being edited, traverse
629
667
  upwards through the filesystem hierarchy until you find an SCM root
630
668
  (as indicated by the presence of a ".git", ".hg" or similar directory)
631
- and use that as the base path. If no such root is found, fallback to
669
+ and use that as the base path. If no such root is found, fall back to
632
670
  using Vim's present working directory as a root. The list of SCM
633
671
  directories that Command-T uses to detect an SCM root can be
634
672
  customized with the |g:CommandTSCMDirectories| option.
@@ -640,6 +678,13 @@ Following is a list of all available options:
640
678
  - "pwd": use Vim's present working directory as a root (ie. attempt no
641
679
  traversal).
642
680
 
681
+ *g:CommandTGitScanSubmodules*
682
+ |g:CommandTGitScanSubmodules| boolean (default: 0)
683
+
684
+ If set to 1, Command-T will scan submodules (recursively) when using the
685
+ "git" file scanner (see |g:CommandTFileScanner|).
686
+
687
+
643
688
  *g:CommandTSCMDirectories*
644
689
  |g:CommandTSCMDirectories| string (default: '.git,.hg,.svn,.bzr,_darcs')
645
690
 
@@ -811,6 +856,15 @@ Following is a list of all available options:
811
856
  For an example of how this can be used to apply arbitrarily complex
812
857
  logic, see the example in |g:CommandTAcceptSelectionTabCommand| above.
813
858
 
859
+ *g:CommandTEncoding*
860
+ |g:CommandTEncoding| string (default: none)
861
+
862
+ In most environments Command-T will work just fine using the character
863
+ encoding settings from your local environment. This setting can be used
864
+ to force Command-T to use a specific encoding, such as "UTF-8", if your
865
+ environment ends up defaulting to an undesired encoding, such as
866
+ "ASCII-8BIT".
867
+
814
868
  As well as the basic options listed above, there are a number of settings that
815
869
  can be used to override the default key mappings used by Command-T. For
816
870
  example, to set <C-x> as the mapping for cancelling (dismissing) the Command-T
@@ -1065,6 +1119,12 @@ anchored at the root level of your repository in any case.
1065
1119
  Command-T will internally cache up to 10 different directories, so even if you
1066
1120
  |cd| repeatedly, it should only need to scan each directory once.
1067
1121
 
1122
+ let g:CommandTSmartCase = 1
1123
+
1124
+ Makes Command-T perform case-sensitive matching whenever the search pattern
1125
+ includes an uppercase letter. This allows you to narrow the search results
1126
+ listing with fewer keystrokes. See also |g:CommandTIgnoreCase|.
1127
+
1068
1128
  It's advisable to keep a long-running Vim instance in place and let it cache
1069
1129
  the directory listings rather than repeatedly closing and re-opening Vim in
1070
1130
  order to edit every file. On those occasions when you do need to flush the
@@ -1094,6 +1154,8 @@ kind of ongoing calibration will come quite naturally.
1094
1154
  Finally, it is important to be on a relatively recent version of Command-T to
1095
1155
  fully benefit from the available performance enhancements:
1096
1156
 
1157
+ - version 1.10 (July 2014) added the |g:CommandTIgnoreCase| and
1158
+ |g:CommandTSmartCase| options
1097
1159
  - version 1.9 (May 2014) tweaked memoization algorithm for a 10% speed boost
1098
1160
  - version 1.8 (March 2014) sped up the Watchman file scanner by switching its
1099
1161
  communication from the JSON to the binary Watchman protocol
@@ -1112,22 +1174,31 @@ Command-T is written and maintained by Greg Hurrell <greg@hurrell.net>.
1112
1174
  Other contributors that have submitted patches include (in alphabetical
1113
1175
  order):
1114
1176
 
1115
- Abhinav Gupta Marcus Brito Scott Bronson
1116
- Aleksandrs Ļedovskis Marian Schubert Seth Fowler
1117
- Andy Waite Matthew Todd Sherzod Gapirov
1118
- Anthony Panozzo Mike Lundy Shlomi Fish
1119
- Artem Nezvigin Nadav Samet Steven Moazami
1120
- Ben Osheroff Nate Kane Sung Pae
1121
- Daniel Hahler Nicholas Alpi Thomas Pelletier
1122
- David Szotten Noon Silk Ton van den Heuvel
1123
- Emily Strickland Ole Petter Bang Victor Hugo Borja
1124
- Felix Tjandrawibawa Patrick Hayes Vít Ondruch
1125
- Gary Bernhardt Paul Jolly Woody Peterson
1126
- Ivan Ukhov Pavel Sergeev Yan Pritzker
1127
- Jacek Wysocki Rainux Luo Yiding Jia
1128
- Jeff Kreeftmeijer Richard Feldman Zak Johnson
1129
- Kevin Webster Roland Puntaier
1130
- Lucas de Vries Ross Lagerwall
1177
+ Abhinav Gupta Noon Silk
1178
+ Aleksandrs Ļedovskis Ole Petter Bang
1179
+ Andy Waite Patrick Hayes
1180
+ Anthony Panozzo Paul Jolly
1181
+ Artem Nezvigin Pavel Sergeev
1182
+ Ben Boeckel Rainux Luo
1183
+ Ben Osheroff Richard Feldman
1184
+ Daniel Hahler Roland Puntaier
1185
+ David Szotten Ross Lagerwall
1186
+ Emily Strickland Scott Bronson
1187
+ Felix Tjandrawibawa Seth Fowler
1188
+ Gary Bernhardt Sherzod Gapirov
1189
+ Ivan Ukhov Shlomi Fish
1190
+ Jacek Wysocki Steven Moazami
1191
+ Jeff Kreeftmeijer Sung Pae
1192
+ Kevin Webster Thomas Pelletier
1193
+ Lucas de Vries Ton van den Heuvel
1194
+ Marcus Brito Victor Hugo Borja
1195
+ Marian Schubert Vlad Seghete
1196
+ Matthew Todd Vít Ondruch
1197
+ Mike Lundy Woody Peterson
1198
+ Nadav Samet Yan Pritzker
1199
+ Nate Kane Yiding Jia
1200
+ Nicholas Alpi Zak Johnson
1201
+ Nikolai Aleksandrovich Pavlov
1131
1202
 
1132
1203
  As this was the first Vim plug-in I had ever written I was heavily influenced
1133
1204
  by the design of the LustyExplorer plug-in by Stephen Bach, which I understand
@@ -1155,11 +1226,10 @@ the clone URL for which is:
1155
1226
 
1156
1227
  git://git.wincent.com/command-t.git
1157
1228
 
1158
- Mirrors exist on GitHub and Gitorious; these are automatically updated once
1159
- per hour from the authoritative repository:
1229
+ A mirror exists on GitHub, which is automatically updated once per hour from
1230
+ the authoritative repository:
1160
1231
 
1161
1232
  https://github.com/wincent/command-t
1162
- https://gitorious.org/command-t/command-t
1163
1233
 
1164
1234
  Patches are welcome via the usual mechanisms (pull requests, email, posting to
1165
1235
  the project issue tracker etc).
@@ -1196,7 +1266,7 @@ Bug reports should be submitted to the issue tracker at:
1196
1266
 
1197
1267
  LICENSE *command-t-license*
1198
1268
 
1199
- Copyright 2010-2014 Greg Hurrell. All rights reserved.
1269
+ Copyright 2010-2015 Greg Hurrell. All rights reserved.
1200
1270
 
1201
1271
  Redistribution and use in source and binary forms, with or without
1202
1272
  modification, are permitted provided that the following conditions are met:
@@ -1221,6 +1291,25 @@ POSSIBILITY OF SUCH DAMAGE.
1221
1291
 
1222
1292
  HISTORY *command-t-history*
1223
1293
 
1294
+ 1.12 (9 April 2015)
1295
+
1296
+ - add |:CommandTLoad| command
1297
+ - fix rare failure to restore cursor color after closing Command-T (patch from
1298
+ Vlad Seghete)
1299
+ - doc fixes and updates (patches from Daniel Hahler and Nicholas T.)
1300
+ - make it possible to force reloading of the plug-in (patch from Daniel
1301
+ Hahler)
1302
+ - add |g:CommandTEncoding| option, to work around rare encoding compatibility
1303
+ issues
1304
+ - fix error restoring cursor highlights involving some configurations (patch
1305
+ from Daniel Hahler)
1306
+ - skip set-up of |<Esc>| key mapping on rxvt terminals (patch from Daniel
1307
+ Hahler)
1308
+ - add |g:CommandTGitScanSubmodules| option, which can be used to recursively
1309
+ scan submodules when the "git" file scanner is used (patch from Ben Boeckel)
1310
+ - fix for not falling back to "find"-based scanner when a Watchman-related
1311
+ error occurs
1312
+
1224
1313
  1.11.4 (4 November 2014)
1225
1314
 
1226
1315
  - fix infinite loop on Windows when |g:CommandTTraverseSCM| is set to a value