Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
janusw committed Dec 26, 2016
2 parents 3c6964f + c3fc127 commit 1043147
Show file tree
Hide file tree
Showing 71 changed files with 1,203 additions and 218 deletions.
4 changes: 2 additions & 2 deletions CMakeLists.txt
Expand Up @@ -2,7 +2,7 @@ project(KSyntaxHighlighting)

cmake_minimum_required(VERSION 2.8.12)

find_package(ECM 5.26.0 REQUIRED NO_MODULE)
find_package(ECM 5.29.0 REQUIRED NO_MODULE)
set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR})
if(POLICY CMP0063)
cmake_policy(SET CMP0063 NEW)
Expand All @@ -21,7 +21,7 @@ include(KDEFrameworkCompilerSettings)
include(KDECMakeSettings)
include(ECMMarkNonGuiExecutable)

set(KF5_VERSION "5.29.0")
set(KF5_VERSION "5.30.0")

ecm_setup_version(${KF5_VERSION}
VARIABLE_PREFIX SyntaxHighlighting
Expand Down
9 changes: 6 additions & 3 deletions autotests/folding/Makefile.fold
@@ -1,6 +1,7 @@
# comment

include Makefile.in
-include Makefile.doesntexist

.PHONY: all

Expand All @@ -9,11 +10,13 @@ all: target
foo = bar $(var) \
$(baz) quux

ifeq ($(CC),gcc)
<beginfold id='2'>ifeq</beginfold id='2'> ($(CC),gcc)
bla=$(call func,param1,param2)
else
<endfold id='2'>else</endfold id='2'> ifeq "x" "y"<beginfold id='2'>else</beginfold id='2'> ifeq "x" "y"
$(error this seems wrong)
<endfold id='2'>else</endfold id='2'><beginfold id='2'>else</beginfold id='2'>
libs=$(normal_libs)
endif
<endfold id='2'>endif</endfold id='2'>

target1:
error
Expand Down
10 changes: 10 additions & 0 deletions autotests/folding/test.py.fold
Expand Up @@ -26,3 +26,13 @@ def func<beginfold id='3'>(</beginfold id='3'>x<endfold id='3'>)</endfold id='3'
continued line "<endfold id='3'>)</endfold id='3'>
print<beginfold id='3'>(</beginfold id='3'>'single line'<endfold id='3'>)</endfold id='3'>
return float<beginfold id='3'>(</beginfold id='3'>len<beginfold id='3'>(</beginfold id='3'>a2<endfold id='3'>)</endfold id='3'><endfold id='3'>)</endfold id='3'>


def test_f_literals<beginfold id='3'>(</beginfold id='3'><endfold id='3'>)</endfold id='3'>:
f'xy'
f'x{bar}y'
f'x{bar<beginfold id='2'>[</beginfold id='2'>"baz"<endfold id='2'>]</endfold id='2'>}y'
f'x{bar<beginfold id='2'>[</beginfold id='2'>"baz"<endfold id='2'>]</endfold id='2'>}y\n'

f'x{bar<beginfold id='2'>[</beginfold id='2'>"baz"<endfold id='2'>]</endfold id='2'>!r}y\n'
f'x{bar<beginfold id='2'>[</beginfold id='2'>"baz"<endfold id='2'>]</endfold id='2'>:.2}y\n'
5 changes: 4 additions & 1 deletion autotests/html/Makefile.html
Expand Up @@ -7,8 +7,9 @@
<span style="color:#898887;"># comment</span>

<span style="font-weight:bold;">include</span> Makefile.in
<span style="font-weight:bold;">-include</span> Makefile.doesntexist

<span style="color:#006e28;">.PHONY:</span><span style="color:#0057ae;"> all</span>
<span style="color:#006e28;font-weight:bold;">.PHONY:</span><span style="color:#0057ae;"> all</span>

<span style="color:#b08000;">all:</span><span style="color:#0057ae;"> target</span>

Expand All @@ -17,6 +18,8 @@

<span style="font-weight:bold;">ifeq</span> (<span style="color:#924c9d;">$(</span><span style="color:#0057ae;">CC</span><span style="color:#924c9d;">)</span>,gcc)
<span style="color:#0057ae;">bla</span><span style="color:#924c9d;">=$(</span><span style="font-weight:bold;">call</span><span style="color:#bf0303;"> func</span><span style="font-weight:bold;">,</span><span style="color:#bf0303;">param1</span><span style="font-weight:bold;">,</span><span style="color:#bf0303;">param2</span><span style="color:#924c9d;">)</span>
<span style="font-weight:bold;">else</span> <span style="font-weight:bold;">ifeq</span> <span style="color:#bf0303;">&quot;x&quot;</span> <span style="color:#bf0303;">&quot;y&quot;</span>
<span style="color:#924c9d;">$(</span><span style="font-weight:bold;">error</span><span style="color:#bf0303;"> this seems wrong</span><span style="color:#924c9d;">)</span>
<span style="font-weight:bold;">else</span>
<span style="color:#0057ae;">libs</span><span style="color:#924c9d;">=$(</span><span style="color:#0057ae;">normal_libs</span><span style="color:#924c9d;">)</span>
<span style="font-weight:bold;">endif</span>
Expand Down
10 changes: 10 additions & 0 deletions autotests/html/test.py.html
Expand Up @@ -32,4 +32,14 @@
<span style="color:#bf0303;"> continued line &quot;</span>)
<span style="color:#644a9b;font-weight:bold;">print</span>(<span style="color:#bf0303;">'single line'</span>)
<span style="font-weight:bold;">return</span> <span style="color:#644a9b;font-weight:bold;">float</span>(<span style="color:#644a9b;font-weight:bold;">len</span>(a2))


