I am designing a language where end-of-line means end-of-statement
and where indenting is used instead of begin-end. While this saves
a lot of typing and prevents the programmer from errors, there are
a lot of people against it (see 'the semicolon habit' and other
articles). I can think of two extensions to the language to
overcome their problems:

- Add a TAB <n> compiler directive to adjust the tab width. This
allows people to use different settings. Also, when code tends
to walk off the right side of your screen you could adjust the
tab setting temporarily to a smaller amount.
It might also be nice to have your texteditor recognize this
directive and adjust its own setting accordingly.
- Add some directive to switch to begin/end statements instead of
indenting. End of line will still be end-of-statement, however.
This might also be easier for program generators to generate code.

Would this satisfy everyone's needs?

I found one problem myself: placement of labels on empty lines.
In this code:

while a < b
a = a+1
label:
next statement

there is no way for the compiler to tell if the label points to the end of
the loop or to the statement after the loop. Can anyone think of a solution?