From d79a721c345c9a2ced6c0640e88c10cc3378c1f0 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Wed, 1 Jul 2020 03:03:30 +0000 Subject: CTAN sync 202007010303 --- .../tex/context/third/vim/t-syntax-groups.mkii | 126 +++++++ .../tex/context/third/vim/t-syntax-groups.mkiv | 126 +++++++ .../tex/context/third/vim/t-syntax-groups.tex | 130 ------- .../tex/context/third/vim/t-syntax-highlight.mkiv | 63 ++-- .../context-vim/tex/context/third/vim/t-vim.tex | 78 +--- .../tex/context/third/vim/vimtyping-default.css | 415 +++++++++++++++++++++ 6 files changed, 722 insertions(+), 216 deletions(-) create mode 100644 macros/context/contrib/context-vim/tex/context/third/vim/t-syntax-groups.mkii create mode 100644 macros/context/contrib/context-vim/tex/context/third/vim/t-syntax-groups.mkiv delete mode 100644 macros/context/contrib/context-vim/tex/context/third/vim/t-syntax-groups.tex create mode 100644 macros/context/contrib/context-vim/tex/context/third/vim/vimtyping-default.css (limited to 'macros/context/contrib/context-vim/tex/context') diff --git a/macros/context/contrib/context-vim/tex/context/third/vim/t-syntax-groups.mkii b/macros/context/contrib/context-vim/tex/context/third/vim/t-syntax-groups.mkii new file mode 100644 index 0000000000..b13a902af1 --- /dev/null +++ b/macros/context/contrib/context-vim/tex/context/third/vim/t-syntax-groups.mkii @@ -0,0 +1,126 @@ +%D \module +%D [ file=t-syntax-groups, +%D version=2020.06.25, +%D title=\CONTEXT\ User Module, +%D subtitle=Syntax highlighting support, +%D author=Aditya Mahajan, +%D date=\currentdate, +%D copyright=Aditya Mahajan, +%D email=adityam ieee org, +%D license=Simplified BSD License] + +\writestatus{loading}{Syntax highlighting groups (ver: 2020.06.25)} + +\startmodule [syntax-group] +\usemodule [module-catcodes] + +\unprotectmodulecatcodes + +% Colors are specified in hex; in MkII the hex mode needs to be activated. +\doifmode\s!mkii + {\setupcolor[hex]} + + +\def\colorscheme@name {} + +\def\syntaxgroup@id {syntaxgroup} +\def\syntaxgroup@namespace {@@@@\syntaxgroup@id} +\def\syntaxgroup@name {} + +\edef\t!syntaxgroup {\syntaxgroup@id} + + +\installparameterhandler \syntaxgroup@namespace \syntaxgroup@id +\installsetuphandler \syntaxgroup@namespace \syntaxgroup@id + +\def\m!syntaxgroup{t-syntax-group} + +\def\definesyntaxgroup + {\dodoubleargument\syntaxgroup@define} + +\starttexdefinition syntaxgroup@define [#1][#2] + % #1 list name + % #2 options + \doifassignmentelse{#2} + { + \def\syntaxgroup@get_parameters##1% + { + \edef\syntaxgroup@name {\colorscheme@name##1} + \setupsyntaxgroup[\syntaxgroup@name] + [\s!parent=\syntaxgroup@namespace,\c!color=,\c!style=,\c!command=,#2] + \doifsomething{\syntaxgroupparameter\c!color} + { + \expanded{\definecolor[\syntaxgroup@namespace-\syntaxgroup@name-color] + [\syntaxgroupparameter\c!color]} + \expanded{\setupsyntaxgroup[\syntaxgroup@name][\s!parent=\syntaxgroup@namespace,\c!color=\syntaxgroup@namespace-\syntaxgroup@name-color]} + } + } + }{ + \def\syntaxgroup@get_parameters##1% + { + \edef\syntaxgroup@name {\colorscheme@name##1} + \expanded{\setupsyntaxgroup[\syntaxgroup@name] + [\c!color=\namedsyntaxgroupparameter{\colorscheme@name#2}\c!color, + \c!style=\namedsyntaxgroupparameter{\colorscheme@name#2}\c!style, + \c!command=\namedsyntaxgroupparameter{\colorscheme@name#2}\c!command, + ]} + + % In MkII, \expanded messes up the definition of \currentsyntaxgroup + \def\currentsyntaxgroup {\syntaxgroup@name} + } + } + + \processcommalist[#1]\syntaxgroup@get_parameters +\stoptexdefinition + +\def\startcolorscheme% + {\dosingleargument\colorscheme@start} + +\starttexdefinition colorscheme@start [#1] + \pushmacro\colorscheme@name + \setcolorscheme{#1} + %\setupsyntaxgroup[\c!color=,\c!style=,\c!command=] +\stoptexdefinition + +\def\stopcolorscheme + {\popmacro\colorscheme@name} + +\def\setcolorscheme#1% + {\edef\colorscheme@name{#1}} + +\starttexdefinition syntaxgroup [#1]#2 + % #1 = style + % #2 = content + \begingroup + \edef\syntaxgroup@name{\colorscheme@name#1}% + \syntaxgroupparameter\c!before + \iftracesyntaxgroups + \syntaxgroup@show_values + \fi + \syntaxgroupparameter\c!command + { + \externalfilter@attributes_start\syntaxgroup@id\c!style\c!color + #2 + \externalfilter@attributes_stop + } + \syntaxgroupparameter\c!after + \endgroup +\stoptexdefinition + +%D Tracing macros + +\newif\iftracesyntaxgroups +\let\tracesyntaxgroups\tracesyntaxgroupstrue + +\def\currentsyntaxgroup {\syntaxgroup@name} + +\starttexdefinition syntaxgroup@show_values + \writestatus\m!syntaxgroup{color scheme : \colorscheme@name} + \writestatus\m!syntaxgroup{current group: \syntaxgroup@name} + \writestatus\m!syntaxgroup{command : \syntaxgroupparameter\c!command} + \writestatus\m!syntaxgroup{style : \syntaxgroupparameter\c!style} + \writestatus\m!syntaxgroup{color : \syntaxgroupparameter\c!color} +\stoptexdefinition + +\protectmodulecatcodes +\stopmodule diff --git a/macros/context/contrib/context-vim/tex/context/third/vim/t-syntax-groups.mkiv b/macros/context/contrib/context-vim/tex/context/third/vim/t-syntax-groups.mkiv new file mode 100644 index 0000000000..564490ee26 --- /dev/null +++ b/macros/context/contrib/context-vim/tex/context/third/vim/t-syntax-groups.mkiv @@ -0,0 +1,126 @@ +%D \module +%D [ file=t-syntax-groups, +%D version=2020.06.29, +%D title=\CONTEXT\ User Module, +%D subtitle=Syntax highlighting support, +%D author=Aditya Mahajan, +%D date=\currentdate, +%D copyright=Aditya Mahajan, +%D email=adityam ieee org, +%D license=Simplified BSD License] + +\writestatus{loading}{Syntax highlighting groups (ver: 2020.06.29)} + +\startmodule [syntax-group] +\usemodule [module-catcodes] + +\unprotectmodulecatcodes + +\def\colorscheme@name {} + +\def\syntaxgroup@id {syntaxgroup} +\def\syntaxgroup@namespace {@@@@\syntaxgroup@id} +\def\syntaxgroup@name {} + +\edef\t!vimsyntaxgroup {\syntaxgroup@id} +\setelementbackendtag[\t!vimsyntaxgroup] +\setelementnature [\t!vimsyntaxgroup][inline] + + +\installparameterhandler \syntaxgroup@namespace \syntaxgroup@id +\installsetuphandler \syntaxgroup@namespace \syntaxgroup@id +\installstyleandcolorhandler \syntaxgroup@namespace \syntaxgroup@id + +\def\m!syntaxgroup{t-syntax-group} + +\def\definesyntaxgroup + {\dodoubleargument\syntaxgroup@define} + +\starttexdefinition syntaxgroup@define [#1][#2] + % #1 list name + % #2 options + \doifassignmentelse{#2} + { + \def\syntaxgroup@get_parameters##1% + { + \edef\syntaxgroup@name {\colorscheme@name##1} + \setupsyntaxgroup[\syntaxgroup@name] + [\s!parent=\syntaxgroup@namespace,\c!color=,\c!style=,\c!command=,#2] + \doifsomething{\syntaxgroupparameter\c!color} + { + \expanded{\definecolor[\syntaxgroup@namespace-##1-color] + [\syntaxgroupparameter\c!color]} + \setupsyntaxgroup[\syntaxgroup@name][\s!parent=\syntaxgroup@namespace,\c!color=\syntaxgroup@namespace-##1-color] + } + } + }{ + \def\syntaxgroup@get_parameters##1% + { + \edef\syntaxgroup@name {\colorscheme@name##1} + \expanded{\setupsyntaxgroup[\syntaxgroup@name] + [\c!color=\namedsyntaxgroupparameter{\colorscheme@name#2}\c!color, + \c!style=\namedsyntaxgroupparameter{\colorscheme@name#2}\c!style, + \c!command=\namedsyntaxgroupparameter{\colorscheme@name#2}\c!command, + ]} + + % In MkII, \expanded messes up the definition of \currentsyntaxgroup + \def\currentsyntaxgroup {\syntaxgroup@name} + } + } + + \processcommalist[#1]\syntaxgroup@get_parameters +\stoptexdefinition + +\def\startcolorscheme% + {\dosingleargument\colorscheme@start} + +\starttexdefinition colorscheme@start [#1] + \pushmacro\colorscheme@name + \setcolorscheme{#1} + %\setupsyntaxgroup[\c!color=,\c!style=,\c!command=] +\stoptexdefinition + +\def\stopcolorscheme + {\popmacro\colorscheme@name} + +\def\setcolorscheme#1% + {\edef\colorscheme@name{#1}} + +\starttexdefinition syntaxgroup [#1]#2 + % #1 = style + % #2 = content + \begingroup + \edef\syntaxgroup@name{\colorscheme@name#1}% + \syntaxgroupparameter\c!before + \iftracesyntaxgroups + \syntaxgroup@show_values + \fi + \dostarttagged\t!vimsyntaxgroup{vim#1} + \syntaxgroupparameter\c!command + { + \externalfilter@attributes_start\syntaxgroup@id\c!style\c!color + #2 + \externalfilter@attributes_stop + } + \dostoptagged + \syntaxgroupparameter\c!after + \endgroup +\stoptexdefinition + +%D Tracing macros + +\newif\iftracesyntaxgroups +\let\tracesyntaxgroups\tracesyntaxgroupstrue + +\def\currentsyntaxgroup {\syntaxgroup@name} + +\starttexdefinition syntaxgroup@show_values + \writestatus\m!syntaxgroup{color scheme : \colorscheme@name} + \writestatus\m!syntaxgroup{current group: \syntaxgroup@name} + \writestatus\m!syntaxgroup{command : \syntaxgroupparameter\c!command} + \writestatus\m!syntaxgroup{style : \syntaxgroupparameter\c!style} + \writestatus\m!syntaxgroup{color : \syntaxgroupparameter\c!color} +\stoptexdefinition + +\protectmodulecatcodes +\stopmodule diff --git a/macros/context/contrib/context-vim/tex/context/third/vim/t-syntax-groups.tex b/macros/context/contrib/context-vim/tex/context/third/vim/t-syntax-groups.tex deleted file mode 100644 index 23fb1b7593..0000000000 --- a/macros/context/contrib/context-vim/tex/context/third/vim/t-syntax-groups.tex +++ /dev/null @@ -1,130 +0,0 @@ -%D \module -%D [ file=t-syntax-groups, -%D version=2020.06.25, -%D title=\CONTEXT\ User Module, -%D subtitle=Syntax highlighting support, -%D author=Aditya Mahajan, -%D date=\currentdate, -%D copyright=Aditya Mahajan, -%D email=adityam ieee org, -%D license=Simplified BSD License] - -\writestatus{loading}{Syntax highlighting groups (ver: 2020.06.25)} - -\startmodule [syntax-group] -\usemodule [module-catcodes] - -\unprotectmodulecatcodes - -% Colors are specified in hex; in MkII the hex mode needs to be activated. -\doifmode\s!mkii - {\setupcolor[hex]} - - -\def\colorscheme@name {} - -\def\syntaxgroup@id {syntaxgroup} -\def\syntaxgroup@namespace {@@@@\syntaxgroup@id} -\def\syntaxgroup@name {} - -\edef\t!syntaxgroup {\syntaxgroup@id} - - -\installparameterhandler \syntaxgroup@namespace \syntaxgroup@id -\installsetuphandler \syntaxgroup@namespace \syntaxgroup@id -\doifmode{\s!mkiv} - {\installstyleandcolorhandler \syntaxgroup@namespace \syntaxgroup@id} - -\def\m!syntaxgroup{t-syntax-group} - -\def\definesyntaxgroup - {\dodoubleargument\syntaxgroup@define} - -\starttexdefinition syntaxgroup@define [#1][#2] - % #1 list name - % #2 options - \doifassignmentelse{#2} - { - \def\syntaxgroup@get_parameters##1% - { - \edef\syntaxgroup@name {\colorscheme@name##1} - \setupsyntaxgroup[\syntaxgroup@name] - [\s!parent=\syntaxgroup@namespace,\c!color=,\c!style=,\c!command=,#2] - \doifsomething{\syntaxgroupparameter\c!color} - { - \expanded{\definecolor[\syntaxgroup@namespace-\syntaxgroup@name-color] - [\syntaxgroupparameter\c!color]} - \expanded{\setupsyntaxgroup[\syntaxgroup@name][\s!parent=\syntaxgroup@namespace,\c!color=\syntaxgroup@namespace-\syntaxgroup@name-color]} - } - } - }{ - \def\syntaxgroup@get_parameters##1% - { - \edef\syntaxgroup@name {\colorscheme@name##1} - \expanded{\setupsyntaxgroup[\syntaxgroup@name] - [\c!color=\namedsyntaxgroupparameter{\colorscheme@name#2}\c!color, - \c!style=\namedsyntaxgroupparameter{\colorscheme@name#2}\c!style, - \c!command=\namedsyntaxgroupparameter{\colorscheme@name#2}\c!command, - ]} - - % In MkII, \expanded messes up the definition of \currentsyntaxgroup - \def\currentsyntaxgroup {\syntaxgroup@name} - } - } - - \processcommalist[#1]\syntaxgroup@get_parameters -\stoptexdefinition - -\def\startcolorscheme% - {\dosingleargument\colorscheme@start} - -\starttexdefinition colorscheme@start [#1] - \pushmacro\colorscheme@name - \setcolorscheme{#1} - %\setupsyntaxgroup[\c!color=,\c!style=,\c!command=] -\stoptexdefinition - -\def\stopcolorscheme - {\popmacro\colorscheme@name} - -\def\setcolorscheme#1% - {\edef\colorscheme@name{#1}} - -\starttexdefinition syntaxgroup [#1]#2 - % #1 = style - % #2 = content - \begingroup - \edef\syntaxgroup@name{\colorscheme@name#1}% - \syntaxgroupparameter\c!before - \iftracesyntaxgroups - \syntaxgroup@show_values - \fi - \doifmode{\s!mkiv}{\dostarttagged\t!syntaxgroup{#1}} - \syntaxgroupparameter\c!command - { - \externalfilter@attributes_start\syntaxgroup@id\c!style\c!color - #2 - \externalfilter@attributes_stop - } - \doifmode{\s!mkiv}{\dostoptagged} - \syntaxgroupparameter\c!after - \endgroup -\stoptexdefinition - -%D Tracing macros - -\newif\iftracesyntaxgroups -\let\tracesyntaxgroups\tracesyntaxgroupstrue - -\def\currentsyntaxgroup {\syntaxgroup@name} - -\starttexdefinition syntaxgroup@show_values - \writestatus\m!syntaxgroup{color scheme : \colorscheme@name} - \writestatus\m!syntaxgroup{current group: \syntaxgroup@name} - \writestatus\m!syntaxgroup{command : \syntaxgroupparameter\c!command} - \writestatus\m!syntaxgroup{style : \syntaxgroupparameter\c!style} - \writestatus\m!syntaxgroup{color : \syntaxgroupparameter\c!color} -\stoptexdefinition - -\protectmodulecatcodes -\stopmodule diff --git a/macros/context/contrib/context-vim/tex/context/third/vim/t-syntax-highlight.mkiv b/macros/context/contrib/context-vim/tex/context/third/vim/t-syntax-highlight.mkiv index a056730174..13786bba29 100644 --- a/macros/context/contrib/context-vim/tex/context/third/vim/t-syntax-highlight.mkiv +++ b/macros/context/contrib/context-vim/tex/context/third/vim/t-syntax-highlight.mkiv @@ -1,6 +1,6 @@ %D \module %D [ file=t-syntax-highlight, -%D version=2018.08.10, +%D version=2020.06.29, %D title=\CONTEXT\ User Module, %D subtitle=Code syntax highlighting, %D author=Aditya Mahajan, @@ -9,7 +9,7 @@ %D email=adityam ieee org, %D license=Simplified BSD License] -\writestatus{loading}{Code syntax highlighting (ver: 2018.08.10)} +\writestatus{loading}{Code syntax highlighting (ver: 2020.06.29)} \startmodule [syntax-highlight] \usemodule [syntax-groups] @@ -36,32 +36,37 @@ \appendtoks \defineexternalfilter[\currentsyntaxhighlighting] - [\s!parent=\????syntaxhighlighting\currentexternalfilter,\c!taglabel=\vimtyping@id]% + [\s!parent=\????syntaxhighlighting\currentexternalfilter, + \c!taglabel=\vimtyping@id, + \c!tagdetail={\externalfilterparameter\c!alternative}, + ]% \normalexpanded{\definelinenumbering [\currentsyntaxhighlighting]}% \setevalue{type\currentsyntaxhighlighting file}{\getvalue{process\currentsyntaxhighlighting file}}% \to\everydefinesyntaxhighlighting +\define[1]\syntaxhighlighting@set_linenumbers + {\def\syntaxhighlighting@linenumbering{\getvalue{current#1}}% + \def\syntaxhighlighting@parameter{\getvalue{#1parameter}}% + \normalexpanded{\setuplinenumbering[\syntaxhighlighting@linenumbering] + [ + \c!method=\syntaxhighlighting@parameter{\c!number\c!method}, + \c!conversion=\syntaxhighlighting@parameter\c!numberconversion, + \c!location=\syntaxhighlighting@parameter{\c!number\c!location}, + \c!style=\syntaxhighlighting@parameter\c!numberstyle, + \c!color=\syntaxhighlighting@parameter\c!numbercolor, + \c!width=\syntaxhighlighting@parameter{\c!number\c!width}, + \c!left=\syntaxhighlighting@parameter{\c!number\c!left}, + \c!right=\syntaxhighlighting@parameter{\c!number\c!right}, + \c!command=\syntaxhighlighting@parameter\c!numbercommand, + \c!distance=\syntaxhighlighting@parameter{\c!number\c!distance}, + \c!align=\syntaxhighlighting@parameter{\c!number\c!align}, + ]}} + \appendtoks - % \externalfitlterparameter does not work, so it is better to use - % \syntaxhighlighting parameter. - \normalexpanded{\setuplinenumbering[\currentsyntaxhighlighting] - [ - \c!method=\syntaxhighlightingparameter{\c!number\c!method}, - \c!conversion=\syntaxhighlightingparameter\c!numberconversion, - \c!location=\syntaxhighlightingparameter{\c!number\c!location}, - \c!style=\syntaxhighlightingparameter\c!numberstyle, - \c!color=\syntaxhighlightingparameter\c!numbercolor, - \c!width=\syntaxhighlightingparameter{\c!number\c!width}, - \c!left=\syntaxhighlightingparameter{\c!number\c!left}, - \c!right=\syntaxhighlightingparameter{\c!number\c!right}, - \c!command=\syntaxhighlightingparameter\c!numbercommand, - \c!distance=\syntaxhighlightingparameter{\c!number\c!distance}, - \c!align=\syntaxhighlightingparameter{\c!number\c!align}, - ]}% + \syntaxhighlighting@set_linenumbers\syntaxhighlighting@id \to\everysetupsyntaxhighlighting \def\syntaxhighlighting@id {syntaxhighlighting} -\edef\t!syntaxhighlighting {\syntaxhighlighting@id} %D Helper macro @@ -111,7 +116,7 @@ \stoptexdefinition \starttexdefinition syntaxhighlighting@linenumbering_start - \doifinset{\externalfilterparameter\c!numbering}\syntaxhighlighting@yes + \doifinsetelse{\externalfilterparameter\c!numbering}\syntaxhighlighting@yes {\let\SYNBOL=\syntaxhighlighting_begin_number_lines \let\SYNEOL=\syntaxhighlighting_end_number_lines \startlinenumbering @@ -122,24 +127,34 @@ \c!step=\externalfilterparameter{\c!number\c!step}, \c!continue=\externalfilterparameter{\c!number\c!continue}, ]} - \dostarttagged\t!syntaxhighlighting\colorscheme@name + {\let\SYNBOL=\syntaxhighlighting_begin_lines + \let\SYNEOL=\syntaxhighlighting_end_lines} \stoptexdefinition \starttexdefinition syntaxhighlighting@linenumbering_stop - \dostoptagged \doifinset{\externalfilterparameter\c!numbering}\syntaxhighlighting@yes {\stoplinenumbering} \stoptexdefinition \newcount\nofsyntaxhighlightinglines +\starttexdefinition syntaxhighlighting_begin_lines + \dostarttaggednodetail\t!verbatimline +\stoptexdefinition + +\starttexdefinition syntaxhighlighting_end_lines + \dostoptagged +\stoptexdefinition + \starttexdefinition syntaxhighlighting_begin_number_lines \global\advance\nofsyntaxhighlightinglines\plusone + \dostarttaggednodetail\t!verbatimline \attribute\verbatimlineattribute\nofsyntaxhighlightinglines \stoptexdefinition \starttexdefinition syntaxhighlighting_end_number_lines - \attribute\verbatimlineattribute\attributeunsetvalue + \attribute\verbatimlineattribute\attributeunsetvalue + \dostoptagged \stoptexdefinition diff --git a/macros/context/contrib/context-vim/tex/context/third/vim/t-vim.tex b/macros/context/contrib/context-vim/tex/context/third/vim/t-vim.tex index 2ea93198c4..3cb8e31089 100644 --- a/macros/context/contrib/context-vim/tex/context/third/vim/t-vim.tex +++ b/macros/context/contrib/context-vim/tex/context/third/vim/t-vim.tex @@ -1,6 +1,6 @@ %D \module %D [ file=t-vim, -%D version=2020.05.17, +%D version=2020.06.29, %D title=\CONTEXT\ User Module, %D subtitle=Vim syntax highlighting, %D author=Aditya Mahajan, @@ -9,7 +9,7 @@ %D email=adityam ieee org, %D license=Simplified BSD License] -\writestatus{loading}{Vim syntax highlighting (ver: 2020.05.17)} +\writestatus{loading}{Vim syntax highlighting (ver: 2020.06.29)} \startmodule [vim] \usemodule [filter] % loads module catcodes @@ -31,6 +31,13 @@ \installparameterhandler \vimtyping@namespace \vimtyping@id \installsetuphandler \vimtyping@namespace \vimtyping@id +\appendtoks + % \setupvimtyping[...][...] does not call + % \setupsyntaxhighlighting[...][...], + % So, the line numbering options are not reset. Reset them explicitly here + \syntaxhighlighting@set_linenumbers\vimtyping@id +\to\everysetupvimtyping + \def\definevimtyping {\dodoubleargument\vimtyping@define} @@ -43,11 +50,16 @@ % Mode to testing the dev version of 2context script. \doifmodeelse{vim-dev,dev-vim} - {\def\vimtyping@script_name{2context.vim}} + {\def\vimtyping@script_name{2context.vim}% + \doifmode\s!mkiv{\def\vimtyping@css_name{vimtyping-default.css}}} {\doifmodeelse\s!mkiv - {\ctxlua{context.setvalue("vimtyping@script_name",resolvers.resolve("full:2context.vim"))}} + {\ctxlua{context.setvalue("vimtyping@script_name",resolvers.resolve("full:2context.vim"))}% + \ctxlua{context.setvalue("vimtyping@css_name", + resolvers.resolve("full:vimtyping-default.css"))}} {\def\vimtyping@script_name{kpse:2context.vim}}} +\def\vimtypingcssfile{\vimtyping@css_name} + \def\vimtyping@filter_command {\externalfilterparameter\c!vimcommand\space -u \vimrc_filename\space % read global config file @@ -258,7 +270,6 @@ [\c!color={h=800000}, \c!command=\vimtodoframed] - \definesyntaxgroup [Error] [\c!color={h=c03000}] @@ -268,11 +279,6 @@ [\c!color={h=6a5acd}, \c!command=\underbar] - \definesyntaxgroup - [Todo] - [\c!color={h=800000}, - \c!command=\vimtodoframed] - \setups{vim-minor-groups} \definesyntaxgroup @@ -323,58 +329,6 @@ \setups{vim-minor-groups} -\stopcolorscheme - -\startcolorscheme[kate] - % Temporary definition... will change - % . kw dsKeyword - % . dt dsDataType - % . dv dsDecVal - % . bn dsBaseN - % . fl dsFloat - % . ch dsChar - % . st dsString - % . co dsComment - % . ot dsOthers - % . al dsAlert - % . fu dsFunction - % . re dsRegionMarker - % . er dsError - \definesyntaxgroup - [kw] - [\c!color={h=007020}, \c!style=bold] - - \definesyntaxgroup - [dt] - [\c!color={h=902000}] - - \definesyntaxgroup - [dv, bn, fl] - [\c!color={h=40a070}] - - \definesyntaxgroup - [ch, st] - [\c!color={h=4070a0}] - - \definesyntaxgroup - [co] - [\c!color={h=60a0b0}, \c!style=italic] - - \definesyntaxgroup - [ot] - [\c!color={h=007020}] - - \definesyntaxgroup - [al, er] - [\c!color=red, \c!style=bold] - - \definesyntaxgroup - [fu] - [\c!color={h=06287e}] - - \definesyntaxgroup - [re] - \stopcolorscheme \protectmodulecatcodes diff --git a/macros/context/contrib/context-vim/tex/context/third/vim/vimtyping-default.css b/macros/context/contrib/context-vim/tex/context/third/vim/vimtyping-default.css new file mode 100644 index 0000000000..e1eeb7d89d --- /dev/null +++ b/macros/context/contrib/context-vim/tex/context/third/vim/vimtyping-default.css @@ -0,0 +1,415 @@ +/* + author : Aditya Mahajan and Christoph Hintermüller, + license : Simplfied BSD License, + version : 2020.06.29 +*/ + +/* TODO: + * Inline environments + * Export of TODO has an extra space + * Line numbering in the margin + */ + +vimtyping, +.vimtyping +{ + font-family:monospace; + display:block; + white-space:pre-wrap; +} + +inlinevimtyping, +.inlinevimtyping +{ + font-family:monospace; + display:inline; + white-space:pre-wrap; +} + + +vimtyping verbatimline, +inlinevimtyping verbatimline, +.vimtyping .verbatimline, +.inlinevimtyping .verbatimline +{ + display:inline; + white-space:pre-wrap; +} + +vimtyping syntaxgroup, +inlinevimtyping syntaxgroup, +.vimtyping .syntaxgroup, +.inlinevimtyping .syntaxgroup +{ + display:inline; +} + +/* `pscolor` color scheme */ +vimtyping[detail=pscolor] syntaxgroup[defail=vimConstant], +inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimConstant], +.vimtyping.pscolor .syntaxgroup.vimConstant, +.inlinevimtyping.pscolor .syntaxgroup.vimConstant, +vimtyping[detail=pscolor] syntaxgroup[defail=vimString], +inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimString], +.vimtyping.pscolor .syntaxgroup.vimString, +.inlinevimtyping.pscolor .syntaxgroup.vimString, +vimtyping[detail=pscolor] syntaxgroup[defail=vimCharacter], +inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimCharacter], +.vimtyping.pscolor .syntaxgroup.vimCharacter, +.inlinevimtyping.pscolor .syntaxgroup.vimCharacter, +vimtyping[detail=pscolor] syntaxgroup[defail=vimBoolean], +inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimBoolean], +.vimtyping.pscolor .syntaxgroup.vimBoolean, +.inlinevimtyping.pscolor .syntaxgroup.vimBoolean, +vimtyping[detail=pscolor] syntaxgroup[defail=vimFloat], +inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimFloat], +.vimtyping.pscolor .syntaxgroup.vimFloat, +.inlinevimtyping.pscolor .syntaxgroup.vimFloat +{ + color:#007068; +} + +vimtyping[detail=pscolor] syntaxgroup[defail=vimNumber], +inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimNumber], +.vimtyping.pscolor .syntaxgroup.vimNumber, +.inlinevimtyping.pscolor .syntaxgroup.vimNumber +{ + color:#907000; +} + +vimtyping[detail=pscolor] syntaxgroup[defail=vimIdentifier], +inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimIdentifier], +.vimtyping.pscolor .syntaxgroup.vimIdentifier, +.inlinevimtyping.pscolor .syntaxgroup.vimIdentifier, +vimtyping[detail=pscolor] syntaxgroup[defail=vimFunction], +inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimFunction], +.vimtyping.pscolor .syntaxgroup.vimFunction, +.inlinevimtyping.pscolor .syntaxgroup.vimFunction +{ + color:#a030a0; +} + +vimtyping[detail=pscolor] syntaxgroup[defail=vimStatement], +inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimStatement], +.vimtyping.pscolor .syntaxgroup.vimStatement, +.inlinevimtyping.pscolor .syntaxgroup.vimStatement, +vimtyping[detail=pscolor] syntaxgroup[defail=vimCondition], +inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimCondition], +.vimtyping.pscolor .syntaxgroup.vimCondition, +.inlinevimtyping.pscolor .syntaxgroup.vimCondition, +vimtyping[detail=pscolor] syntaxgroup[defail=vimRepeat], +inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimRepeat], +.vimtyping.pscolor .syntaxgroup.vimRepeat, +.inlinevimtyping.pscolor .syntaxgroup.vimRepeat, +vimtyping[detail=pscolor] syntaxgroup[defail=vimLabel], +inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimLabel], +.vimtyping.pscolor .syntaxgroup.vimLabel, +.inlinevimtyping.pscolor .syntaxgroup.vimLabel, +vimtyping[detail=pscolor] syntaxgroup[defail=vimOperator], +inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimOperator], +.vimtyping.pscolor .syntaxgroup.vimOperator, +.inlinevimtyping.pscolor .syntaxgroup.vimOperator, +vimtyping[detail=pscolor] syntaxgroup[defail=vimKeyword], +inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimKeyword], +.vimtyping.pscolor .syntaxgroup.vimKeyword, +.inlinevimtyping.pscolor .syntaxgroup.vimKeyword, +vimtyping[detail=pscolor] syntaxgroup[defail=vimException], +inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimException], +.vimtyping.pscolor .syntaxgroup.vimException, +.inlinevimtyping.pscolor .syntaxgroup.vimException +{ + color:#2060a8; +} + +vimtyping[detail=pscolor] syntaxgroup[defail=vimPreProc], +inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimPreProc], +.vimtyping.pscolor .syntaxgroup.vimPreProc, +.inlinevimtyping.pscolor .syntaxgroup.vimPreProc, +vimtyping[detail=pscolor] syntaxgroup[defail=vimInclude], +inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimInclude], +.vimtyping.pscolor .syntaxgroup.vimInclude, +.inlinevimtyping.pscolor .syntaxgroup.vimInclude, +vimtyping[detail=pscolor] syntaxgroup[defail=vimDefine], +inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimDefine], +.vimtyping.pscolor .syntaxgroup.vimDefine, +.inlinevimtyping.pscolor .syntaxgroup.vimDefine, +vimtyping[detail=pscolor] syntaxgroup[defail=vimMacro], +inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimMacro], +.vimtyping.pscolor .syntaxgroup.vimMacro, +.inlinevimtyping.pscolor .syntaxgroup.vimMacro, +vimtyping[detail=pscolor] syntaxgroup[defail=vimPreCondit], +inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimPreCondit], +.vimtyping.pscolor .syntaxgroup.vimPreCondit, +.inlinevimtyping.pscolor .syntaxgroup.vimPreCondit +{ + color:#009030; +} + +vimtyping[detail=pscolor] syntaxgroup[defail=vimType], +inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimType], +.vimtyping.pscolor .syntaxgroup.vimType, +.inlinevimtyping.pscolor .syntaxgroup.vimType, +vimtyping[detail=pscolor] syntaxgroup[defail=vimStorageClass], +inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimStorageClass], +.vimtyping.pscolor .syntaxgroup.vimStorageClass, +.inlinevimtyping.pscolor .syntaxgroup.vimStorageClass, +vimtyping[detail=pscolor] syntaxgroup[defail=vimStructure], +inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimStructure], +.vimtyping.pscolor .syntaxgroup.vimStructure, +.inlinevimtyping.pscolor .syntaxgroup.vimStructure, +vimtyping[detail=pscolor] syntaxgroup[defail=vimTypedef], +inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimTypedef], +.vimtyping.pscolor .syntaxgroup.vimTypedef, +.inlinevimtyping.pscolor .syntaxgroup.vimTypedef +{ + color:#0850a0; +} + +vimtyping[detail=pscolor] syntaxgroup[defail=vimSpecial], +inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimSpecial], +.vimtyping.pscolor .syntaxgroup.vimSpecial, +.inlinevimtyping.pscolor .syntaxgroup.vimSpecial, +vimtyping[detail=pscolor] syntaxgroup[defail=vimSpecialChar], +inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimSpecialChar], +.vimtyping.pscolor .syntaxgroup.vimSpecialChar, +.inlinevimtyping.pscolor .syntaxgroup.vimSpecialChar, +vimtyping[detail=pscolor] syntaxgroup[defail=vimDelimiter], +inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimDelimiter], +.vimtyping.pscolor .syntaxgroup.vimDelimiter, +.inlinevimtyping.pscolor .syntaxgroup.vimDelimiter, +vimtyping[detail=pscolor] syntaxgroup[defail=vimDebug], +inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimDebug], +.vimtyping.pscolor .syntaxgroup.vimDebug, +.inlinevimtyping.pscolor .syntaxgroup.vimDebug +{ + color:#907000; +} + +vimtyping[detail=pscolor] syntaxgroup[defail=vimComment], +inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimComment], +.vimtyping.pscolor .syntaxgroup.vimComment, +.inlinevimtyping.pscolor .syntaxgroup.vimComment, +vimtyping[detail=pscolor] syntaxgroup[defail=vimSpecialComment], +inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimSpecialComment], +.vimtyping.pscolor .syntaxgroup.vimSpecialComment, +.inlinevimtyping.pscolor .syntaxgroup.vimSpecialComment +{ + color:#606000; +} + +vimtyping[detail=pscolor] syntaxgroup[defail=vimIgnore], +inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimIgnore], +.vimtyping.pscolor .syntaxgroup.vimIgnore, +.inlinevimtyping.pscolor .syntaxgroup.vimIgnore +{ + color:unset; +} + +vimtyping[detail=pscolor] syntaxgroup[defail=vimTodo], +inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimTodo], +.vimtyping.pscolor .syntaxgroup.vimTodo, +.inlinevimtyping.pscolor .syntaxgroup.vimTodo +{ + color:#800000; + background-color:#e0e090; +} + +vimtyping[detail=pscolor] syntaxgroup[defail=vimError], +inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimError], +.vimtyping.pscolor .syntaxgroup.vimError, +.inlinevimtyping.pscolor .syntaxgroup.vimError +{ + color:#c03000; +} + +vimtyping[detail=pscolor] syntaxgroup[defail=vimUnderlined], +inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimUnderlined], +.vimtyping.pscolor .syntaxgroup.vimUnderlined, +.inlinevimtyping.pscolor .syntaxgroup.vimUnderlined +{ + color:#6a5acd; + text-decoration:underline; +} + +/* `blackandwhite` color scheme */ + +vimtyping[detail=blackandwhite] syntaxgroup[defail=vimConstant], +inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimConstant], +.vimtyping.blackandwhite .syntaxgroup.vimConstant, +.inlinevimtyping.blackandwhite .syntaxgroup.vimConstant, +vimtyping[detail=blackandwhite] syntaxgroup[defail=vimString], +inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimString], +.vimtyping.blackandwhite .syntaxgroup.vimString, +.inlinevimtyping.blackandwhite .syntaxgroup.vimString, +vimtyping[detail=blackandwhite] syntaxgroup[defail=vimCharacter], +inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimCharacter], +.vimtyping.blackandwhite .syntaxgroup.vimCharacter, +.inlinevimtyping.blackandwhite .syntaxgroup.vimCharacter, +vimtyping[detail=blackandwhite] syntaxgroup[defail=vimBoolean], +inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimBoolean], +.vimtyping.blackandwhite .syntaxgroup.vimBoolean, +.inlinevimtyping.blackandwhite .syntaxgroup.vimBoolean, +vimtyping[detail=blackandwhite] syntaxgroup[defail=vimFloat], +inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimFloat], +.vimtyping.blackandwhite .syntaxgroup.vimFloat, +.inlinevimtyping.blackandwhite .syntaxgroup.vimFloat +{ +} + +vimtyping[detail=blackandwhite] syntaxgroup[defail=vimNumber], +inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimNumber], +.vimtyping.blackandwhite .syntaxgroup.vimNumber, +.inlinevimtyping.blackandwhite .syntaxgroup.vimNumber +{ +} + +vimtyping[detail=blackandwhite] syntaxgroup[defail=vimIdentifier], +inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimIdentifier], +.vimtyping.blackandwhite .syntaxgroup.vimIdentifier, +.inlinevimtyping.blackandwhite .syntaxgroup.vimIdentifier, +vimtyping[detail=blackandwhite] syntaxgroup[defail=vimFunction], +inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimFunction], +.vimtyping.blackandwhite .syntaxgroup.vimFunction, +.inlinevimtyping.blackandwhite .syntaxgroup.vimFunction +{ +} + +vimtyping[detail=blackandwhite] syntaxgroup[defail=vimStatement], +inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimStatement], +.vimtyping.blackandwhite .syntaxgroup.vimStatement, +.inlinevimtyping.blackandwhite .syntaxgroup.vimStatement, +vimtyping[detail=blackandwhite] syntaxgroup[defail=vimCondition], +inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimCondition], +.vimtyping.blackandwhite .syntaxgroup.vimCondition, +.inlinevimtyping.blackandwhite .syntaxgroup.vimCondition, +vimtyping[detail=blackandwhite] syntaxgroup[defail=vimRepeat], +inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimRepeat], +.vimtyping.blackandwhite .syntaxgroup.vimRepeat, +.inlinevimtyping.blackandwhite .syntaxgroup.vimRepeat, +vimtyping[detail=blackandwhite] syntaxgroup[defail=vimLabel], +inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimLabel], +.vimtyping.blackandwhite .syntaxgroup.vimLabel, +.inlinevimtyping.blackandwhite .syntaxgroup.vimLabel, +vimtyping[detail=blackandwhite] syntaxgroup[defail=vimOperator], +inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimOperator], +.vimtyping.blackandwhite .syntaxgroup.vimOperator, +.inlinevimtyping.blackandwhite .syntaxgroup.vimOperator, +vimtyping[detail=blackandwhite] syntaxgroup[defail=vimKeyword], +inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimKeyword], +.vimtyping.blackandwhite .syntaxgroup.vimKeyword, +.inlinevimtyping.blackandwhite .syntaxgroup.vimKeyword, +vimtyping[detail=blackandwhite] syntaxgroup[defail=vimException], +inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimException], +.vimtyping.blackandwhite .syntaxgroup.vimException, +.inlinevimtyping.blackandwhite .syntaxgroup.vimException +{ + font-weight:bold; +} + +vimtyping[detail=blackandwhite] syntaxgroup[defail=vimPreProc], +inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimPreProc], +.vimtyping.blackandwhite .syntaxgroup.vimPreProc, +.inlinevimtyping.blackandwhite .syntaxgroup.vimPreProc, +vimtyping[detail=blackandwhite] syntaxgroup[defail=vimInclude], +inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimInclude], +.vimtyping.blackandwhite .syntaxgroup.vimInclude, +.inlinevimtyping.blackandwhite .syntaxgroup.vimInclude, +vimtyping[detail=blackandwhite] syntaxgroup[defail=vimDefine], +inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimDefine], +.vimtyping.blackandwhite .syntaxgroup.vimDefine, +.inlinevimtyping.blackandwhite .syntaxgroup.vimDefine, +vimtyping[detail=blackandwhite] syntaxgroup[defail=vimMacro], +inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimMacro], +.vimtyping.blackandwhite .syntaxgroup.vimMacro, +.inlinevimtyping.blackandwhite .syntaxgroup.vimMacro, +vimtyping[detail=blackandwhite] syntaxgroup[defail=vimPreCondit], +inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimPreCondit], +.vimtyping.blackandwhite .syntaxgroup.vimPreCondit, +.inlinevimtyping.blackandwhite .syntaxgroup.vimPreCondit +{ + font-weight:bold; +} + +vimtyping[detail=blackandwhite] syntaxgroup[defail=vimType], +inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimType], +.vimtyping.blackandwhite .syntaxgroup.vimType, +.inlinevimtyping.blackandwhite .syntaxgroup.vimType, +vimtyping[detail=blackandwhite] syntaxgroup[defail=vimStorageClass], +inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimStorageClass], +.vimtyping.blackandwhite .syntaxgroup.vimStorageClass, +.inlinevimtyping.blackandwhite .syntaxgroup.vimStorageClass, +vimtyping[detail=blackandwhite] syntaxgroup[defail=vimStructure], +inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimStructure], +.vimtyping.blackandwhite .syntaxgroup.vimStructure, +.inlinevimtyping.blackandwhite .syntaxgroup.vimStructure, +vimtyping[detail=blackandwhite] syntaxgroup[defail=vimTypedef], +inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimTypedef], +.vimtyping.blackandwhite .syntaxgroup.vimTypedef, +.inlinevimtyping.blackandwhite .syntaxgroup.vimTypedef +{ + font-weight:bold; +} + +vimtyping[detail=blackandwhite] syntaxgroup[defail=vimSpecial], +inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimSpecial], +.vimtyping.blackandwhite .syntaxgroup.vimSpecial, +.inlinevimtyping.blackandwhite .syntaxgroup.vimSpecial, +vimtyping[detail=blackandwhite] syntaxgroup[defail=vimSpecialChar], +inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimSpecialChar], +.vimtyping.blackandwhite .syntaxgroup.vimSpecialChar, +.inlinevimtyping.blackandwhite .syntaxgroup.vimSpecialChar, +vimtyping[detail=blackandwhite] syntaxgroup[defail=vimDelimiter], +inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimDelimiter], +.vimtyping.blackandwhite .syntaxgroup.vimDelimiter, +.inlinevimtyping.blackandwhite .syntaxgroup.vimDelimiter, +vimtyping[detail=blackandwhite] syntaxgroup[defail=vimDebug], +inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimDebug], +.vimtyping.blackandwhite .syntaxgroup.vimDebug, +.inlinevimtyping.blackandwhite .syntaxgroup.vimDebug +{ +} + +vimtyping[detail=blackandwhite] syntaxgroup[defail=vimComment], +inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimComment], +.vimtyping.blackandwhite .syntaxgroup.vimComment, +.inlinevimtyping.blackandwhite .syntaxgroup.vimComment, +vimtyping[detail=blackandwhite] syntaxgroup[defail=vimSpecialComment], +inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimSpecialComment], +.vimtyping.blackandwhite .syntaxgroup.vimSpecialComment, +.inlinevimtyping.blackandwhite .syntaxgroup.vimSpecialComment +{ + font-style:italic; +} + +vimtyping[detail=blackandwhite] syntaxgroup[defail=vimIgnore], +inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimIgnore], +.vimtyping.blackandwhite .syntaxgroup.vimIgnore, +.inlinevimtyping.blackandwhite .syntaxgroup.vimIgnore +{ + +} + +vimtyping[detail=blackandwhite] syntaxgroup[defail=vimTodo], +inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimTodo], +.vimtyping.blackandwhite .syntaxgroup.vimTodo, +.inlinevimtyping.blackandwhite .syntaxgroup.vimTodo +{ + border:0.6px solid; +} + +vimtyping[detail=blackandwhite] syntaxgroup[defail=vimError], +inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimError], +.vimtyping.blackandwhite .syntaxgroup.vimError, +.inlinevimtyping.blackandwhite .syntaxgroup.vimError +{ + text-decoration:line-through; +} + +vimtyping[detail=blackandwhite] syntaxgroup[defail=vimUnderlined], +inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimUnderlined], +.vimtyping.blackandwhite .syntaxgroup.vimUnderlined, +.inlinevimtyping.blackandwhite .syntaxgroup.vimUnderlined +{ + text-decoration:underline; +} + -- cgit v1.2.3