<span style="font-weight:bold;">def</span> test_f_literals():
<span style="color:#ff5500;">f'xy'</span>
<span style="color:#ff5500;">f'x</span><span style="color:#3daee9;">{</span>bar<span style="color:#3daee9;">}</span><span style="color:#ff5500;">y'</span>
<span style="color:#ff5500;">f'x</span><span style="color:#3daee9;">{</span>bar[<span style="color:#bf0303;">&quot;baz&quot;</span>]<span style="color:#3daee9;">}</span><span style="color:#ff5500;">y'</span>
<span style="color:#ff5500;">f'x</span><span style="color:#3daee9;">{</span>bar[<span style="color:#bf0303;">&quot;baz&quot;</span>]<span style="color:#3daee9;">}</span><span style="color:#ff5500;">y</span><span style="color:#924c9d;">\n</span><span style="color:#ff5500;">'</span>

<span style="color:#ff5500;">f'x</span><span style="color:#3daee9;">{</span>bar[<span style="color:#bf0303;">&quot;baz&quot;</span>]<span style="color:#3daee9;">!r}</span><span style="color:#ff5500;">y</span><span style="color:#924c9d;">\n</span><span style="color:#ff5500;">'</span>
<span style="color:#ff5500;">f'x</span><span style="color:#3daee9;">{</span>bar[<span style="color:#bf0303;">&quot;baz&quot;</span>]<span style="color:#3daee9;">:.2}</span><span style="color:#ff5500;">y</span><span style="color:#924c9d;">\n</span><span style="color:#ff5500;">'</span>
</pre></body></html>
3 changes: 3 additions & 0 deletions autotests/input/Makefile
@@ -1,6 +1,7 @@
# comment

include Makefile.in
-include Makefile.doesntexist

.PHONY: all

Expand All @@ -11,6 +12,8 @@ foo = bar $(var) \

ifeq ($(CC),gcc)
bla=$(call func,param1,param2)
else ifeq "x" "y"
$(error this seems wrong)
else
libs=$(normal_libs)
endif
Expand Down
10 changes: 10 additions & 0 deletions autotests/input/test.py
Expand Up @@ -26,3 +26,13 @@ def func(x):
continued line ")
print('single line')
return float(len(a2))


def test_f_literals():
f'xy'
f'x{bar}y'
f'x{bar["baz"]}y'
f'x{bar["baz"]}y\n'

