From 3cb4263a8fea39da39d23b6e1a65d258913aa6d6 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 21 Oct 2011 22:37:11 +0000 Subject: context-vim (21oct11) git-svn-id: svn://tug.org/texlive/trunk@24356 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/tex/context/third/vim/2context.vim | 20 ++-- .../tex/context/third/vim/t-syntax-groups.tex | 10 +- .../tex/context/third/vim/t-syntax-highlight.tex | 47 +++++--- Master/texmf-dist/tex/context/third/vim/t-vim.tex | 129 ++++++++++++++++++++- 4 files changed, 174 insertions(+), 32 deletions(-) (limited to 'Master/texmf-dist/tex/context/third') diff --git a/Master/texmf-dist/tex/context/third/vim/2context.vim b/Master/texmf-dist/tex/context/third/vim/2context.vim index 17a63b1fcfa..71c811520db 100644 --- a/Master/texmf-dist/tex/context/third/vim/2context.vim +++ b/Master/texmf-dist/tex/context/third/vim/2context.vim @@ -42,14 +42,20 @@ let s:strip = strlen( matchstr( getline(s:lstart), '^\s*' ) ) " Find the smallest leading white space if exists("strip") && strip && (s:strip != 0) - echo "In the loop" + echo "Calculating amount of leading whitespace" for s:lnum in range(s:lstart, s:lstop) let s:line = getline(s:lnum) - let s:space = matchstr(s:line, '^\s*') - let s:len = strlen(s:space) - echo s:len - let s:strip = min(s:strip, s:len) + if (match(s:line, '^\s*$')) == -1 " line is not empty + let s:space = matchstr(s:line, '^\s*') + let s:len = strlen(s:space) + " echo s:len + let s:strip = min([s:strip, s:len]) + if s:strip == 0 + break + end + end endfor + " echo "Strip amount:" . s:strip else let s:strip = 0 endif @@ -65,7 +71,7 @@ while s:lnum <= s:lstop let s:new = '' " Loop over each character in the line - let s:col = 1 + let s:col = s:strip + 1 while s:col <= s:len let s:startcol = s:col " The start column for processing text let s:id = synID (s:lnum, s:col, 1) @@ -113,7 +119,7 @@ while s:lnum <= s:lstop endwhile " Remove leading whitespace - let s:new = substitute(s:new, '^\s\{' . s:strip . '\}', "", "") +" let s:new = substitute(s:new, '^\s\{' . s:strip . '\}', "", "") " Highlight line, if needed. if (index(highlight, s:lnum) != -1) 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 3ecf5f319e1..e81698a15d2 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.09.03, +%D version=2011.10.20, %D title=\CONTEXT\ User Module, %D subtitle=Syntax highlighting support, %D author=Aditya Mahajan, @@ -9,9 +9,7 @@ %D email=adityam ieee org, %D license=Simplified BSD License] -\writestatus{loading}{Syntax highlighting groups (ver: 2011.09.03)} - -\tracingmacros=1 +\writestatus{loading}{Syntax highlighting groups (ver: 2011.10.20)} % Colors are specified in hex; in MkII the hex mode needs to be activated. \doifmode\s!mkii @@ -77,7 +75,7 @@ \starttexdefinition colorscheme::start [#1] \pushmacro\colorscheme::name \setcolorscheme{#1} - \setupsyntaxgroup[\c!color=,\c!style=,\c!command=] + %\setupsyntaxgroup[\c!color=,\c!style=,\c!command=] \stoptexdefinition \def\stopcolorscheme @@ -89,6 +87,7 @@ \starttexdefinition syntaxgroup [#1]#2 % #1 = style % #2 = content + \syntaxgroupparameter\c!before \begingroup \edef\syntaxgroup::name{\colorscheme::name#1}% \iftracesyntaxgroups @@ -101,6 +100,7 @@ \externalfilter::attributes_stop } \endgroup + \syntaxgroupparameter\c!after \stoptexdefinition %D Tracing macros 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.tex index dca073244e8..2cfa6ae6804 100644 --- a/Master/texmf-dist/tex/context/third/vim/t-syntax-highlight.tex +++ b/Master/texmf-dist/tex/context/third/vim/t-syntax-highlight.tex @@ -18,6 +18,19 @@ \unprotectmodulecatcodes +%% Temporary bugfix + +\startmode[\s!mkii] +\def\p!doifinsetelse#1#2#3#4% + {\donefalse + \edef\!!stringa{#3}% + \ifx\!!stringa\empty + \else + \processcommacommand[#4]\p!docheckiteminset + \fi + \ifdone\expandafter#1\else\expandafter#2\fi} +\stopmode + \startinterface all \setinterfaceconstant {syntax} {syntax} \setinterfaceconstant {highlight} {highlight} @@ -124,34 +137,34 @@ \linenumber=\syntaxhighlighting::linenumber} \stopsetups -\startmode [\s!mkiv] \starttexdefinition syntaxhighlighting::read_command #1 - \doifinsetelse{\externalfilterparameter\c!numbering}\syntaxhighlighting::yes + \syntaxhighlighting::linenumbering_start + \ReadFile{#1} + \syntaxhighlighting::linenumbering_stop +\stoptexdefinition + +\startmode [\s!mkiv] +\starttexdefinition syntaxhighlighting::linenumbering_start + \doifinset{\externalfilterparameter\c!numbering}\syntaxhighlighting::yes {\startlinenumbering [\syntaxhighlighting::name] - [\c!continue=\externalfilterparameter{\c!number\c!continue}] - \ReadFile{#1} - \stoplinenumbering} - {\ReadFile{#1}} + [\c!continue=\externalfilterparameter{\c!number\c!continue}]} \stoptexdefinition \stopmode \startmode [\s!mkii] -\starttexdefinition syntaxhighlighting::read_command #1 - \doifinsetelse{\externalfilterparameter\c!numbering}\syntaxhighlighting::yes - {\doifinsetelse{\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} - \syntaxhighlighting::read_command_aux{#1} - \stoplinenumbering} - {\syntaxhighlighting::read_command_aux{#1}} -\stoptexdefinition - -\starttexdefinition syntaxhighlighting::read_command_aux #1 - \ReadFile{#1} + {\startlinenumbering}} \stoptexdefinition \stopmode +\starttexdefinition syntaxhighlighting::linenumbering_stop + \doifinset{\externalfilterparameter\c!numbering}\syntaxhighlighting::yes + {\stoplinenumbering} +\stoptexdefinition \setupsyntaxhighlighting [\c!tab=4, 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 76dfab6b88a..930d49b7e6e 100644 --- a/Master/texmf-dist/tex/context/third/vim/t-vim.tex +++ b/Master/texmf-dist/tex/context/third/vim/t-vim.tex @@ -41,8 +41,62 @@ \edef\vimtyping::name{#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]} +\stoptexdefinition + +\starttexdefinition vimtyping::start_raw [#1][#2] + % #1 = filter + % #2 = options + \egroup %\bgroup in \start#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 + \processcommacommand[\externalfilterparameter\c!setups]\directsetup + \gobbleoneargument % For some reason the next argument is ^M +\stoptexdefinition + +\starttexdefinition vimtyping::stop_raw + + \syntaxhighlighting::linenumbering_stop + \externalfilter::attributes_stop + \externalfilterparameter\c!after + \endgroup + \stoptexdefinition +\starttexdefinition vimtyping::inline_raw [#1][#2] + % #1 = filter + % #2 = options + + \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 + % We assume that the setups set minimal_catcodes + \processcommacommand[\externalfilterparameter\c!setups]\directsetup + + \vimtyping::inline_raw_aux +\stoptexdefinition + +\starttexdefinition vimtyping::inline_raw_aux #1 + #1 + \externalfilter::attributes_stop + \endgroup +\stoptexdefinition + + % Mode to testing the dev version of 2context script. \doifmodeelse{vim-dev} {\def\vimtyping::script_name{2context.vim}} @@ -139,6 +193,16 @@ } \stopsetups +\defineframed[vimtodoframed] + [ + \c!location=\v!low, + \c!frame=\v!off, + \c!background=\v!color, + \c!backgroundcolor=vimtodoyellow, + ] + +\definecolor[vimtodoyellow] + [h={E0E090}] \startsetups[vim-minor-groups] \definesyntaxgroup @@ -203,9 +267,11 @@ \definesyntaxgroup [Ignore] - \definesyntaxgroup - [Todo] - [\c!color={h=800000}] + \definesyntaxgroup + [Todo] + [\c!color={h=800000}, + \c!command=\vimtodoframed] + \definesyntaxgroup [Error] @@ -216,6 +282,11 @@ [\c!color={h=6a5acd}, \c!command=\underbar] + \definesyntaxgroup + [Todo] + [\c!color={h=800000}, + \c!command=\vimtodoframed] + \setups{vim-minor-groups} \definesyntaxgroup @@ -266,6 +337,58 @@ \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 -- cgit v1.2.3