diff options
author | Karl Berry <karl@freefriends.org> | 2011-12-18 23:06:57 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2011-12-18 23:06:57 +0000 |
commit | 4c841569d636a6dcddf66ab0ab135249a569f64e (patch) | |
tree | f98d072caf234e4ac29697f0852c899d5eac4ff7 /Master/texmf-dist/tex/context | |
parent | 2c36c65036ba988c02539d1238ea2c25fa457608 (diff) |
context-vim (18dec11)
git-svn-id: svn://tug.org/texlive/trunk@24867 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/context')
-rw-r--r-- | Master/texmf-dist/tex/context/third/vim/2context.vim | 9 | ||||
-rw-r--r-- | Master/texmf-dist/tex/context/third/vim/t-syntax-groups.tex | 81 | ||||
-rw-r--r-- | Master/texmf-dist/tex/context/third/vim/t-syntax-highlight.mkii (renamed from Master/texmf-dist/tex/context/third/vim/t-syntax-highlight.tex) | 139 | ||||
-rw-r--r-- | Master/texmf-dist/tex/context/third/vim/t-syntax-highlight.mkiv | 209 | ||||
-rw-r--r-- | Master/texmf-dist/tex/context/third/vim/t-vim.tex | 124 |
5 files changed, 387 insertions, 175 deletions
diff --git a/Master/texmf-dist/tex/context/third/vim/2context.vim b/Master/texmf-dist/tex/context/third/vim/2context.vim index 71c811520db..df192ad8099 100644 --- a/Master/texmf-dist/tex/context/third/vim/2context.vim +++ b/Master/texmf-dist/tex/context/third/vim/2context.vim @@ -38,6 +38,11 @@ if !exists("highlight") let highlight=[] endif +" Set escapecomments +if !exsists("escapecomments") + let escapecomments=0 +endif + let s:strip = strlen( matchstr( getline(s:lstart), '^\s*' ) ) " Find the smallest leading white space @@ -92,7 +97,9 @@ while s:lnum <= s:lstop " we don't need to print in in that case if strlen(s:temp) > 0 " Change special TeX characters to escape sequences. - let s:temp = escape( s:temp, '\{}') + if !(escapecomments && s:id_name == "Comment") + let s:temp = escape( s:temp, '\{}') + endif if !empty(s:id_name) let s:temp = '\SYN[' . s:id_name . ']{' . s:temp . '}' endif diff --git a/Master/texmf-dist/tex/context/third/vim/t-syntax-groups.tex b/Master/texmf-dist/tex/context/third/vim/t-syntax-groups.tex index ae1f459b8fa..5efe1719ac4 100644 --- a/Master/texmf-dist/tex/context/third/vim/t-syntax-groups.tex +++ b/Master/texmf-dist/tex/context/third/vim/t-syntax-groups.tex @@ -1,6 +1,6 @@ %D \module %D [ file=t-syntax-groups, -%D version=2011.10.20, +%D version=2011.12.17, %D title=\CONTEXT\ User Module, %D subtitle=Syntax highlighting support, %D author=Aditya Mahajan, @@ -9,99 +9,100 @@ %D email=adityam <at> ieee <dot> org, %D license=Simplified BSD License] -\writestatus{loading}{Syntax highlighting groups (ver: 2011.10.20)} +\writestatus{loading}{Syntax highlighting groups (ver: 2011.12.17)} % Colors are specified in hex; in MkII the hex mode needs to be activated. \doifmode\s!mkii {\setupcolor[hex]} -\startmodule [syntax-group] -\usemodule [module-catcodes] +\startmodule [syntax-group] +\usemodule [module-catcodes] \unprotectmodulecatcodes -\def\colorscheme::name {} +\def\colorscheme@name {} -\def\syntaxgroup::id {syntaxgroup} -\def\syntaxgroup::namespace {@@@@\syntaxgroup::id} -\def\syntaxgroup::name {} +\def\syntaxgroup@id {syntaxgroup} +\def\syntaxgroup@namespace {@@@@\syntaxgroup@id} +\def\syntaxgroup@name {} -\edef\t!syntaxgroup {\syntaxgroup::id} +\edef\t!syntaxgroup {\syntaxgroup@id} - -\installparameterhandler \syntaxgroup::namespace \syntaxgroup::id -\installsetuphandler \syntaxgroup::namespace \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} + {\dodoubleargument\syntaxgroup@define} -\starttexdefinition syntaxgroup::define [#1][#2] +\starttexdefinition syntaxgroup@define [#1][#2] % #1 list name % #2 options \doifassignmentelse{#2} { - \def\syntaxgroup::get_parameters##1% + \def\syntaxgroup@get_parameters##1% { - \edef\syntaxgroup::name {\colorscheme::name##1} - \setupsyntaxgroup[\syntaxgroup::name] + \edef\syntaxgroup@name {\colorscheme@name##1} + \setupsyntaxgroup[\syntaxgroup@name] [\c!color=,\c!style=,\c!command=,#2] \doifsomething{\syntaxgroupparameter\c!color} { - \expanded{\definecolor[\syntaxgroup::namespace-##1-color] + \expanded{\definecolor[\syntaxgroup@namespace-##1-color] [\syntaxgroupparameter\c!color]} - \setupsyntaxgroup[\syntaxgroup::name][\c!color=\syntaxgroup::namespace-##1-color] + \setupsyntaxgroup[\syntaxgroup@name][\c!color=\syntaxgroup@namespace-##1-color] } } }{ - \def\syntaxgroup::get_parameters##1% + \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, + \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} + \def\currentsyntaxgroup {\syntaxgroup@name} } } - \processcommalist[#1]\syntaxgroup::get_parameters + \processcommalist[#1]\syntaxgroup@get_parameters \stoptexdefinition \def\startcolorscheme% - {\dosingleargument\colorscheme::start} + {\dosingleargument\colorscheme@start} -\starttexdefinition colorscheme::start [#1] - \pushmacro\colorscheme::name +\starttexdefinition colorscheme@start [#1] + \pushmacro\colorscheme@name \setcolorscheme{#1} %\setupsyntaxgroup[\c!color=,\c!style=,\c!command=] \stoptexdefinition \def\stopcolorscheme - {\popmacro\colorscheme::name} + {\popmacro\colorscheme@name} \def\setcolorscheme#1% - {\edef\colorscheme::name{#1}} + {\edef\colorscheme@name{#1}} \starttexdefinition syntaxgroup [#1]#2 % #1 = style % #2 = content \syntaxgroupparameter\c!before \begingroup - \edef\syntaxgroup::name{\colorscheme::name#1}% + \edef\syntaxgroup@name{\colorscheme@name#1}% \iftracesyntaxgroups - \syntaxgroup::show_values + \syntaxgroup@show_values \fi \doifmode{\s!mkiv}{\dostarttagged\t!syntaxgroup{#1}} \syntaxgroupparameter\c!command { - \externalfilter::attributes_start\syntaxgroup::id\c!style\c!color + \externalfilter@attributes_start\syntaxgroup@id\c!style\c!color #2 - \externalfilter::attributes_stop + \externalfilter@attributes_stop } \doifmode{\s!mkiv}{\dostoptagged} \endgroup @@ -113,11 +114,11 @@ \newif\iftracesyntaxgroups \let\tracesyntaxgroups\tracesyntaxgroupstrue -\def\currentsyntaxgroup {\syntaxgroup::name} +\def\currentsyntaxgroup {\syntaxgroup@name} -\starttexdefinition syntaxgroup::show_values - \writestatus\m!syntaxgroup{color scheme : \colorscheme::name} - \writestatus\m!syntaxgroup{current group: \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} diff --git a/Master/texmf-dist/tex/context/third/vim/t-syntax-highlight.tex b/Master/texmf-dist/tex/context/third/vim/t-syntax-highlight.mkii index 09c2ef8e0d0..3119b2c6a00 100644 --- a/Master/texmf-dist/tex/context/third/vim/t-syntax-highlight.tex +++ b/Master/texmf-dist/tex/context/third/vim/t-syntax-highlight.mkii @@ -1,6 +1,6 @@ %D \module %D [ file=t-syntax-highlight, -%D version=2011.10.14, +%D version=2011.12.17, %D title=\CONTEXT\ User Module, %D subtitle=Code syntax highlighting, %D author=Aditya Mahajan, @@ -9,12 +9,11 @@ %D email=adityam <at> ieee <dot> org, %D license=Simplified BSD License] -\writestatus{loading}{Code syntax highlighting (ver: 2011.10.14)} +\writestatus{loading}{Code syntax highlighting (ver: 2011.12.17)} \startmodule [syntax-highlight] \usemodule [syntax-groups] -\usemodule [filter] -\usemodule [module-catcodes] +\usemodule [filter] % loads module-catcodes \unprotectmodulecatcodes @@ -39,37 +38,38 @@ %D Name space -\def\syntaxhighlighting::id {syntaxhighlighting} -\def\syntaxhighlighting::namespace {@@@@\syntaxhighlighting::id} -\def\syntaxhighlighting::name {} +\def\syntaxhighlighting@id {syntaxhighlighting} +\def\syntaxhighlighting@namespace {@@@@\syntaxhighlighting@id} +\def\syntaxhighlighting@name {} -\edef\t!syntaxhighlighting {\syntaxhighlighting::id} +\edef\t!syntaxhighlighting {\syntaxhighlighting@id} -\installparameterhandler \syntaxhighlighting::namespace \syntaxhighlighting::id -\installsetuphandler \syntaxhighlighting::namespace \syntaxhighlighting::id +\installparameterhandler \syntaxhighlighting@namespace \syntaxhighlighting@id +\installsetuphandler \syntaxhighlighting@namespace \syntaxhighlighting@id %D Helper macro -\def\syntaxhighlighting::yes{\v!yes,\v!on} +\def\syntaxhighlighting@yes{\v!yes,\v!on} \def\definesyntaxhighlighting - {\dodoubleargument\syntaxhighlighting::define} + {\dodoubleargument\syntaxhighlighting@define} -\starttexdefinition syntaxhighlighting::define [#1][#2] - \setupsyntaxhighlighting[#1][\s!parent=\syntaxhighlighting::namespace,#2] +\starttexdefinition syntaxhighlighting@define [#1][#2] + \setupsyntaxhighlighting[#1][\s!parent=\syntaxhighlighting@namespace,#2] - \edef\syntaxhighlighting::name{#1} - \doifmode\s!mkiv{\setups{syntaxhighlighting::setup_line_number_mkiv}} + \edef\syntaxhighlighting@name{#1} + \defineexternalfilter[#1][\s!parent=\syntaxhighlighting@namespace#1] + + \doifmode\s!mkiv{\setups{syntaxhighlighting@setup_line_number_mkiv}} - \defineexternalfilter[#1][\s!parent=\syntaxhighlighting::namespace#1] \setvalue{type#1file}{\getvalue{process#1file}} \stoptexdefinition -\startsetups syntaxhighlighting::setup +\startsetups syntaxhighlighting@setup - \edef\syntaxhighlighting::name{\currentexternalfilter} - \edef\colorscheme::name{\externalfilterparameter\c!alternative} + \edef\syntaxhighlighting@name{\currentexternalfilter} + \edef\colorscheme@name{\externalfilterparameter\c!alternative} \let\SYN\syntaxgroup \let\HGL\syntaxhighlightline @@ -80,21 +80,21 @@ \def\tab##1% {\dorecurse{##1}{\obeyedspace}}% - \doifmode\s!mkii{\setups{syntaxhighlighting::setup_line_number_mkii}}% + \doifmode\s!mkii{\setups{syntaxhighlighting@setup_line_number_mkii}}% \doifinset{\externalfilterparameter\c!option}{\v!packed} {\setupwhitespace[\v!none,\v!flexible]}% - \setcatcodetable\externalfilter::minimal_catcodes + \setcatcodetable\externalfilter@minimal_catcodes \expandafter\def\activeendoflinetoken{\strut\par} - \activatespacehandler{\syntaxhighlighting::namespace\externalfilterparameter\c!space} + \activatespacehandler{\syntaxhighlighting@namespace\externalfilterparameter\c!space} \stopsetups -\startsetups syntaxhighlighting::setup_line_number_mkiv - \definelinenumbering [#1] +\startsetups syntaxhighlighting@setup_line_number_mkiv +\definelinenumbering [#1] - \setuplinenumbering - [\syntaxhighlighting::name] +\setuplinenumbering + [#1] [\c!conversion=\externalfilterparameter\c!numberconversion, \c!start=\externalfilterparameter{\c!number\c!start}, \c!step=\externalfilterparameter{\c!number\c!step}, @@ -112,13 +112,13 @@ \stopsetups \doifmode\s!mkii - {\newcount\syntaxhighlighting::linenumber} + {\newcount\syntaxhighlighting@linenumber} -\startsetups syntaxhighlighting::setup_line_number_mkii -\doifinset{\externalfilterparameter\c!numbering}\syntaxhighlighting::yes +\startsetups syntaxhighlighting@setup_line_number_mkii +\doifinset{\externalfilterparameter\c!numbering}\syntaxhighlighting@yes {% setuplinenumbering resets \linenumber. So we save the value of linenumber and % revert it back. - \syntaxhighlighting::linenumber=\linenumber + \syntaxhighlighting@linenumber=\linenumber \setuplinenumbering [\c!conversion=\externalfilterparameter\c!numberconversion, @@ -136,43 +136,44 @@ \c!align=\externalfilterparameter{\c!number\c!align}, ] - \linenumber=\syntaxhighlighting::linenumber} + \linenumber=\syntaxhighlighting@linenumber} \stopsetups -\starttexdefinition syntaxhighlighting::read_command #1 - \syntaxhighlighting::linenumbering_start +\starttexdefinition syntaxhighlighting@read_command #1 + \syntaxhighlighting@linenumbering_start \ReadFile{#1} - \syntaxhighlighting::linenumbering_stop + \syntaxhighlighting@linenumbering_stop \stoptexdefinition \startmode [\s!mkiv] -\starttexdefinition syntaxhighlighting::linenumbering_start - \doifinset{\externalfilterparameter\c!numbering}\syntaxhighlighting::yes +\starttexdefinition syntaxhighlighting@linenumbering_start + \doifinset{\externalfilterparameter\c!numbering}\syntaxhighlighting@yes {\startlinenumbering - [\syntaxhighlighting::name] + [\syntaxhighlighting@name] [\c!continue=\externalfilterparameter{\c!number\c!continue}]} + \dostarttagged\t!syntaxhighlighting\colorscheme@name \stoptexdefinition -\starttexdefinition syntaxhighlighting::linenumbering_stop +\starttexdefinition syntaxhighlighting@linenumbering_stop \dostoptagged - \doifinset{\externalfilterparameter\c!numbering}\syntaxhighlighting::yes + \doifinset{\externalfilterparameter\c!numbering}\syntaxhighlighting@yes {\stoplinenumbering} \stoptexdefinition \stopmode \startmode [\s!mkii] -\starttexdefinition syntaxhighlighting::linenumbering_start - \doifinset{\externalfilterparameter\c!numbering}\syntaxhighlighting::yes - {\doifelse{\externalfilterparameter{\c!number\c!continue}}\syntaxhighlighting::yes +\starttexdefinition syntaxhighlighting@linenumbering_start + \doifinset{\externalfilterparameter\c!numbering}\syntaxhighlighting@yes + {\doifelse{\externalfilterparameter{\c!number\c!continue}}\syntaxhighlighting@yes {\startlinenumbering[\v!continue]} {\startlinenumbering}} \stoptexdefinition - -\starttexdefinition syntaxhighlighting::linenumbering_stop - \doifinset{\externalfilterparameter\c!numbering}\syntaxhighlighting::yes +\starttexdefinition syntaxhighlighting@linenumbering_stop + \doifinset{\externalfilterparameter\c!numbering}\syntaxhighlighting@yes {\stoplinenumbering} \stoptexdefinition + \stopmode \setupsyntaxhighlighting @@ -190,11 +191,11 @@ \c!filtercommand=echo, % placeholder \c!continue=yes, \c!read=\v!yes, - \c!readcommand=\syntaxhighlighting::read_command, + \c!readcommand=\syntaxhighlighting@read_command, \c!output=\externalfilterinputfile, % placeholder - \c!setups=syntaxhighlighting::setup, + \c!setups=syntaxhighlighting@setup, \c!option=\v!packed, % Could be a list - \s!parent=\externalfilter::namespace, + \s!parent=\externalfilter@namespace, % Numbering options \c!numbering=\v!no, \c!number\c!start=1, @@ -213,54 +214,41 @@ \c!number\c!align=\v!flushright, ] -\def\currentsyntaxhighlighting {\syntaxhighlighting::name} +\def\currentsyntaxhighlighting {\syntaxhighlighting@name} % Space handler % % The space handing code for MkII and MkIV is not consistent. So, we provide our % own versions. -\setvalue{\syntaxhighlighting::namespace ::\c!lines ::\v!split}{\hskip} -\setvalue {\syntaxhighlighting::namespace ::\c!lines ::\v!fixed}{\dontleavehmode\kern} +\setvalue{\syntaxhighlighting@namespace @\c!lines @\v!split}{\hskip} +\setvalue {\syntaxhighlighting@namespace @\c!lines @\v!fixed}{\dontleavehmode\kern} % default -\setvalue{\syntaxhighlighting::namespace ::\c!lines ::}{\hskip} +\setvalue{\syntaxhighlighting@namespace @\c!lines @}{\hskip} -\def\syntaxhighlighting::split% - {\getvalue{\syntaxhighlighting::namespace ::\c!lines ::\externalfilterparameter\c!lines}} +\def\syntaxhighlighting@split% + {\getvalue{\syntaxhighlighting@namespace @\c!lines @\externalfilterparameter\c!lines}} % Visible space -\installspacehandler {\syntaxhighlighting::namespace\v!on} +\installspacehandler {\syntaxhighlighting@namespace\v!on} {\obeyspaces \unexpanded\def\obeyedspace - {\syntaxhighlighting::split\zeropoint\relax + {\syntaxhighlighting@split\zeropoint\relax \hbox{\normalcontrolspace}% - \syntaxhighlighting::split\zeropoint\relax}}% + \syntaxhighlighting@split\zeropoint\relax}}% % Invisible space -\installspacehandler {\syntaxhighlighting::namespace\v!off} +\installspacehandler {\syntaxhighlighting@namespace\v!off} {\obeyspaces \unexpanded\def\obeyedspace - {\syntaxhighlighting::split\interwordspace\relax}} + {\syntaxhighlighting@split\interwordspace\relax}} % Default -\installspacehandler {\syntaxhighlighting::namespace} - {\activatespacehandler {\syntaxhighlighting::namespace\v!off}} +\installspacehandler {\syntaxhighlighting@namespace} + {\activatespacehandler {\syntaxhighlighting@namespace\v!off}} % Line highlighting -% For MkIV, we can use the new bar mechanism to highlight a line. -% For consistency, we use text background, which is slower but works for both -% MkII and MkIV. - -% \startmode[*mkiv] -% \definebar[syntaxhighlightline] -% [\c!order=\v!background, -% \c!rulethickness=2.5, -% \c!offset=1.25, -% \c!continue=\v!yes, -% \c!color=\externalfilterparameter\c!highlightcolor, -% ] -% \stopmode \definetextbackground[syntaxhighlightline] [\c!location=\v!paragraph, @@ -268,6 +256,7 @@ \c!frame=\v!off, \c!background=\v!color, \c!backgroundcolor=\externalfilterparameter\c!highlightcolor, + \c!after=, ] diff --git a/Master/texmf-dist/tex/context/third/vim/t-syntax-highlight.mkiv b/Master/texmf-dist/tex/context/third/vim/t-syntax-highlight.mkiv new file mode 100644 index 00000000000..20ed5ebe7d3 --- /dev/null +++ b/Master/texmf-dist/tex/context/third/vim/t-syntax-highlight.mkiv @@ -0,0 +1,209 @@ +%D \module
+%D [ file=t-syntax-highlight,
+%D version=2011.12.17,
+%D title=\CONTEXT\ User Module,
+%D subtitle=Code syntax highlighting,
+%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}{Code syntax highlighting (ver: 2011.12.17)}
+
+\startmodule [syntax-highlight]
+\usemodule [syntax-groups]
+\usemodule [filter] % loads module-catcodes
+
+\unprotectmodulecatcodes
+
+\startinterface all
+ \setinterfaceconstant {syntax} {syntax}
+ \setinterfaceconstant {highlight} {highlight}
+ \setinterfaceconstant {highlightcolor} {highlightcolor}
+\stopinterface
+
+%D Name space
+
+\def\syntaxhighlighting@id {syntaxhighlighting}
+\def\syntaxhighlighting@namespace {@@@@\syntaxhighlighting@id}
+\def\syntaxhighlighting@name {}
+
+\edef\t!syntaxhighlighting {\syntaxhighlighting@id}
+
+\installparameterhandler \syntaxhighlighting@namespace \syntaxhighlighting@id
+\installsetuphandler \syntaxhighlighting@namespace \syntaxhighlighting@id
+
+%D Helper macro
+
+\def\syntaxhighlighting@yes{\v!yes,\v!on}
+
+\def\definesyntaxhighlighting
+ {\dodoubleargument\syntaxhighlighting@define}
+
+\starttexdefinition syntaxhighlighting@define [#1][#2]
+ \setupsyntaxhighlighting[#1][\s!parent=\syntaxhighlighting@namespace,#2]
+
+ \edef\syntaxhighlighting@name{#1}
+ \defineexternalfilter[#1][\s!parent=\syntaxhighlighting@namespace#1]
+
+ \setups{syntaxhighlighting@setup_line_number_mkiv}
+
+ \setvalue{type#1file}{\getvalue{process#1file}}
+
+\stoptexdefinition
+
+\startsetups syntaxhighlighting@setup
+
+ \edef\syntaxhighlighting@name{\currentexternalfilter}
+ \edef\colorscheme@name{\externalfilterparameter\c!alternative}
+
+ \let\SYN\syntaxgroup
+ \let\HGL\syntaxhighlightline
+ \let\\\textbackslash
+ \let\{\textbraceleft
+ \let\}\textbraceright
+
+ \setupbar[syntaxhighlightline][color=\externalfilterparameter\c!highlightcolor]
+
+ \def\tab##1%
+ {\dorecurse{##1}{\obeyedspace}}%
+
+ \doifinset{\externalfilterparameter\c!option}{\v!packed}
+ {\setupwhitespace[\v!none,\v!flexible]}%
+
+ \setcatcodetable\externalfilter@minimal_catcodes
+ \expandafter\def\activeendoflinetoken{\strut\par}
+ \activatespacehandler{\syntaxhighlighting@namespace\externalfilterparameter\c!space}
+\stopsetups
+
+\startsetups syntaxhighlighting@setup_line_number_mkiv
+\definelinenumbering [#1]
+
+\setuplinenumbering
+ [#1]
+ [\c!conversion=\externalfilterparameter\c!numberconversion,
+ \c!start=\externalfilterparameter{\c!number\c!start},
+ \c!step=\externalfilterparameter{\c!number\c!step},
+ \c!method=\externalfilterparameter{\c!number\c!method},
+ \c!location=\externalfilterparameter{\c!number\c!location},
+ \c!style=\externalfilterparameter\c!numberstyle,
+ \c!color=\externalfilterparameter\c!numbercolor,
+ \c!width=\externalfilterparameter{\c!number\c!width},
+ \c!left=\externalfilterparameter{\c!number\c!left},
+ \c!right=\externalfilterparameter{\c!number\c!right},
+ \c!command=\externalfilterparameter\c!numbercommand,
+ \c!distance=\externalfilterparameter{\c!number\c!distance},
+ \c!align=\externalfilterparameter{\c!number\c!align},
+ ]
+\stopsetups
+
+\starttexdefinition syntaxhighlighting@read_command #1
+ \syntaxhighlighting@linenumbering_start
+ \ReadFile{#1}
+ \syntaxhighlighting@linenumbering_stop
+\stoptexdefinition
+
+\starttexdefinition syntaxhighlighting@linenumbering_start
+ \doifinset{\externalfilterparameter\c!numbering}\syntaxhighlighting@yes
+ {\startlinenumbering
+ [\syntaxhighlighting@name]
+ [\c!continue=\externalfilterparameter{\c!number\c!continue}]}
+ \dostarttagged\t!syntaxhighlighting\colorscheme@name
+\stoptexdefinition
+
+\starttexdefinition syntaxhighlighting@linenumbering_stop
+ \dostoptagged
+ \doifinset{\externalfilterparameter\c!numbering}\syntaxhighlighting@yes
+ {\stoplinenumbering}
+\stoptexdefinition
+
+
+\setupsyntaxhighlighting
+ [\c!tab=4,
+ \c!space=\v!off,
+ \c!lines=\v!split,
+ \c!start=1,
+ \c!stop=0,
+ % \c!syntax=context,
+ \c!alternative=pscolor,
+ \c!before=\blank,
+ \c!after=\blank,
+ \c!style=\tttf,
+ \c!color=,
+ \c!filtercommand=echo, % placeholder
+ \c!continue=yes,
+ \c!read=\v!yes,
+ \c!readcommand=\syntaxhighlighting@read_command,
+ \c!output=\externalfilterinputfile, % placeholder
+ \c!setups=syntaxhighlighting@setup,
+ \c!option=\v!packed, % Could be a list
+ \s!parent=\externalfilter@namespace,
+ % Numbering options
+ \c!numbering=\v!no,
+ \c!number\c!start=1,
+ \c!number\c!step=1,
+ \c!number\c!continue=\v!no,
+ \c!numberconversion=\v!numbers,
+ \c!number\c!method=\v!first,
+ \c!number\c!location=\v!left,
+ \c!numberstyle=\ttx,
+ \c!numbercolor=,
+ \c!number\c!width=2em,
+ \c!number\c!left=,
+ \c!number\c!right=,
+ \c!number\c!command=,
+ \c!number\c!distance=0.5em,
+ \c!number\c!align=\v!flushright,
+ ]
+
+\def\currentsyntaxhighlighting {\syntaxhighlighting@name}
+
+% Space handler
+%
+% The space handing code for MkII and MkIV is not consistent. So, we provide our
+% own versions.
+
+\setvalue{\syntaxhighlighting@namespace::\c!lines::\v!split}{\hskip}
+\setvalue {\syntaxhighlighting@namespace::\c!lines::\v!fixed}{\dontleavehmode\kern}
+
+% default
+\setvalue{\syntaxhighlighting@namespace::\c!lines::}{\hskip}
+
+\def\syntaxhighlighting@split%
+ {\getvalue{\syntaxhighlighting@namespace::\c!lines::\externalfilterparameter\c!lines}}
+
+% Visible space
+\installspacehandler {\syntaxhighlighting@namespace\v!on}
+ {\obeyspaces
+ \unexpanded\def\obeyedspace
+ {\syntaxhighlighting@split\zeropoint\relax
+ \hbox{\normalcontrolspace}%
+ \syntaxhighlighting@split\zeropoint\relax}}%
+
+% Invisible space
+\installspacehandler {\syntaxhighlighting@namespace\v!off}
+ {\obeyspaces
+ \unexpanded\def\obeyedspace
+ {\syntaxhighlighting@split\interwordspace\relax}}
+
+% Default
+\installspacehandler {\syntaxhighlighting@namespace}
+ {\activatespacehandler {\syntaxhighlighting@namespace\v!off}}
+
+% Line highlighting
+
+\definebar[syntaxhighlightline]
+ [\c!order=\v!background,
+ \c!rulethickness=2.5,
+ \c!method=0,
+ \c!offset=1.375,
+ \c!continue=\v!yes,
+ \c!color=\externalfilterparameter\c!highlightcolor,
+ ]
+
+
+\protectmodulecatcodes
+
+\stopmodule
+
diff --git a/Master/texmf-dist/tex/context/third/vim/t-vim.tex b/Master/texmf-dist/tex/context/third/vim/t-vim.tex index 2c6fd86d241..408c9c80003 100644 --- a/Master/texmf-dist/tex/context/third/vim/t-vim.tex +++ b/Master/texmf-dist/tex/context/third/vim/t-vim.tex @@ -1,6 +1,6 @@ %D \module %D [ file=t-vim, -%D version=2011.12.04, +%D version=2011.12.17, %D title=\CONTEXT\ User Module, %D subtitle=Vim syntax highlighting, %D author=Aditya Mahajan, @@ -9,13 +9,11 @@ %D email=adityam <at> ieee <dot> org, %D license=Simplified BSD License] -\writestatus{loading}{Vim syntax highlighting (ver: 2011.12.04)} +\writestatus{loading}{Vim syntax highlighting (ver: 2011.12.17)} -\startmodule [vim] -\usemodule [filter] -\usemodule [syntax-highlight] -\usemodule [syntax-groups] -\usemodule [module-catcodes] +\startmodule [vim] +\usemodule [filter] % loads module catcodes +\usemodule [syntax-highlight] % loads syntax-groups and filter module \startinterface all \setinterfaceconstant {vimrc} {vimrc} @@ -23,88 +21,87 @@ \unprotectmodulecatcodes -\def\vimtyping::id {vimtyping} -\def\vimtyping::namespace {@@@@\vimtyping::id} -\def\vimtyping::name {} +\def\vimtyping@id {vimtyping} +\def\vimtyping@namespace {@@@@\vimtyping@id} +\def\vimtyping@name {} -\def\vimrc::id {vimrc} +\def\vimrc@id {vimrc} -\installparameterhandler \vimtyping::namespace \vimtyping::id -\installsetuphandler \vimtyping::namespace \vimtyping::id +\installparameterhandler \vimtyping@namespace \vimtyping@id +\installsetuphandler \vimtyping@namespace \vimtyping@id \def\definevimtyping - {\dodoubleargument\vimtyping::define} + {\dodoubleargument\vimtyping@define} -\starttexdefinition vimtyping::define [#1][#2] - \setupvimtyping[#1][\s!parent=\vimtyping::namespace,#2] +\starttexdefinition vimtyping@define [#1][#2] + \setupvimtyping[#1][\s!parent=\vimtyping@namespace,#2] - \edef\vimtyping::name{#1} + \edef\vimtyping@name{#1} - \definesyntaxhighlighting[#1][\s!parent=\vimtyping::namespace#1] + \definesyntaxhighlighting[#1][\s!parent=\vimtyping@namespace#1] - \setvalue{\e!start raw#1}{\bgroup\obeylines\dodoubleargument\vimtyping::start_raw[#1]} - \setvalue{\e!stop raw#1}{\vimtyping::stop_raw} - \setvalue{inlineraw#1}{\dodoubleargument\vimtyping::inline_raw[#1]} + \setvalue{\e!start raw#1}{\bgroup\obeylines\dodoubleargument\vimtyping@start_raw[#1]} + \setvalue{\e!stop raw#1}{\vimtyping@stop_raw} + \setvalue{inlineraw#1}{\dodoubleargument\vimtyping@inline_raw[#1]} \stoptexdefinition -\starttexdefinition vimtyping::start_raw [#1][#2] +\starttexdefinition vimtyping@start_raw [#1][#2] % #1 = filter % #2 = options \egroup %\bgroup in \start#1 - \edef\vimtyping::name{#1} + \edef\vimtyping@name{#1} \begingroup % to keep assignments local \setupvimtyping[#1][\c!name=,#2] \externalfilterparameter\c!before - \externalfilter::attributes_start \externalfilter::id \c!style \c!color - \syntaxhighlighting::linenumbering_start + \externalfilter@attributes_start \externalfilter@id \c!style \c!color + \syntaxhighlighting@linenumbering_start \processcommacommand[\externalfilterparameter\c!setups]\directsetup - \gobbleoneargument % The next argument is \type{^M}, so we gobble it + \gobbleoneargument % For some reason the next argument is \stoptexdefinition -\starttexdefinition vimtyping::stop_raw +\starttexdefinition vimtyping@stop_raw - \syntaxhighlighting::linenumbering_stop - \externalfilter::attributes_stop + \syntaxhighlighting@linenumbering_stop + \externalfilter@attributes_stop \externalfilterparameter\c!after \endgroup \stoptexdefinition -\starttexdefinition vimtyping::inline_raw [#1][#2] +\starttexdefinition vimtyping@inline_raw [#1][#2] % #1 = filter % #2 = options - \edef\vimtyping::name{#1} + \edef\vimtyping@name{#1} \begingroup % to keep assignments local \setupvimtyping[#1][\c!name=,\c!before=,\c!after=,#2] - \externalfilter::attributes_start \externalfilter::id \c!style \c!color + \externalfilter@attributes_start \externalfilter@id \c!style \c!color % We assume that the setups set minimal_catcodes \processcommacommand[\externalfilterparameter\c!setups]\directsetup - \vimtyping::inline_raw_aux + \vimtyping@inline_raw_indeed \stoptexdefinition -\starttexdefinition vimtyping::inline_raw_aux #1 +\starttexdefinition vimtyping@inline_raw_indeed #1 #1 - \externalfilter::attributes_stop + \externalfilter@attributes_stop \endgroup \stoptexdefinition - % Mode to testing the dev version of 2context script. \doifmodeelse{vim-dev} - {\def\vimtyping::script_name{2context.vim}} - {\doifmode\s!mkiv - {\ctxlua{context.setvalue("vimtyping::script_name",resolvers.resolve("full:2context.vim"))}} - {\def\vimtyping::script_name{kpse:2context.vim}}} + {\def\vimtyping@script_name{2context.vim}} + {\doifmodeelse\s!mkiv + {\ctxlua{context.setvalue("vimtyping@script_name",resolvers.resolve("full:2context.vim"))}} + {\def\vimtyping@script_name{kpse:2context.vim}}} -\def\vimtyping::filter_command +\def\vimtyping@filter_command {vim -u \vimrcfilename\space % read global config file --noplugin % dont load plugins -e % run in ex mode @@ -116,19 +113,27 @@ -c "set syntax=\externalfilterparameter\c!syntax" % -c "let contextstartline=\externalfilterparameter\c!start" % -c "let contextstopline=\externalfilterparameter\c!stop" % - -c "let strip=\getvalue{\vimtyping::id-\c!strip-\externalfilterparameter\c!strip}" % + -c "let strip=\getvalue{\vimtyping@id-\c!strip-\externalfilterparameter\c!strip}" % + -c "let escapecomments=\getvalue{\vimtyping@id-\c!escape-\externalfilterparameter\c!escape}" % -c "let highlight=[\externalfilterparameter\c!highlight]" % - -c "source \vimtyping::script_name" % + -c "source \vimtyping@script_name" % -c "qa" % \externalfilterinputfile\space \externalfilteroutputfile} -\setvalue{\vimtyping::id-\c!strip-\v!off}{0} -\setvalue{\vimtyping::id-\c!strip-\v!on}{1} +\setvalue{\vimtyping@id-\c!strip-\v!off}{0} +\setvalue{\vimtyping@id-\c!strip-\v!on}{1} + +\setvalue{\vimtyping@id-\c!escape-\v!off}{0} +\setvalue{\vimtyping@id-\c!escape-\v!on}{1} + % Undocumented ... but useful if the user makes a mistake -\setvalue{\vimtyping::id-\c!strip-\v!no}{0} -\setvalue{\vimtyping::id-\c!strip-\v!yes}{1} +\setvalue{\vimtyping@id-\c!strip-\v!no}{0} +\setvalue{\vimtyping@id-\c!strip-\v!yes}{1} + +\setvalue{\vimtyping@id-\c!escape-\v!no}{0} +\setvalue{\vimtyping@id-\c!escape-\v!yes}{1} \setupvimtyping [% \c!tab=4, @@ -141,17 +146,18 @@ % \c!style=\tttf, % \c!color=, \c!strip=\v!off, + \c!escape=\v!off, \c!highlight=, \c!highlightcolor=lightgray, - \c!filtercommand=\vimtyping::filter_command, + \c!filtercommand=\vimtyping@filter_command, % \c!continue=yes, % \c!read=\v!yes, - % \c!readcommand=\syntaxhighlighting::read_command, + % \c!readcommand=\syntaxhighlighting@read_command, \c!output=\externalfilterbasefile.vimout, - %\c!setups=syntaxhighlighting::setup, - \c!filter\c!setups=vimrc::setup, + %\c!setups=syntaxhighlighting@setup, + \c!filter\c!setups=vimrc@setup, % \c!option=\v!packed, % Could be a list - \s!parent=\syntaxhighlighting::namespace, + \s!parent=\syntaxhighlighting@namespace, \c!vimrc=, % % Numbering options % \c!numbering=\v!no, @@ -171,26 +177,26 @@ % \c!number\c!align=\v!flushright, ] -\def\currentvimtyping {\vimtyping::name} +\def\currentvimtyping {\vimtyping@name} \defineexternalfilter - [\vimrc::id] + [\vimrc@id] [\c!continue=\v!no, \c!read=\v!no, \c!filtercommand=\empty] \def\vimrcfilename{NONE} -\startsetups vimrc::setup +\startsetups vimrc@setup \doifelsenothing{\externalfilterparameter\c!vimrc} {\def\vimrcfilename{NONE}} {\begingroup - \expanded{\setupexternalfilter[\vimrc::id][\c!name=\externalfilterparameter\c!vimrc]} + \expanded{\setupexternalfilter[\vimrc@id][\c!name=\externalfilterparameter\c!vimrc]} - \edef\externalfilter::name{\vimrc::id} - \externalfilter::set_filenames + \edef\externalfilter@name{\vimrc@id} + \externalfilter@set_filenames - \global\xdef\vimrcfilename{\externalfilter::input_file} + \global\xdef\vimrcfilename{\externalfilter@input_file} \endgroup } \stopsetups |