| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194 |
- " command-t.vim
- " 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_loaded") || &cp
- finish
- endif
- let g:command_t_loaded = 1
- command CommandTBuffer call <SID>CommandTShowBufferFinder()
- command CommandTJump call <SID>CommandTShowJumpFinder()
- command CommandTTag call <SID>CommandTShowTagFinder()
- command -nargs=? -complete=dir CommandT call <SID>CommandTShowFileFinder(<q-args>)
- command CommandTFlush call <SID>CommandTFlush()
- if !hasmapto(':CommandT<CR>')
- silent! nnoremap <unique> <silent> <Leader>t :CommandT<CR>
- endif
- if !hasmapto(':CommandTBuffer<CR>')
- silent! nnoremap <unique> <silent> <Leader>b :CommandTBuffer<CR>
- endif
- 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 s:CommandTShowBufferFinder()
- if has('ruby')
- ruby $command_t.show_buffer_finder
- else
- call s:CommandTRubyWarning()
- endif
- endfunction
- function s:CommandTShowFileFinder(arg)
- if has('ruby')
- ruby $command_t.show_file_finder
- else
- call s:CommandTRubyWarning()
- endif
- endfunction
- function s:CommandTShowJumpFinder()
- if has('ruby')
- ruby $command_t.show_jump_finder
- else
- call s:CommandTRubyWarning()
- endif
- endfunction
- function s:CommandTShowTagFinder()
- if has('ruby')
- ruby $command_t.show_tag_finder
- else
- call s:CommandTRubyWarning()
- endif
- endfunction
- function s: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
- ruby << EOF
- # require Ruby files
- begin
- # prepare controller
- require 'command-t/vim'
- require 'command-t/controller'
- $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
|