+" Changes: Add HTML5, WAI-ARIA support
+" Last Change: 2010 Sep 25
+
+if !exists('g:aria_attributes_complete')
+ let g:aria_attributes_complete = 1
+endif
+
+function! htmlcomplete#CompleteTags(findstart, base)
+ if a:findstart
+ " locate the start of the word
+ let line = getline('.')
+ let start = col('.') - 1
+ let curline = line('.')
+ let compl_begin = col('.') - 2
+ while start >= 0 && line[start - 1] =~ '\(\k\|[!:.-]\)'
+ let start -= 1
+ endwhile
+ " Handling of entities {{{
+ if start >= 0 && line[start - 1] =~ '&'
+ let b:entitiescompl = 1
+ let b:compl_context = ''
+ return start
+ endif
+ " }}}
+ " Handling of '
+ if 0 < searchpair(css, '', csse, 'nWb')
+ \ && 0 < searchpair(css, '', csse, 'nW')
+ " we're inside style
+ if getline(lnum) !~ css && getline(a:lnum) !~ csse
+ if restore_ic == 0
+ setlocal noic
+ endif
+ if s:cssindent == ''
+ return cindent(a:lnum)
+ else
+ execute 'let ind = ' . s:cssindent
+ return ind
+ endif
+ endif
+ if getline(a:lnum) =~ csse
+ return indent(searchpair(css, '', csse, 'nWb'))
+ endif
+ endif
+
+ if getline(lnum) =~ '\c'
+ " line before the current line a:lnum contains
+ " a closing . --> search for line before
+ " starting to restore the indent.
+ let preline = prevnonblank(search('\c', 'bW') - 1)
+ if preline > 0
+ if restore_ic == 0
+ setlocal noic
+ endif
+
+ if 0 == match(getline(a:lnum), '^\s*')
+ return indent(preline) - (1*&sw)
+ else
+ return indent(preline)
+ endif
+ endif
+ endif
+
+ let ind = HtmlIndentSum(lnum, -1)
+ let ind = ind + HtmlIndentSum(a:lnum, 0)
+
+ " Fix for conditional comment
+ if getline(a:lnum) =~ '\c'
+ let ind = ind - 1
+ endif
+
+ let lind = indent(lnum)
+
+ " for tags in s:omittable
+ " let tags_exp = '<\(' . join(tags, '\|') . '\)>'
+ " let close_tags_exp = '\(' . join(tags, '\|') . '\)>'
+ " if getline(a:lnum) =~ tags_exp
+ " let block_start = search('^'.repeat(' ', lind + (&sw * ind - 1)).'\S' , 'bnW')
+ " let prev_tag = search(tags_exp, 'bW', block_start)
+ " let prev_closetag = search(close_tags_exp, 'W', a:lnum)
+ " if prev_tag && !prev_closetag
+ " let ind = ind - 1
+ " endif
+ " endif
+
+ " if getline(a:lnum) =~ '\w\+>'
+ " let block_start = search('^'.repeat(' ', lind + (&sw * ind - 1)).'\S' , 'bnW')
+ " let prev_tag = search(tags_exp, 'bW', block_start)
+ " let prev_closetag = search(close_tags_exp, 'W', a:lnum)
+ " if prev_tag && !prev_closetag
+ " let ind = ind - 1
+ " endif
+ " endif
+ " endfor
+
+ if restore_ic == 0
+ setlocal noic
+ endif
+
+ return lind + (&sw * ind)
+endfun
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
+
+" [-- EOF /indent/html.vim --]
diff --git a/vim/bundle/html5/syntax/html.vim b/vim/bundle/html5/syntax/html.vim
new file mode 100644
index 0000000..b9b4d86
--- /dev/null
+++ b/vim/bundle/html5/syntax/html.vim
@@ -0,0 +1,113 @@
+" Vim syntax file
+" Language: HTML (version 5)
+" Maintainer: Rodrigo Machado
+" URL: http://rm.blog.br/vim/syntax/html.vim
+" Last Change: 2009 Aug 19
+" License: Public domain
+" (but let me know if you like :) )
+"
+" Note: This file just adds the new tags from HTML 5
+" and don't replace default html.vim syntax file
+"
+" Modified: othree
+" Changes: update to Draft 13 January 2011
+" add complete new attributes
+" add microdata Attributes
+" add bdi element
+" Modified: htdebeer
+" Changes: add common SVG elements and attributes for inline SVG
+
+" HTML 5 tags
+syn keyword htmlTagName contained article aside audio canvas command
+syn keyword htmlTagName contained datalist details dialog embed figcaption figure footer
+syn keyword htmlTagName contained header hgroup keygen main mark meter menu nav output
+syn keyword htmlTagName contained progress ruby rt rp section source summary time track video data
+syn keyword htmlTagName contained template content shadow
+syn keyword htmlTagName contained wbr bdi
+
+" SVG tags
+" http://www.w3.org/TR/SVG/
+" as found in http://www.w3.org/TR/SVG/eltindex.html
+syn keyword htmlTagName contained svg
+syn keyword htmlTagName contained altGlyph altGlyphDef altGlyphItem
+syn keyword htmlTagName contained animate animateColor animateMotion animateTransform
+syn keyword htmlTagName contained circle ellipse rect line polyline polygon image path
+syn keyword htmlTagName contained clipPath color-profile cursor
+syn keyword htmlTagName contained defs desc g symbol view use switch foreignObject
+syn keyword htmlTagName contained filter feBlend feColorMatrix feComponentTransfer feComposite feConvolveMatrix feDiffuseLighting feDisplacementMap feDistantLight feFlood feFuncA feFuncB feFuncG feFuncR feGaussianBlur feImage feMerge feMergeNode feMorphology feOffset fePointLight feSpecularLighting feSpotLight feTile feTurbulence
+syn keyword htmlTagName contained font font-face font-face-format font-face-name font-face-src font-face-uri
+syn keyword htmlTagName contained glyph glyphRef hkern
+syn keyword htmlTagName contained linearGradient marker mask pattern radialGradient set stop
+syn keyword htmlTagName contained missing-glyph mpath
+syn keyword htmlTagName contained text textPath tref tspan vkern
+
+syn match htmlTagName contained "\<[a-z_]\+\(\-[a-z_]\+\)\+\>"
+
+" HTML 5 arguments
+" Core Attributes
+syn keyword htmlArg contained accesskey class contenteditable contextmenu dir
+syn keyword htmlArg contained draggable hidden id is lang spellcheck style tabindex title translate
+" Event-handler Attributes
+syn keyword htmlArg contained onabort onblur oncanplay oncanplaythrough onchange
+syn keyword htmlArg contained onclick oncontextmenu ondblclick ondrag ondragend ondragenter ondragleave ondragover
+syn keyword htmlArg contained ondragstart ondrop ondurationchange onemptied onended onerror onfocus onformchange
+syn keyword htmlArg contained onforminput oninput oninvalid onkeydown onkeypress onkeyup onload onloadeddata
+syn keyword htmlArg contained onloadedmetadata onloadstart onmousedown onmousemove onmouseout onmouseover onmouseup
+syn keyword htmlArg contained onmousewheel onpause onplay onplaying onprogress onratechange onreadystatechange
+syn keyword htmlArg contained onscroll onseeked onseeking onselect onshow onstalled onsubmit onsuspend ontimeupdate
+syn keyword htmlArg contained onvolumechange onwaiting
+" XML Attributes
+syn keyword htmlArg contained xml:lang xml:space xml:base xmlns
+" new features
+"
+syn keyword htmlArg contained onafterprint onbeforeprint onbeforeunload onblur onerror onfocus onhashchange onload
+syn keyword htmlArg contained onmessage onoffline ononline onpopstate onredo onresize onstorage onundo onunload
+"