1
0
mirror of https://github.com/amix/vimrc synced 2025-07-03 22:25:32 +08:00

Add support for Elixir.

This commit is contained in:
Kurtis Moxley
2022-05-19 01:31:41 +08:00
parent 9e29fd54b4
commit d26bc75459
89 changed files with 6799 additions and 0 deletions

View File

@ -0,0 +1,57 @@
#! /usr/bin/env ruby
require 'bundler/setup'
require 'vimrunner'
require 'diffy'
require 'fileutils'
dir = File.expand_path('..', __dir__)
plugin = 'ftdetect/elixir.vim'
def bm
t1 = Time.now
yield
Time.now - t1
end
def detect_change(f)
pre = File.read(f)
pre = strip_doc_blocks(pre)
yield
post = File.read('test_indent.result')
post = strip_doc_blocks(post)
pre == post ? nil : Diffy::Diff.new(pre, post)
end
def strip_doc_blocks(body)
body.gsub(/@\w+ """.*"""/m, '')
end
ARGV.each do |f|
vim = Vimrunner.start_gvim
vim.add_plugin(dir, plugin)
vim.edit! f
print "## Testing #{File.expand_path(f)} ... "
time = nil
diff = detect_change(f) do
time = bm do
vim.normal 'ggVG999<<'
vim.normal 'gg=G'
vim.normal ':w! test_indent.result<CR>'
vim.normal ':q!<CR>'
Process.wait vim.server.pid
end
end
if diff
puts "error [#{time}s]"
puts diff
else
puts "ok [#{time}s]"
end
end
FileUtils.rm 'test_indent.result'