Files
atom/bundles/ruby.tmbundle/Support/lib/ruby_requires.rb
Corey Johnson & Nathan Sobo f84f9c5dd2 Add bundles and themes
2012-08-27 13:20:22 -07:00

27 lines
678 B
Ruby

#!/usr/bin/env ruby
$: << "#{ENV['TM_SUPPORT_PATH']}/lib" if ENV.has_key?('TM_SUPPORT_PATH')
require "escape"
module RubyRequires
module_function
def build_requires( code, libs )
libs.reject { |lib| code =~ /require\s*(['"])#{lib}\1/ }.
map { |lib| "require \"#{lib}\"\n" }.join
end
def place_requires( code, new_reqs )
return code unless new_reqs =~ /\S/
code.dup.sub!(/(?:^[ \t]*require\s*(['"]).+?\1.*\n)+/, "\\&#{new_reqs}") ||
code.sub(/\A(?:\s*(?:#.*)?\n)*/, "\\&#{new_reqs}\n")
end
def add_requires( code, reqs )
new_reqs = build_requires(code, reqs)
code = place_requires(code, new_reqs)
e_sn(code)
end
end