Bug 338787 - updating syntax highlighting files mixes up version of Kate and version of Kate Part
Summary: updating syntax highlighting files mixes up version of Kate and version of Ka...
Status: RESOLVED FIXED
Alias: None
Product: kate
Classification: Applications
Component: syntax (show other bugs)
Version: unspecified
Platform: unspecified All
: NOR normal
Target Milestone: ---
Assignee: KWrite Developers
URL: http://kate-editor.org/syntax/
Keywords:
Depends on:
Blocks:
 
Reported: 2014-09-03 20:29 UTC by Martin Walch
Modified: 2018-08-16 07:11 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Walch 2014-09-03 20:29:06 UTC
As far as I see, there are three new syntax highlighting files that are not part of the 4.14.0 release. Dockerfile, FTL and Kconfig. While Dockerfile and FTL are in the list, Kconfig is missing. After some investigation, I have a suspicion what is going wrong: the language tag in the highlighting files has an attribute "kateversion" and the manual states:

> kateversion specifies the latest supported Kate version.

which IMO kind of does not make much sense. It should probably say 

> kateversion specifies the oldest supported Kate version.

The update scripts on the update server seem to sort the files by this kateversion attribute, copy them into several directories and write the corresponding file lists into an XML file.

However, when updating the highlighting files in Kate, the program does not look for the current Kate version number on the server, but for the current version number of Kate Part, which is much lower (e. g. Kate 3.14 vs Kate Part 3.7). I guess this would work if the update scripts on the server would sort the files matching Kate versions to corresponding Kate Part versions, but it does not seem to do that. I can not tell for sure, because I have not found a way to find out which server side scripts are executed and what the contents of the scripts look like.

ftl says: kateversion="3.2"
dockerfile says: kateversion="2.4" (This was seriously tested on some historic KDE 3?)
kconfig says: kateversion="3.13"

q (kateversion="3.8"), k (kateversion="3.8") and vala (kateversion="3.7.4") also do not show up in update-3.7.xml, but they do so for update-3.8.xml.

Furthermore missing: agda (kateversion="3.12"), jira (kateversion="3.10") and mediawiki (kateversion="3.10").

puppet and markdown appear in the update list, but puppet only with an outdated version of the highlighting file.

There are also some other strange effects, but I think this one is the most annoying, and fixing this might also fix other problems.

