Subject: Re: [PATCH] userdiff: add support for Fountain documents

From: Junio C Hamano <[email-masked]>
Date: Fri, 17 Jul 2015 15:43:15 -0700

Junio C Hamano <[email-masked]> writes:

> Zoë Blade <[email-masked]> writes:
>
>> More information about the Fountain format can be found on its
>> official website, at http://fountain.io .

So I visited there.

>> +PATTERNS("fountain", "^((INT|EST|EXT)?\\.[A-Z0-9' -]+)$",
>> +	 "[^ \t-]+"),

After skimming http://fountain.io/syntax I am getting the impression
that this might be a bit too limiting.

 * Although uppercase is recommended for Scene Headings to increase
   readability, it is not required.

 * A line beginning with any of the following, followed by either a
   dot or a space, is considered a Scene Heading (unless the line is
   preceded by an exclamation point !). Case insensitive.

      INT
      EXT
      EST
      INT./EXT
      INT/EXT
      I/E

 * You can "force" a Scene Heading by starting the line with a
   single period.

 * Scene Headings can optionally be appended with Scene
   Numbers. Scene numbers are any alphanumerics (plus dashes and
   periods), wrapped in #.

So, it appears wrong to insist on capital letters in the patterns.
The pattern in the patch does not even accept punctuations on the
line other than apostrophe.  I won't judge if it is OK to limit to
US-ASCII ;-)

IPATTERNS("fountain",
    "^([.][^.]|(INT|EXT|EST|INT./EXT|INT/EXT|I/E)[. ]",
    "[^ \t-]+"),

or something like this, perhaps?