diff options
Diffstat (limited to 'Master/texmf-dist/tex/context/third/vim/t-vim.tex')
-rw-r--r-- | Master/texmf-dist/tex/context/third/vim/t-vim.tex | 403 |
1 files changed, 146 insertions, 257 deletions
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 59daac5d5da..f2713a0af1b 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.03.06, +%D version=2011.06.14, %D title=\CONTEXT\ User Module, %D subtitle=Vim syntax highlighting, %D author=Aditya Mahajan, @@ -11,34 +11,21 @@ \writestatus{loading}{ConTeXt User Module / Vim syntax highlighting} -\startmodule[vim] -\usemodule[filter] +\startmodule [vim] +\usemodule [filter] +\usemodule [syntax-highlight] +\usemodule [syntax-groups] +\usemodule [module-catcodes] -% I use the experimental namespaces defined in t-filter. -\pushcatcodetable -\setcatcodetable\externalfiltermodulecatcodes - -% Colors are specified in hex; in MkII the hex mode needs to be activated. -\doifmode\s!mkii - {\setupcolor[hex]} - -\startinterface all - \setinterfaceconstant {syntax} {syntax} -\stopinterface +\unprotectmodulecatcodes \def\vimtyping::id {vimtyping} \def\vimtyping::namespace {@@@@\vimtyping::id} \def\vimtyping::name {} -\def\vimalternative::id {vimalternative} -\def\vimalternative::namespace {@@@@\vimalternative::id} -\def\vimalternative::name {} - \installparameterhandler \vimtyping::namespace \vimtyping::id \installsetuphandler \vimtyping::namespace \vimtyping::id - - \def\definevimtyping {\dodoubleargument\vimtyping::define} @@ -46,81 +33,11 @@ \getparameters[\vimtyping::namespace#1][\s!parent=\vimtyping::namespace,#2] \edef\vimtyping::name{#1} - \doifmode\s!mkiv{\setups{vimtyping::setup_line_number_mkiv}} - - \defineexternalfilter[#1][\s!parent=\vimtyping::namespace#1] - \setvalue{type#1file}{\getvalue{process#1file}} + \definesyntaxhighlighting[#1][\s!parent=\vimtyping::namespace#1] \stoptexdefinition -\startsetups vimtyping::setup - - \edef\vimtyping::name{\currentexternalfilter} - \edef\vimalternative::name{\externalfilterparameter\c!alternative} - - \let\SYN\vimsyntax - \def\NL{\strut}% - - \def\tab##1% - {\dorecurse{##1}{\space}}% - - \doifmode\s!mkii{\setups{vimtyping::setup_line_number_mkii}}% - - \doifinset{\externalfilterparameter\c!option}{\v!packed} - {\setupwhitespace[\v!none,\v!flexible]}% - - \setcatcodetable\externalfilter::write_catcodes -\stopsetups - -\startsetups vimtyping::setup_line_number_mkiv - \definelinenumbering [#1] - - \setuplinenumbering - [\vimtyping::name] - [\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 - -\doifmode\s!mkii - {\newcount\vimtyping::linenumber} - -\startsetups vimtyping::setup_line_number_mkii -\doif{\externalfilterparameter\c!numbering}\v!yes - {% setuplinenumbering resets \linenumber. So we save the value of linenumber and - % revert it back. - \vimtyping::linenumber=\linenumber - - \setuplinenumbering - [\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}, - ] - - \linenumber=\vimtyping::linenumber} -\stopsetups - +% Mode to testing the dev version of 2context script. \doifmodeelse{vimtest} {\def\vimtyping::script_name{2context.vim}} {\def\vimtyping::script_name{kpse:2context.vim}} @@ -135,206 +52,178 @@ -c "syntax on" % -c "set syntax=\externalfilterparameter\c!syntax" % -c "let contextstartline=\externalfilterparameter\c!start" % - -c "let contextstopline=\externalfilterparameter\c!stop" % + -c "let contextstopline=\externalfilterparameter\c!stop" % -c "source \vimtyping::script_name" % -c "qa" % \externalfilterinputfile\space \externalfilteroutputfile} -\startmode [\s!mkiv] -\starttexdefinition vimtyping::read_command #1 - \doifelse{\externalfilterparameter\c!numbering}\v!yes - {\startlinenumbering - [\vimtyping::name] - [\c!continue=\externalfilterparameter{\c!number\c!continue}] - \ReadFile{#1} - \stoplinenumbering} - {\ReadFile{#1}} -\stoptexdefinition -\stopmode - -\startmode [\s!mkii] -\starttexdefinition vimtyping::read_command #1 - \doifelse{\externalfilterparameter\c!numbering}\v!yes - {\doifelse{\externalfilterparameter{\c!number\c!continue}}\v!yes - {\startlinenumbering[\v!continue]} - {\startlinenumbering} - \ReadFile{#1} - \stoplinenumbering} - {\ReadFile{#1}} -\stoptexdefinition -\stopmode - -\def\startvimalternative - {\dosingleargument\vimalternative::start} - -\def\vimalternative::start[#1]% - {\pushmacro\vimalternative::name - \edef\vimalternative::name{#1}} - -\def\stopvimalternative - {\popmacro\vimalternative::name} - -\def\setvimsyntax - {\doquadrupleargument\vimalternative::set_syntax} - -\starttexdefinition vimalternative::set_syntax [#1][#2][#3][#4] - % #1 = name - % #2 = color - % #3 = style - % #4 = command - \def\dodosetupvimsyntax##1% - {\doifsomething{#2} - % we check if color exists; otherwise ConTeXt gives a warning on stdout - % which is very distracting - {\definecolor[\vimalternative::namespace\vimalternative::name##1color_name] [#2] - \getparameters[\vimalternative::namespace\vimalternative::name##1] - [\c!color={\vimalternative::namespace\vimalternative::name##1color_name}]} - \getparameters[\vimalternative::namespace\vimalternative::name##1] - [\c!style=#3, - \c!command=#4]} - \processcommalist[#1]\dodosetupvimsyntax -\stoptexdefinition +\setupvimtyping + [% \c!tab=4, + % \c!start=1, + % \c!stop=0, + % \c!syntax=context, + % \c!alternative=pscolor, + % \c!before=, + % \c!after=, + % \c!style=\tttf, + % \c!color=, + \c!filtercommand=\vimtyping::filter_command, + % \c!continue=yes, + % \c!read=\v!yes, + % \c!readcommand=\syntaxhighlighting::read_command, + \c!output=\externalfilterbasefile.vimout, + % \c!setups=syntaxhighlighting::setup, + % \c!option=\v!packed, % Could be a list + \s!parent=\syntaxhighlighting::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\currentvimtyping {\vimtyping::name} -\starttexdefinition vimsyntax [#1]#2 - % #1 = style - % #2 = content - \dostartattributes{\vimalternative::namespace\vimalternative::name Normal}\c!style\c!color\empty - \dostartattributes{\vimalternative::namespace\vimalternative::name #1}\c!style\c!color\empty - \getvalue{\vimalternative::namespace\vimalternative::name#1\c!command}{#2} - \dostopattributes - \dostopattributes -\stoptexdefinition +\startsetups[vim-minor-groups] + \definesyntaxgroup + [SpecialComment] + [Comment] -% \startvimalternative[pscolor] -% -% \definesyntax -% [Normal] -% [color=\externalfilterparameter\c!color, -% style=\tttf, -% command=] -% -% \stopvimalternative + \definesyntaxgroup + [String,Character,Number,Boolean,Float] + [Constant] -\startvimalternative[pscolor] - \setvimsyntax [Normal] [\externalfilterparameter\c!color][\tttf] + \definesyntaxgroup + [Function] + [Identifier] - \setvimsyntax - [Constant,Character,Boolean,Float] - [h=007068] + \definesyntaxgroup + [Condition,Repeat,Label,Operator,Keyword,Exception] + [Statement] - \setvimsyntax [Number] [h=907000] + \definesyntaxgroup + [Include,Define,Macro,PreCondit] + [Preproc] - \setvimsyntax - [Identifier, Function] - [h=a030a0] + \definesyntaxgroup + [StorateClass,Structure,Typedef] + [Type] - \setvimsyntax - [Statement,Conditional,Repeat,Label,Operator,Keyword,Exception] - [h=2060a8] + \definesyntaxgroup + [SpecialChar,Delimiter,Debug] + [Special] +\stopsetups - \setvimsyntax - [PreProc, Include, Define, Macro, PreCondit] - [h=009030] +\startcolorscheme[pscolor] + % Vim Preferred groups + \definesyntaxgroup + [Constant] + [\c!color={h=007068}] - \setvimsyntax - [Type,StorageClass, Structure, Typedef] - [h=0850a0] + \definesyntaxgroup + [Identifier] + [\c!color={h=a030a0}] - \setvimsyntax [Special] [h=907000] - \setvimsyntax [SpecialKey][h=1050a0] + \definesyntaxgroup + [Statement] + [\c!color={h=2060a8}] - \setvimsyntax - [Tag, Delmiter] + \definesyntaxgroup + [PreProc] + [\c!color={h=009030}] - \setvimsyntax - [Comment, SpecialComment] - [h=606000] + \definesyntaxgroup + [Type] + [\c!color={h=0850a0}] - \setvimsyntax - [Debug,Ignore] + \definesyntaxgroup + [Special] + [\c!color={h=907000}] - \setvimsyntax [Todo] [h=e0e090] - \setvimsyntax [Error] [h=c03000] - \setvimsyntax [Underlined][h=6a5acd][][\underbar] + \definesyntaxgroup + [Comment] + [\c!color={h=606000}] -\stopvimalternative + \definesyntaxgroup + [Ignore] -%TODO -% \setvimsyntax [id] [bg=, fc=, style=, command=] == \localframed[options] -\startvimalternative[blackandwhite] - \setvimsyntax [Normal] [\externalfilterparameter\c!color][\tttf] + \definesyntaxgroup + [Todo] + [\c!color={h=800000}] - \setvimsyntax - [Constant,Character,Boolean,Float,Number,Identifier,Function] + \definesyntaxgroup + [Error] + [\c!color={h=c03000}] - \setvimsyntax - [Statement,Conditional,Repeat,Label,Operator,Keyword,Exception] - [][][\bold] + \definesyntaxgroup + [Underlined] + [\c!color={h=6a5acd}, + \c!command=\underbar] - \setvimsyntax - [PreProc, Include, Define, Macro, PreCondit] - [][][\bold] + \setups{vim-minor-groups} - \setvimsyntax - [Type,StorageClass, Structure, Typedef] - [][][\bold] + \definesyntaxgroup + [Number] + [\c!color={h=907000}] +\stopcolorscheme - \setvimsyntax [Special, SpecialKey] +\startcolorscheme[blackandwhite] + \definesyntaxgroup + [Constant] - \setvimsyntax [Tag, Delmiter] + \definesyntaxgroup + [Identifier] - \setvimsyntax - [Comment, SpecialComment] - [][][\italic] + \definesyntaxgroup + [Statement] + [\c!style=bold] - \setvimsyntax - [Debug,Ignore] + \definesyntaxgroup + [PreProc] + [\c!style=bold] - \setvimsyntax [Todo] [][][\inframed] - \setvimsyntax [Error] [][][\overstrike] - \setvimsyntax [Underlined][][][\underbar] + \definesyntaxgroup + [Type] + [\c!style=bold] -\stopvimalternative + \definesyntaxgroup + [Special] -\setupvimtyping - [\c!tab=4, - \c!start=1, - \c!stop=0, - \c!syntax=context, - \c!alternative=pscolor, - \c!before=, - \c!after=, - \c!filtercommand=\vimtyping::filter_command, - \c!continue=yes, - \c!read=\v!yes, - \c!readcommand=\vimtyping::read_command, - \c!output=\externalfilterbasefile.vimout, - \c!setups=vimtyping::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=\tfx, - \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, - ] + \definesyntaxgroup + [Comment] + [\c!style=italic] -\def\currentvimtyping {\vimtyping::name} + \definesyntaxgroup + [Ignore] + + \definesyntaxgroup + [Todo] + [\c!command=\inframed] + + \definesyntaxgroup + [Error] + [\c!command=\overstrike] + + \definesyntaxgroup + [Underlined] + [\c!command=\underbar] + + \setups{vim-minor-groups} -\popcatcodetable +\stopcolorscheme +\protectmodulecatcodes \stopmodule |