mirror of
https://github.com/amix/vimrc
synced 2025-07-05 07:25:00 +08:00
This is done by removing custom FileType indent options, and using `vim-python-pep8-indent` plugin.
This commit is contained in:
@ -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!<CR>')
|
||||
|
||||
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
|
Reference in New Issue
Block a user