require 'vimrunner'
require 'vimrunner/rspec'
+require 'vimrunner/server'
# Explicitly enable usage of "should".
RSpec.configure do |config|
config.reuse_server = ENV['VIMRUNNER_REUSE_SERVER'] == '1' ? true : false
config.start_vim do
- vim = config.reuse_server ? Vimrunner.start_gvim : Vimrunner.start
- plugin_path = File.expand_path('../..', __FILE__)
+ exe = config.reuse_server ? Vimrunner::Platform.gvim : Vimrunner::Platform.vim
+ vimrc = File.expand_path("../vimrc", __FILE__)
+ vim = Vimrunner::Server.new(:executable => exe,
+ :vimrc => vimrc).start
+ # More friendly killing.
+ # Otherwise profiling information might not be written.
+ def vim.kill
+ normal(':qall!<CR>')
- # add_plugin appends the path to the rtp... :(
- # vim.add_plugin(plugin_path, 'indent/python.vim')
+ Timeout.timeout(5) do
+ sleep 0.1 while server.running?
+ end
+ end
+ plugin_path = File.expand_path('../..', __FILE__)
vim.command "set rtp^=#{plugin_path}"
- vim.command "runtime syntax/python.vim"
- vim.command "runtime indent/python.vim"
+ vim.command "set filetype=python"
def shiftwidth
@shiftwidth ||= vim.echo("exists('*shiftwidth') ? shiftwidth() : &sw").to_i
return (i != 0)
end
def set_hang_closing(value)
- if value.nil?
- vim.command("unlet! g:python_pep8_indent_hang_closing")
- else
- i = value ? 1 : 0
- vim.command("let g:python_pep8_indent_hang_closing=#{i}")
- end
+ i = value ? 1 : 0
+ vim.command("let g:python_pep8_indent_hang_closing=#{i}")
end
vim