class VundleMigrator::Migrator
Constants
- PLUGINS_END
- PLUGINS_START
- VIMRC_SOURCE
Attributes
plugins[R]
Public Class Methods
new(vimrc, source, destination)
click to toggle source
# File lib/vundle_migrator.rb, line 24 def initialize(vimrc, source, destination) @vimrc = vimrc @source = source || "#{Dir.home}/.vim/bundle" @destination = destination || "#{Dir.home}/.vim/vundle/plugins.vim" @entries = Dir.entries(@source) - %w(. ..) @plugins = [] end
Public Instance Methods
create_plugins_file()
click to toggle source
# File lib/vundle_migrator.rb, line 62 def create_plugins_file puts "creating #{@destination}" File.open(@destination, "w") do |f| f.write(PLUGINS_START) @plugins.each do |plugin| f.write("#{plugin}\n") end f.write(PLUGINS_END) end end
create_plugins_list()
click to toggle source
# File lib/vundle_migrator.rb, line 47 def create_plugins_list puts "creating list of plugins" @plugins = @entries.map do |plugin_directory| Dir.chdir("#{@source}/#{plugin_directory}") do package = `git remote -v`.match(/com[\/|:](.+)\.git/)[1] "Plugin '#{package}'" end end end
create_vundle_folder()
click to toggle source
# File lib/vundle_migrator.rb, line 57 def create_vundle_folder puts "creating folder at #{File.dirname(@destination)}" FileUtils.mkdir_p(File.dirname(@destination)) end
dry_run()
click to toggle source
# File lib/vundle_migrator.rb, line 42 def dry_run create_plugins_list print_file_contents end
prepend_vimrc()
click to toggle source
# File lib/vundle_migrator.rb, line 75 def prepend_vimrc puts "adding 'source vundle' to #{@vimrc}" File.rename("#{@vimrc}", "#{@vimrc}.old") File.open("#{@vimrc}", 'w') do |f| f.puts VIMRC_SOURCE File.foreach("#{@vimrc}.old") do |l| f.puts l end end FileUtils.remove("#{@vimrc}.old") end
print_file_contents()
click to toggle source
# File lib/vundle_migrator.rb, line 89 def print_file_contents puts "file contents:\n------\n" puts PLUGINS_START puts @plugins puts PLUGINS_END end
run()
click to toggle source
# File lib/vundle_migrator.rb, line 32 def run puts "starting the migration" create_plugins_list create_vundle_folder create_plugins_file prepend_vimrc puts "migration finished" puts "don't forget to run ':PluginInstall' after loading vim" end