-
Notifications
You must be signed in to change notification settings - Fork 320
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* next: Guard against overflow when peeking at PDU size Doc: update HISTORY section Establish new benchmark baseline Fix memoization Fix off-by-one error in last_idx management Fix egregious matching bug Add <ESC> key xterm info to FAQ Add casts to silence Clang warnings Fix compiler warnings on CentOS Update docs with info about autoload optimization Use vim's autoload feature Never overwrite other mappings Only move MRU results if appropriate Update docs with info about :CommandTMRU Teach MRU module to ignore unlisted buffers Work around missing matches_for method Split MRU functionality into separate command Drop an unnecessary `#compact` call Rename Mru -> MRU Make MruBufferScanner inherit from BufferScanner Make the MRU buffer stack an actual stack Make MruBufferFinder inherit from BufferFinder Improve diagnostic info in CommandT::Stub error message Add missing method to CommandT::Stub Fix some cosmetic typos Get rid of $scanner global variable doc: Add Ton van den Heuvel to AUTHORS section Add missing copyright headers Add support for MRU buffer ordering Signed-off-by: Greg Hurrell <greg@hurrell.net>
- Loading branch information
Showing
13 changed files
with
529 additions
and
216 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,193 @@ | ||
" Copyright 2010-2014 Wincent Colaiuta. All rights reserved. | ||
" | ||
" Redistribution and use in source and binary forms, with or without | ||
" modification, are permitted provided that the following conditions are met: | ||
" | ||
" 1. Redistributions of source code must retain the above copyright notice, | ||
" this list of conditions and the following disclaimer. | ||
" 2. Redistributions in binary form must reproduce the above copyright notice, | ||
" this list of conditions and the following disclaimer in the documentation | ||
" and/or other materials provided with the distribution. | ||
" | ||
" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | ||
" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
" ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE | ||
" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | ||
" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | ||
" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | ||
" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | ||
" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | ||
" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | ||
" POSSIBILITY OF SUCH DAMAGE. | ||
|
||
if exists("g:command_t_autoloaded") || &cp | ||
finish | ||
endif | ||
let g:command_t_autoloaded = 1 | ||
|
||
function s:CommandTRubyWarning() | ||
echohl WarningMsg | ||
echo "command-t.vim requires Vim to be compiled with Ruby support" | ||
echo "For more information type: :help command-t" | ||
echohl none | ||
endfunction | ||
|
||
function commandt#CommandTShowBufferFinder() | ||
if has('ruby') | ||
ruby $command_t.show_buffer_finder | ||
else | ||
call s:CommandTRubyWarning() | ||
endif | ||
endfunction | ||
|
||
function commandt#CommandTShowFileFinder(arg) | ||
if has('ruby') | ||
ruby $command_t.show_file_finder | ||
else | ||
call s:CommandTRubyWarning() | ||
endif | ||
endfunction | ||
|
||
function commandt#CommandTShowJumpFinder() | ||
if has('ruby') | ||
ruby $command_t.show_jump_finder | ||
else | ||
call s:CommandTRubyWarning() | ||
endif | ||
endfunction | ||
|
||
function commandt#CommandTShowMRUFinder() | ||
if has('ruby') | ||
ruby $command_t.show_mru_finder | ||
else | ||
call s:CommandTRubyWarning() | ||
endif | ||
endfunction | ||
|
||
function commandt#CommandTShowTagFinder() | ||
if has('ruby') | ||
ruby $command_t.show_tag_finder | ||
else | ||
call s:CommandTRubyWarning() | ||
endif | ||
endfunction | ||
|
||
function commandt#CommandTFlush() | ||
if has('ruby') | ||
ruby $command_t.flush | ||
else | ||
call s:CommandTRubyWarning() | ||
endif | ||
endfunction | ||
|
||
if !has('ruby') | ||
finish | ||
endif | ||
|
||
function CommandTListMatches() | ||
ruby $command_t.list_matches | ||
endfunction | ||
|
||
function CommandTHandleKey(arg) | ||
ruby $command_t.handle_key | ||
endfunction | ||
|
||
function CommandTBackspace() | ||
ruby $command_t.backspace | ||
endfunction | ||
|
||
function CommandTDelete() | ||
ruby $command_t.delete | ||
endfunction | ||
|
||
function CommandTAcceptSelection() | ||
ruby $command_t.accept_selection | ||
endfunction | ||
|
||
function CommandTAcceptSelectionTab() | ||
ruby $command_t.accept_selection :command => 'tabe' | ||
endfunction | ||
|
||
function CommandTAcceptSelectionSplit() | ||
ruby $command_t.accept_selection :command => 'sp' | ||
endfunction | ||
|
||
function CommandTAcceptSelectionVSplit() | ||
ruby $command_t.accept_selection :command => 'vs' | ||
endfunction | ||
|
||
function CommandTQuickfix() | ||
ruby $command_t.quickfix | ||
endfunction | ||
|
||
function CommandTRefresh() | ||
ruby $command_t.refresh | ||
endfunction | ||
|
||
function CommandTToggleFocus() | ||
ruby $command_t.toggle_focus | ||
endfunction | ||
|
||
function CommandTCancel() | ||
ruby $command_t.cancel | ||
endfunction | ||
|
||
function CommandTSelectNext() | ||
ruby $command_t.select_next | ||
endfunction | ||
|
||
function CommandTSelectPrev() | ||
ruby $command_t.select_prev | ||
endfunction | ||
|
||
function CommandTClear() | ||
ruby $command_t.clear | ||
endfunction | ||
|
||
function CommandTCursorLeft() | ||
ruby $command_t.cursor_left | ||
endfunction | ||
|
||
function CommandTCursorRight() | ||
ruby $command_t.cursor_right | ||
endfunction | ||
|
||
function CommandTCursorEnd() | ||
ruby $command_t.cursor_end | ||
endfunction | ||
|
||
function CommandTCursorStart() | ||
ruby $command_t.cursor_start | ||
endfunction | ||
|
||
" note that we only start tracking buffers from first (autoloaded) use of Command-T | ||
augroup CommandTMRUBuffer | ||
autocmd BufEnter * ruby CommandT::MRU.touch | ||
autocmd BufDelete * ruby CommandT::MRU.delete | ||
augroup END | ||
|
||
ruby << EOF | ||
# require Ruby files | ||
begin | ||
require 'command-t/vim' | ||
require 'command-t/controller' | ||
require 'command-t/mru' | ||
$command_t = CommandT::Controller.new | ||
rescue LoadError | ||
load_path_modified = false | ||
::VIM::evaluate('&runtimepath').to_s.split(',').each do |path| | ||
lib = "#{path}/ruby" | ||
if !$LOAD_PATH.include?(lib) and File.exist?(lib) | ||
$LOAD_PATH << lib | ||
load_path_modified = true | ||
end | ||
end | ||
retry if load_path_modified | ||
|
||
# could get here if C extension was not compiled, or was compiled | ||
# for the wrong architecture or Ruby version | ||
require 'command-t/stub' | ||
$command_t = CommandT::Stub.new | ||
end | ||
EOF |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.