mbakeranalecta / sam

Semantic Authoring Markdown
Other
79 stars 8 forks source link

Should annotation lookup be case insensitive? #86

Closed mbakeranalecta closed 7 years ago

mbakeranalecta commented 8 years ago

Currently annotation lookup is case sensitive. This means that if a phrase is annotated at the beginning of a sentence, it won't be matched. Making the match case insensitive is trivial, but does it create hidden traps?

mbakeranalecta commented 7 years ago

An example of where case sensitivity matters is the SAM Language Specification in which terms for structures like flow, grid, and record are in lowercase, but the names of the objects that contain them are the same words but with uppercase letters, Flow, Grid, and Record. With case sensitive lookup, you don't have to annotate each of these separately.

The countervailing argument is that such cases are relatively rare and that for most writers, annotating words at the start of sentences and having the lookup work has more utility.

One solution would be to make the lookup case-insensitive by default but to provide a declaration that makes it case sensitive.

!annotation-lookup: case-sensitive

It is important that this be part of the document, not a parser flag, so that the interpretation of SAM documents is unambiguous.

mbakeranalecta commented 7 years ago

This has been implemented.