[NTG-context] Custom syntax highlighting

Aditya Mahajan adityam at umich.edu
Wed Mar 2 21:11:56 CET 2016


On Wed, 2 Mar 2016, Nicola wrote:

> On 2016-03-02 19:34:00 +0000, Aditya Mahajan said:
>
>> On Wed, 2 Mar 2016, Nicola wrote:
>> 
>>> On 2016-03-01 15:35:07 +0000, Aditya Mahajan said:
>>> 
>>>> On Tue, 1 Mar 2016, Nicola wrote:
>>>> 
>>>>> I'm using the latest beta, and I need syntax coloring for SQL
>>>>> (PostgreSQL variant). According to the wiki, there is no SQL
>>>>> syntax coloring available for MKIV yet, but I'd be happy to
>>>>> be wrong :)
>>>> 
>>>> You can use the vim module:
>>>> 
>>>> https://github.com/adityam/filter/blob/master/vim-README.md
>>> 
>>> I've set up your module and it works perfectly. It saved me a
>>> lot of time! But I need help for one more thing:
>>> \inlineMYLANG{X} adds a new line before and after X, as in
>>> \startMYLANG X \stopMYLANG. How do I prevent that? Well, why
>>> is that the case to begin with?
>> 
>> It shouldn't. Can you send me a minimal example.
>
> I have figured out myself: I have defined
>
> \definevimtyping[pgsql][..., before={\blank},after={\blank}, ...]
>
> which, I have realized, applies to inline text, too. How do I set up
> the environment so that there is some blank space before and after
> without affecting inline code?

You can change the space before and after display environments using 
spacebefore and spaceafter keys (see the documentation of filter 
module[1], which is used by the vim module)

There are two modes: location=paragraph and location=text. In 
location=paragraph you get

\blank[<spacebefore>]
<before>
<filtered content>
<after>
\blank[<spaceafter>]

In location=text (which is used by \inline...) you get

<left> <filtered content> <right>

The behaviour that you see is because, by default, I have set

    \c!left=\externalfilterparameter\c!before,
    \c!right=\externalfilterparameter\c!after,

Looking at git-blame, I see that this was always the case, ever since the 
left and right keys were added (I guess to keep backward compatibility at 
that time). Looking back, I think that this is not a good default and I 
will change it.

In the meanwhile, simply use

\definevimtyping[...][left=, right=,]

Aditya

[1]: https://github.com/adityam/filter




More information about the ntg-context mailing list