<?xml version="1.0" encoding="UTF-8"?>
<codesense>
	
	<!-- Root XSL namespace -->
	<provider>
		<selector>xsl tag.open.xml, xsl tag.self-closing.xml</selector>
		<completions>com.macrabbit.xsl.root-namespace</completions>
		<complete-match capture="1">&lt;(x[sl:]*)</complete-match>
		<require-suffix>(\s|>|^)</require-suffix>
	</provider>
	
	<!-- XSL tags -->
	<provider>
		<selector>xsl tag.open.xml, xsl tag.self-closing.xml</selector>
		<completions>com.macrabbit.xsl.tags</completions>
		<completions>com.macrabbit.xsl.tags.self-closing</completions>
		<complete-match capture="2">(&lt;)xsl:([a-zA-Z0-9-]*)</complete-match>
		<require-suffix>(\s|>|^)</require-suffix>
	</provider>
	
	<!-- XSL attributes -->
	<provider>
		<selector>xsl tag.open.xml:has-child(name:has-child(localname:capture(tag))) > attribute-name, xsl tag.open.xml:has-child(name:has-child(localname:capture(tag))) > punctuation.definition.end, xsl tag.open.xml:has-child(name:has-child(localname:capture(tag)))</selector>
		<completions>com.macrabbit.xsl.tags.${tag}.attributes</completions>
		<complete-match capture="2">(\s)([a-zA-Z0-9-]*)</complete-match>
		<require-suffix>(\s|=|>|^)</require-suffix>
	</provider>
	
</codesense>