f'x{bar["baz"]!r}y\n'
f'x{bar["baz"]:.2}y\n'
11 changes: 7 additions & 4 deletions autotests/reference/Makefile.ref
@@ -1,19 +1,22 @@
<Comment># comment</Comment><br/>
<dsNormal></dsNormal><br/>
<Keyword>include</Keyword><Normal> Makefile.in</Normal><br/>
<Keyword>-include</Keyword><Normal> Makefile.doesntexist</Normal><br/>
<dsNormal></dsNormal><br/>
<Section>.PHONY:</Section><Prereq> all</Prereq><br/>
<SpecialTarget>.PHONY:</SpecialTarget><Prereq> all</Prereq><br/>
<dsNormal></dsNormal><br/>
<Target>all:</Target><Prereq> target</Prereq><br/>
<dsNormal></dsNormal><br/>
<Variable>foo </Variable><Operator>=</Operator><String> bar </String><Operator>$(</Operator><Variable>var</Variable><Operator>)</Operator><String> </String><Operator>\</Operator><br/>
<String> </String><Operator>$(</Operator><Variable>baz</Variable><Operator>)</Operator><String> quux</String><br/>
<dsNormal></dsNormal><br/>
<Keyword>ifeq</Keyword><Normal> (</Normal><Operator>$(</Operator><Variable>CC</Variable><Operator>)</Operator><Normal>,gcc)</Normal><br/>
<ControlFlow>ifeq</ControlFlow><Normal> (</Normal><Operator>$(</Operator><Variable>CC</Variable><Operator>)</Operator><Normal>,gcc)</Normal><br/>
<Normal> </Normal><Variable>bla</Variable><Operator>=$(</Operator><Keyword>call</Keyword><FuncParam> func</FuncParam><Keyword>,</Keyword><FuncParam>param1</FuncParam><Keyword>,</Keyword><FuncParam>param2</FuncParam><Operator>)</Operator><br/>
<Keyword>else</Keyword><br/>
<ControlFlow>else</ControlFlow><Normal> </Normal><ControlFlow>ifeq</ControlFlow><Normal> </Normal><String>"x"</String><Normal> </Normal><String>"y"</String><br/>
<Normal> </Normal><Operator>$(</Operator><Keyword>error</Keyword><FuncParam> this seems wrong</FuncParam><Operator>)</Operator><br/>
<ControlFlow>else</ControlFlow><br/>
<Normal> </Normal><Variable>libs</Variable><Operator>=$(</Operator><Variable>normal_libs</Variable><Operator>)</Operator><br/>
<Keyword>endif</Keyword><br/>
<ControlFlow>endif</ControlFlow><br/>
<dsNormal></dsNormal><br/>
<Target>target1:</Target><br/>
<Error> </Error><Normal>error</Normal><br/>
Expand Down
10 changes: 10 additions & 0 deletions autotests/reference/test.py.ref
Expand Up @@ -26,3 +26,13 @@
<String> continued line "</String><Normal Text>)</Normal Text><br/>
<Normal Text> </Normal Text><Builtin Function>print</Builtin Function><Normal Text>(</Normal Text><String>'single line'</String><Normal Text>)</Normal Text><br/>
<Normal Text> </Normal Text><Flow Control Keyword>return</Flow Control Keyword><Normal Text> </Normal Text><Builtin Function>float</Builtin Function><Normal Text>(</Normal Text><Builtin Function>len</Builtin Function><Normal Text>(a2))</Normal Text><br/>
<dsNormal></dsNormal><br/>
<dsNormal></dsNormal><br/>
<Definition Keyword>def</Definition Keyword><Normal Text> test_f_literals():</Normal Text><br/>
<Normal Text> </Normal Text><F-String>f'xy'</F-String><br/>
<Normal Text> </Normal Text><F-String>f'x</F-String><String Substitution>{</String Substitution><Normal Text>bar</Normal Text><String Substitution>}</String Substitution><F-String>y'</F-String><br/>
<Normal Text> </Normal Text><F-String>f'x</F-String><String Substitution>{</String Substitution><Normal Text>bar[</Normal Text><String>"baz"</String><Normal Text>]</Normal Text><String Substitution>}</String Substitution><F-String>y'</F-String><br/>
<Normal Text> </Normal Text><F-String>f'x</F-String><String Substitution>{</String Substitution><Normal Text>bar[</Normal Text><String>"baz"</String><Normal Text>]</Normal Text><String Substitution>}</String Substitution><F-String>y</F-String><String Char>\n</String Char><F-String>'</F-String><br/>
<dsNormal></dsNormal><br/>
<Normal Text> </Normal Text><F-String>f'x</F-String><String Substitution>{</String Substitution><Normal Text>bar[</Normal Text><String>"baz"</String><Normal Text>]</Normal Text><String Substitution>!r}</String Substitution><F-String>y</F-String><String Char>\n</String Char><F-String>'</F-String><br/>
<Normal Text> </Normal Text><F-String>f'x</F-String><String Substitution>{</String Substitution><Normal Text>bar[</Normal Text><String>"baz"</String><Normal Text>]</Normal Text><String Substitution>:.2}</String Substitution><F-String>y</F-String><String Char>\n</String Char><F-String>'</F-String><br/>
2 changes: 1 addition & 1 deletion autotests/syntaxrepository_test.cpp
Expand Up @@ -113,7 +113,7 @@ private Q_SLOTS:
QVERIFY(def.version() >= 1.11f);
QVERIFY(def.isHidden());
QCOMPARE(def.section(), QLatin1String("Other"));
QCOMPARE(def.license(), QLatin1String("LGPL"));
QCOMPARE(def.license(), QLatin1String("LGPLv2+"));
QVERIFY(def.author().contains(QLatin1String("Dominik")));
QFileInfo fi(def.filePath());
QVERIFY(fi.isAbsolute());
Expand Down
57 changes: 57 additions & 0 deletions data/generators/qmake-gen.py
@@ -0,0 +1,57 @@
#!/usr/bin/env python

