diff options
author | Hans Hagen <pragma@wxs.nl> | 2009-07-17 13:16:00 +0200 |
---|---|---|
committer | Hans Hagen <pragma@wxs.nl> | 2009-07-17 13:16:00 +0200 |
commit | b32da8747292384893ea07a0a5659b24eb216c10 (patch) | |
tree | 375c6cd142330f37405076299c4d282b666640f9 /tex/context/base/verb-c.tex | |
parent | 18304b4851a1a4af0b4bc614e2e61673e40c62a7 (diff) | |
download | context-b32da8747292384893ea07a0a5659b24eb216c10.tar.gz |
stable 2009.07.17 13:16
Diffstat (limited to 'tex/context/base/verb-c.tex')
-rw-r--r-- | tex/context/base/verb-c.tex | 484 |
1 files changed, 0 insertions, 484 deletions
diff --git a/tex/context/base/verb-c.tex b/tex/context/base/verb-c.tex deleted file mode 100644 index 1ecb0afc2..000000000 --- a/tex/context/base/verb-c.tex +++ /dev/null @@ -1,484 +0,0 @@ -%D \module -%D [ file=verb-c, -%D version=2006.04.17, -%D title=\CONTEXT\ Verbatim Macros, -%D subtitle=Pretty C Verbatim, -%D author=Nikolai Weibull, -%D date=\currentdate, -%D copyright={PRAGMA ADE}] -%C -%C This module is part of the \CONTEXT\ macro||package and is -%C therefore copyrighted by \PRAGMA. See mreadme.pdf for -%C details. - -\writestatus{loading}{ConTeXt Verbatim Macros / Pretty C Verbatim} - -% HH: -% -% - extra !!pretty definitions moved to verb-ini -% - added a c! -% - did a few small cosmetic things - -\unprotect - -\doglobal\newif\ifinCsingle -\doglobal\newif\ifinCdouble -\doglobal\newif\ifinCcomment -\doglobal\newif\ifinCsinglelinecomment -\doglobal\newif\ifinCmultilinecomment -\doglobal\newif\ifcontinueCsinglelinecomment - -\gdef\Csetcontrols - {\saveprettycontrols - \def\obeyedspace - {\endCtypesix - \oldobeyedspace}% - \def\flushrestofverbatimline - {\endCtypesix - \ifinCsinglelinecomment - \ifcontinueCsinglelinecomment - \continueCsinglelinecommentfalse - \else - \tttf - \endofpretty - \global\inCsinglelinecommentfalse - \global\inCcommentfalse - \fi - \fi}% - \def\obeyedline - {\oldobeyedline}% - \let\obeytabs\ignoretabs} - -\gdef\setupprettyCtype - {\def\prettyidentifier{C}% - \Csetvariables - \Csetcontrols - \Csethandlers - \Csetspecials - \Csetdiagnostics} - -\gdef\Csetvariables - {\global\inCsinglefalse - \global\inCdoublefalse - \global\inCcommentfalse - \global\continueCsinglelinecommentfalse - \global\naturaltextexttrue - \global\let\Csequence\empty - \global\let\Cprefix\empty} - -% TODO: should handle -> as well - -\gdef\Csetspecials - {\setpretty`\{=10 \setpretty`\}=10 - \setpretty`\$=20 \setpretty`\@=20 - \setpretty`\[=30 \setpretty`\]=30 \setpretty`\(=30 \setpretty`\)=30 - \setpretty`\==30 \setpretty`\~=30 \setpretty`\<=30 \setpretty`\>=30 - \setpretty`\%=30 - \setpretty`\-=41 \setpretty`\+=41 - \setpretty`\|=41 \setpretty`\`=41 \setpretty`\!=41 \setpretty`\?=41 - \setpretty`\^=41 \setpretty`\&=41 - \setpretty`\/=43 \setpretty`\*=44 - \setpretty`\#=45 - \setpretty`\\=50 - \setpretty`\1=61 \setpretty`\2=61 \setpretty`\3=61 \setpretty`\4=61 \setpretty`\5=61 - \setpretty`\6=61 \setpretty`\7=61 \setpretty`\8=61 \setpretty`\9=61 \setpretty`\0=61 - \setpretty`\A=62 \setpretty`\B=62 \setpretty`\C=62 \setpretty`\D=62 \setpretty`\E=62 - \setpretty`\F=62 \setpretty`\G=62 \setpretty`\H=62 \setpretty`\I=62 \setpretty`\J=62 - \setpretty`\K=62 \setpretty`\L=62 \setpretty`\M=62 \setpretty`\N=62 \setpretty`\O=62 - \setpretty`\P=62 \setpretty`\Q=62 \setpretty`\R=62 \setpretty`\S=62 \setpretty`\T=62 - \setpretty`\U=62 \setpretty`\V=62 \setpretty`\W=62 \setpretty`\X=62 \setpretty`\Y=62 - \setpretty`\Z=62 - \setpretty`\a=62 \setpretty`\b=62 \setpretty`\c=62 \setpretty`\d=62 \setpretty`\e=62 - \setpretty`\f=62 \setpretty`\g=62 \setpretty`\h=62 \setpretty`\i=62 \setpretty`\j=62 - \setpretty`\k=62 \setpretty`\l=62 \setpretty`\m=62 \setpretty`\n=62 \setpretty`\o=62 - \setpretty`\p=62 \setpretty`\q=62 \setpretty`\r=62 \setpretty`\s=62 \setpretty`\t=62 - \setpretty`\u=62 \setpretty`\v=62 \setpretty`\w=62 \setpretty`\x=62 \setpretty`\y=62 - \setpretty`\z=62 - \setpretty`\_=62 - \setpretty`\;=70 \setpretty`\:=70 \setpretty`\,=70 \setpretty`\.=70 - \setpretty`\'=80 - \setpretty`\"=90 } - -\gdef\Csethandlers - {\installprettyhandler 10 \Ctypeone - \installprettyhandler 20 \Ctypetwo - \installprettyhandler 30 \Ctypethree - \installprettyhandler 41 \Ctypefourone - \installprettyhandler 43 \Ctypefourthree - \installprettyhandler 44 \Ctypefourfour - \installprettyhandler 45 \Ctypefourfive - \installprettyhandler 50 \Ctypefive - \installprettyhandler 61 \Ctypesixone - \installprettyhandler 62 \Ctypesixtwo - \installprettyhandler 70 \Ctypeseven - \installprettyhandler 80 \Ctypeeight - \installprettyhandler 90 \Ctypenine} - -\gdef\Ctypeone#1% - {\ifinCdouble - \ifinCcomment - \endCtypesix - \getpretty{#1}% - \else\ifx\Cprefix\empty - \endCtypesix - \getpretty{#1}% - \else - \endCtypesix - \xdef\Cprefix{\getpretty{#1}}% - \beginofpretty[\!!prettyone]\getpretty{#1}\endofpretty - \fi\fi - \else - \endCtypesix - \ifinCcomment - \getpretty{#1}% - \else\ifinCsingle - \getpretty{#1}% - \else - \beginofpretty[\!!prettyone]\getpretty{#1}\endofpretty - \fi\fi - \fi} - -\gdef\Ctypetwo#1% - {\endCtypesix - \getpretty{#1}} - -\gdef\Ctypethree#1% - {\endCtypesix - \ifinCcomment - \getpretty{#1}% - \else\ifinCsingle - \getpretty{#1}% - \else\ifinCdouble - \getprettydata{#1}% - \ifx\Cprefix\empty - \getpretty{#1}% - \else - \beginofpretty[\!!prettythree]\getpretty{#1}\endofpretty - \fi - \else - \beginofpretty[\!!prettythree]\getpretty{#1}\endofpretty - \fi\fi\fi} - -\gdef\Ctypefourone#1% - {\endCtypesix - \ifinCcomment - \getpretty{#1}% - \else\ifinCsingle - \getpretty{#1}% - \else\ifinCdouble - \getpretty{#1}% - \else - \beginofpretty[\!!prettyfour]\getpretty{#1}\endofpretty - \fi\fi\fi} - -\gdef\doCtypefourtwo#1#2% - {\getprettydata{#2}% - \ifnum\prettytype=62 - \expandafter\Ctypetwo - \else - \expandafter\Ctypefourone - \fi - {#1}#2} - -\gdef\Ctypefourtwo - {\handlenextnextpretty\doCtypefourtwo\Ctypefourone} - -\gdef\Ctypefourthree - {\handlenextnextpretty\doCtypefourthree\Ctypefourtwo} - -\gdef\doCtypefourthree#1#2% - {\getprettydata{#2}% - \ifnum\prettytype=43 - \let\next\dodoCtypefourthree - \else\ifnum\prettytype=44 - \global\inCcommenttrue - \global\inCmultilinecommenttrue - \let\next\Cstartcomment - \else - \let\next\Ctypefourtwo - \fi\fi - \next{#1}#2} - -\gdef\Cstartcomment#1#2% - {\beginofpretty[\!!prettyfourthree]\ttsl\getpretties{#1}{#2}} - -\gdef\dodoCtypefourthree% #1% - {\endCtypesix - \handlenextnextpretty\dododoCtypefourthree\dodododoCtypefourthree} - -\gdef\dododoCtypefourthree - {\ifnewpretty\expandafter\handlenewpretty\fi\dodododoCtypefourthree} - -\gdef\dodododoCtypefourthree#1#2% - {\ifinCcomment - \getpretties{#1}{#2}% - \else - \global\inCcommenttrue - \global\inCsinglelinecommenttrue - \def\next{\beginofpretty[\!!prettyfourthree]\ttsl\getpretties{#1}{#2}}% - \expandafter\next - \fi} - -\gdef\Ctypefourfour - {\handlenextnextpretty\doCtypefourfour\Ctypefourtwo} - -\gdef\doCtypefourfour#1#2% - {\getprettydata{#2}% - \ifnum\prettytype=44 - % \beginofpretty[\!!prettyfour]\getpretty{#1}\endofpretty - \ifinCcomment - \getpretty{#1}% - \else - \endCtypesix - \beginofpretty[\!!prettyfour]\getpretty{#1}\endofpretty - \fi - \expandafter#2% - \else\ifnum\prettytype=43 - \getpretties{#1}{#2}% - \tttf - \endofpretty - \global\inCcommentfalse - \global\inCmultilinecommentfalse - \else\ifinCcomment - \getpretty{#1}% - \expandafter#2% - \else\ifinCsingle - \getpretty{#1}% - \expandafter#2% - \else\ifinCdouble - \getpretty{#1}% - \expandafter#2% - \else - \endCtypesix - \beginofpretty[\!!prettyfour]\getpretty{#1}\endofpretty - \expandafter#2% - \fi\fi\fi\fi\fi} - -\gdef\Ctypefourfive#1% - {\ifinCcomment - \getpretty{#1}% - \else\ifinCsingle - \getpretty{#1}% - \else\ifinCdouble - \getpretty{#1}% - \else - \endCtypesix - \global\inCcommenttrue - \global\inCsinglelinecommenttrue - \def\next{\beginofpretty[\!!prettyfourthree]\ttsl\getpretty{#1}}% - \expandafter\next - \fi\fi\fi} - -\gdef\doCtypefiveA#1#2% - {\endCtypesix - \ifinCcomment - \getpretties{#1}{#2}% - \else\ifinCsingle - \getprettydata{#2}% - \ifnum\prettytype=50 - \beginofpretty[\!!prettyfive]\getpretties{#1}{#2}\endofpretty\beginofpretty[\!!prettyeight]% - \else\ifnum\prettytype=80 - \beginofpretty[\!!prettyfive]\getpretties{#1}{#2}\endofpretty\beginofpretty[\!!prettyeight]% - \else - \getpretties{#1}{#2}% - \fi\fi - \else\ifinCdouble - \beginofpretty[\!!prettyfive]\getpretties{#1}{#2}\endofpretty\beginofpretty[\!!prettynine]% - \else - \beginofpretty[\!!prettyfive]\getpretties{#1}{#2}\endofpretty - \fi\fi\fi} - -\gdef\doCtypefiveB#1% - {\endCtypesix - \ifinCcomment - \ifcat#1\relax - \continueCsinglelinecommenttrue - \getpretty{#1}% - \else - \getpretty{#1}% - \fi - \else\ifinCsingle - \getpretty{#1}% - \else\ifinCdouble - \beginofpretty[\!!prettyfive]\getpretty{#1}\endofpretty\beginofpretty[\!!prettynine]% - \else - \beginofpretty[\!!prettyfive]\getpretty{#1}\endofpretty - \fi\fi\fi} - -\gdef\Ctypefive - {\expandafter\handlenextnextpretty\expandafter\doCtypefiveA\expandafter\doCtypefiveB} - -\gdef\endCtypesix - {\ifx\Csequence\empty\else - \ifinCcomment - \Csequence - \else\ifinCsingle - \Csequence - \else\ifinCdouble - \Csequence - \else\ifx\Cprefix\empty - \doendCtypesix\!!prettytwo - \else - \doendCtypesixtype\!!prettytwo - \fi\fi\fi\fi - \global\let\Csequence\empty - \global\let\Cprefix\empty - \fi} - -\gdef\doendCtypesix#1% - {\doifprettyidentifierelse{\Csequence}{\Ckeywords} - {\beginofpretty[#1]% - {\prettyidentifierfont\Csequence}% - \endofpretty} - {\doifprettyidentifierelse{\Csequence}{\Ctypes} - {\beginofpretty[\!!prettytwoone]% - {\prettyvariablefont\Csequence}% - \endofpretty} - {\Csequence}}} - -\gdef\doendCtypesixtype#1% - {\doifprettyidentifierelse{\Cprefix\Csequence}{\Ctypes} - {\beginofpretty[#1]% - {\prettyvariablefont\Csequence}% - \endofpretty} - {\Csequence}} - -\gdef\Ctypesixone#1% - {\ifinCcomment - \def\next{\getpretty{#1}}% - \else\ifinCsingle - \def\next{\getpretty{#1}}% - \else\ifinCdouble - \def\next{\getpretty{#1}}% - \else\ifx\Csequence\empty - \def\next{\beginofpretty[\!!prettyeight]\getpretty{#1}\endofpretty}% - \else - \def\next{\Ctypesixtwo{#1}}% - \fi\fi\fi\fi - \expandafter\next} - -\gdef\Ctypesixtwo#1% - {\ifinCcomment - \getpretty{#1}% - \else\ifinCsingle - \getpretty{#1}% - \else\ifinCdouble - \ifx\Cprefix\empty - \getpretty{#1}% - \else - \xdef\Csequence{\Csequence\getpretty{#1}}% - \fi - \else - \xdef\Csequence{\Csequence\getpretty{#1}}% - \fi\fi\fi} - -\gdef\Ctypeseven#1% - {\endCtypesix - \getpretty{#1}} - -\gdef\Ctypeeight#1% single quote - {\endCtypesix - \ifinCcomment - \getpretty{#1}% - \else\ifinCdouble - \getpretty{#1}% - \else\ifinCsingle - \global\inCsinglefalse - \getpretty{#1}% - \endofpretty - \else - \global\inCsingletrue - \beginofpretty[\!!prettyeight]\getpretty{#1} - \fi\fi\fi} - -\gdef\Ctypenine#1% double quote - {\endCtypesix - \ifinCcomment - \getpretty{#1}% - \else\ifinCsingle - \getpretty{#1}% - \else\ifinCdouble - \global\inCdoublefalse - \getpretty{#1}% - \endofpretty - \else - \global\inCdoubletrue - \beginofpretty[\!!prettynine]\getpretty{#1} - \fi\fi\fi} - -\gdef\doreportprettyCtype#1#2#3#4% - {#1% - [C \string#2 typing conflict, use \string#3 instead] - \writestatus - {C typing} - {use \string#3 instead of \string#2 to enable propper visualization}% - \global#4% - \expandafter\doemptyverbatimline - \fi} - -\gdef\reportprettyCtype - {\doreportprettyCtype\ifinCsingle'\'\inCsinglefalse - \doreportprettyCtype\ifinCdouble"\"\inCdoublefalse} - -\gdef\Csetdiagnostics - {\let\normaldoemptyverbatimline\doemptyverbatimline - \def\doemptyverbatimline - {\normaldoemptyverbatimline - \reportprettyCtype}} - -\useprettyidentifiers \Ckeywords \Csetspecials - break case continue default do else for goto if return sizeof switch while - -\useprettyidentifiers \Ctypes \Csetspecials - auto char const double enum extern float int long register restrict short - signed static struct typedef union unsigned void volatile bool - -\installprettytype [C] [C] - -\definetyping[C][\c!option=C] - -\definecolor [colorprettyone] [black] -\definecolor [colorprettytwo] [r=.46, g=.38, b=.13] -\definecolor [colorprettytwoone] [r=.38, g=.18, b=.5] -\definecolor [colorprettythree] [black] -\definecolor [colorprettyfour] [black] -\definecolor [colorprettyfourthree] [r=.15, g=.45, r=.15] -\definecolor [colorprettyfive] [r=.94, g=.15, b=.15] -\definecolor [colorprettyeight] [r=.58, g=.09, b=.09] -\definecolor [colorprettynine] [r=.58, g=.09, b=.09] - -\definecolor [grayprettyone] [s=.30] -\definecolor [grayprettytwo] [s=.45] -\definecolor [grayprettythree] [s=.60] -\definecolor [grayprettyfour] [s=.75] -\definecolor [grayprettyfourthree] [s=.70] - -\definepalet - [colorpretty] - [ prettyone=colorprettyone, - prettytwo=colorprettytwo, - prettytwoone=colorprettytwoone, - prettythree=colorprettythree, - prettyfour=colorprettyfour, - prettyfourthree=colorprettyfourthree, - prettyfive=colorprettyfive, - prettyeight=colorprettyeight, - prettynine=colorprettynine] - -\definepalet - [graypretty] - [ prettyone=grayprettyone, - prettytwo=grayprettytwo, - prettythree=grayprettythree, - prettyfour=grayprettyfour, - prettyfourthree=grayprettyfourthree] - -\definepalet [Ccolorpretty] [colorpretty] -\definepalet [Cgraypretty] [graypretty] - -\setuptyping - [C] - [\c!icommand=\tttf] - -\protect \endinput - |