summaryrefslogtreecommitdiff
path: root/macros/context
diff options
context:
space:
mode:
Diffstat (limited to 'macros/context')
-rw-r--r--macros/context/contrib/context-filter/VERSION2
-rw-r--r--macros/context/contrib/context-filter/doc/context/third/filter/filter.txt84
-rw-r--r--macros/context/contrib/context-filter/tex/context/third/filter/t-filter.mkiv19
-rw-r--r--macros/context/contrib/context-vim/VERSION2
-rw-r--r--macros/context/contrib/context-vim/doc/context/third/vim/vim.txt99
-rw-r--r--macros/context/contrib/context-vim/tex/context/third/vim/t-syntax-groups.mkii (renamed from macros/context/contrib/context-vim/tex/context/third/vim/t-syntax-groups.tex)4
-rw-r--r--macros/context/contrib/context-vim/tex/context/third/vim/t-syntax-groups.mkiv126
-rw-r--r--macros/context/contrib/context-vim/tex/context/third/vim/t-syntax-highlight.mkiv63
-rw-r--r--macros/context/contrib/context-vim/tex/context/third/vim/t-vim.tex78
-rw-r--r--macros/context/contrib/context-vim/tex/context/third/vim/vimtyping-default.css415
10 files changed, 775 insertions, 117 deletions
diff --git a/macros/context/contrib/context-filter/VERSION b/macros/context/contrib/context-filter/VERSION
index 9e6f07d186..ee81786fef 100644
--- a/macros/context/contrib/context-filter/VERSION
+++ b/macros/context/contrib/context-filter/VERSION
@@ -1 +1 @@
-2020.04.25
+2020.06.29
diff --git a/macros/context/contrib/context-filter/doc/context/third/filter/filter.txt b/macros/context/contrib/context-filter/doc/context/third/filter/filter.txt
index a4e24f39ce..17cfb9f172 100644
--- a/macros/context/contrib/context-filter/doc/context/third/filter/filter.txt
+++ b/macros/context/contrib/context-filter/doc/context/third/filter/filter.txt
@@ -4,9 +4,6 @@
The filter module
=================
-History
--------
-
This module started with a simple idea. I wanted an environment
\startmarkdown
@@ -31,6 +28,38 @@ program would be a waste of effort. Each new program requires only a few changes
in the R-module; what I needed was a R-module _template_ so that I could fill in
the blanks with the appropriate values. And so, the filter module was born.
+Table of Contents
+=================
+
+* [Compatibility](#compatibility)
+* [Installation](#installation)
+* [Basic Usage](#basic-usage)
+* [Inheriting setup from other commands](#inheriting-setup-from-other-commands)
+* [Dealing with slow filters](#dealing-with-slow-filters)
+* [Reading the input](#reading-the-input)
+* [Space around the environment](#space-around-the-environment)
+* [Stripping leading whitespace (MkIV only)](#stripping-leading-whitespace-mkiv-only)
+* [Names of temporary files](#names-of-temporary-files)
+* [Output Directory](#output-directory)
+* [Disabling filters](#disabling-filters)
+* [Deleting temporary files](#deleting-temporary-files)
+* [Standard options](#standard-options)
+* [Options to a specific environment](#options-to-a-specific-environment)
+* [A setup to control them all](#a-setup-to-control-them-all)
+* [Passing options to filters](#passing-options-to-filters)
+* [Macro variant](#macro-variant)
+* [Processing existing Files](#processing-existing-files)
+* [Processing remote files](#processing-remote-files)
+* [Processing existing buffers](#processing-existing-buffers)
+* [Prepend and append text](#prepend-and-append-text)
+* [XML export](#xml-export)
+* [Special use case: \write18 with caching](#special-use-case--write18-with-caching)
+* [Dealing with expansion](#dealing-with-expansion)
+* [Limitations](#limitations)
+* [Messages and Tracing](#messages-and-tracing)
+* [Version History](#version-history)
+
+
Compatibility
------------
@@ -47,7 +76,7 @@ standalone, you can install the module using
Depending on your TeX distribution, you may already have the module.
To verify, check if
- kpsewhich t-filter.mkii
+ luatools t-filter.mkiv
returns a meaningful path. If not, you have to manually install the module.
@@ -55,22 +84,22 @@ Download the latest version of the module from
[http://modules.contextgarden.net/filter](http://modules.contextgarden.net/filter)
and unzip it either `$TEXMFHOME` or `$TEXMFLOCAL`. Run
- mktexlsr
+ mtxrun --generate
and
- mtxrun --generate
+ mktexlsr
-to refresh the TeX file database (for MkII and MkIV, respectively). If
+to refresh the TeX file database (for MkIV and MkII, respectively). If
everything went well
- kpsewhich t-filter.mkii
+ luatools t-filter.mkiv
will return the path where you stored the file.
Unfortunately, that is not enough. For the module to work, TeX must be able to
call an external program. This feature is a potential security risk and is
-disabled by default on most TeX distributions. To enable this feature, set
+disabled by default on most TeX distributions. To enable this feature in MkII, set
shell_escape=t
@@ -726,6 +755,43 @@ Then you can use
to get a chess board.
+XML export
+----------
+
+The filter module provides a basic support for XML export. If the
+user-document contains
+
+ \setupbackend[export=yes]
+
+or other valid options to `export` such as `export=xml`, then the filter
+environment is exported as well. For example, both
+
+ \startmarkdown
+ ...
+ \stopmarkdown
+
+and
+ \processmarkdownfile{...}
+
+are exported (in `\jobname-export/\jobname.xml`) as
+
+ <externalfilter detail="markdown">
+ ...
+ </externalfilter>
+
+Moreover,
+
+ \inlinemarkdown{...}
+
+is exported as
+
+ <inlineexternalfilter detail="markdown">....</inlineexternalfilter>
+
+
+Note that it is the responsibility of the filter to generate properly tagged
+content. For example, `pandoc` used in the `markdown` examples in this
+document converts `**bold**` to `{\bf bold}`, which is not exported.
+
Special use case: `\write18` with caching
------------------------------------------
diff --git a/macros/context/contrib/context-filter/tex/context/third/filter/t-filter.mkiv b/macros/context/contrib/context-filter/tex/context/third/filter/t-filter.mkiv
index 5db429a3d2..757f4752b0 100644
--- a/macros/context/contrib/context-filter/tex/context/third/filter/t-filter.mkiv
+++ b/macros/context/contrib/context-filter/tex/context/third/filter/t-filter.mkiv
@@ -1,6 +1,6 @@
%D \module
%D [ file=t-filter,
-%D version=2020.04.25,
+%D version=2020.06.29,
%D title=\CONTEXT\ User Module,
%D subtitle=Filter,
%D author=Aditya Mahajan,
@@ -9,7 +9,7 @@
%D email=adityam <at> ieee <dot> org,
%D license=Simplified BSD License]
-\writestatus{loading}{Filter (ver: 2020.04.25)}
+\writestatus{loading}{Filter (ver: 2020.06.29)}
\startmodule [filter]
\usemodule [module-catcodes]
@@ -35,6 +35,7 @@
\setinterfaceconstant {write} {write}
\setinterfaceconstant {readcommand} {readcommand}
\setinterfaceconstant {taglabel} {taglabel}
+ \setinterfaceconstant {tagdetail} {tagdetail}
\stopinterface
@@ -66,6 +67,10 @@
\setuevalue{process\currentexternalfilter file}{\externalfilter@process_file[\currentexternalfilter]}%
\setuevalue{process\currentexternalfilter buffer}{\externalfilter@process_buffer[\currentexternalfilter]}%
\setuevalue{inline\currentexternalfilter}{\externalfilter@inline[\currentexternalfilter]}%
+ \setelementbackendtag[\externalfilterparameter\c!taglabel]
+ \setelementnature [\externalfilterparameter\c!taglabel][display]
+ \setelementbackendtag[inline\externalfilterparameter\c!taglabel]
+ \setelementnature [inline\externalfilterparameter\c!taglabel][inline]
\to \everydefineexternalfilter
% For backward compatibility
@@ -479,16 +484,17 @@
\doifelse{\externalfilterparameter\c!location}\v!paragraph
{\blank[\externalfilterparameter\c!spacebefore]
\usealignparameter\externalfilterparameter
- \externalfilterparameter\c!before}
- {\externalfilterparameter\c!left}
+ \externalfilterparameter\c!before
+ \dostarttagged{\externalfilterparameter\c!taglabel}{\externalfilterparameter\c!tagdetail}}
+ {\externalfilterparameter\c!left
+ \dostarttagged{inline\externalfilterparameter\c!taglabel}{\externalfilterparameter\c!tagdetail}}
\begingroup
- \dostarttagged{\externalfilterparameter\c!taglabel}\currentexternalfilter
\useexternalfilterstyleandcolor\c!style\c!color
\processcommacommand[\externalfilterparameter\c!setups]\directsetup
\externalfilterparameter\c!readcommand\externalfilter@output_file
- \dostoptagged
\endgroup
+ \dostoptagged
\doifelse{\externalfilterparameter\c!location}\v!paragraph
{\externalfilterparameter\c!after
@@ -526,6 +532,7 @@
\c!buffer\c!before=,
\c!buffer\c!after=,
\c!taglabel=\externalfilter@id,
+ \c!tagdetail=\currentexternalfilter,
]
\def\externalfilterbasefile {\externalfilter@base_file}
diff --git a/macros/context/contrib/context-vim/VERSION b/macros/context/contrib/context-vim/VERSION
index 245e15befa..ee81786fef 100644
--- a/macros/context/contrib/context-vim/VERSION
+++ b/macros/context/contrib/context-vim/VERSION
@@ -1 +1 @@
-2020.06.25
+2020.06.29
diff --git a/macros/context/contrib/context-vim/doc/context/third/vim/vim.txt b/macros/context/contrib/context-vim/doc/context/third/vim/vim.txt
index 88bc2b9dc6..12c5d10a07 100644
--- a/macros/context/contrib/context-vim/doc/context/third/vim/vim.txt
+++ b/macros/context/contrib/context-vim/doc/context/third/vim/vim.txt
@@ -37,6 +37,7 @@ Table of Contents
* [Name (and location) of the VIM executable](#name-and-location-of-the-vim-executable)
* [Defining a new colorscheme](#defining-a-new-colorscheme)
* [Modifying an existing color scheme](#modifying-an-existing-color-scheme)
+* [XML export](#xml-export)
* [A bit of a history](#a-bit-of-a-history)
@@ -69,30 +70,30 @@ standalone, you can install the module using
Depending on your TeX distribution, you may already have the module.
To verify, check if
- kpsewhich t-vim.tex
+ luatools t-vim.tex
returns a meaningful path. If not, you have to manually install the module.
Download the latest version of the `filter` and `vim` modules from
[http://github.com/adityam/filter/downloads](http://github.com/adityam/filter/downloads)
and unzip them either `$TEXMFHOME` or `$TEXMFLOCAL`. Run
- mktexlsr
+ mtxrun --generate
and
- mtxrun --generate
+ mktexlsr
-to refresh the TeX file database (for MkII and MkIV, respectively). If
+to refresh the TeX file database (for MkIV and MkII, respectively). If
everything went well
- kpsewhich t-vim
+ luatools t-vim
will return the path where you stored the file.
Unfortunately, that is not enough. For the module to work, TeX must be able to
call an external program. This feature is a potential security risk and is
-disabled by default on most TeX distributions. To enable this feature, you must
-set
+disabled by default on most TeX distributions. To enable this feature in MkII,
+you must set
shell_escape=t
@@ -297,9 +298,12 @@ If you want every fifth line to be numbered, use
Standard options for line numbering
-----------------------------------
-**Note**: These options can only be set using `\definevimtyping[...][...]` or
-`\setupvimtyping[...][...]`. They do not work when used with
-`\start<vimtyping>`.
+**Note**: Linenumbering options can only be set using `\definevimtyping[...][...]`
+or `\setupvimtyping[...][...]`. They do not work when used with
+`\start<vimtyping>`. All the line numbers on a given page have the same
+properties. So, if you change these properties in the middle of the page, it
+will effect all the listings on that page, _even those defined earlier!_
+
- To change the color or style of the numbers, use the `numbercolor=...` and
`numberstyle=...` options. By default `numbercolor` is not set, while
@@ -971,6 +975,81 @@ typeset in bold red, we can use:
[color=red, style=bold]
\stopcolorscheme
```
+XML Export
+----------
+
+The vim module provides a basic support for XML export. If the user-document
+contains
+
+ \setupbackend[export=yes]
+
+or other valid options to `export` such as `export=xml`, then the vim typing
+environments are exported as well. For example,
+
+ \definevimtyping[PYTHON][syntax=python]
+ \startPYTHON
+ # Python program listing
+ def foobar
+ print("Hello World")
+ \stopPYTHON
+
+
+is exported as
+
+ <vimtyping detail="pscolor">
+ <verbatimline><syntaxgroup detail="vimComment"># Python program listing</syntaxgroup></verbatimline>
+ <verbatimline><syntaxgroup detail="vimStatement">def</syntaxgroup> <syntaxgroup detail="vimFunction">foobar</syntaxgroup></verbatimline>
+ <verbatimline> <syntaxgroup detail="vimFunction">print</syntaxgroup>(<syntaxgroup detail="vimString">"</syntaxgroup><syntaxgroup detail="vimString">Hello World</syntaxgroup><syntaxgroup detail="vimString">"</syntaxgroup>)</verbatimline>
+ </vimtyping>
+
+The name of the exported envionment is `vimtyping`.
+
+Inline environments such as
+
+ \definevimtyping[PYTHON][syntax=python]
+ \inlinePYTHON{print("Hello World")}
+
+is exported as
+
+ <inlinevimtyping detail="pscolor"><verbatimline><syntaxgroup detail="vimFunction">print</syntaxgroup>(<syntaxgroup detail="vimString">"</syntaxgroup><syntaxgroup detail="vimString">Hello World</syntaxgroup><syntaxgroup detail="vimString">"</syntaxgroup>)</verbatimline></inlinevimtyping>
+
+The name of the exported envionment is `inlinevimtyping`.
+
+In both the display and inline environments, the name of the programming
+language (value of the `syntax` key) is
+not exported since it is not needed to display the parse output.
+Instead the name of the colorscheme (value of the `alternative` key) is
+exported as the parameter `detail` of `vimtyping`. Each line is exported as a
+`verbatimline`. Each syntaxgroup is exported as `<syntaxgroup detail="...">`.
+The value of `defail` equals to the name of the syntax highlighting group
+_prepended with `vim`_. The name is prepended with `vim` to avoid name clashes
+with other elements in the exported XML. Strictly speaking this is not
+necessary, but it does make it easier to write CSS selectors.
+
+The module comes with a CSS file with default mappings for the two
+colorschemes that are provided with the module (`pscolor` and
+`blackandwhite`). This is meant as a simple solution which gives approximately
+the same output as the PDF file. To use this CSS file, add
+
+ \setupexport[cssfile=\vimtypingcssfile]
+
+If you already have other values for `cssfile`, then use:
+
+ \setupexport[cssfile={...,...,\vimtypingcssfile}]
+
+Note that the macro `\vimtypingcssfile` is defined in the vim module, so the
+above line has to come after the `vim` module has been loaded.
+
+If you make changes to the default colorschemes, define colorschemes of your
+own, or want to tweak the visual appearance of the output, you need to tweak
+the default CSS file to suit your needs. It is suggested that you copy the
+default css file and tweak it. You can find the location of the default CSS
+file using
+
+ luatools vimtyping-default.css
+
+Copy it under a different name and tweak it as desired.
+
A bit of a history
------------------
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.mkii
index 23fb1b7593..b13a902af1 100644
--- 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.mkii
@@ -32,8 +32,6 @@
\installparameterhandler \syntaxgroup@namespace \syntaxgroup@id
\installsetuphandler \syntaxgroup@namespace \syntaxgroup@id
-\doifmode{\s!mkiv}
- {\installstyleandcolorhandler \syntaxgroup@namespace \syntaxgroup@id}
\def\m!syntaxgroup{t-syntax-group}
@@ -99,14 +97,12 @@
\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
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 <at> ieee <dot> 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-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 <at> ieee <dot> 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 <at> ieee <dot> 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
@@ -324,58 +330,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
\stopmodule
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;
+}
+