yasnippet/extras/textmate_mass_import.rb
2009-08-26 07:00:27 +00:00

28 lines
718 B
Ruby
Executable File

#!/usr/bin/ruby
require 'rubygems'
require 'curb'
require 'hpricot'
require 'plist'
begin
index = Curl::Easy.http_get("http://svn.textmate.org/trunk/Bundles/").body_str
parsed = Hpricot.parse(index)
bundles = (parsed/:a).map {|elem| elem.innerText}
bundles.select do |bundle|
bundle =~ /.tmbundle/
end.each do |bundle|
50.times do putc "-" end
puts
begin
info = Curl::Easy.http_get("http://svn.textmate.org/trunk/Bundles/#{bundle}/info.plist").body_str
parsed = Plist::parse_xml(info)
puts parsed["description"]
rescue RuntimeError
puts "Unknown description for #{bundle}"
end
end
rescue Exception => e
$stderr.puts "Oops... #{e.class}:#{e.message}"
end