# Copyright 2010-2012 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. require 'command-t/vim/screen' require 'command-t/vim/window' module CommandT module VIM def self.has_syntax? ::VIM::evaluate('has("syntax")').to_i != 0 end def self.exists? str ::VIM::evaluate(%{exists("#{str}")}).to_i != 0 end def self.has_conceal? ::VIM::evaluate('has("conceal")').to_i != 0 end def self.pwd ::VIM::evaluate 'getcwd()' end # Execute cmd, capturing the output into a variable and returning it. def self.capture cmd ::VIM::command 'silent redir => g:command_t_captured_output' ::VIM::command cmd ::VIM::command 'silent redir END' ::VIM::evaluate 'g:command_t_captured_output' end # Escape a string for safe inclusion in a Vim single-quoted string # (single quotes escaped by doubling, everything else is literal) def self.escape_for_single_quotes str str.gsub "'", "''" end end # module VIM end # module CommandT