I'm a bit confused as to what we are referring to as case sensitive and case insensitive. So, I will just put forward my preference:
Keywords:
I don't want to be forced to use any particular case but I would like the IDE to have options to change whatever is typed in to suit personal choice.
All lowercase: setcamerposition
All uppercase: SETCAMERAPOSITION
lower camel case: setCamerPosition
upper camel case: SetCameraPosition
My personal choice would be lower camel case but not everybody would agree, which is why I think all options should be available.
Variables/Constants/UDT'sAgain I don't want to be forced to use any particular case and again I would like the IDE to change the case automatically but this time without setting any preferences. Instead they should be changed to match whatever they were declared as.
So:
+ Code Snippet#constant TRUE 1
global myGlobalVar as integer = 1
local myLocalVar as integer = 1
myVar = myLocalVar
type tVector3
x as float
y as float
z as float
endtype
myVec as tVector3
Now any future references to true, myglobalvar, mylocalvar, myvar, tvector3 and myvec will all get changed to match the case that they were either declared or first used (as is the case with the undeclared myVar).
Doing this removes the concern about myVar and myvar being two separate variables because the IDE would not allow them both to exist.