Left margin of vim module output
Hi, how can I adjust the left margin of the output of the vim module? The core typing mechanism implements a “margin” key for this. The vim output also does not react to the “leftoffset” setting of the background mechanism. \usemodule [vim] \definetextbackground [code] [location=paragraph, %leftoffset=1cm, topoffset=5mm] \definevimtyping [C] [syntax=c, before={\starttextbackground[code]}, after=\stoptextbackground] \setuptyping [typing] [margin=1cm, before={\starttextbackground[code]}, after=\stoptextbackground] \starttext \startC /* This MEMB() definition defines a memory pool from * which we allocate neighbour entries. */ MEMB(neighbours_memb, struct neighbour, MAX_NEIGHBOURS); \stopC \blank \starttyping /* This MEMB() definition defines a memory pool from * which we allocate neighbour entries. */ MEMB(neighbours_memb, struct neighbour, MAX_NEIGHBOURS); \stoptyping \stoptext Marco
On Wed, 1 Aug 2012, Marco Patzer wrote:
how can I adjust the left margin of the output of the vim module?
Currently, vim module does not provide any option similar to the margin key for typing mechanism, but you can wrap the code around a `narrower` environment. \usemodule [vim] \definenarrower [code] [left=3cm, default=left] \showframe \starttext \startC /* This MEMB() definition defines a memory pool from * which we allocate neighbour entries. */ MEMB(neighbours_memb, struct neighbour, MAX_NEIGHBOURS); \stopC \stoptext Aditya
On Wed, 1 Aug 2012, Aditya Mahajan wrote:
On Wed, 1 Aug 2012, Marco Patzer wrote:
how can I adjust the left margin of the output of the vim module?
Currently, vim module does not provide any option similar to the margin key for typing mechanism, but you can wrap the code around a `narrower` environment.
Sorry, this does not work because of the \forgetall in t-syntax-highlight.mkiv (I was testing with that line commented out). I'll add a margin key to vim module (but not the oddmargin and evenmargin keys; they would require a complete low-level rewrite of the module). Aditya
On Wed, 1 Aug 2012, Aditya Mahajan wrote:
I'll add a margin key to vim module (but not the oddmargin and evenmargin keys; they would require a complete low-level rewrite of the module).
The dev version on github now includes a margin key, so you can add margin=<dimen> to \setupvimtyping or \definevimtyping. (I haven't tested it too much, hence no new release at the moment). Note that this works differently from \definetyping. The typing environment honors the leftskip set by its parent environment (for example, if typing is inside startbackground); vimtyping environment resets all the settings of its parent environment. Aditya
On 2012-08-01 Aditya Mahajan
I'll add a margin key to vim module (but not the oddmargin and evenmargin keys; they would require a complete low-level rewrite of the module).
Thanks a million. That was fast :)
The dev version on github now includes a margin key,
Does it? I just can see a new test file in the recent commit history (without margin key, however). Did you already push the changes to the public repo?
I haven't tested it too much
That's my part, I guess
hence no new release at the moment).
No problem, I'm totally fine with the git repo.
Note that this works differently from \definetyping. The typing environment honors the leftskip set by its parent environment (for example, if typing is inside startbackground); vimtyping environment resets all the settings of its parent environment.
That's why the hacks that I tried before all miserably failed. Thanks again! Marco
On Wed, 1 Aug 2012, Marco Patzer wrote:
On 2012-08-01 Aditya Mahajan
wrote: The dev version on github now includes a margin key,
Does it? I just can see a new test file in the recent commit history (without margin key, however). Did you already push the changes to the public repo?
You are right. Pushed this time. Aditya
participants (2)
-
Aditya Mahajan
-
Marco Patzer