feat: add missing KF6 framework recipes
This commit is contained in:
@@ -0,0 +1,666 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
SPDX-FileCopyrightText: 2001 Joseph Wenninger <jowenn@kde.org>
|
||||
SPDX-FileCopyrightText: 2002 Anders Lund <anders@alweb.dk>
|
||||
SPDX-FileCopyrightText: 2003 Simon Huerlimann <simon.huerlimann@access.unizh.ch>
|
||||
SPDX-FileCopyrightText: 2005 Dominik Haumann <dhdev@gmx.de>
|
||||
SPDX-FileCopyrightText: 2008 Wilbert Berendsen <info@wilbertberendsen.nl>
|
||||
|
||||
This file describes the XML format used for syntax highlight descriptions
|
||||
for the Kate text editor (https://kate-editor.org), which is part of the
|
||||
KDE desktop environment (https://kde.org).
|
||||
You'll find the "Working with Syntax Highlighting" at
|
||||
https://docs.kde.org/stable5/en/kate/katepart/highlight.html
|
||||
|
||||
You can validate your syntax files using "validatehl.sh yourSyntax.xml".
|
||||
This needs xmllint from the libxml2 XML library.
|
||||
|
||||
In any case, the katehighlightingindexer will validate all files bundled
|
||||
with KTextEditor during compile time and fail on errors.
|
||||
|
||||
TODO
|
||||
- find a more readable way for the - -dtdvalid stuff, it's just annoying
|
||||
xml comments don't allow it.
|
||||
-->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
|
||||
<!--
|
||||
Default Styles
|
||||
Allowed predefined default styles for itemData, available are:
|
||||
- dsNormal, used for normal text
|
||||
- dsKeyword, used for keywords
|
||||
- dsFunction, used for function calls
|
||||
- dsVariable, used for variables
|
||||
- dsControlFlow, used for control flow, e.g. if, then, else, continue, break
|
||||
- dsOperator, used for operators such as +, -, *, ::
|
||||
- dsBuiltIn, used for built-in language classes and functions
|
||||
- dsExtension,used for extensions, such as boost, Qt
|
||||
- dsPreprocessor, used for preprocessor statements
|
||||
- dsAttribute,used for attributes, e.g. @override in java
|
||||
|
||||
- dsChar, used for a character
|
||||
- dsSpecialChar, used for escaped characters
|
||||
- dsString, used for strings
|
||||
- dsVerbatimString, used for strings such as HERE docs
|
||||
- dsSpecialString, used for strings such as regular expressions or LaTeX math mode
|
||||
- dsImport, used for includes, imports and modules
|
||||
|
||||
- dsDataType, used for data types
|
||||
- dsDecVal, used for decimal values
|
||||
- dsBaseN, used for values with a base other than 10
|
||||
- dsFloat, used for float values
|
||||
- dsConstant, used for language constants
|
||||
|
||||
- dsComment, used for comments
|
||||
- dsDocumentation, used for comments that are API documentation
|
||||
- dsAnnotation, used for annotation in comments, e.g. @param in doxygen
|
||||
- dsCommentVar, used for variables in comments, e.g. after @param in doxygen
|
||||
- dsRegionMarker, used for region markers
|
||||
- dsInformation, used for information in comments, e.g. @note in doxygen
|
||||
- dsWarning, used for warnings in comments, e.g. @warning in doxygen
|
||||
- dsAlert, used for warning messages such as TODO, WARNING in comments
|
||||
|
||||
- dsOthers, used for 'other' things
|
||||
- dsError, used for error highlighting.
|
||||
-->
|
||||
<xs:simpleType name="defStyles">
|
||||
<xs:restriction base="xs:token">
|
||||
<xs:enumeration value="dsNormal"/>
|
||||
<xs:enumeration value="dsKeyword"/>
|
||||
<xs:enumeration value="dsFunction"/>
|
||||
<xs:enumeration value="dsVariable"/>
|
||||
<xs:enumeration value="dsControlFlow"/>
|
||||
<xs:enumeration value="dsOperator"/>
|
||||
<xs:enumeration value="dsBuiltIn"/>
|
||||
<xs:enumeration value="dsExtension"/>
|
||||
<xs:enumeration value="dsPreprocessor"/>
|
||||
<xs:enumeration value="dsAttribute"/>
|
||||
<xs:enumeration value="dsChar"/>
|
||||
<xs:enumeration value="dsSpecialChar"/>
|
||||
<xs:enumeration value="dsString"/>
|
||||
<xs:enumeration value="dsVerbatimString"/>
|
||||
<xs:enumeration value="dsSpecialString"/>
|
||||
<xs:enumeration value="dsImport"/>
|
||||
<xs:enumeration value="dsDataType"/>
|
||||
<xs:enumeration value="dsDecVal"/>
|
||||
<xs:enumeration value="dsBaseN"/>
|
||||
<xs:enumeration value="dsFloat"/>
|
||||
<xs:enumeration value="dsConstant"/>
|
||||
<xs:enumeration value="dsComment"/>
|
||||
<xs:enumeration value="dsDocumentation"/>
|
||||
<xs:enumeration value="dsAnnotation"/>
|
||||
<xs:enumeration value="dsCommentVar"/>
|
||||
<xs:enumeration value="dsRegionMarker"/>
|
||||
<xs:enumeration value="dsInformation"/>
|
||||
<xs:enumeration value="dsWarning"/>
|
||||
<xs:enumeration value="dsAlert"/>
|
||||
<xs:enumeration value="dsOthers"/>
|
||||
<xs:enumeration value="dsError"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<!--
|
||||
Char type
|
||||
A sequence of exactly 1 character
|
||||
-->
|
||||
<xs:simpleType name="char">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:length value="1"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<!--
|
||||
Language specification
|
||||
name: The name of this syntax description. Used in the Highlightning Mode menu
|
||||
alternativeNames: A list of alternative names to match the language on. [optional]
|
||||
section: The logical group to which this syntax description belongs. Used for sub menus
|
||||
extensions: A file glob or pattern to decide for which documents to use this syntax description
|
||||
style: The style that this highlighter provides. It is used through required-syntax-style by the indenters. [optional]
|
||||
mimetype: A list of mimetypes to decide for which documents to use this syntax description [optional]
|
||||
version: Version number of this syntax description
|
||||
kateversion: Kate version required for using this file
|
||||
casesensitive: Ignored but preserved to maintain compatibility in older versions of KF5.
|
||||
priority: Priority of this language, if more than one are usable for the file [optional]
|
||||
author: Name of author of this hl file [optional]
|
||||
license: License for this hl file [optional]
|
||||
indenter: Name of the Indenter to use for this highlighting mode per default, like "cstyle" [optional]
|
||||
hidden: Should it be hidden in menu [boolean, optional, default=false]
|
||||
-->
|
||||
<xs:element name="language">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="highlighting"/>
|
||||
<xs:element minOccurs="0" ref="general"/>
|
||||
<xs:element minOccurs="0" ref="spellchecking"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="name" use="required"/>
|
||||
<xs:attribute name="alternativeNames"/>
|
||||
<xs:attribute name="section" use="required" type="xs:NMTOKEN"/>
|
||||
<xs:attribute name="extensions" use="required"/>
|
||||
<xs:attribute name="version" use="required" type="xs:integer"/>
|
||||
<xs:attribute name="kateversion" use="required" type="xs:decimal"/>
|
||||
<xs:attribute name="style"/>
|
||||
<xs:attribute name="mimetype"/>
|
||||
<!-- always ignored, <keywords casesensitive> must be used -->
|
||||
<xs:attribute name="casesensitive" type="xs:boolean"/>
|
||||
<xs:attribute name="priority" type="xs:integer"/>
|
||||
<xs:attribute name="author"/>
|
||||
<xs:attribute name="license"/>
|
||||
<xs:attribute name="indenter"/>
|
||||
<xs:attribute name="hidden" type="xs:boolean"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!-- General options -->
|
||||
<xs:element name="general">
|
||||
<xs:complexType>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element ref="folding"/>
|
||||
<xs:element ref="comments"/>
|
||||
<xs:element ref="keywords"/>
|
||||
<xs:element ref="emptyLines"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--
|
||||
List of folding
|
||||
indentationsensitive: If true, the code folding is indentation based.
|
||||
-->
|
||||
<xs:element name="folding">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="indentationsensitive" type="xs:boolean"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!-- List of comments -->
|
||||
<xs:element name="comments">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="unbounded" ref="comment"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--
|
||||
Comment specification
|
||||
name: Type of this comment. Allowed are 'singleLine' and 'multiLine'
|
||||
start: The comment starts with this string
|
||||
end: The comment ends with this string [optional]
|
||||
region: The region name of the foldable multiline comment. If you have
|
||||
beginRegion="Comment" ... endRegion="Comment" you should use
|
||||
region="Comment". This way uncomment works even if you do not
|
||||
select all the text of the multiline comment.
|
||||
position: only availalbe for type singleLine. Default is column0, to insert
|
||||
the single line comment characters after the whitespaces
|
||||
(= before the first non space) set position to "afterwhitespace"
|
||||
-->
|
||||
<xs:element name="comment">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="name" use="required">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:token">
|
||||
<xs:enumeration value="singleLine"/>
|
||||
<xs:enumeration value="multiLine"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="start" use="required"/>
|
||||
<xs:attribute name="end"/>
|
||||
<xs:attribute name="region"/>
|
||||
<xs:attribute name="position">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:token">
|
||||
<xs:enumeration value="afterwhitespace"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--
|
||||
Keyword options
|
||||
casesensitive: Whether keywords are matched case sensitive. [boolean, optional, default=true]
|
||||
weakDeliminator: Add weak deliminators [optional, default: ""]
|
||||
additionalDeliminator: Add deliminators [optional]
|
||||
wordWrapDeliminator: characters that are used to wrap long lines [optional]
|
||||
|
||||
-->
|
||||
<xs:element name="keywords">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="casesensitive" type="xs:boolean"/>
|
||||
<xs:attribute name="weakDeliminator"/>
|
||||
<xs:attribute name="additionalDeliminator"/>
|
||||
<xs:attribute name="wordWrapDeliminator"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--
|
||||
Treat lines that match a given regular expression as empty line. This is
|
||||
needed for example in Python for comments (#...), as then the indentation
|
||||
based folding should ignore the line.
|
||||
This is only implemented for indentation based folding. If the folding
|
||||
is not indentation based, the emptyLines are not used.
|
||||
-->
|
||||
<xs:element name="emptyLines">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" maxOccurs="unbounded" ref="emptyLine"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--
|
||||
One empty line regular expression.
|
||||
regexpr: The regular expression, example from python: ^\s*#.*$
|
||||
casesensitive: Sets, whether the regular expression match is performed case sesitive
|
||||
-->
|
||||
<xs:element name="emptyLine">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="regexpr" use="required"/>
|
||||
<xs:attribute name="casesensitive" type="xs:boolean"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!-- Highlighting specification -->
|
||||
<xs:element name="highlighting">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" maxOccurs="unbounded" ref="list"/>
|
||||
<xs:element ref="contexts"/>
|
||||
<xs:element ref="itemDatas"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--
|
||||
List of items
|
||||
name: Name of this list
|
||||
-->
|
||||
<xs:element name="list">
|
||||
<xs:complexType>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element ref="item"/>
|
||||
<xs:element ref="include"/>
|
||||
</xs:choice>
|
||||
<xs:attribute name="name" use="required"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--
|
||||
List item
|
||||
contains string used in <keyword>
|
||||
-->
|
||||
<xs:element name="item" type="xs:string"/>
|
||||
<!--
|
||||
List include
|
||||
contains a name of <keyword>
|
||||
-->
|
||||
<xs:element name="include" type="xs:string"/>
|
||||
<!-- List of contexts -->
|
||||
<xs:element name="contexts">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="unbounded" ref="context"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--
|
||||
context specification
|
||||
name: The name of this context specification. Used in '*Context' attributes [optional]
|
||||
attribute: The name of the ItemData to be used for matching text
|
||||
lineEndContext: Next context if end of line is encountered [optional, default='#stay']
|
||||
lineEmptyContext: Next context if an empty line is encountered [optional, default=value of lineEndContext]
|
||||
fallthrough: Use a fallthrough context [optional]
|
||||
deprecated since 5.62 but preserved to maintain compatibility in older versions of KF5
|
||||
fallthroughContext: Fall through to this context [optional, default='#stay']
|
||||
dynamic: Dynamic context [boolean, optional]
|
||||
deprecated since always but preserved to maintain compatibility in older versions of KF5
|
||||
noIndentationBasedFolding: Python uses indentation based folding. However, Python has parts where
|
||||
it does not use indentation based folding (e.g. for """ strings). In this case
|
||||
switch to an own context and set this attribute to true. Then the indentation
|
||||
based folding will ignore this parts and not change folding markers. [optional]
|
||||
stopEmptyLineContextSwitchLoop: Do not continue the context switching if an empty line is encountered. [boolean, optional, default=false]
|
||||
-->
|
||||
<xs:element name="context">
|
||||
<xs:complexType>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element ref="keyword"/>
|
||||
<xs:element ref="Float"/>
|
||||
<xs:element ref="HlCOct"/>
|
||||
<xs:element ref="HlCHex"/>
|
||||
<xs:element ref="Int"/>
|
||||
<xs:element ref="DetectChar"/>
|
||||
<xs:element ref="Detect2Chars"/>
|
||||
<xs:element ref="AnyChar"/>
|
||||
<xs:element ref="StringDetect"/>
|
||||
<xs:element ref="WordDetect"/>
|
||||
<xs:element ref="RegExpr"/>
|
||||
<xs:element ref="LineContinue"/>
|
||||
<xs:element ref="HlCStringChar"/>
|
||||
<xs:element ref="RangeDetect"/>
|
||||
<xs:element ref="HlCChar"/>
|
||||
<xs:element ref="IncludeRules"/>
|
||||
<xs:element ref="DetectSpaces"/>
|
||||
<xs:element ref="DetectIdentifier"/>
|
||||
</xs:choice>
|
||||
<xs:attribute name="name"/>
|
||||
<xs:attribute name="attribute" use="required"/>
|
||||
<xs:attribute name="lineEndContext"/>
|
||||
<xs:attribute name="lineEmptyContext"/>
|
||||
<xs:attribute name="fallthrough">
|
||||
<xs:simpleType>
|
||||
<!-- always true since 5.62 -->
|
||||
<xs:restriction base="xs:token">
|
||||
<xs:enumeration value="1"/>
|
||||
<xs:enumeration value="true"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="fallthroughContext"/>
|
||||
<!-- always ignored -->
|
||||
<xs:attribute name="dynamic" type="xs:boolean"/>
|
||||
<xs:attribute name="noIndentationBasedFolding" type="xs:boolean"/>
|
||||
<!-- since 5.103 -->
|
||||
<xs:attribute name="stopEmptyLineContextSwitchLoop" type="xs:boolean"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--
|
||||
Common attributes
|
||||
attribute: The name of the ItemData to be used for matching text
|
||||
context: The name of the context to go to when this rule matches
|
||||
beginRegion: Begin a region of type beginRegion [optional]
|
||||
endRegion: End a region of type endRegion [optional]
|
||||
firstNonSpace: should this rule only match at first non-space char in line?
|
||||
column: should this rule only match at given column in line (column == count of chars in front)
|
||||
-->
|
||||
<xs:attributeGroup name="commonAttributes">
|
||||
<xs:attribute name="attribute"/>
|
||||
<xs:attribute name="context"/>
|
||||
<xs:attribute name="beginRegion"/>
|
||||
<xs:attribute name="endRegion"/>
|
||||
<xs:attribute name="lookAhead" type="xs:boolean"/>
|
||||
<xs:attribute name="firstNonSpace" type="xs:boolean"/>
|
||||
<xs:attribute name="column" type="xs:integer"/>
|
||||
</xs:attributeGroup>
|
||||
<!--
|
||||
Detect members of a keyword list
|
||||
commonAttributes: Common attributes
|
||||
insensitive: Is this list case-insensitive? [boolean, optional, see note]
|
||||
String: Name of the list
|
||||
weakDeliminator: Add weak deliminators [optional, see note]
|
||||
additionalDeliminator: Add deliminators [optional, see note]
|
||||
|
||||
By default, case sensitivity is determined from <keywords casesensitive> in
|
||||
<general> (default=true), but can be overridden per-list with 'insensitive'.
|
||||
|
||||
weakDeliminator and additionalDeliminator are accumulated to those defined in
|
||||
<keywords weakDeliminator additionalDeliminator> in <general>.
|
||||
-->
|
||||
<xs:element name="keyword">
|
||||
<xs:complexType>
|
||||
<xs:attributeGroup ref="commonAttributes"/>
|
||||
<xs:attribute name="insensitive" type="xs:boolean"/>
|
||||
<xs:attribute name="String" use="required"/>
|
||||
<xs:attribute name="weakDeliminator"/>
|
||||
<xs:attribute name="additionalDeliminator"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--
|
||||
Detect a floating point number (as the regular expression: (\b[0-9]+\.[0-9]*|\.[0-9]+)([eE][-+]?[0-9]+)?).
|
||||
commonAttributes: Common attributes
|
||||
weakDeliminator: Add weak deliminators [optional]
|
||||
additionalDeliminator: Add deliminators [optional]
|
||||
-->
|
||||
<xs:element name="Float">
|
||||
<xs:complexType>
|
||||
<xs:attributeGroup ref="commonAttributes"/>
|
||||
<xs:attribute name="weakDeliminator"/>
|
||||
<xs:attribute name="additionalDeliminator"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--
|
||||
Detect an octal number (as the regular expression: \b0[0-7]+).
|
||||
commonAttributes: Common attributes
|
||||
weakDeliminator: Add weak deliminators [optional]
|
||||
additionalDeliminator: Add deliminators [optional]
|
||||
-->
|
||||
<xs:element name="HlCOct">
|
||||
<xs:complexType>
|
||||
<xs:attributeGroup ref="commonAttributes"/>
|
||||
<xs:attribute name="weakDeliminator"/>
|
||||
<xs:attribute name="additionalDeliminator"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--
|
||||
Detect a hexadecimal number (as a regular expression: \b0[xX][0-9a-fA-F]+).
|
||||
commonAttributes: Common attributes
|
||||
weakDeliminator: Add weak deliminators [optional]
|
||||
additionalDeliminator: Add deliminators [optional]
|
||||
-->
|
||||
<xs:element name="HlCHex">
|
||||
<xs:complexType>
|
||||
<xs:attributeGroup ref="commonAttributes"/>
|
||||
<xs:attribute name="weakDeliminator"/>
|
||||
<xs:attribute name="additionalDeliminator"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--
|
||||
Detect C-style character. Characters enclosed in a tick (Example: 'c') which may be a simple character or an escaped character (as a regular expression: '(\\([abefnrtv"'?\\.]|x[0-9a-fA-F]{1,2}|[0-7]{1,3})|[^'])')
|
||||
commonAttributes: Common attributes
|
||||
-->
|
||||
<xs:element name="HlCChar">
|
||||
<xs:complexType>
|
||||
<xs:attributeGroup ref="commonAttributes"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--
|
||||
Detect an integer number
|
||||
commonAttributes: Common attributes
|
||||
weakDeliminator: Add weak deliminators [optional]
|
||||
additionalDeliminator: Add deliminators [optional]
|
||||
-->
|
||||
<xs:element name="Int">
|
||||
<xs:complexType>
|
||||
<xs:attributeGroup ref="commonAttributes"/>
|
||||
<xs:attribute name="weakDeliminator"/>
|
||||
<xs:attribute name="additionalDeliminator"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--
|
||||
Detect a single character
|
||||
commonAttributes: Common attributes
|
||||
char: The character to look for
|
||||
dynamic: Uses 1 .. 9 as placeholders for dynamic arguments (in fact, first char of arg...) [boolean, optional, default=false]
|
||||
-->
|
||||
<xs:element name="DetectChar">
|
||||
<xs:complexType>
|
||||
<xs:attributeGroup ref="commonAttributes"/>
|
||||
<xs:attribute name="char" type="char" use="required"/>
|
||||
<xs:attribute name="dynamic" type="xs:boolean"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--
|
||||
Detect two characters
|
||||
commonAttributes: Common attributes
|
||||
char: The first character
|
||||
char1: The second character
|
||||
-->
|
||||
<xs:element name="Detect2Chars">
|
||||
<xs:complexType>
|
||||
<xs:attributeGroup ref="commonAttributes"/>
|
||||
<xs:attribute name="char" type="char" use="required"/>
|
||||
<xs:attribute name="char1" type="char" use="required"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--
|
||||
Detect one character of a set of specified characters.
|
||||
commonAttributes: Common attributes
|
||||
String: The set of characters
|
||||
-->
|
||||
<xs:element name="AnyChar">
|
||||
<xs:complexType>
|
||||
<xs:attributeGroup ref="commonAttributes"/>
|
||||
<xs:attribute name="String" use="required"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--
|
||||
Detect a string
|
||||
commonAttributes: Common attributes
|
||||
String: The string to look for
|
||||
insensitive: Whether the string is matched case INsensitive. [boolean, optional, default=false]
|
||||
dynamic: Uses %1 .. %9 as placeholders for dynamic arguments [boolean, optional, default=false]
|
||||
-->
|
||||
<xs:element name="StringDetect">
|
||||
<xs:complexType>
|
||||
<xs:attributeGroup ref="commonAttributes"/>
|
||||
<xs:attribute name="String" use="required"/>
|
||||
<xs:attribute name="insensitive" type="xs:boolean"/>
|
||||
<xs:attribute name="dynamic" type="xs:boolean"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--
|
||||
Detect a word, i.e. a string at word boundaries
|
||||
commonAttributes: Common attributes
|
||||
String: The string to look for
|
||||
insensitive: Whether the string is matched case INsensitive. [boolean, optional, default=false]
|
||||
weakDeliminator: Add weak deliminators [optional]
|
||||
additionalDeliminator: Add deliminators [optional]
|
||||
-->
|
||||
<xs:element name="WordDetect">
|
||||
<xs:complexType>
|
||||
<xs:attributeGroup ref="commonAttributes"/>
|
||||
<xs:attribute name="String" use="required"/>
|
||||
<xs:attribute name="insensitive" type="xs:boolean"/>
|
||||
<xs:attribute name="weakDeliminator"/>
|
||||
<xs:attribute name="additionalDeliminator"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--
|
||||
Detect a match of a regular expression
|
||||
commonAttributes: Common attributes
|
||||
String: The regular expression pattern
|
||||
insensitive: Whether the text is matched case INsensitive. [boolean, optional, default=false]
|
||||
minimal: Wheather to use minimal matching for wild cards in the pattern [boolean, optional, default=false]
|
||||
dynamic: Uses %1 .. %9 as placeholders for dynamic arguments [boolean, optional, default=false]
|
||||
-->
|
||||
<xs:element name="RegExpr">
|
||||
<xs:complexType>
|
||||
<xs:attributeGroup ref="commonAttributes"/>
|
||||
<xs:attribute name="String" use="required"/>
|
||||
<xs:attribute name="insensitive" type="xs:boolean"/>
|
||||
<xs:attribute name="minimal" type="xs:boolean"/>
|
||||
<xs:attribute name="dynamic" type="xs:boolean"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--
|
||||
Detect a line continuation
|
||||
commonAttributes: Common attributes
|
||||
char: The char marking the end of line [char, optional, default='\\']
|
||||
-->
|
||||
<xs:element name="LineContinue">
|
||||
<xs:complexType>
|
||||
<xs:attributeGroup ref="commonAttributes"/>
|
||||
<xs:attribute name="char" type="char"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--
|
||||
Detect a C-style escaped character (as a regular expression: \\([abefnrtv"'?\\.]|x[0-9a-fA-F]{1,2}|[0-7]{1,3})).
|
||||
commonAttributes: Common attributes
|
||||
-->
|
||||
<xs:element name="HlCStringChar">
|
||||
<xs:complexType>
|
||||
<xs:attributeGroup ref="commonAttributes"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--
|
||||
Detect a string with defined start and end characters.
|
||||
commonAttributes: Common attributes
|
||||
char: The character starting the range
|
||||
char1: The character terminating the range
|
||||
-->
|
||||
<xs:element name="RangeDetect">
|
||||
<xs:complexType>
|
||||
<xs:attributeGroup ref="commonAttributes"/>
|
||||
<xs:attribute name="char" type="char" use="required"/>
|
||||
<xs:attribute name="char1" type="char" use="required"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--
|
||||
Include Rules of another context
|
||||
context: The name of the context to include
|
||||
includeAttrib: If this is true, the host context of the IncludeRules
|
||||
will be given the attribute of the source context
|
||||
-->
|
||||
<xs:element name="IncludeRules">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="context" use="required"/>
|
||||
<xs:attribute name="includeAttrib" type="xs:boolean"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!-- Detect all following Spaces -->
|
||||
<xs:element name="DetectSpaces">
|
||||
<xs:complexType>
|
||||
<xs:attributeGroup ref="commonAttributes"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!-- Detect an Identifier ( == LETTER(LETTER|NUMBER|_)*) -->
|
||||
<xs:element name="DetectIdentifier">
|
||||
<xs:complexType>
|
||||
<xs:attributeGroup ref="commonAttributes"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!-- List of attributes -->
|
||||
<xs:element name="itemDatas">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="unbounded" ref="itemData"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--
|
||||
Attribute specification
|
||||
name CDATA #REQUIRED The name of this attribute
|
||||
defStyleNum CDATA #REQUIRED The index of the default style to use
|
||||
color CDATA #IMPLIED Color for this style, either a hex triplet, a name or some other format recognized by Qt [optional]
|
||||
selColor CDATA #IMPLIED The color for this style when text is selected [optional]
|
||||
italic CDATA #IMPLIED Whether this attribute should be rendered using an italic typeface [optional, boolean, default=false]
|
||||
bold CDATA #IMPLIED Whether this attribute should be renederd using a bold typeface [optional, boolean, default=false]
|
||||
underline CDATA #IMPLIED Whether this attribute should be underlined [optional, boolean, default=false]
|
||||
strikeOut CDATA #IMPLIED Whether this attribute should be striked out [optional, boolean, default=false]
|
||||
backgroundColor CDATA #IMPLIED The background color for this style [optional]
|
||||
selBackgroundColor CDATA #IMPLIED The background color for this style when text is selected [optional]
|
||||
spellChecking CDATA #IMPLIED Whether this attribute should be spell checked [optional, boolean, default=true]
|
||||
-->
|
||||
<xs:element name="itemData">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="name" use="required"/>
|
||||
<xs:attribute name="defStyleNum" use="required" type="defStyles"/>
|
||||
<xs:attribute name="color"/>
|
||||
<xs:attribute name="selColor"/>
|
||||
<xs:attribute name="italic" type="xs:boolean"/>
|
||||
<xs:attribute name="bold" type="xs:boolean"/>
|
||||
<xs:attribute name="underline" type="xs:boolean"/>
|
||||
<xs:attribute name="strikeOut" type="xs:boolean"/>
|
||||
<xs:attribute name="backgroundColor"/>
|
||||
<xs:attribute name="selBackgroundColor"/>
|
||||
<xs:attribute name="spellChecking" type="xs:boolean"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!-- Spellchecking specification -->
|
||||
<xs:element name="spellchecking">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" ref="encodings"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!-- List of character encodings -->
|
||||
<xs:element name="encodings">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="unbounded" ref="encoding"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--
|
||||
Encoding specification
|
||||
sequence CDATA #REQUIRED Character sequence of the encoding; must not contain new-line characters, i.e. \n or \r
|
||||
character CDATA #IMPLIED Encoded character; must be of length 1
|
||||
ignored (%boolean;) #IMPLIED If true, then the encoding sequence is ignored for spellchecking
|
||||
-->
|
||||
<xs:element name="encoding">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="string" use="required"/>
|
||||
<xs:attribute name="char" type="char"/>
|
||||
<xs:attribute name="ignored" type="xs:boolean"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:schema>
|
||||
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
schemadir=$(dirname "$0")
|
||||
xmllint --noout --schema "$schemadir"/language.xsd "$@"
|
||||
Reference in New Issue
Block a user