mirror of
https://github.com/atom/atom.git
synced 2026-01-25 06:48:28 -05:00
27 lines
678 B
Ruby
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
|