# Copyright (C) 2016 Kevin Funk <kfunk@kde.org>
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU Library General Public License as published by
# the Free Software Foundation; either version 2 of the License, or (at your
# option) any later version.
#
# This program 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 Library General Public
# License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.

# This script will print XML-like code you can put into the qmake.xml
# syntax definition file
#
# Prerequisite: You need to have a qtbase checkout somewhere
#
# Usage: qmake-gen.py /path/to/qtbase/

from __future__ import print_function

import subprocess
import os
import sys

qt5Source = sys.argv[1]

qmakeKeywords = subprocess.check_output("ag --nofilename 'QMAKE_[A-Z_0-9]+' {0}/mkspecs -o".format(qt5Source), shell=True).split(os.linesep)
extraKeywords = subprocess.check_output("sed -nr 's/\\\section1 ([A-Z_0-9]{{2,100}}).*/\\1/p' {0}/qmake/doc/src/qmake-manual.qdoc".format(qt5Source), shell=True).split(os.linesep)
keywords = []
keywords = [x.strip() for x in qmakeKeywords]
keywords += [x.strip() for x in extraKeywords]
keywords = list(set(keywords)) # remove duplicates
keywords.sort()

functions = subprocess.check_output("sed -nr 's/\{{ \\\"(.+)\\\", T_.+/\\1/p' {0}/qmake/library/qmakebuiltins.cpp".format(qt5Source), shell=True).split(os.linesep)
functions.sort()

def printItems(container):
for item in container:
trimmedText = item.strip()
if not trimmedText:
continue

print("<item> %s </item>" % trimmedText)
print()

print("KEYWORDS")
printItems(keywords)

