Thursday, November 29, 2012

Re: Indenting Based on Unbalanced Paranthesis

[Reversed the top-posting, per list preference]

On Thu, Nov 29, 2012 at 5:24 PM, Danny Gratzer wrote:

> I am writing an indentation script for a simple language. The language
> is has very simple constructs and the indentation really only has 3
> rules:
>
> 1. A comment has goes from a // until a newline, anything in a comment
> should be ignored.
>
> 2. If the line above contains a semi-colon, the indentation should be 0.
>
> 3. Otherwise, indent to 1 more than the most recent unbalanced ( and
> to 4 spaces if all paranthesis are balanced.
>
> The last rule is kinda stumping me, does anyone have any advice?

Don't write the indent file if you don't have to. What language are
you trying to indent?

Indenting gets slow if you have to scan the whole file. Unless you're
never dealing with at-all long files. Is there anything other than
semi-colons and parenthesis (im)balance that can be used for resetting
indentation?


On Thu, Nov 29, 2012 at 5:27 PM, Danny Gratzer wrote:

> Oh actually 1 more rule
>
> 4. If the line above matches "let:$", or "in:$" where $ is the end of
> line, indent by 1 more than this line.

On Thu, 29 Nov 2012, Danny Gratzer wrote:

> Excuse me, rule 3. should read:
>
> 3. Otherwise, indent to 1 more than the most recent unbalanced ( and to the
> same level as the last line if all parenthesis are balanced and no other
> rules apply.

It'd be helpful to see some samples of what you're trying to indent.
Especially to see whether the scan all the way to the start of the file
can be avoided.

--
Best,
Ben

--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

No comments:

Post a Comment