aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.Explorer/app.config
blob: b5963077ed07af383aba09788e324a8e9277272a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<?xml version="1.0" encoding="utf-8"?>
<xsd:schema version="2" elementFormDefault="qualified" targetNamespace="http://icsharpcode.net/sharpdevelop/syntaxdefinition/2008" xmlns="http://icsharpcode.net/sharpdevelop/syntaxdefinition/2008" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	<!-- Font Weight -->
	<xsd:simpleType name="FontWeight">
		<xsd:union>
			<xsd:simpleType>
				<xsd:restriction base="xsd:integer">
					<xsd:minInclusive value="1"/>
					<xsd:maxInclusive value="999"/>
				</xsd:restriction>
			</xsd:simpleType>
			<xsd:simpleType>
				<xsd:restriction base="xsd:string">
					<xsd:enumeration value="bold"/>
					<xsd:enumeration value="normal"/>
					<xsd:enumeration value="regular"/>
					<!-- should we support other font weight names? -->
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:union>
	</xsd:simpleType>
	
	<!-- Font Style -->
	<xsd:simpleType name="FontStyle">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="italic"/>
			<xsd:enumeration value="normal"/>
			<xsd:enumeration value="oblique"/>
		</xsd:restriction>
	</xsd:simpleType>
	
	<!-- Color -->
	<xsd:attributeGroup name="ColorAttributes">
		<xsd:attribute name="foreground" type="xsd:string" use="optional" />
		<xsd:attribute name="background" type="xsd:string" use="optional" />
		<xsd:attribute name="fontWeight" type="FontWeight" use="optional" />
		<xsd:attribute name="fontStyle" type="FontStyle" use="optional" />
		<xsd:anyAttribute namespace="##other" processContents="lax" />
	</xsd:attributeGroup>
	
	<xsd:attributeGroup name="ColorReferenceAttributes">
		<xsd:attributeGroup ref="ColorAttributes" />
		<xsd:attribute name="color" type="xsd:string" use="optional" />
	</xsd:attributeGroup>
	
	<xsd:element name="Color">
		<xsd:complexType>
			<xsd:attribute name="name" type="xsd:string" use="required" />
			<xsd:attribute name="exampleText" type="xsd:string" use="optional" />
			<xsd:attributeGroup ref="ColorAttributes"/>
		</xsd:complexType>
	</xsd:element>
	
	<xsd:element name="Property">
		<xsd:complexType>
			<xsd:attribute name="name" type="xsd:string" use="required" />
			<xsd:attribute name="value" type="xsd:string" use="required" />
			<xsd:anyAttribute namespace="##other" processContents="lax" />
		</xsd:complexType>
	</xsd:element>
	
	<!-- Regular expression -->
	<xsd:simpleType name="regex">
		<xsd:restriction base="xsd:string"/>
	</xsd:simpleType>
	
	<xsd:simpleType name="regexIgnorePatternWhitespace">
		<xsd:restriction base="xsd:string"/>
	</xsd:simpleType>
	
	<!-- Keywords -->
	<xsd:element name="Keywords">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="Word" minOccurs="1" maxOccurs="unbounded"/>
			</xsd:sequence>
			<xsd:attributeGroup ref="ColorReferenceAttributes"/>
		</xsd:complexType>
	</xsd:element>
	
	<xsd:element name="Word">
		<xsd:complexType>
			<xsd:simpleContent>
				<xsd:extension base="xsd:string">
					<xsd:anyAttribute namespace="##other" processContents="lax" />
				</xsd:extension>
			</xsd:simpleContent>
		</xsd:complexType>
	</xsd:element>
	
	<!-- Spans -->
	<xsd:element name="Span">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="Begin" minOccurs="0" maxOccurs="1"/>
				<xsd:element ref="End" minOccurs="0" maxOccurs="1"/>
				<xsd:element ref="RuleSet" minOccurs="0" maxOccurs="1"/>
			</xsd:sequence>
			
			<xsd:attributeGroup ref="ColorReferenceAttributes"/>
			<xsd:attribute name="multiline" type="xsd:boolean" use="optional"/>
			<xsd:attribute name="ruleSet" type="xsd:string" use="optional"/>
			<xsd:attribute name="begin" type="regex" use="optional"/>
			<xsd:attribute name="end" type="regex" use="optional"/>
		</xsd:complexType>
	</xsd:element>
	
	<xsd:complexType name="SpanBeginEnd">
		<xsd:simpleContent>
			<xsd:extension base="regexIgnorePatternWhitespace">
				<xsd:attributeGroup ref="ColorReferenceAttributes"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	
	<xsd:element name="Begin" type="SpanBeginEnd"/>
	<xsd:element name="End" type="SpanBeginEnd"/>
	
	<!-- Imports -->
	<xsd:element name="Import">
		<xsd:complexType>
			<xsd:attribute name="ruleSet" type="xsd:string" use="required"/>
		</xsd:complexType>
	</xsd:element>
	
	<!-- Rules -->
	<xsd:element name="Rule">
		<xsd:complexType>
			<xsd:simpleContent>
				<xsd:extension base="regexIgnorePatternWhitespace">
					<xsd:attributeGroup ref="ColorReferenceAttributes"/>
				</xsd:extension>
			</xsd:simpleContent>
		</xsd:complexType>
	</xsd:element>
	
	<!-- Rule set -->
	<xsd:element name="RuleSet">
		<xsd:complexType>
			<xsd:choice minOccurs="0" maxOccurs="unbounded">
				<xsd:element ref="Keywords"/>
				<xsd:element ref="Span"/>
				<xsd:element ref="Import"/>
				<xsd:element ref="Rule"/>
				<xsd:any namespace="##other" processContents="lax" />
			</xsd:choice>
			<xsd:attribute name="name" type="xsd:string" use="optional" />
			<xsd:attribute name="ignoreCase" type="xsd:boolean" use="optional" />
			<xsd:anyAttribute namespace="##other" processContents="lax" />
		</xsd:complexType>
	</xsd:element>
	
	<!-- Main syntax definition -->
	<xsd:element name="SyntaxDefinition">
		<xsd:complexType>
			<xsd:choice minOccurs="1" maxOccurs="unbounded">
				<xsd:element ref="Property"/>
				<xsd:element ref="Color"/>
				<xsd:element ref="RuleSet"/>
				<xsd:any namespace="##other" processContents="lax" />
			</xsd:choice>
			<xsd:attribute name="name" type="xsd:string" use="optional" />
			<xsd:attribute name="extensions" type="xsd:string" use="optional" />
			<xsd:anyAttribute namespace="##other" processContents="lax" />
		</xsd:complexType>
	</xsd:element>
</xsd:schema>