print("FUNCTIONS")
printItems(functions)
2 changes: 1 addition & 1 deletion data/syntax/alert.xml
Expand Up @@ -30,7 +30,7 @@
Introduce 3 alert levels and sort keywords according importance.
Few more keywords has been added.
-->
<language version="2" kateversion="3.1" name="Alerts" section="Other" extensions="" mimetype="" author="Dominik Haumann (dhdev@gmx.de)" license="LGPL" hidden="true">
<language version="3" kateversion="3.1" name="Alerts" section="Other" extensions="" mimetype="" author="Dominik Haumann (dhdev@gmx.de)" license="LGPLv2+" hidden="true">
<highlighting>
<list name="alerts_hi">
<item> ALERT </item>
Expand Down
2 changes: 1 addition & 1 deletion data/syntax/alert_indent.xml
Expand Up @@ -26,7 +26,7 @@
This file is included in every file that highlights the "alerts" keywords.
That's why extensions and mimetype are empty.
-->
<language version="2" kateversion="2.4" name="Alerts_indent" section="Other" extensions="" mimetype="" author="Dominik Haumann (dhdev@gmx.de)" license="LGPL" hidden="true">
<language version="3" kateversion="2.4" name="Alerts_indent" section="Other" extensions="" mimetype="" author="Dominik Haumann (dhdev@gmx.de)" license="LGPLv2+" hidden="true">
<highlighting>
<contexts>
<context attribute="Normal Text" lineEndContext="#pop" name="Normal Text" >
Expand Down
2 changes: 1 addition & 1 deletion data/syntax/ansforth94.xml
Expand Up @@ -34,7 +34,7 @@
*************************************************************************
-->
<language name="ANS-Forth94" version="2" kateversion="3.4" section="Sources" extensions="*.4th;*.4TH;*.f;*.F;*.frt;*.FRT;*.fs;*.FS;*.fth;*.FTH;*.seq;*.SEQ" mimetype="" author="Mark Corbin (mark@dibsco.co.uk)" license="LGPL" priority="5">
<language name="ANS-Forth94" version="3" kateversion="3.4" section="Sources" extensions="*.4th;*.4TH;*.f;*.F;*.frt;*.FRT;*.fs;*.FS;*.fth;*.FTH;*.seq;*.SEQ" mimetype="" author="Mark Corbin (mark@dibsco.co.uk)" license="LGPLv2.1+" priority="5">
<highlighting>
<list name="core-keywords">
<item> ! </item>
Expand Down
4 changes: 2 additions & 2 deletions data/syntax/ansic89.xml
Expand Up @@ -25,12 +25,12 @@
-->
<language name="ANSI C89" section="Sources"
version="2" kateversion="5.0"
version="3" kateversion="5.0"
indenter="cstyle"
extensions="*.c;*.C;*.h"
mimetype="text/x-csrc;text/x-c++src;text/x-chdr"
priority="2"
author="Dominik Haumann (dhdev@gmx.de)" license="LGPL">
author="Dominik Haumann (dhdev@gmx.de)" license="LGPLv2+">
<highlighting>
<list name="keywords">
<item> break </item>
Expand Down
2 changes: 1 addition & 1 deletion data/syntax/asm-avr.xml
Expand Up @@ -33,7 +33,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
-->

<language name="AVR Assembler" version="2" kateversion="5.0" section="Assembler" extensions="*.asm;*.ASM;*.asm-avr" mimetype="text/x-asm;text/x-asm-avr" author="Roland Nagy" license="GPL">
<language name="AVR Assembler" version="3" kateversion="5.0" section="Assembler" extensions="*.asm;*.ASM;*.asm-avr" mimetype="text/x-asm;text/x-asm-avr" author="Roland Nagy" license="GPLv2+">
<highlighting>
<list name="keywords">
<item> adc</item>
Expand Down
6 changes: 3 additions & 3 deletions data/syntax/chicken.xml
Expand Up @@ -40,13 +40,13 @@
guile procedures (cause then almost everything would be highlighted) I
removed some to have a rather small but "senseful" list of highlighted words.
-->
<language version="2" kateversion="3.3"
<language version="3" kateversion="3.3"
name="Chicken" section="Scripts"
extensions="*.chicken;*.scm;*.ss;*.scheme;*.meta"
indenter="lisp"
mimetype="text/x-scheme"
author="Dominik Haumann (dhdev@gmx.de) [modified for Chicken by Nick Zarczynski (jacktradespublic@gmail.com)]"
license="LGPL">
license="LGPLv2+">
<highlighting>
<list name="operators">
<item> &lt;= </item>
Expand Down Expand Up @@ -434,4 +434,4 @@
<comment name="singleLine" start=";;" />
</comments>
</general>
</language>
</language>
2 changes: 1 addition & 1 deletion data/syntax/clojure.xml
Expand Up @@ -22,7 +22,7 @@
* Boston, MA 02110-1301, USA. *
**********************************************************************
-->
<language version="4" kateversion="5.0" name="Clojure" section="Sources" extensions="*.clj;*.cljs" mimetype="" author="Dominik Haumann [lisp] modified for clojure by Caspar Hasenclever" license="LGPL">
<language version="5" kateversion="5.0" name="Clojure" section="Sources" extensions="*.clj;*.cljs" mimetype="" author="Dominik Haumann [lisp] modified for clojure by Caspar Hasenclever" license="LGPLv2+">
<highlighting>
<list name="definitions">
<item> def </item>
Expand Down
4 changes: 2 additions & 2 deletions data/syntax/cmake.xml
Expand Up @@ -28,14 +28,14 @@
<!-- generated for "cmake version 2.8.12.1, 3.0.2, 3.1.2 and 3.3.0" -->
<language
name="CMake"
version="2"
version="3"
kateversion="5.0"
section="Other"
extensions="CMakeLists.txt;*.cmake;*.cmake.in"
style="CMake"
mimetype="text/x-cmake"
author="Alexander Neundorf (neundorf@kde.org)"
license="LGPL"
license="LGPLv2+"
>
<highlighting>

