├── .gitignore ├── Snippets ├── span.tmSnippet ├── td.tmSnippet ├── th.tmSnippet ├── br.tmSnippet ├── p.tmSnippet ├── strong.tmSnippet ├── a.tmSnippet ├── emphasized.tmSnippet ├── XHTML 1_1.tmSnippet ├── blockquote.tmSnippet ├── li.tmSnippet ├── # 2.tmSnippet ├── filter (erb).tmSnippet ├── h1.tmSnippet ├── h2.tmSnippet ├── h3.tmSnippet ├── h4.tmSnippet ├── h5.tmSnippet ├── h6.tmSnippet ├── img.tmSnippet ├── div.tmSnippet ├── filter (plain).tmSnippet ├── filter (ruby).tmSnippet ├── filter (sass).tmSnippet ├── XHTML 1_0 Strict.tmSnippet ├── XHTML 1_0 Transitional.tmSnippet ├── filter (escaped).tmSnippet ├── filter (markdown).tmSnippet ├── filter (preserve).tmSnippet ├── filter (textile).tmSnippet ├── hopper.tmSnippet ├── tr.tmSnippet ├── wrap as___.tmSnippet ├── filter (javascript).tmSnippet ├── tbody.tmSnippet ├── tfooter.tmSnippet ├── thead.tmSnippet ├── { ___ } 2.tmSnippet ├── table (basic).tmSnippet ├── "".tmSnippet ├── _columns.tmSnippet ├── ul.tmSnippet ├── }, :bar => "blah".tmSnippet ├── link_to (URL).tmSnippet ├── ol.tmSnippet ├── = render_partial.tmSnippet ├── link_to (Route).tmSnippet ├── link_to (Wrap text as___).tmSnippet └── table (templated).tmSnippet ├── Preferences └── Comments.tmPreferences ├── Commands └── Convert HTML to HAML.tmCommand ├── README.markdown ├── Syntaxes └── Ruby Haml.tmLanguage └── info.plist /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store -------------------------------------------------------------------------------- /Snippets/span.tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | %span 7 | name 8 | span 9 | scope 10 | text.haml 11 | tabTrigger 12 | s 13 | uuid 14 | 536D8475-F2B3-46D9-AC68-203D98FC8E58 15 | 16 | 17 | -------------------------------------------------------------------------------- /Snippets/td.tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | %td $0 7 | name 8 | td 9 | scope 10 | text.haml 11 | tabTrigger 12 | td 13 | uuid 14 | FA2645FE-9305-4F76-90F2-389EB5AF0FF1 15 | 16 | 17 | -------------------------------------------------------------------------------- /Snippets/th.tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | %th $0 7 | name 8 | th 9 | scope 10 | text.haml 11 | tabTrigger 12 | th 13 | uuid 14 | 5D249861-A7FA-4E40-8FF7-BB5C0CD4A3E1 15 | 16 | 17 | -------------------------------------------------------------------------------- /Snippets/br.tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | %br 7 | 8 | name 9 | br 10 | scope 11 | text.haml 12 | tabTrigger 13 | br 14 | uuid 15 | 6889AB8F-F3DD-4857-B8B3-42653FD5C335 16 | 17 | 18 | -------------------------------------------------------------------------------- /Snippets/p.tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | %p ${1:Lorem ipsum...} 7 | name 8 | p 9 | scope 10 | text.haml 11 | tabTrigger 12 | p 13 | uuid 14 | 6C21CE80-6282-4324-A90E-0339FCE520CF 15 | 16 | 17 | -------------------------------------------------------------------------------- /Snippets/strong.tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | %strong $0 7 | name 8 | strong 9 | scope 10 | text.haml 11 | tabTrigger 12 | s 13 | uuid 14 | 097169D1-D454-4408-A813-078AF6D203EB 15 | 16 | 17 | -------------------------------------------------------------------------------- /Snippets/a.tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | %a{:href => "${1:/}"}$0 7 | name 8 | a 9 | scope 10 | text.haml 11 | tabTrigger 12 | a 13 | uuid 14 | 3B3E18FC-9EE1-48B9-A293-274587B502AD 15 | 16 | 17 | -------------------------------------------------------------------------------- /Snippets/emphasized.tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | %em $0 7 | name 8 | emphasized 9 | scope 10 | text.haml 11 | tabTrigger 12 | e 13 | uuid 14 | 4F5A07B2-9672-4F37-9D5E-F3D4FE5E81D9 15 | 16 | 17 | -------------------------------------------------------------------------------- /Snippets/XHTML 1_1.tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | !!! 1.1 7 | name 8 | XHTML 1.1 9 | scope 10 | text.haml 11 | tabTrigger 12 | doctype 13 | uuid 14 | 47E648DA-A348-4102-B85A-76D25A584E91 15 | 16 | 17 | -------------------------------------------------------------------------------- /Snippets/blockquote.tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | %blockquote 7 | name 8 | blockquote 9 | scope 10 | text.haml 11 | tabTrigger 12 | b 13 | uuid 14 | AA62925A-EB31-4159-9BAF-0CFC94923E42 15 | 16 | 17 | -------------------------------------------------------------------------------- /Snippets/li.tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | %li ${5:Lorem ipsum...}$0 7 | name 8 | li 9 | scope 10 | text.haml 11 | tabTrigger 12 | li 13 | uuid 14 | 3D734861-8B7D-4658-8232-A6A0D321F5EE 15 | 16 | 17 | -------------------------------------------------------------------------------- /Snippets/# 2.tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | #${1:id_selector} 7 | $0 8 | name 9 | div (id) 10 | scope 11 | text.haml 12 | tabTrigger 13 | # 14 | uuid 15 | 2B7686C1-C91A-401E-9035-5E29CB43C2D2 16 | 17 | 18 | -------------------------------------------------------------------------------- /Snippets/filter (erb).tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | :erb 7 | $0 8 | name 9 | filter (erb) 10 | scope 11 | text.haml 12 | tabTrigger 13 | :f 14 | uuid 15 | 1E602C70-07F0-4DA1-A7F0-F0A7B79A9986 16 | 17 | 18 | -------------------------------------------------------------------------------- /Snippets/h1.tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | %h1 ${1:Heading Level 1} 7 | $0 8 | name 9 | h1 10 | scope 11 | text.haml 12 | tabTrigger 13 | h 14 | uuid 15 | 09448D6E-E3A1-4940-87FE-5CD563D00550 16 | 17 | 18 | -------------------------------------------------------------------------------- /Snippets/h2.tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | %h2 ${1:Heading Level 2} 7 | $0 8 | name 9 | h2 10 | scope 11 | text.haml 12 | tabTrigger 13 | h 14 | uuid 15 | 5D3687E3-0694-45C7-BB05-E6281FF0AA94 16 | 17 | 18 | -------------------------------------------------------------------------------- /Snippets/h3.tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | %h3 ${1:Heading Level 3} 7 | $0 8 | name 9 | h3 10 | scope 11 | text.haml 12 | tabTrigger 13 | h 14 | uuid 15 | E2212DEC-35D6-468B-9A3F-EDA75DF7C1D6 16 | 17 | 18 | -------------------------------------------------------------------------------- /Snippets/h4.tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | %h4 ${1:Heading Level 4} 7 | $0 8 | name 9 | h4 10 | scope 11 | text.haml 12 | tabTrigger 13 | h 14 | uuid 15 | 72323777-81CA-4578-9F2E-E75D3DA77605 16 | 17 | 18 | -------------------------------------------------------------------------------- /Snippets/h5.tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | %h5 ${1:Heading Level 5} 7 | $0 8 | name 9 | h5 10 | scope 11 | text.haml 12 | tabTrigger 13 | h 14 | uuid 15 | 375288E8-1F03-4B42-B989-B4BACC888643 16 | 17 | 18 | -------------------------------------------------------------------------------- /Snippets/h6.tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | %h6 ${1:Heading Level 6} 7 | $0 8 | name 9 | h6 10 | scope 11 | text.haml 12 | tabTrigger 13 | h 14 | uuid 15 | 84BB2ADD-E532-44EA-AB10-FC2475E3AA03 16 | 17 | 18 | -------------------------------------------------------------------------------- /Snippets/img.tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | image_tag("/images/$1"$2)$0 7 | name 8 | img 9 | scope 10 | text.haml 11 | tabTrigger 12 | img 13 | uuid 14 | A9CEE369-9E70-4AD8-9E1C-387B7882E228 15 | 16 | 17 | -------------------------------------------------------------------------------- /Snippets/div.tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | .${1:class_selector} 7 | $0 8 | name 9 | div (class) 10 | scope 11 | text.haml 12 | tabTrigger 13 | . 14 | uuid 15 | B6FED2DD-4A63-4FFB-9035-0630A66923DA 16 | 17 | 18 | -------------------------------------------------------------------------------- /Snippets/filter (plain).tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | :plain 7 | $0 8 | name 9 | filter (plain) 10 | scope 11 | text.haml 12 | tabTrigger 13 | :f 14 | uuid 15 | B76E1A7C-97EF-45A1-8D35-9FE02D1014A2 16 | 17 | 18 | -------------------------------------------------------------------------------- /Snippets/filter (ruby).tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | :ruby 7 | $0 8 | name 9 | filter (ruby) 10 | scope 11 | text.haml 12 | tabTrigger 13 | :f 14 | uuid 15 | 7D0A65A5-7462-4F2F-BA34-4524D436DE56 16 | 17 | 18 | -------------------------------------------------------------------------------- /Snippets/filter (sass).tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | :sass 7 | $0 8 | name 9 | filter (sass) 10 | scope 11 | text.haml 12 | tabTrigger 13 | :f 14 | uuid 15 | 27446073-264F-4293-9350-485043B593F3 16 | 17 | 18 | -------------------------------------------------------------------------------- /Snippets/XHTML 1_0 Strict.tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | !!! Strict 7 | name 8 | XHTML 1.0 Strict 9 | scope 10 | text.haml 11 | tabTrigger 12 | doctype 13 | uuid 14 | A6E85660-D41A-4820-B13C-AA7ABEE35E0E 15 | 16 | 17 | -------------------------------------------------------------------------------- /Snippets/XHTML 1_0 Transitional.tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | !!! 7 | name 8 | XHTML 1.0 Transitional 9 | scope 10 | text.haml 11 | tabTrigger 12 | doctype 13 | uuid 14 | B3EE939A-C892-4F55-9405-0A131E5F7E93 15 | 16 | 17 | -------------------------------------------------------------------------------- /Snippets/filter (escaped).tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | :escaped 7 | $0 8 | name 9 | filter (escaped) 10 | scope 11 | text.haml 12 | tabTrigger 13 | :f 14 | uuid 15 | 1CE1209F-48C4-4AF4-BCF5-A87BCACDE49B 16 | 17 | 18 | -------------------------------------------------------------------------------- /Snippets/filter (markdown).tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | :markdown 7 | $0 8 | name 9 | filter (markdown) 10 | scope 11 | text.haml 12 | tabTrigger 13 | :f 14 | uuid 15 | DCCD30EE-6AB8-4728-AB6A-D4D653DBB3C6 16 | 17 | 18 | -------------------------------------------------------------------------------- /Snippets/filter (preserve).tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | :preserve 7 | $0 8 | name 9 | filter (preserve) 10 | scope 11 | text.haml 12 | tabTrigger 13 | :f 14 | uuid 15 | B2CD0CD9-59F0-473A-B957-3C06DF4E9686 16 | 17 | 18 | -------------------------------------------------------------------------------- /Snippets/filter (textile).tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | :textile 7 | $0 8 | name 9 | filter (textile) 10 | scope 11 | text.haml 12 | tabTrigger 13 | :f 14 | uuid 15 | 23EDEA58-8C31-499B-901C-4BB03B08E3A8 16 | 17 | 18 | -------------------------------------------------------------------------------- /Snippets/hopper.tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | } 7 | 8 | name 9 | newline 10 | scope 11 | text.haml, meta.section.attributes.haml 12 | tabTrigger 13 | } 14 | uuid 15 | 4F770436-C222-4CEC-B676-674A73AADB15 16 | 17 | 18 | -------------------------------------------------------------------------------- /Snippets/tr.tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | %tr 7 | %${1:td} 8 | ${2:Table Data} $0 9 | name 10 | tr 11 | scope 12 | text.haml 13 | tabTrigger 14 | tr 15 | uuid 16 | 58797A89-726C-4B5F-ACA0-42EC08EDB0BA 17 | 18 | 19 | -------------------------------------------------------------------------------- /Snippets/wrap as___.tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | %${1:p} $TM_SELECTED_TEXT 7 | keyEquivalent 8 | ^W 9 | name 10 | wrap (selected) 11 | scope 12 | text.haml 13 | uuid 14 | 6BEE3DBD-CF1B-45F6-9E11-0D866EA4C7FD 15 | 16 | 17 | -------------------------------------------------------------------------------- /Snippets/filter (javascript).tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | :javascript 7 | $0 8 | name 9 | filter (javascript) 10 | scope 11 | text.haml 12 | tabTrigger 13 | :f 14 | uuid 15 | 9928C8FC-34E5-4A91-9CFA-4DAC2E67300B 16 | 17 | 18 | -------------------------------------------------------------------------------- /Snippets/tbody.tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | %tbody 7 | %tr 8 | %td 9 | ${1:Table Data} $0 10 | name 11 | tbody 12 | scope 13 | text.haml 14 | tabTrigger 15 | t 16 | uuid 17 | DF536600-9625-4EC7-844A-FBFD6CEA0483 18 | 19 | 20 | -------------------------------------------------------------------------------- /Snippets/tfooter.tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | %tfoot 7 | %tr 8 | %td 9 | ${1:Table Data} $0 10 | name 11 | tfooter 12 | scope 13 | text.haml 14 | tabTrigger 15 | t 16 | uuid 17 | F7957E66-32E7-424C-88E5-39DF71CE2F8D 18 | 19 | 20 | -------------------------------------------------------------------------------- /Snippets/thead.tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | %thead 7 | %tr 8 | %th 9 | ${1:Table Heading} $0 10 | name 11 | thead 12 | scope 13 | text.haml 14 | tabTrigger 15 | t 16 | uuid 17 | E75D6B07-066C-4D7C-B5B7-A8D447C8E3D2 18 | 19 | 20 | -------------------------------------------------------------------------------- /Snippets/{ ___ } 2.tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | {:${3:id} => "${4:selector}" 7 | name 8 | { ... } 9 | scope 10 | text.haml, meta.section.attributes.haml 11 | tabTrigger 12 | { 13 | uuid 14 | CF181FCB-FF91-467D-935D-37CF49B79503 15 | 16 | 17 | -------------------------------------------------------------------------------- /Snippets/table (basic).tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | %table 7 | %tr 8 | %td 9 | ${1:Table Data} 10 | name 11 | table (basic) 12 | scope 13 | text.haml 14 | tabTrigger 15 | t 16 | uuid 17 | 7B78C95E-DD54-4FED-B2A5-B6227A9978E0 18 | 19 | 20 | -------------------------------------------------------------------------------- /Snippets/"".tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | = "${1:Lorem ipsum...}" 7 | keyEquivalent 8 | ^L 9 | name 10 | " ... " 11 | scope 12 | text.haml 13 | tabTrigger 14 | = 15 | uuid 16 | 330820E8-E917-47F1-B1C7-64CEAF03B444 17 | 18 | 19 | -------------------------------------------------------------------------------- /Snippets/_columns.tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | .columns.clearfix 7 | .column.one 8 | .column.two 9 | .column.three 10 | name 11 | .columns 12 | scope 13 | text.haml 14 | tabTrigger 15 | .c 16 | uuid 17 | 4DA86A74-2889-48B7-962A-BBE451066B6B 18 | 19 | 20 | -------------------------------------------------------------------------------- /Snippets/ul.tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | %ul${1:#${2:selector}} 7 | %li ${3:Lorem ipsum dolor sit amet, consectetur adipisicing elit.}$0 8 | name 9 | ul 10 | scope 11 | text.haml 12 | tabTrigger 13 | ul 14 | uuid 15 | F90440E7-FDA3-4FA3-BBC0-8B683F29F4CC 16 | 17 | 18 | -------------------------------------------------------------------------------- /Snippets/}, :bar => "blah".tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | , :${1:id} => "${2:selector}"$0 7 | name 8 | }, :id => "selector" 9 | scope 10 | text.haml, meta.section.attributes.haml 11 | tabTrigger 12 | , 13 | uuid 14 | 3D8DDFF1-E395-4891-95E3-DF6A7C09C654 15 | 16 | 17 | -------------------------------------------------------------------------------- /Snippets/link_to (URL).tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | = link_to "${1:Anchor Text}", "${2:#}" 7 | keyEquivalent 8 | ^L 9 | name 10 | link_to (url) 11 | scope 12 | text.haml 13 | tabTrigger 14 | = 15 | uuid 16 | 2945CDE7-1BD9-4550-A152-C624270851C4 17 | 18 | 19 | -------------------------------------------------------------------------------- /Snippets/ol.tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | %ol${2:{:${3:id} => "${4:selector}"$5\}} 7 | %li ${6:Lorem ipsum dolor sit amet, consectetur adipisicing elit.}$0 8 | name 9 | ol 10 | scope 11 | text.haml 12 | tabTrigger 13 | ol 14 | uuid 15 | 58DABB93-0275-4D15-A2D9-EAB5F9F3A31C 16 | 17 | 18 | -------------------------------------------------------------------------------- /Snippets/= render_partial.tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | = render :partial => "${1:partial_name}" 7 | keyEquivalent 8 | ^L 9 | name 10 | render_partial 11 | scope 12 | text.haml 13 | tabTrigger 14 | = 15 | uuid 16 | 0ABCB91D-5D35-4F48-B8A2-551226E6C1CA 17 | 18 | 19 | -------------------------------------------------------------------------------- /Snippets/link_to (Route).tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | = link_to "${1:Anchor Text}", ${2:route}_url 7 | keyEquivalent 8 | ^L 9 | name 10 | link_to (route) 11 | scope 12 | text.haml 13 | tabTrigger 14 | = 15 | uuid 16 | 2C1C3EB3-BB38-4BC5-B73F-25E8F82250F4 17 | 18 | 19 | -------------------------------------------------------------------------------- /Snippets/link_to (Wrap text as___).tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | = link_to "${TM_SELECTED_TEXT:Anchor text...}", ${1:"${2:$0}"} 7 | keyEquivalent 8 | ^L 9 | name 10 | link_to (wrap selected text) 11 | scope 12 | text.haml 13 | tabTrigger 14 | = 15 | uuid 16 | 63977A3B-0723-4F09-99EF-95C2C7A6C727 17 | 18 | 19 | -------------------------------------------------------------------------------- /Snippets/table (templated).tmSnippet: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | content 6 | %table 7 | %thead 8 | %tr 9 | %th 10 | ${1:Table Heading} 11 | %tbody 12 | %tr 13 | %td 14 | ${2:Table Data} 15 | name 16 | table (templated) 17 | scope 18 | text.haml 19 | tabTrigger 20 | t 21 | uuid 22 | 2A3548C5-1B6A-4994-9EC2-6271F32B48BF 23 | 24 | 25 | -------------------------------------------------------------------------------- /Preferences/Comments.tmPreferences: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | name 6 | Comments 7 | scope 8 | text.haml 9 | settings 10 | 11 | shellVariables 12 | 13 | 14 | name 15 | TM_COMMENT_START 16 | value 17 | / 18 | 19 | 20 | 21 | uuid 22 | 4C2E088A-2EDB-44DF-9C62-CE0112B4C237 23 | 24 | 25 | -------------------------------------------------------------------------------- /Commands/Convert HTML to HAML.tmCommand: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | beforeRunningCommand 6 | nop 7 | command 8 | export RUBYLIB="$TM_BUNDLE_SUPPORT/vendor/rcodetools/lib${RUBYLIB:+:$RUBYLIB}" 9 | export TM_RUBY=$(which "${TM_RUBY:-ruby}") 10 | 11 | "${TM_RUBY}" -e "require 'rubygems'; gem 'haml'; require 'haml/html'; puts Haml::HTML.new(ENV['TM_SELECTED_TEXT']).render" 12 | input 13 | selection 14 | name 15 | Convert HTML to HAML 16 | output 17 | replaceSelectedText 18 | uuid 19 | 9CD5ABE1-9E49-42BB-9C09-AEE74103FB53 20 | 21 | 22 | -------------------------------------------------------------------------------- /README.markdown: -------------------------------------------------------------------------------- 1 | #Handcrafted HAML TextMate Bundle 2 | 3 | ##Description 4 | 5 | The Handcrafted HAML TextMate Bundle is a TextMate bundle to aid in rapid HAML development. 6 | 7 | ##Credits 8 | 9 | Created by [Adam Stacoviak](http://www.adamstacoviak.com/ "Adam Stacoviak | Web Development, Interface Design, User Experience & Internet Marketing"), co-founder of [Handcrafted](http://gethandcrafted.com/ "Handcrafted – Ruby on Rails Development Consulting Firm, Interface Design, User Experience, Web Marketing"), a Rails Development Consulting Firm. 10 | 11 | Parts of this bundle were ported from the official Ruby Haml TextMate bundle. The filter snippets were ported from [Matt Polito's ruby-haml.tmbundle](http://github.com/mattpolito/ruby-haml.tmbundle/tree "mattpolito's ruby-haml.tmbundle at master - GitHub"). 12 | 13 | ##Installation 14 | 15 | 1. $ `cd ~/Library/Application\ Support/TextMate/Bundles/` 16 | 2. $ `git clone git://github.com/handcrafted/handcrafted-haml-textmate-bundle.git HAML-Handcrafted.tmbundle` 17 | 3. $ `osascript -e 'tell app "TextMate" to reload bundles'` -------------------------------------------------------------------------------- /Syntaxes/Ruby Haml.tmLanguage: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | fileTypes 6 | 7 | haml 8 | sass 9 | 10 | foldingStartMarker 11 | ^\s*([-%#\:\.\w\=].*)\s$ 12 | foldingStopMarker 13 | ^\s*$ 14 | keyEquivalent 15 | ^~H 16 | name 17 | Ruby Haml 18 | patterns 19 | 20 | 21 | captures 22 | 23 | 1 24 | 25 | name 26 | punctuation.definition.prolog.haml 27 | 28 | 29 | match 30 | ^(!!!)($|\s.*) 31 | name 32 | meta.prolog.haml 33 | 34 | 35 | captures 36 | 37 | 1 38 | 39 | name 40 | punctuation.section.comment.haml 41 | 42 | 43 | match 44 | ^ *(/)\s*\S.*$\n? 45 | name 46 | comment.line.slash.haml 47 | 48 | 49 | begin 50 | ^( *)(/)\s*$ 51 | beginCaptures 52 | 53 | 2 54 | 55 | name 56 | punctuation.section.comment.haml 57 | 58 | 59 | end 60 | ^(?!\1 ) 61 | name 62 | comment.block.haml 63 | patterns 64 | 65 | 66 | include 67 | text.haml 68 | 69 | 70 | 71 | 72 | begin 73 | ^\s*(?:((%)([\w:]+))|(?=\.|#)) 74 | captures 75 | 76 | 1 77 | 78 | name 79 | meta.tag.haml 80 | 81 | 2 82 | 83 | name 84 | punctuation.definition.tag.haml 85 | 86 | 3 87 | 88 | name 89 | entity.name.tag.haml 90 | 91 | 92 | end 93 | $|(?!\.|#|\{|\[|=|-|~|/) 94 | patterns 95 | 96 | 97 | match 98 | \.[\w-]+ 99 | name 100 | entity.name.tag.class.haml 101 | 102 | 103 | match 104 | #[\w-]+ 105 | name 106 | entity.name.tag.id.haml 107 | 108 | 109 | begin 110 | \{(?=.*\}|.*\|\s*$) 111 | end 112 | \}|$|^(?!.*\|\s*$) 113 | name 114 | meta.section.attributes.haml 115 | patterns 116 | 117 | 118 | include 119 | source.ruby.rails 120 | 121 | 122 | include 123 | #continuation 124 | 125 | 126 | 127 | 128 | begin 129 | \[(?=.*\]|.*\|\s*$) 130 | end 131 | \]|$|^(?!.*\|\s*$) 132 | name 133 | meta.section.object.haml 134 | patterns 135 | 136 | 137 | include 138 | source.ruby.rails 139 | 140 | 141 | include 142 | #continuation 143 | 144 | 145 | 146 | 147 | include 148 | #rubyline 149 | 150 | 151 | match 152 | / 153 | name 154 | punctuation.terminator.tag.haml 155 | 156 | 157 | 158 | 159 | captures 160 | 161 | 1 162 | 163 | name 164 | meta.escape.haml 165 | 166 | 167 | match 168 | ^\s*(\\.) 169 | 170 | 171 | begin 172 | ^\s*(?==|-|~) 173 | end 174 | $ 175 | patterns 176 | 177 | 178 | include 179 | #rubyline 180 | 181 | 182 | 183 | 184 | repository 185 | 186 | continuation 187 | 188 | captures 189 | 190 | 1 191 | 192 | name 193 | punctuation.separator.continuation.haml 194 | 195 | 196 | match 197 | (\|)\s*\n 198 | 199 | rubyline 200 | 201 | begin 202 | =|-|~ 203 | contentName 204 | source.ruby.embedded.haml 205 | end 206 | ((do|\{)( \|[^|]+\|)?)$|$|^(?!.*\|\s*$) 207 | endCaptures 208 | 209 | 1 210 | 211 | name 212 | source.ruby.embedded.html 213 | 214 | 2 215 | 216 | name 217 | keyword.control.ruby.start-block 218 | 219 | 220 | name 221 | meta.line.ruby.haml 222 | patterns 223 | 224 | 225 | comment 226 | Hack to let ruby comments work in this context properly 227 | match 228 | #.*$ 229 | name 230 | comment.line.number-sign.ruby 231 | 232 | 233 | include 234 | source.ruby.rails 235 | 236 | 237 | include 238 | #continuation 239 | 240 | 241 | 242 | 243 | scopeName 244 | text.haml 245 | uuid 246 | 3D727049-DD05-45DF-92A5-D50EA36FD035 247 | 248 | 249 | -------------------------------------------------------------------------------- /info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | contactEmailRot13 6 | adam@adamstacoviak.com 7 | contactName 8 | Adam Stacoviak 9 | deleted 10 | 11 | 22E3E848-CE90-401B-9DFF-9AEF23A3A692 12 | 13 | description 14 | Haml TextMate bundle. Fork me on GitHub. 15 | mainMenu 16 | 17 | items 18 | 19 | 9CD5ABE1-9E49-42BB-9C09-AEE74103FB53 20 | B0941E04-6945-4200-90F3-644D36B11BC7 21 | 390D96F8-0EBD-42AD-AA4D-3927946E9806 22 | 1771DB76-7112-4467-9820-A50CC6259977 23 | 8A8571E5-4E68-48E5-92A2-CC25B07B682E 24 | 9CA9877E-F8EC-40A3-9FD7-6BDDA74B7DE9 25 | 98DF4FB4-0EE3-44B1-890B-92C56E613CC0 26 | BA5ED80D-7359-4F31-9274-9774D7E4D1A1 27 | B5AF3E39-52A7-45FA-9E1C-C61E8FAE7BB8 28 | AD2B7E89-5621-47B6-882D-BB8C49B661B3 29 | 0D2C517F-86F6-4CF4-9E80-417D9360820F 30 | B9718DAD-7E7E-401C-8055-582FBC1B6396 31 | 2D17F327-D2B4-4330-80C3-D25C2A0F930F 32 | E8B8770A-25A7-4FB3-9823-87604F172031 33 | 34 | submenus 35 | 36 | 0D2C517F-86F6-4CF4-9E80-417D9360820F 37 | 38 | items 39 | 40 | 09448D6E-E3A1-4940-87FE-5CD563D00550 41 | 5D3687E3-0694-45C7-BB05-E6281FF0AA94 42 | E2212DEC-35D6-468B-9A3F-EDA75DF7C1D6 43 | 72323777-81CA-4578-9F2E-E75D3DA77605 44 | 375288E8-1F03-4B42-B989-B4BACC888643 45 | 84BB2ADD-E532-44EA-AB10-FC2475E3AA03 46 | 47 | name 48 | Headings 49 | 50 | 1771DB76-7112-4467-9820-A50CC6259977 51 | 52 | items 53 | 54 | 0ABCB91D-5D35-4F48-B8A2-551226E6C1CA 55 | 330820E8-E917-47F1-B1C7-64CEAF03B444 56 | 57 | name 58 | Content 59 | 60 | 2D17F327-D2B4-4330-80C3-D25C2A0F930F 61 | 62 | items 63 | 64 | F90440E7-FDA3-4FA3-BBC0-8B683F29F4CC 65 | 58DABB93-0275-4D15-A2D9-EAB5F9F3A31C 66 | 3D734861-8B7D-4658-8232-A6A0D321F5EE 67 | 68 | name 69 | Lists 70 | 71 | 390D96F8-0EBD-42AD-AA4D-3927946E9806 72 | 73 | items 74 | 75 | C009FB53-7486-4875-9ECD-3E45ACA215C4 76 | 77 | name 78 | Browser Hacks 79 | 80 | 8A8571E5-4E68-48E5-92A2-CC25B07B682E 81 | 82 | items 83 | 84 | B6FED2DD-4A63-4FFB-9035-0630A66923DA 85 | 2B7686C1-C91A-401E-9035-5E29CB43C2D2 86 | 6C21CE80-6282-4324-A90E-0339FCE520CF 87 | 6889AB8F-F3DD-4857-B8B3-42653FD5C335 88 | ------------------------------------ 89 | AA62925A-EB31-4159-9BAF-0CFC94923E42 90 | A9CEE369-9E70-4AD8-9E1C-387B7882E228 91 | 92 | name 93 | Block Elements 94 | 95 | 98DF4FB4-0EE3-44B1-890B-92C56E613CC0 96 | 97 | items 98 | 99 | B3EE939A-C892-4F55-9405-0A131E5F7E93 100 | A6E85660-D41A-4820-B13C-AA7ABEE35E0E 101 | 47E648DA-A348-4102-B85A-76D25A584E91 102 | 103 | name 104 | Doctype 105 | 106 | 9CA9877E-F8EC-40A3-9FD7-6BDDA74B7DE9 107 | 108 | items 109 | 110 | 3B3E18FC-9EE1-48B9-A293-274587B502AD 111 | 536D8475-F2B3-46D9-AC68-203D98FC8E58 112 | 4F5A07B2-9672-4F37-9D5E-F3D4FE5E81D9 113 | 114 | name 115 | Inline Elements 116 | 117 | AD2B7E89-5621-47B6-882D-BB8C49B661B3 118 | 119 | items 120 | 121 | 715DD66F-170B-477E-B128-88A6A58CBB47 122 | 123 | name 124 | Frameworks 125 | 126 | B0941E04-6945-4200-90F3-644D36B11BC7 127 | 128 | items 129 | 130 | 3D8DDFF1-E395-4891-95E3-DF6A7C09C654 131 | CF181FCB-FF91-467D-935D-37CF49B79503 132 | 4F770436-C222-4CEC-B676-674A73AADB15 133 | ------------------------------------ 134 | 6BEE3DBD-CF1B-45F6-9E11-0D866EA4C7FD 135 | 136 | name 137 | Automation 138 | 139 | B5AF3E39-52A7-45FA-9E1C-C61E8FAE7BB8 140 | 141 | items 142 | 143 | 097169D1-D454-4408-A813-078AF6D203EB 144 | 145 | name 146 | Formats 147 | 148 | B9718DAD-7E7E-401C-8055-582FBC1B6396 149 | 150 | items 151 | 152 | 2C1C3EB3-BB38-4BC5-B73F-25E8F82250F4 153 | 2945CDE7-1BD9-4550-A152-C624270851C4 154 | 63977A3B-0723-4F09-99EF-95C2C7A6C727 155 | 156 | name 157 | Link to 158 | 159 | BA5ED80D-7359-4F31-9274-9774D7E4D1A1 160 | 161 | items 162 | 163 | 1E602C70-07F0-4DA1-A7F0-F0A7B79A9986 164 | 1CE1209F-48C4-4AF4-BCF5-A87BCACDE49B 165 | 9928C8FC-34E5-4A91-9CFA-4DAC2E67300B 166 | DCCD30EE-6AB8-4728-AB6A-D4D653DBB3C6 167 | B76E1A7C-97EF-45A1-8D35-9FE02D1014A2 168 | B2CD0CD9-59F0-473A-B957-3C06DF4E9686 169 | 7D0A65A5-7462-4F2F-BA34-4524D436DE56 170 | 27446073-264F-4293-9350-485043B593F3 171 | 23EDEA58-8C31-499B-901C-4BB03B08E3A8 172 | 173 | name 174 | Filters 175 | 176 | E8B8770A-25A7-4FB3-9823-87604F172031 177 | 178 | items 179 | 180 | 7B78C95E-DD54-4FED-B2A5-B6227A9978E0 181 | 2A3548C5-1B6A-4994-9EC2-6271F32B48BF 182 | ------------------------------------ 183 | E75D6B07-066C-4D7C-B5B7-A8D447C8E3D2 184 | DF536600-9625-4EC7-844A-FBFD6CEA0483 185 | F7957E66-32E7-424C-88E5-39DF71CE2F8D 186 | ------------------------------------ 187 | 58797A89-726C-4B5F-ACA0-42EC08EDB0BA 188 | 5D249861-A7FA-4E40-8FF7-BB5C0CD4A3E1 189 | FA2645FE-9305-4F76-90F2-389EB5AF0FF1 190 | 191 | name 192 | Tables 193 | 194 | 195 | 196 | name 197 | Haml-lang 198 | ordering 199 | 200 | 330820E8-E917-47F1-B1C7-64CEAF03B444 201 | CF181FCB-FF91-467D-935D-37CF49B79503 202 | 3D8DDFF1-E395-4891-95E3-DF6A7C09C654 203 | 4DA86A74-2889-48B7-962A-BBE451066B6B 204 | AA62925A-EB31-4159-9BAF-0CFC94923E42 205 | 6889AB8F-F3DD-4857-B8B3-42653FD5C335 206 | 3B3E18FC-9EE1-48B9-A293-274587B502AD 207 | B6FED2DD-4A63-4FFB-9035-0630A66923DA 208 | 2B7686C1-C91A-401E-9035-5E29CB43C2D2 209 | 4F5A07B2-9672-4F37-9D5E-F3D4FE5E81D9 210 | 1E602C70-07F0-4DA1-A7F0-F0A7B79A9986 211 | 1CE1209F-48C4-4AF4-BCF5-A87BCACDE49B 212 | 9928C8FC-34E5-4A91-9CFA-4DAC2E67300B 213 | DCCD30EE-6AB8-4728-AB6A-D4D653DBB3C6 214 | B76E1A7C-97EF-45A1-8D35-9FE02D1014A2 215 | 7D0A65A5-7462-4F2F-BA34-4524D436DE56 216 | B2CD0CD9-59F0-473A-B957-3C06DF4E9686 217 | 27446073-264F-4293-9350-485043B593F3 218 | 23EDEA58-8C31-499B-901C-4BB03B08E3A8 219 | 09448D6E-E3A1-4940-87FE-5CD563D00550 220 | 5D3687E3-0694-45C7-BB05-E6281FF0AA94 221 | E2212DEC-35D6-468B-9A3F-EDA75DF7C1D6 222 | 72323777-81CA-4578-9F2E-E75D3DA77605 223 | 375288E8-1F03-4B42-B989-B4BACC888643 224 | 84BB2ADD-E532-44EA-AB10-FC2475E3AA03 225 | C009FB53-7486-4875-9ECD-3E45ACA215C4 226 | A9CEE369-9E70-4AD8-9E1C-387B7882E228 227 | 3D734861-8B7D-4658-8232-A6A0D321F5EE 228 | 2C1C3EB3-BB38-4BC5-B73F-25E8F82250F4 229 | 2945CDE7-1BD9-4550-A152-C624270851C4 230 | 63977A3B-0723-4F09-99EF-95C2C7A6C727 231 | 4F770436-C222-4CEC-B676-674A73AADB15 232 | 58DABB93-0275-4D15-A2D9-EAB5F9F3A31C 233 | 6C21CE80-6282-4324-A90E-0339FCE520CF 234 | 0ABCB91D-5D35-4F48-B8A2-551226E6C1CA 235 | 097169D1-D454-4408-A813-078AF6D203EB 236 | 536D8475-F2B3-46D9-AC68-203D98FC8E58 237 | 7B78C95E-DD54-4FED-B2A5-B6227A9978E0 238 | 2A3548C5-1B6A-4994-9EC2-6271F32B48BF 239 | E75D6B07-066C-4D7C-B5B7-A8D447C8E3D2 240 | DF536600-9625-4EC7-844A-FBFD6CEA0483 241 | F7957E66-32E7-424C-88E5-39DF71CE2F8D 242 | 58797A89-726C-4B5F-ACA0-42EC08EDB0BA 243 | 5D249861-A7FA-4E40-8FF7-BB5C0CD4A3E1 244 | FA2645FE-9305-4F76-90F2-389EB5AF0FF1 245 | F90440E7-FDA3-4FA3-BBC0-8B683F29F4CC 246 | 6BEE3DBD-CF1B-45F6-9E11-0D866EA4C7FD 247 | B3EE939A-C892-4F55-9405-0A131E5F7E93 248 | A6E85660-D41A-4820-B13C-AA7ABEE35E0E 249 | 47E648DA-A348-4102-B85A-76D25A584E91 250 | 4C2E088A-2EDB-44DF-9C62-CE0112B4C237 251 | 9CD5ABE1-9E49-42BB-9C09-AEE74103FB53 252 | 3D727049-DD05-45DF-92A5-D50EA36FD035 253 | 254 | uuid 255 | 4618480A-F4C3-40FE-8719-DE54CBDFB92A 256 | 257 | 258 | --------------------------------------------------------------------------------