X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/2de20d9c659d6350a6408dc1ec4aa6e0b1dea6ac..3f68af9813542a5e277b7a51b316644241c372d7:/.vim/bundle/vim-python-pep8-indent/spec/spec_helper.rb?ds=inline diff --git a/.vim/bundle/vim-python-pep8-indent/spec/spec_helper.rb b/.vim/bundle/vim-python-pep8-indent/spec/spec_helper.rb new file mode 100644 index 0000000..c6cc517 --- /dev/null +++ b/.vim/bundle/vim-python-pep8-indent/spec/spec_helper.rb @@ -0,0 +1,70 @@ +require 'vimrunner' +require 'vimrunner/rspec' +require 'vimrunner/server' + +# Explicitly enable usage of "should". +RSpec.configure do |config| + config.expect_with(:rspec) { |c| c.syntax = :should } +end + +Vimrunner::RSpec.configure do |config| + # Use a single Vim instance for the test suite. Set to false to use an + # instance per test (slower, but can be easier to manage). + # This requires using gvim, otherwise it hangs after a few tests. + config.reuse_server = ENV['VIMRUNNER_REUSE_SERVER'] == '1' ? true : false + + config.start_vim do + 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!') + + 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 "set filetype=python" + + def shiftwidth + @shiftwidth ||= vim.echo("exists('*shiftwidth') ? shiftwidth() : &sw").to_i + end + def tabstop + @tabstop ||= vim.echo("&tabstop").to_i + end + def indent + vim.echo("indent('.')").to_i + end + def previous_indent + pline = vim.echo("line('.')").to_i - 1 + vim.echo("indent('#{pline}')").to_i + end + def proposed_indent + line = vim.echo("line('.')") + col = vim.echo("col('.')") + indent_value = vim.echo("GetPythonPEPIndent(#{line})").to_i + vim.command("call cursor(#{line}, #{col})") + return indent_value + end + def multiline_indent(prev, default) + i = vim.echo("get(g:, 'python_pep8_indent_multiline_string', 0)").to_i + return (i == -2 ? default : i), i < 0 ? (i == -1 ? prev : default) : i + end + def hang_closing + i = vim.echo("get(g:, 'python_pep8_indent_hang_closing', 0)").to_i + return (i != 0) + end + def set_hang_closing(value) + i = value ? 1 : 0 + vim.command("let g:python_pep8_indent_hang_closing=#{i}") + end + + vim + end +end