[TxMt] List all colours in a CSS file command

Constantinos Neophytou ♎ jaguarcy at gmail.com
Wed May 23 15:19:27 UTC 2007


James, if you want to get rid of that ugly colourArrayToTrim business  
on your version, just replace the regex with:

hex = Regexp.new(/#([0-9a-fA-F]{3,6})/)

(note the single parenthesis that captures the entire hex number).

also after scanning, something like

colourArray.sort!.uniq!

might be useful, though i haven't checked your new modification and  
don't know how it will play with line numbers...

Good effort none the less (liked it so much, I even read up on ruby  
documentation for the first time ever to figure out how to change a  
thing or two.. ;)

On May 23, 2007, at 5:15 PM, james at vennt.net wrote:

> I was in two minds over bothering to write this because I was  
> shocked you
> hadn't already Thomas. Looks like I chose wrong :)
>
> However I had some spare time this afternoon and added line numbers  
> and
> made the links work on mine.
>
>
> #!/usr/bin/env ruby
>
>
> myFile = STDIN.read
> fileName = ENV['TM_FILENAME']
>
> hex = Regexp.new(/(#(\d|[a-f]|[A-F]){3,6})/)
>
>
> def swatch(colour,lineNumber)
>   puts "
>   <a href='txmt://open?line=#{lineNumber}' class='colourRow'>
>   <div class='swatch'>
>   <div style='background-color:#{colour};'></div>
>   </div>
>   #{colour}<br /><span>#{lineNumber}</span>
>   </a>
>   "
> end
>
>
> puts '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
> 	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
>
> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
> <head>
> 	<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
>
> 	<title>Colours</title>
>
> 		<style type="text/css" media="screen">
> 		a {
> 			color: #000;
> 			text-decoration: none;
> 			border: 1px solid #fff;
> 			padding: 2px;
> 			line-height: 11px;
> 			font-size: 90%;
> 		}
>
> 		a:hover {
> 			background-color: #EFEFEF;
> 			border: 1px solid #999;
> 		}
>
> 		.colourRow {
> 			display: block;
> 			margin-top: 5px;
> 			margin-bottom: 5px;
> 			width:160px;
> 			margin-right: 10px;
> 			float:left;
> 		}
>
> 		.colourRow span {
> 			font-size: 60%;
> 			color: #7F7F7F;
> 		}
>
> 		.swatch {
> 			width: 20px;
> 			height: 20px;
> 			display: block;
> 			border: 1px solid  #666;
> 			margin-right: 10px;
> 			float: left;
> 		}
>
> 		.swatch div {
> 			width: 18px;
> 			height: 18px;
> 			border: 1px solid #fff;
> 		}
>
> 	</style>
>
> </head>
>
> <body>'
>
> puts "<h2>Colours used #{fileName}</h2>"
>
>
>
> lines = myFile.split("\n")
> counter = 1
> lines.each do |line|
>   colourArrayToTrim = line.scan(hex)
>   colourArray = []
>
>   colourArrayToTrim.each do |colour|
>       colourArray.push colour.shift
>   end
>
>   colourArray.each do |colour|
>     swatch(colour,counter)
>   end
>   counter+=1
> end
>
> puts "
> </body>
> </html>
> "
>
>
> ______________________________________________________________________
> 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

-- 
What's your Dream?
Make it happen with www.dostpost.com



-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 1288 bytes
Desc: not available
URL: <http://lists.macromates.com/textmate/attachments/20070523/3e0e7bc7/attachment.p7s>


More information about the textmate mailing list