%PDF- %PDF-
Direktori : /usr/share/gtksourceview-5/language-specs/ |
Current File : //usr/share/gtksourceview-5/language-specs/xml.lang |
<?xml version="1.0" encoding="UTF-8"?> <!-- This file is part of GtkSourceView Authors: Marco Barisione, Emanuele Aina, Paolo Borelli Copyright (C) 2005-2007 Marco Barisione <barisione@gmail.com> Copyright (C) 2005-2007 Emanuele Aina Copyright (C) 2007 Paolo Borelli Copyright (C) 2019 Yukihiro Nakai GtkSourceView is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. GtkSourceView is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, see <http://www.gnu.org/licenses/>. --> <language id="xml" name="XML" version="2.0" _section="Markup"> <metadata> <property name="mimetypes">application/xml;text/xml;text/sgml</property> <property name="globs">*.xml;*.xspf;*.siv;*.smil;*.smi;*.sml;*.kino;*.xul;*.xbel;*.abw;*.zabw;*.glade;*.jnlp;*.xhtml;*.svg;*.mml;*.rdf;*.rss;*.wml;*.xmi;*.fo;*.xslfo;*.sgml;*.lang</property> <property name="block-comment-start"><!--</property> <property name="block-comment-end">--></property> </metadata> <styles> <style id="comment" name="Comment" map-to="def:comment"/> <style id="doctype" name="DOCTYPE" map-to="def:preprocessor"/> <style id="cdata-delim" name="CDATA delimiter" map-to="def:preprocessor"/> <style id="processing-instruction" name="Processing instruction" map-to="def:preprocessor"/> <style id="element-name" name="Element name" map-to="def:identifier"/> <style id="attribute-name" name="Attribute name" map-to="def:type"/> <style id="attribute-value" name="Attribute value" map-to="def:string"/> <style id="entity" name="Entity" map-to="def:preprocessor"/> <style id="tag" name="Tag"/> <style id="namespace" name="Namespace" map-to="xml:element-name"/> <style id="error" name="Error" map-to="def:error"/> </styles> <definitions> <define-regex id="prefix">[[:alpha:]_][[:alnum:]._-]*</define-regex> <define-regex id="name">[[:alpha:]_][[:alnum:].:_-]*</define-regex> <context id="entity" style-ref="entity" class="no-spell-check"> <match>&\%{name};</match> </context> <context id="character-reference" style-ref="entity"> <match>&#([0-9]+|x[a-fA-F0-9]+);</match> </context> <context id="unallowed-chars" style-ref="error" extend-parent="false"> <match>[&<]</match> </context> <context id="comment" style-ref="comment" class="comment"> <start><!--</start> <end>--></end> <include> <context style-ref="error" extend-parent="false"> <match>--+</match> </context> <context ref="def:in-comment"/> </include> </context> <context id="doctype" class="no-spell-check"> <start>(<!DOCTYPE)\s+(\%{name})</start> <end>></end> <include> <context sub-pattern="1" where="start" style-ref="doctype"/> <context sub-pattern="2" where="start" style-ref="doctype"/> <context sub-pattern="0" where="end" style-ref="doctype"/> <context> <match>(SYSTEM)\s+(\"[^\"]*\")</match> <include> <context sub-pattern="1" style-ref="doctype"/> <context sub-pattern="2" style-ref="attribute-value"/> </include> </context> <context> <match>(PUBLIC)\s+(\"[^\"]*\")\s+(\"[^\"]*\")</match> <include> <context sub-pattern="1" style-ref="doctype"/> <context sub-pattern="2" style-ref="attribute-value"/> <context sub-pattern="3" style-ref="attribute-value"/> </include> </context> <context> <start>\[</start> <end>\]</end> <include> <context sub-pattern="0" where="start" style-ref="doctype"/> <context sub-pattern="0" where="end" style-ref="doctype"/> <context ref="dtd:dtd"/> </include> </context> </include> </context> <context id="cdata" class="no-spell-check"> <start><!\[CDATA\[</start> <end>\]\]></end> <include> <context sub-pattern="0" where="start" style-ref="cdata-delim" class="no-spell-check"/> <context sub-pattern="0" where="end" style-ref="cdata-delim"/> </include> </context> <context id="processing-instruction" style-ref="processing-instruction"> <start><\?</start> <end>\?></end> </context> <!-- The following three contexts can be <replace>d in xml dialect lang files, to custommize highlighting, e.g. highlighting docbook tags as keywords --> <context id="namespace" style-ref="namespace" class="no-spell-check"> <match>(?<!:)\%{prefix}:</match> </context> <!-- Match attribute-name before element-name otherwise "text" in <fo:block text-align="left"> is detected as element --> <context id="attribute-name" style-ref="attribute-name" class="no-spell-check"> <match>\b\%{name}\s*=</match> </context> <context id="attribute-value" style-ref="attribute-value" class="string" class-disabled="no-spell-check"> <start>["']</start> <end>\%{0@start}</end> <include> <context ref="entity"/> <context ref="character-reference"/> <context ref="unallowed-chars"/> </include> </context> <context id="element-name" once-only="true" style-ref="element-name" class="no-spell-check"> <match>\b\%{name}\b(?!\s*=)</match> </context> <context id="prolog" class="no-spell-check"> <start><\?xml</start> <end>\?></end> <include> <context sub-pattern="0" where="start" style-ref="processing-instruction"/> <context sub-pattern="0" where="end" style-ref="processing-instruction"/> <context ref="attribute-value"/> <context ref="attribute-name"/> </include> </context> <context id="start-tag" style-ref="tag" class="no-spell-check"> <start><(?!/)</start> <end>/?></end> <include> <context sub-pattern="0" where="start" style-ref="element-name"/> <context sub-pattern="0" where="end" style-ref="element-name"/> <context ref="entity"/> <context ref="character-reference"/> <context ref="unallowed-chars"/> <context ref="namespace"/> <context ref="attribute-name"/> <context ref="attribute-value"/> <context ref="element-name"/> <context style-ref="error" extend-parent="false"> <match>\S</match> </context> </include> </context> <context id="end-tag" style-ref="tag" class="no-spell-check"> <start></</start> <end>></end> <include> <context sub-pattern="0" where="start" style-ref="element-name"/> <context sub-pattern="0" where="end" style-ref="element-name"/> <context ref="entity"/> <context ref="character-reference"/> <context ref="unallowed-chars"/> <context ref="namespace"/> <context ref="element-name"/> <context style-ref="error" extend-parent="false"> <match>\S</match> </context> </include> </context> <context id="close-tag-outside-tag" style-ref="error"> <match>/></match> </context> <context id="xml"> <include> <context ref="comment"/> <context ref="doctype"/> <context ref="cdata"/> <context ref="prolog"/> <context ref="processing-instruction"/> <context ref="start-tag"/> <context ref="end-tag"/> <context ref="entity"/> <context ref="character-reference"/> <context ref="unallowed-chars"/> <context ref="close-tag-outside-tag"/> </include> </context> </definitions> </language>