A case for case insensitivity
From case sensitive to case insensitive labels.
Although Orgams editor is case insensitive for searches and opcodes, labels are case sensitive.
We want to switch this behavior, leading to best of both worlds:
- Easy editing (we wouldn't have to pick the correct case)
- Easy import of sources (Maxam, rasm, …)
- Consistent case across all occurrences of labels
- Unlike rasm, the correct case would be still displayed in error messages.
No more distinct cases in source
Since Orgams doesn't store each textual occurrence but only an id, it won't allow the same label displayed with two distinct cases.
Automatic consistency is a good thing.
That being said, such distinction was used as a convention was by some smart people:
- arbitrary case for label definition
- lower case for label uses
This allows Protext user to search definition / uses independently.
Orgams doesn't require such tricks, thanks to dedicated shortcuts:
- CONTROL-L searches for label definition (by prefix)
- CONTROL-F searches any text (by prefix, suffix, part or complete word, as wished)
- CONTROL-ENTER goes from label use to label definition
- CONTROL-RETURN returns back to use site
- CONTROL-* goes to next occurrence of the label (à la Vim)
Battle Plan
More precisions to come.
C.f. http://orgams.wikidot.com/todos
- #A1 [Parser] Case insensitivity for labels
- #A2 [Parser] Change label's case when defining it
- Optional: #A3 [Parser] Optimize label lookup
GET/PUT, Scriptable assembling
Cf http://orgams.wikidot.com/v2boiteaidees#toc6 (in French)
READ / INCLUDE
TODO
Operators priority
Orgams doesn't handle priorities, so expression should be rewritten or a warning emitted.