ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Aditya Mahajan <adityam@umich.edu>
To: mailing list for ConTeXt users <ntg-context@ntg.nl>
Subject: Re: colors for pretty-printing
Date: Tue, 7 Dec 2010 12:57:17 -0500 (EST)	[thread overview]
Message-ID: <alpine.LNX.2.01.1012071235150.28039@ybpnyubfg.ybpnyqbznva> (raw)
In-Reply-To: <4CFE3B3C.6020901@wxs.nl>

[-- Attachment #1: Type: TEXT/PLAIN, Size: 2812 bytes --]

On Tue, 7 Dec 2010, Hans Hagen wrote:

> On 7-12-2010 2:29, Aditya Mahajan wrote:
>> On Tue, 7 Dec 2010, Peter Münster wrote:
>> 
>>> On Mon, Dec 06 2010, Renaud AUBIN wrote:
>>>> 
>>>> Concerning the color abstraction patch, one needs just to overload
>>>> Ccomment, Cpreproc, Cstring, Ctype, Ckeyword, Cname and Cfuncnbound to
>>>> use custom color scheme.
>>> 
>>> You don't need that. There is already a standard interface for color
>>> and style
>>> configuration. Example:
>>> 
>>> \setupstartstop[CSnippetComment][color=blue]
>>> 
>>> So you can simplify t-pretty-c.mkiv:
>>> 
>>> \unprotect
>>> 
>>> \setupcolor[ema]
>>> 
>>> \definestartstop
>>> [CSnippetName]
>>> [\c!color=darkgoldenrod,
>>> \c!style=]
>> 
>> I have not looked into the new verbatim code yet, but I have been
>> thinking about a similar interface for a new module that uses external
>> programs for syntax highlighting (sort of a superset of t-vim that will
>> allow one to use other programs like pgyments, etc.).
>
> it all boils down hooking in a parser then:
>
> \startluacode
> local function parser(s)
>  local s = somexternalthing(s)
>  -- feedback s
> end
>
> visualizers.register("myparser", { parser = parser })
> \stopluacode
>
> \starttyping[option=myparser]
> ....
> \stoptyping

Thanks for the explanation. But, I am not too keen to write parsers on my 
own when I can easily borrow existing ones.

>> Why are you using a C prefix for all environments? Isn't it better to
>> use a syntax like this:
>> 
>> \startsetups[verbatim:C]
>> \definestartstop[SnippetName][color=...,style=...]
>> \definestartstop[string][color=...,style=...]
>> ....
>> \stopsetups
>> 
>> and then pass setups=verbatim:C to an appropriate \setup... command.
>> That will make it easy to share the same syntax highlighting between
>> different languages.
>
> it's hard to come up with common names for characteristics for all those 
> languages

But it does allow you to choose a "color scheme" for pretty printing. This 
is similar to how most editors choose color schemes.

> but at some point we can have a set predefined as default
>
> btw, startstop can inherit (now):
>
> \definestartstop
>    [MetapostSnippet]
>    [DefaultSnippet]
>
> etc so there is no need for setups

Setups have an advantage that one does not pollute the cs names. After 
all, \DefaultSnippet is not useful outside the pretty printing region.

An alternative could be to use a namsespace in define in all definitions, 
e.g.,

\definestartstop[visualizer::Snippet]

On a related note, does it make sense to add foregroundcolor and 
foregroupdstyle keys to \definebar? (Then, bars will be an appropriate and 
versatile mechanism to define syntax highlighting regions).

Aditya

[-- Attachment #2: Type: text/plain, Size: 486 bytes --]

___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

  reply	other threads:[~2010-12-07 17:57 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-03  8:17 pret-c.lua -> v-c.lua Peter Münster
2010-12-03  9:28 ` Renaud AUBIN
2010-12-03 21:31   ` Peter Münster
2010-12-03 21:38     ` Hans Hagen
2010-12-04  2:31       ` Renaud AUBIN
2010-12-05  2:06         ` Renaud AUBIN
2010-12-05  9:36           ` Peter Münster
2010-12-05 19:20             ` Renaud AUBIN
2010-12-06  8:54           ` Hans Hagen
2010-12-06 14:04             ` Peter Münster
2010-12-06 19:55               ` Renaud AUBIN
2010-12-07 11:25                 ` colors for pretty-printing (was: Re: pret-c.lua -> v-c.lua) Peter Münster
2010-12-07 13:29                   ` Aditya Mahajan
2010-12-07 13:48                     ` colors for pretty-printing Hans Hagen
2010-12-07 17:57                       ` Aditya Mahajan [this message]
2010-12-07 19:30                         ` Hans Hagen
2010-12-08  5:22                           ` Aditya Mahajan
2010-12-07 20:35                   ` Renaud AUBIN
2010-12-07 21:45                     ` Peter Münster
2010-12-08 20:13                       ` Renaud AUBIN
2010-12-10 10:47                         ` Peter Münster
2010-12-10 10:54                           ` Renaud AUBIN
2010-12-10 11:11                             ` Peter Münster
2010-12-10 11:28                               ` Renaud AUBIN

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=alpine.LNX.2.01.1012071235150.28039@ybpnyubfg.ybpnyqbznva \
    --to=adityam@umich.edu \
    --cc=ntg-context@ntg.nl \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).