Reproducible: Always
Comment 1 Christoph Cullmann 2014-09-07 15:09:41 UTC
Actually we just need to change the kateversion in the .xml files to the lowest needed kate part version (like it was intended) and perhaps update the docs.
With KF5, it will be easier, as katepart version is just the KF5 frameworks version.
Comment 2 Martin Walch 2014-09-07 17:03:06 UTC
(In reply to Christoph Cullmann from comment #1)
> Actually we just need to change the kateversion in the .xml files to the
> lowest needed kate part version (like it was intended) and perhaps update
> the docs.

Is this a proper way to adjust it?
* check out each revision of language.dtd that corresponds to a new Kate Part version
* validate each syntax highlighting file against each revision of language.dtd using checkXML
* set kateversion of each highlighting file to the lowest Kate Part version with a language.dtd against which it validates (any higher version should then validate, too)

I think there is still a problem: language.dtd has changed after the last version bump (to 3.7) of Kate Part: the attribute lineEmptyContext has been added to the context tag (while lineBeginContext has been dropped), and the char attribute in LineContinue is also new.

So, to prevent things from breaking by manual update in Kate, how about setting the kateversion of those highlighting files that actually use those new attributes to 3.8? 

How about increasing the Kate Part version to 3.8 for the next 4.14 release?
Comment 3 Martin Walch 2014-09-10 04:21:39 UTC
As far as I see, the feature for updating syntax highlighting files from within Kate has been introduced with KDE 3.0 (Kate Part 2.0).

A list showing in which KDE versions new Kate Part version numbers showed up:
KDE 3.1: 2.1
KDE 3.2: 2.2
KDE 3.3: 2.3
KDE 3.4: 2.4
KDE 3.5.1: 2.5
KDE 4.0: 3.0
KDE 4.1: 3.1
KDE 4.2: 3.2
KDE 4.3: 3.3
KDE 4.4: 3.4
KDE 4.5: 3.5
KDE 4.6: 3.6
KDE 4.7: 3.7

The Kate Part version number is basically the KDE version number minus one in the major number. An exception is 2.5 which was not incremented with KDE 3.5, but with KDE 3.5.1. Since KDE 4.7, the Kate Part version number has not been changed.

Next is a list of when compatibility relevant changes were introduced into language.dtd:
3.1
3.2
3.3
3.4
3.5
3.5.9
4.0
4.0.1
4.1
4.3
4.4
4.5
4.10
4.13

Obviously, the changes in language.dtd and the version numbers of Kate Part are not perfectly in sync. So, in some cases this means either missing updates, although those updates would work fine, or downloading incompatible highlighting files that may break something. In my opinion it is better to avoid the risk of breaking things with the (minor) drawback that a few syntax highlighting files might not be available in the download dialog for some versions of KDE. Actually, in the current state, many of the kateversion numbers are clearly too high or too low and cleaning them should be an improvement in both cases.

Now, which values make still sense for the kateversion attribute? When looking at the language.dtd from 2.0, it is obvious that none of the highlighting files that are valid with the current language.dtd from KDE 4.14 can be valid with that old language.dtd, because mandatory attributes of the language tag (like version and kateversion) were not specified back then. Maybe old Kate versions would still be able to load newer highlighting files *somehow*, but stating that they are really compatible would be a lie. The same is true for Kate Part 2.1.

The oldest version with a chance for validation is 2.2. The following versions 2.3 and 2.4 are good, too. For KDE 3.5, we see that it shipped with a newer language.dtd, but still identified as Kate Part 2.4. So, if there is still anybody using KDE 3.5 (and not at least 3.5.1), some updates will not show up in the download list. For KDE 3.5.9/3.5.10, the Kate Part version was not increased, so they will not get anything that is not compatible with earlier 3.5.* releases (currently, there is only alert.xml that validates on 3.5.9, but not on 3.5.8). Now, in the same manner Kate Part 3.0 should be compatible with KDE 4.0, ignoring the changes in KDE 4.0.1. Next ist 3.1 for KDE 4.1. Regarding validity, Kate Part 3.2 does not make much sense, as there were no changes to language.dtd for KDE 4.2. Kate Part 3.3, 3.4 and 3.5 are normal updates, but 3.6 and 3.7 did not bring any changes. Finally, everything from KDE 4.14 should be backward compatible to at least Kate Part 3.5, unless it makes use of changes that were introduced in 4.10 or 4.13, but for consistency those updates should not even show up in the update dialog in KDE 4.14 unless it identified with an even higher version number (e.g. 3.8).

(And of course there is now KF5, which has language.dtd replaced with language.xsd)

From the above information, each syntax highlighting file that is valid for KDE 4.14, should carry one of these version numbers and validate against any language.dtd of the KDE version in parentheses or above:

2.2 (KDE 3.2)
2.3 (KDE 3.3)
2.4 (KDE 3.4)
2.5 (KDE 3.5.1)
3.0 (KDE 4.0)
3.1 (KDE 4.1)
3.3 (KDE 4.3)
3.4 (KDE 4.4)
3.5 (KDE 4.5)
>=3.8 (>=KDE 4.14.1)

In most cases, a highlighting file that validates against an older language.dtd is also valid with all newer versions. But this is not guaranteed (in fact, there is freebasic.xml, which is valid on KDE 3.3, but not on KDE 3.4).

For the latest highlighting files from ktexteditor master, I come up with these results using xmllint:

2.2: asm6502.xml, coldfusion.xml, crk.xml, cs.xml, cue.xml, e.xml, gdl.xml, gnuplot.xml, idconsole.xml, ilerpg.xml, kbasic.xml, matlab.xml, modula-2.xml, objectivec.xml, postscript.xml, rexx.xml, sather.xml, sci.xml, sgml.xml, tibasic.xml, uscript.xml, yacas.xml, zonnon.xml

2.3: abap.xml, actionscript.xml, asn1.xml, asp.xml, asterisk.xml, clipper.xml, clojure.xml, commonlisp.xml, component-pascal.xml, dot.xml, eiffel.xml, email.xml, fasm.xml, fgl-4gl.xml, fgl-per.xml, ftl.xml, hunspell-idx.xml, monobasic.xml, nasm.xml, nemerle.xml, nesc.xml, opal.xml, pgn.xml, picsrc.xml, purebasic.xml, q.xml, rapidq.xml, rib.xml, rsiidl.xml, r.xml, scala.xml, sml.xml, spice.xml, stata.xml, template-toolkit.xml, velocity.xml, vrml.xml, wml.xml

2.4: abc.xml, ahdl.xml, alert_indent.xml, ansys.xml, apache.xml, asm-avr.xml, asm-dsp56k.xml, asm-m68k.xml, cgis.xml, cg.xml, changelog.xml, cisco.xml, debianchangelog.xml, debiancontrol.xml, desktop.xml, diff.xml, djangotemplate.xml, doxygenlua.xml, doxygen.xml, erlang.xml, euphoria.xml, ferite.xml, fortran.xml, freebasic.xml, fsharp.xml, fstab.xml, gap.xml, gettext.xml, git-ignore.xml, git-rebase.xml, glosstex.xml, glsl.xml, gnuassembler.xml, haxe.xml, hunspell-aff.xml, hunspell-dat.xml, hunspell-dic.xml, idl.xml, inform.xml, ini.xml, jam.xml, javadoc.xml, java.xml, json.xml, jsp.xml, julia.xml, ldif.xml, ld.xml, lex.xml, logtalk.xml, lpc.xml, m3u.xml, mab.xml, mandoc.xml, mason.xml, mel.xml, mergetagtext.xml, metafont.xml, mips.xml, modelica.xml, mup.xml, nagios.xml, noweb.xml, objectivecpp.xml, ocaml.xml, oors.xml, pango.xml, perl.xml, pike.xml, povray.xml, ppd.xml, progress.xml, relaxngcompact.xml, relaxng.xml, replicode.xml, rhtml.xml, roff.xml, rpmspec.xml, rtf.xml, scheme.xml, sed.xml, sieve.xml, sisu.xml, sql-postgresql.xml, sql.xml, systemc.xml, systemverilog.xml, tcl.xml, texinfo.xml, valgrind-suppression.xml, vcard.xml, vera.xml, verilog.xml, winehq.xml, xharbour.xml, xmldebug.xml, xorg.xml, xslt.xml, xul.xml, yacc.xml

2.5: lsl.xml, yaml.xml

3.0: boo.xml, d.xml, haml.xml, jira.xml, m4.xml, txt2tags.xml, vhdl.xml

3.1: alert.xml

3.3: ada.xml, ansic89.xml, awk.xml, chicken.xml, pascal.xml, ruby.xml, tads3.xml

3.4: agda.xml, ahk.xml, ansforth94.xml, bibtex.xml, bmethod.xml, ccss.xml, cmake.xml, coffee.xml, context.xml, cpp.xml, css-php.xml, css.xml, cubescript.xml, c.xml, dockerfile.xml, dtd.xml, gcc.xml, gdb.xml, gitolite.xml, go.xml, grammar.xml, haskell.xml, html-php.xml, html.xml, javascript-php.xml, javascript.xml, j.xml, kconfig.xml, k.xml, latex.xml, less.xml, literate-curry.xml, literate-haskell.xml, lua.xml, makefile.xml, mako.xml, mathematica.xml, mediawiki.xml, modelines.xml, octave.xml, opencl.xml, php.xml, pig.xml, protobuf.xml, python.xml, qmake.xml, scss.xml, sql-mysql.xml, vala.xml, varnishtest.xml, varnish.xml, xml.xml

3.5: 4dos.xml, qml.xml

"3.8": markdown.xml, puppet.xml

"5" (these files do not validate on KDE 4.14 branch, but they are probably ok with the xsd on KF5):
ample.xml, bash.xml, curry.xml, dosbat.xml, freebasic.xml, isocpp.xml, lilypond.xml, maxima.xml, prolog.xml, rest.xml, tcsh.xml, textile.xml, zsh.xml
Comment 4 Martin Walch 2014-09-10 05:29:02 UTC
Looks like xmllint is broken. checkXML does not work better either. Using xalan, most of the remaining files validate:

2.4: bash.xml, dosbat.xml, rest.xml, tcsh.xml, zsh.xml

3.0: textile.xml

3.3: lilypond.xml

3.4: curry,xml, isocpp.xml, prolog.xml

"5": ample.xml, freebasic.xml, maxima.xml
Comment 5 Martin Walch 2014-09-10 22:12:23 UTC
After adjusting the kateversion attribute of all files, I get 113 files with a higher number and 51 with a lower number. This includes increasing markdown.xml and puppet.xml to "3.8" and ample.xml, freebasic.xml and maxima.xml to "5.0". (I have also counted css-php.xml, html-php.xml, and javascript-php.xml, which have also increased version numbers)

I have added the commit to the reviewboard for consideration:
https://git.reviewboard.kde.org/r/120133/

Regarding the failing validation of bash.xml, curry.xml etc. I have opened a bug report upstream: https://bugzilla.gnome.org/show_bug.cgi?id=736417
Comment 6 Martin Walch 2014-09-10 22:13:50 UTC
(In reply to Martin Walch from comment #5)
> maxima.xml to "5.0". (I have also counted css-php.xml, html-php.xml, and

That should have read "5.2". Sorry.
Comment 7 Martin Walch 2014-09-10 23:39:58 UTC
Git commit 752ddb60ddc91ad63c54339f0849c7c7fe0fc41e by Martin Walch.
Committed on 10/09/2014 at 21:29.
Pushed by martinwalch into branch 'master'.

Clean up all kateversion numbers according to XML validation

Since KDE 3.0, it is possible to update Kate highlighting files on a per
user basis using a download dialog in the configuration menu, without
the need to update the whole installation of KDE. To indicate
compatibility, there is an attribute "kateversion" in the language
element of the highlighting files. However, those values have become a
mess over time.

This patch is a radical clean-up of the kateversion values, setting each
of them to the lowest possible value that makes sure that compatibility
is only indicated if the update validates with the shipped definition
file (language.dtd).
REVIEW: 120133

M  +1    -1    src/syntax/data/4dos.xml
M  +1    -1    src/syntax/data/abap.xml
M  +1    -1    src/syntax/data/actionscript.xml
M  +1    -1    src/syntax/data/ada.xml
M  +1    -1    src/syntax/data/agda.xml
M  +1    -1    src/syntax/data/ahk.xml
M  +1    -1    src/syntax/data/alert.xml
M  +1    -1    src/syntax/data/alert_indent.xml
M  +1    -1    src/syntax/data/ample.xml
M  +1    -1    src/syntax/data/ansforth94.xml
M  +1    -1    src/syntax/data/ansic89.xml
M  +1    -1    src/syntax/data/ansys.xml
M  +1    -1    src/syntax/data/apache.xml
M  +1    -1    src/syntax/data/asm6502.xml
M  +1    -1    src/syntax/data/asp.xml
M  +1    -1    src/syntax/data/asterisk.xml
M  +1    -1    src/syntax/data/awk.xml
M  +1    -1    src/syntax/data/bibtex.xml
M  +1    -1    src/syntax/data/bmethod.xml
M  +1    -1    src/syntax/data/boo.xml
M  +1    -1    src/syntax/data/c.xml
M  +1    -1    src/syntax/data/ccss.xml
M  +1    -1    src/syntax/data/chicken.xml
M  +1    -1    src/syntax/data/cmake.xml
M  +1    -1    src/syntax/data/coffee.xml
M  +1    -1    src/syntax/data/coldfusion.xml
M  +1    -1    src/syntax/data/component-pascal.xml
M  +1    -1    src/syntax/data/context.xml
M  +1    -1    src/syntax/data/cpp.xml
M  +1    -1    src/syntax/data/crk.xml
M  +1    -1    src/syntax/data/cs.xml
M  +1    -1    src/syntax/data/css.xml
M  +1    -1    src/syntax/data/cubescript.xml
M  +1    -1    src/syntax/data/cue.xml
M  +1    -1    src/syntax/data/curry.xml
M  +1    -1    src/syntax/data/d.xml
M  +1    -1    src/syntax/data/diff.xml
M  +1    -1    src/syntax/data/dockerfile.xml
M  +1    -1    src/syntax/data/dot.xml
M  +1    -1    src/syntax/data/doxygen.xml
M  +1    -1    src/syntax/data/dtd.xml
M  +1    -1    src/syntax/data/e.xml
M  +1    -1    src/syntax/data/eiffel.xml
M  +1    -1    src/syntax/data/email.xml
M  +1    -1    src/syntax/data/erlang.xml
M  +1    -1    src/syntax/data/fasm.xml
M  +1    -1    src/syntax/data/fgl-4gl.xml
M  +1    -1    src/syntax/data/fgl-per.xml
M  +1    -1    src/syntax/data/freebasic.xml
M  +1    -1    src/syntax/data/ftl.xml
M  +1    -1    src/syntax/data/gcc.xml
M  +1    -1    src/syntax/data/gdb.xml
M  +1    -1    src/syntax/data/gdl.xml
M  +1    -1    src/syntax/data/gitolite.xml
M  +1    -1    src/syntax/data/glosstex.xml
M  +1    -1    src/syntax/data/gnuplot.xml
M  +1    -1    src/syntax/data/go.xml
M  +1    -1    src/syntax/data/grammar.xml
M  +1    -1    src/syntax/data/haml.xml
M  +1    -1    src/syntax/data/haskell.xml
M  +1    -1    src/syntax/data/haxe.xml
M  +1    -1    src/syntax/data/html.xml
M  +1    -1    src/syntax/data/hunspell-aff.xml
M  +1    -1    src/syntax/data/hunspell-dat.xml
M  +1    -1    src/syntax/data/hunspell-dic.xml
M  +1    -1    src/syntax/data/hunspell-idx.xml
M  +1    -1    src/syntax/data/idconsole.xml
M  +1    -1    src/syntax/data/ilerpg.xml
M  +1    -1    src/syntax/data/inform.xml
M  +1    -1    src/syntax/data/ini.xml
M  +1    -1    src/syntax/data/isocpp.xml
M  +1    -1    src/syntax/data/j.xml
M  +1    -1    src/syntax/data/jam.xml
M  +1    -1    src/syntax/data/javascript.xml
M  +1    -1    src/syntax/data/jira.xml
M  +1    -1    src/syntax/data/json.xml
M  +1    -1    src/syntax/data/julia.xml
M  +1    -1    src/syntax/data/k.xml
M  +1    -1    src/syntax/data/kbasic.xml
M  +1    -1    src/syntax/data/kconfig.xml
M  +1    -1    src/syntax/data/latex.xml
M  +1    -1    src/syntax/data/ld.xml
M  +1    -1    src/syntax/data/less.xml
M  +1    -1    src/syntax/data/lilypond.xml
M  +1    -1    src/syntax/data/literate-curry.xml
M  +1    -1    src/syntax/data/literate-haskell.xml
M  +1    -1    src/syntax/data/lsl.xml
M  +1    -1    src/syntax/data/lua.xml
M  +1    -1    src/syntax/data/m3u.xml
M  +1    -1    src/syntax/data/m4.xml
M  +1    -1    src/syntax/data/makefile.xml
M  +1    -1    src/syntax/data/mako.xml
M  +1    -1    src/syntax/data/mandoc.xml
M  +1    -1    src/syntax/data/markdown.xml
M  +1    -1    src/syntax/data/mason.xml
M  +1    -1    src/syntax/data/mathematica.xml
M  +1    -1    src/syntax/data/maxima.xml
M  +1    -1    src/syntax/data/mediawiki.xml
M  +1    -1    src/syntax/data/mergetagtext.xml
M  +1    -1    src/syntax/data/metafont.xml
M  +1    -1    src/syntax/data/modelica.xml
M  +1    -1    src/syntax/data/modelines.xml
M  +1    -1    src/syntax/data/modula-2.xml
M  +1    -1    src/syntax/data/nagios.xml
M  +1    -1    src/syntax/data/nemerle.xml
M  +1    -1    src/syntax/data/nesc.xml
M  +1    -1    src/syntax/data/objectivec.xml
M  +1    -1    src/syntax/data/octave.xml
M  +1    -1    src/syntax/data/opal.xml
M  +1    -1    src/syntax/data/opencl.xml
M  +1    -1    src/syntax/data/pascal.xml
M  +1    -1    src/syntax/data/pgn.xml
M  +1    -1    src/syntax/data/php.xml
M  +1    -1    src/syntax/data/pig.xml
M  +1    -1    src/syntax/data/postscript.xml
M  +1    -1    src/syntax/data/prolog.xml
M  +1    -1    src/syntax/data/protobuf.xml
M  +1    -1    src/syntax/data/puppet.xml
M  +1    -1    src/syntax/data/python.xml
M  +1    -1    src/syntax/data/q.xml
M  +1    -1    src/syntax/data/qmake.xml
M  +1    -1    src/syntax/data/r.xml
M  +1    -1    src/syntax/data/rapidq.xml
M  +1    -1    src/syntax/data/relaxng.xml
M  +1    -1    src/syntax/data/replicode.xml
M  +1    -1    src/syntax/data/rexx.xml
M  +1    -1    src/syntax/data/roff.xml
M  +1    -1    src/syntax/data/rsiidl.xml
M  +1    -1    src/syntax/data/ruby.xml
M  +1    -1    src/syntax/data/sather.xml
M  +1    -1    src/syntax/data/scala.xml
M  +1    -1    src/syntax/data/sci.xml
M  +1    -1    src/syntax/data/scss.xml
M  +1    -1    src/syntax/data/sgml.xml
M  +1    -1    src/syntax/data/sml.xml
M  +1    -1    src/syntax/data/sql-mysql.xml
M  +1    -1    src/syntax/data/stata.xml
M  +1    -1    src/syntax/data/tads3.xml
M  +1    -1    src/syntax/data/template-toolkit.xml
M  +1    -1    src/syntax/data/texinfo.xml
M  +1    -1    src/syntax/data/textile.xml
M  +1    -1    src/syntax/data/tibasic.xml
M  +1    -1    src/syntax/data/txt2tags.xml
M  +1    -1    src/syntax/data/uscript.xml
M  +1    -1    src/syntax/data/vala.xml
M  +1    -1    src/syntax/data/valgrind-suppression.xml
M  +1    -1    src/syntax/data/varnish.xml
M  +1    -1    src/syntax/data/varnishtest.xml
M  +1    -1    src/syntax/data/velocity.xml
M  +1    -1    src/syntax/data/vera.xml
M  +1    -1    src/syntax/data/vhdl.xml
M  +1    -1    src/syntax/data/vrml.xml
M  +1    -1    src/syntax/data/wml.xml
M  +1    -1    src/syntax/data/xml.xml
M  +1    -1    src/syntax/data/xmldebug.xml
M  +1    -1    src/syntax/data/xorg.xml
M  +1    -1    src/syntax/data/xslt.xml
M  +1    -1    src/syntax/data/xul.xml
M  +1    -1    src/syntax/data/yacas.xml
M  +1    -1    src/syntax/data/yaml.xml
M  +1    -1    src/syntax/data/zonnon.xml

http://commits.kde.org/ktexteditor/752ddb60ddc91ad63c54339f0849c7c7fe0fc41e
Comment 8 Martin Walch 2014-10-08 08:40:54 UTC
For the record: the xmllint bug I mentioned in comment #4 is now fixed.

https://bugzilla.gnome.org/show_bug.cgi?id=736417
Comment 9 Dominik Haumann 2018-08-14 12:15:57 UTC
Git commit 857a277110d514065392d670382d2cc5a13bb244 by Dominik Haumann.
Committed on 14/08/2018 at 12:15.
Pushed by dhaumann into branch 'master'.

Relicense modelines.xml to MIT license

Summary:
This change relicenses the modelines.xml file to MIT license.
Please everyone, explicitly state that you agree with the relicense change
to MIT and accept this revision so that we can proceed.

The authors are extracted from below:
- Alex Turbov <i.zaufi@gmail.com>
- Christoph Cullmann <cullmann@kde.org>
- Volker Krause <vkrause@kde.org>
- Dominik Haumann <dhaumann@kde.org>
- Martin Walch <walch.martin@web.de>

Changes to the file in syntax-highlighting.git
==============================================

commit 1cf26801aeeb8b8ca681a39f5f2c654769048630
Author: Christoph Cullmann <cullmann@kde.org>
Date:   Mon Jul 24 15:25:27 2017 +0200

    strip leading/trailing whitespaces from keywords

    command: perl -pi -e 's@<item>\s*(\S+)\s*</item>@<item>\1</item>@gi' *.xml

    remaining issues:

    "/home/cullmann/kdesrc/frameworks/syntax-highlighting/data/syntax/4dos.xml" line 281 keyword with leading/trailing spaces: " DATE /T "
    "/home/cullmann/kdesrc/frameworks/syntax-highlighting/data/syntax/ample.xml" line 2896 keyword with leading/trailing spaces: " Afall, Bfall, Qfall, Qbfall, Tfall, Tbfall "
    "/home/cullmann/kdesrc/frameworks/syntax-highlighting/data/syntax/ample.xml" line 2898 keyword with leading/trailing spaces: " Arise, Brise, Qrise, Qbrise, Trise, Tbrise "
    "/home/cullmann/kdesrc/frameworks/syntax-highlighting/data/syntax/ample.xml" line 2903 keyword with leading/trailing spaces: " Asim_model Property in Element Statements "
    "/home/cullmann/kdesrc/frameworks/syntax-highlighting/data/syntax/ample.xml" line 2987 keyword with leading/trailing spaces: " Requirements for DRACULA II "
    "/home/cullmann/kdesrc/frameworks/syntax-highlighting/data/syntax/ample.xml" line 3012 keyword with leading/trailing spaces: " Ioh1, Ioh2 "
    "/home/cullmann/kdesrc/frameworks/syntax-highlighting/data/syntax/ample.xml" line 3014 keyword with leading/trailing spaces: " Iol1, Iol2 "
    "/home/cullmann/kdesrc/frameworks/syntax-highlighting/data/syntax/ample.xml" line 3068 keyword with leading/trailing spaces: " Spike Model Data "
    "/home/cullmann/kdesrc/frameworks/syntax-highlighting/data/syntax/ample.xml" line 3195 keyword with leading/trailing spaces: " Tphz, Tplz, Tpzh, Tpzl "
    "/home/cullmann/kdesrc/frameworks/syntax-highlighting/data/syntax/ample.xml" line 3207 keyword with leading/trailing spaces: " Voh1, Voh2 "
    "/home/cullmann/kdesrc/frameworks/syntax-highlighting/data/syntax/ample.xml" line 3209 keyword with leading/trailing spaces: " Vol1, Vol2 "
    "/home/cullmann/kdesrc/frameworks/syntax-highlighting/data/syntax/asn1.xml" line 36 keyword with leading/trailing spaces: " OCTET STRING "
    "/home/cullmann/kdesrc/frameworks/syntax-highlighting/data/syntax/coldfusion.xml" line 199 keyword with leading/trailing spaces: " String formatting "
    "/home/cullmann/kdesrc/frameworks/syntax-highlighting/data/syntax/freebasic.xml" line 29 keyword with leading/trailing spaces: " For Input "
    "/home/cullmann/kdesrc/frameworks/syntax-highlighting/data/syntax/freebasic.xml" line 30 keyword with leading/trailing spaces: " For Output "
    "/home/cullmann/kdesrc/frameworks/syntax-highlighting/data/syntax/freebasic.xml" line 31 keyword with leading/trailing spaces: " For Binary "
    "/home/cullmann/kdesrc/frameworks/syntax-highlighting/data/syntax/freebasic.xml" line 32 keyword with leading/trailing spaces: " For Random "
    "/home/cullmann/kdesrc/frameworks/syntax-highlighting/data/syntax/freebasic.xml" line 132 keyword with leading/trailing spaces: " Byte PTR "
    "/home/cullmann/kdesrc/frameworks/syntax-highlighting/data/syntax/freebasic.xml" line 133 keyword with leading/trailing spaces: " Dword PTR "
    "/home/cullmann/kdesrc/frameworks/syntax-highlighting/data/syntax/freebasic.xml" line 134 keyword with leading/trailing spaces: " Qword PTR "
    "/home/cullmann/kdesrc/frameworks/syntax-highlighting/data/syntax/freebasic.xml" line 135 keyword with leading/trailing spaces: " Word PTR "
    "/home/cullmann/kdesrc/frameworks/syntax-highlighting/data/syntax/freebasic.xml" line 369 keyword with leading/trailing spaces: " OPTION BASE "
    "/home/cullmann/kdesrc/frameworks/syntax-highlighting/data/syntax/freebasic.xml" line 370 keyword with leading/trailing spaces: " OPTION PRIVATE "
    "/home/cullmann/kdesrc/frameworks/syntax-highlighting/data/syntax/gnuplot.xml" line 88 keyword with leading/trailing spaces: " data style "
    "/home/cullmann/kdesrc/frameworks/syntax-highlighting/data/syntax/gnuplot.xml" line 89 keyword with leading/trailing spaces: " function style "
    "/home/cullmann/kdesrc/frameworks/syntax-highlighting/data/syntax/php.xml" line 2253 keyword with leading/trailing spaces: " date_time_ set "
    "/home/cullmann/kdesrc/frameworks/syntax-highlighting/data/syntax/progress.xml" line 298 keyword with leading/trailing spaces: " NOT ENTERED "
    "/home/cullmann/kdesrc/frameworks/syntax-highlighting/data/syntax/progress.xml" line 609 keyword with leading/trailing spaces: " SERVER SOCKET "
    "/home/cullmann/kdesrc/frameworks/syntax-highlighting/data/syntax/pug.xml" line 28 keyword with leading/trailing spaces: " else if "
    "/home/cullmann/kdesrc/frameworks/syntax-highlighting/data/syntax/sql-postgresql.xml" line 689 keyword with leading/trailing spaces: " BIT VARYING "
    "/home/cullmann/kdesrc/frameworks/syntax-highlighting/data/syntax/sql-postgresql.xml" line 696 keyword with leading/trailing spaces: " CHARACTER VARYING "
    "/home/cullmann/kdesrc/frameworks/syntax-highlighting/data/syntax/sql-postgresql.xml" line 701 keyword with leading/trailing spaces: " DOUBLE PRECISION "
    "/home/cullmann/kdesrc/frameworks/syntax-highlighting/data/syntax/sql-postgresql.xml" line 727 keyword with leading/trailing spaces: " TIMESTAMP WITH TIMEZONE "
    "/home/cullmann/kdesrc/frameworks/syntax-highlighting/data/syntax/stata.xml" line 147 keyword with leading/trailing spaces: " clpatt [ern] "
    "/home/cullmann/kdesrc/frameworks/syntax-highlighting/data/syntax/stata.xml" line 379 keyword with leading/trailing spaces: " gr [een] "
    "/home/cullmann/kdesrc/frameworks/syntax-highlighting/data/syntax/stata.xml" line 759 keyword with leading/trailing spaces: " pc prop "

commit 8b59d5aec5fd5c4ea8346d1451ad5ee2bc8c93ea
Author: Volker Krause <vkrause@kde.org>
Date:   Sat Nov 19 12:59:34 2016 +0100

    Sync syntax definitions from ktexteditor

    Hopefully the last time before this will become the official location.

commit 04b9a7a8afcc113a881e014b9841b1e11abb5d38
Author: Volker Krause <vkrause@kde.org>
Date:   Sun Sep 25 12:51:16 2016 +0200

    Make syntax definition versions integers

    This follows an equivalent change in ktexteditor.

commit 569c2bb6569edf3d5451ef7fb99062ed27ec2432
Author: Volker Krause <vkrause@kde.org>
Date:   Sun Sep 25 12:19:09 2016 +0200

    Move syntax definition files into their own sub-directory

    Puts them on the same level as the themes, which is more consistent.

commit dd72de85bff71db86df7b19b12deec306894f58d
Author: Volker Krause <vkrause@kde.org>
Date:   Wed Sep 7 10:51:59 2016 +0200

    Move data files out of 3rdparty, as this will become the official source

commit 7af3457977a7141e7d7472b80c175aaad3ace822
Author: Volker Krause <vkrause@kde.org>
Date:   Wed Apr 13 19:39:15 2016 +0200

    Add syntax data files from upstream.

Changes to the file in ktexteditor.git
======================================

commit cda999c901a9b38439f1d3ffc4c4fc3ae717061c
Author: Volker Krause <vkrause@kde.org>
Date:   Sat Nov 19 12:50:33 2016 +0100

    Use syntax definitions from KF5::SyntaxHighlighting

    REVIEW: 129384

commit 354fda8b563ea6fcf66813f02aadae3349aa25c6
Author: Dominik Haumann <dhaumann@kde.org>
Date:   Sat Oct 15 22:11:18 2016 +0200

    Add modeline 'auto-brackets'

    And remove modeline 'auto-insert-doxygen' since it's not implemented

commit 857097d0b8ba6f8b67f40d75a178fdc87a05f8b3
Author: Dominik Haumann <dhaumann@kde.org>
Date:   Fri Sep 9 14:34:03 2016 +0200

    Highlighting definition files: round version up to next integer

    Ideally, the version attribute should have been a integer revision
    right form the beginning. The problem with the string-based variant
    is that it is unclear whether e.g. version "1.1" < "1.10", and some
    people even introduce more minor versions such as 1.10.1 etc.

    Simply using an integer will solve this problem. For now, KTextEditor
    supports the old behavior for compatibility, though. We will evaluate
    a final change for KDE Frameworks 6 again.

commit ae154b945b2cbef8d302960c16da7bc66e77e88a
Author: Dominik Haumann <dhaumann@kde.org>
Date:   Sun Jun 19 15:24:02 2016 +0200

    Add modeline 'folding-preview' of type bool

commit ea03089e51bf3cc04db5b50fe2422b984515b282
Author: Dominik Haumann <dhaumann@kde.org>
Date:   Sat Jun 18 22:53:13 2016 +0200

    Add modelines 'scrollbar-minimap' [bool], and 'scrollbar-preview' [bool]

commit 752ddb60ddc91ad63c54339f0849c7c7fe0fc41e
Author: Martin Walch <walch.martin@web.de>
Date:   Wed Sep 10 23:29:49 2014 +0200

    Clean up all kateversion numbers according to XML validation

    Since KDE 3.0, it is possible to update Kate highlighting files on a per
    user basis using a download dialog in the configuration menu, without
    the need to update the whole installation of KDE. To indicate
    compatibility, there is an attribute "kateversion" in the language
    element of the highlighting files. However, those values have become a
    mess over time.

    This patch is a radical clean-up of the kateversion values, setting each
    of them to the lowest possible value that makes sure that compatibility
    is only indicated if the update validates with the shipped definition
    file (language.dtd).
Related: bug 241104, bug 198540
    REVIEW: 120133

commit d1640b3b8c8ccaebc502466a4b37411a44a89d98
Author: Christoph Cullmann <cullmann@kde.org>
Date:   Sat Jul 26 15:41:46 2014 +0200

    sync hl files with 4.14 branch, some changes seem to have been lost in frameworks :/

commit ae41649fd8b65891a44d12fff5e42ad333b61e16
Author: Alex Merry <alex.merry@kde.org>
Date:   Sun Mar 23 16:58:19 2014 +0000

    Replace '@since KDE 4.x' with '@since 4.x' and remove inaccurate ETA

    Reviewed by: dhaumann@kde.org

commit 0d58f34ebf7bbca4d26f97a2cd3cb0024fa9b522
Author: Christoph Cullmann <cullmann@kde.org>
Date:   Mon Jan 6 20:53:23 2014 +0100

    Move ktexteditor code to the src directory.

commit e36c3caa32685120a3b3c709e6a1b19c644a8a6a
Author: Christoph Cullmann <cullmann@kde.org>
Date:   Mon Jan 6 20:53:23 2014 +0100

    Initial import from the monolithic kate.

    This is the beginning of revision history for this module. If you
    want to look at revision history older than this, please refer to the
    techbase wiki for how to use Git history grafting. At the time of
    writing, this wiki is located here:

    http://community.kde.org/Frameworks/GitOldHistory

    If you have already performed the grafting and you don't see any
    history beyond this commit, try running "git log" with the "--follow"
    argument.

    Branched from the monolithic repo, kate frameworks branch, at commit
    099c019f596b9037a7246215d7cf7d05a03ee8ed

Changes to the file in kate.git
===============================

commit 45672fc34028930d1e86d6a1cd252c1941d87024
Author: Christoph Cullmann <cullmann@kde.org>
Date:   Sat Jan 11 15:56:39 2014 +0100

    remove ktexteditor part, is in KF5::TextEditor now ;)

commit bf6269cc925747cd7beb789b4e9f3ba908cb1f27
Author: Christoph Cullmann <cullmann@kde.org>
Date:   Sat Jan 4 16:36:00 2014 +0100

    Fold KTextEditor and KatePart.

    KTextEditor will stay the public API, KatePart the implementation.

    This avoids to have always to jump through rings for any further extension and is the preparation
    to have a sensefull KTextEditor Framework, that shall stay BC for KF 5.x and allows to use the
    KTextEditor API without additional stuff required.

commit 4cf0561cb23ef61d821f89394c574e5ccc9e6bb1
Author: Alex Turbov <i.zaufi@gmail.com>
Date:   Sat May 4 09:46:41 2013 +0400

    added 'indent-pasted-text' mode variable

commit 67e142c70749a79cf0e291d6c8c67ef58a22dde5
Author: Alex Turbov <i.zaufi@gmail.com>
Date:   Tue Nov 6 00:54:18 2012 +0400

    fix broken boolean values higlighting

commit d51d4820a854985a833f28f1facac9d9287466ab
Author: Christoph Cullmann <cullmann@kde.org>
Date:   Fri Nov 2 23:11:59 2012 +0100

    remove auto bracket feature in kate
    the auto bracket plugin is much more versatile
    added to it feature to auto-complete { for tex, too

commit cc9bdc3e76a8d78549cb0832afd0133bc50878e7
Author: Alex Turbov <i.zaufi@gmail.com>
Date:   Mon Oct 29 06:26:21 2012 +0400

    remove deprecated modeline

commit 248a727afba44bacf38e7c783ae35003bc0691c3
Author: Dominik Haumann <dhaumann@kde.org>
Date:   Sat Oct 27 16:10:44 2012 +0200

    add remove-trailing-spaces, merge Boolean True/False

commit 5b6d7fca32468767fba9bfe2b4fac59ec64b43b0
Author: Alex Turbov <i.zaufi@gmail.com>
Date:   Thu Mar 15 20:07:45 2012 +0400

    version bump

commit 1a5b5531bc4fad0708de026762a5be40d7fd0046
Author: Alex Turbov <i.zaufi@gmail.com>
Date:   Thu Mar 15 19:49:27 2012 +0400

    fix modeline hihglighting according Dominik notes

commit adda725180dae109afa2bc1aa1f712534ee759bd
Author: Dominik Haumann <haumann@kate-editor.org>
Date:   Thu Mar 15 14:50:35 2012 +0100

    adapt attribute names everywhere

commit 8d8f93db2f8d0bc8ecc4e5475e8042dedde6e1ab
Author: Alex Turbov <i.zaufi@gmail.com>
Date:   Thu Mar 15 17:04:59 2012 +0400

    rename styles

commit d71ded1afedfc569bec885aba84a8f91b896b2de
Author: Alex Turbov <i.zaufi@gmail.com>
Date:   Tue Mar 13 13:07:04 2012 +0400

    Added highlighting for kate modelines. Note that deprecated modelines
    are not included to provoke users to avoid them.

Test Plan: make && make test

Reviewers: vkrause, cullmann, martinwalch, turbov

Reviewed By: vkrause, cullmann, turbov

Subscribers: kwrite-devel, kde-frameworks-devel

Tags: #kate, #frameworks

Differential Revision: https://phabricator.kde.org/D14824

M  +2    -2    data/syntax/modelines.xml

https://commits.kde.org/syntax-highlighting/857a277110d514065392d670382d2cc5a13bb244
Comment 10 Martin Walch 2018-08-16 07:11:32 UTC
(In reply to Dominik Haumann from comment #9)
> Git commit 857a277110d514065392d670382d2cc5a13bb244 by Dominik Haumann.
> Committed on 14/08/2018 at 12:15.
> Pushed by dhaumann into branch 'master'.
> 
> Relicense modelines.xml to MIT license
> 
> Summary:
> This change relicenses the modelines.xml file to MIT license.
> Please everyone, explicitly state that you agree with the relicense change
> to MIT and accept this revision so that we can proceed.
> 
> The authors are extracted from below:
> - Alex Turbov <i.zaufi@gmail.com>
> - Christoph Cullmann <cullmann@kde.org>
> - Volker Krause <vkrause@kde.org>
> - Dominik Haumann <dhaumann@kde.org>
> - Martin Walch <walch.martin@web.de>

I think I have modified only one single line in that file, so I hardly play a role in this. But of course I agree with the relicense change to MIT and accept this revision.