[TxMt] Wrap selection as link with title
Reprisal
nepenthereprisal at aol.com
Sun Oct 22 16:07:30 UTC 2006
Probably use net::http to grab the page, and use the response codes
to fail gracefully. Otherwise test for a valid response using curl
before calling open?
On Oct 22, 2006, at 11:00 AM, Brett Terpstra wrote:
> Hi everybody.
>
> As some of you may have figured out, I work a lot in HTML and CSS
> and I have a fetish for descriptive titles on links. I've been
> rewriting the wrap selection as link command and have it all worked
> out to grab the title of the link in the clipboard if it starts
> with http(s). I can't get it to validate the link, though.
>
> Here's the text of the command:
>
> #!/usr/bin/env ruby
> require "#{ENV['TM_SUPPORT_PATH']}/lib/progress.rb"
> require 'open-uri'
> link = "http://site.com"
> title = #{ENV['TM_SELECTED_TEXT']}
> s = IO.popen('pbpaste', 'r+').read
> if s.match(/(http(s?):\/\/)/) then
> TextMate.call_with_progress(:title => "Opening Link", :message =>
> "Retrieving Title for #{s}") do
> begin
> fp = open(s)
> title = fp.read.match(/<title>([^<>]*)<\/title>/i).to_a
> [1].strip
> link = s
> rescue
> title = "site unreachable"
> end
> end
> end
> print %{<a href="${1:#{link}}" title="${2:#{title}}" >
> $TM_SELECTED_TEXT</a>}
>
> I've tried all kinds of overly complex methods that all yield the
> same results when the link is bogus:
>
> /usr/lib/ruby/1.8/timeout.rb:42:in /bin/bash: -c: line 1:
> unexpected EOF while looking for matching `''
> /bin/bash: -c: line 3: syntax error: unexpected end of fileconnect'
> from /usr/lib/ruby/1.8/net/protocol.rb:64:in /bin/bash: -c: line 1:
> unexpected EOF while looking for matching `''
> /bin/bash: -c: line 3: syntax error: unexpected end of fileopen'
> from /usr/lib/ruby/1.8/net/http.rb:430:in /bin/bash: -c: line 1:
> unexpected EOF while looking for matching `''
> /bin/bash: -c: line 3: syntax error: unexpected end of filestart'
> from /usr/lib/ruby/1.8/net/http.rb:324:in /bin/bash: -c: line 1:
> unexpected EOF while looking for matching `''
> /bin/bash: -c: line 3: syntax error: unexpected end of fileproxy_open'
> from /usr/lib/ruby/1.8/open-uri.rb:525:in /bin/bash: -c: line 1:
> unexpected EOF while looking for matching `''
> /bin/bash: -c: line 5: syntax error: unexpected end of filepopen'
> from /Users/brett/Library/Application Support/TextMate/Support/lib/
> progress.rb:11:in
> This is what I get (and should get, I think) when I run it from a
> Ruby dialog:
> <a href="${1:http://site.com}" title="${2:site unreachable}" >
> $TM_SELECTED_TEXT</a>
>
> It works great when the site in the clipboard is valid. Any
> suggestions would be appreciated.
>
> Thanks,
> Brett
>
>
> Brett Terpstra : Art Director
> Circle Six Design, Inc.
> 111 Riverfront Dr, Suite 204
>
>
>
>
> ______________________________________________________________________
> For new threads USE THIS: textmate at lists.macromates.com
> (threading gets destroyed and the universe will collapse if you don't)
> http://lists.macromates.com/mailman/listinfo/textmate
More information about the textmate
mailing list