Expand Down
2 changes: 1 addition & 1 deletion data/syntax/commonlisp.xml
Expand Up @@ -23,7 +23,7 @@
* Boston, MA 02110-1301, USA. *
**********************************************************************
-->
<language version="2" kateversion="5.0" name="Common Lisp" section="Sources" extensions="*.lisp;*.cl;*.lsp" mimetype="" author="Dominik Haumann (dhdev@gmx.de)" license="LGPL">
<language version="3" kateversion="5.0" name="Common Lisp" section="Sources" extensions="*.lisp;*.cl;*.lsp" mimetype="" author="Dominik Haumann (dhdev@gmx.de)" license="LGPLv2+">
<highlighting>
<list name="symbols">
<item> &lt; </item>
Expand Down
4 changes: 2 additions & 2 deletions data/syntax/doxygen.xml
Expand Up @@ -29,13 +29,13 @@
-->

<language name="Doxygen"
version="2"
version="3"
kateversion="5.0"
section="Markup"
extensions="*.dox;*.doxygen"
mimetype="text/x-doxygen"
author="Dominik Haumann (dhdev@gmx.de)"
license="LGPL"
license="LGPLv2+"
priority="9">
<highlighting>
<!-- NOTE: all tags may begin with a \ or @ char
Expand Down
2 changes: 1 addition & 1 deletion data/syntax/doxygenlua.xml
Expand Up @@ -27,7 +27,7 @@
* Boston, MA 02110-1301, USA. *
**********************************************************************
-->
<language name="DoxygenLua" version="2" kateversion="5.0" section="Markup" extensions="*.dox;*.doxygen" mimetype="text/x-doxygen" author="Bruno Massa (brmassa@gmail.com)" license="LGPL">
<language name="DoxygenLua" version="3" kateversion="5.0" section="Markup" extensions="*.dox;*.doxygen" mimetype="text/x-doxygen" author="Bruno Massa (brmassa@gmail.com)" license="LGPLv2+">
<highlighting>
<!-- note: all tags may begin with a \ or @ char
so if you add/change tags you have to do it twice -->
Expand Down
4 changes: 2 additions & 2 deletions data/syntax/elixir.xml
Expand Up @@ -25,12 +25,12 @@
extensions="*.ex;*.exs;*.eex;*.xml.eex;*.js.eex"
indenter="elixir"
kateversion="5.0"
license="GPL"
license="LGPLv2+"
mimetype="text/x-elixir"
name="Elixir"
section="Sources"
style="elixir"
version="1">
version="2">
<highlighting>
<list name="control-flow">
<item>catch</item>
Expand Down
2 changes: 1 addition & 1 deletion data/syntax/erlang.xml
Expand Up @@ -36,7 +36,7 @@
- fixed highlighting problem when '@' at end of atom/variable
-->

<language name="Erlang" version="2" kateversion="5.0" section="Scripts" extensions="*.erl" mimetype="" author="Bill Ross (bill@emailme.net.au)" license="LGPL">
<language name="Erlang" version="3" kateversion="5.0" section="Scripts" extensions="*.erl" mimetype="" author="Bill Ross (bill@emailme.net.au)" license="LGPLv2">
<highlighting>
<list name="keywords">
<!-- ====== s3.8 p 24 of erlang spec ===== -->
Expand Down

0 comments on commit 1043147

Please sign in to comment.