Upper Case code complete for Oxygene in VS

I see a preference for Insert directives in upper case in the Oxygene > Code Completion preferences in VS 2015. I believe this is in response to my request a while back (if so, thanks!). But it doesn’t seem to be working. At least, what I’m expecting is for keywords like procedure, begin, if/then, etc., to be inserted by CC in all caps instead of all lower case. The preference toggle does not change this for me in 10.0.0.2351 in VS 2015.

This seems to refer to directives only (ie {$IFDEF})?

Since these are always uppercase by standard, I’m unsure about the history this setting. I’ll check this ups with the team.

AFAIUK we have no support for uppercase keywords in CC, at this stage. Oxygene is case sensitive but case preserving; the canonical spelling for they keywords is lowercase, so that’s what CC provides. I’ll bring this hoop for discussion of we want to/can add an option…

1 Like

Ah, clearly.

I would greatly appreciate it. The legacy code base I work with uses upper case for keywords, so that’s what we use in the Oxygene Android app as well, so CC is actually counter-productive for me as I have to go back and re-type keywords without allowing CC to replace what I type.

1 Like

Thanks, logged as bugs://81661

1 Like

bugs://81661 got closed with status fixed.

Done for Fire and Water, as (undocumented) option called OxygeneUseUppercaseKeywords.

1 Like

This doesn’t seem to be working for me in Water with .2403. I added <OxygeneUseUppercaseKeywords>True</OxygeneUseUppercaseKeywords> in my user file and in my project file in the Project, Release, and Debug sections. I’m still getting lower case CC with both automatic CC and with forced CC (CTRL + space). Am I missing something?

Yes, it’s an IDE option, not a project setting. Registry,

HKEY_CURRENT_USER\Software\RemObjects\Elements\Water
(String) OxygeneUseUppercaseKeywords = "True"
1 Like

Well that will do it :slight_smile: looks like it’s working great. Thank you for this!

1 Like

Any time — glad it’s working ok for you!

1 Like

Where do I add this setting for Fire?

Hmm, looking at the code, this doesnt seem to be properly exposed at all. Will fix for tomorrow’s build

it’ll be defaults.write com.remobjects.Fire OxygeneUseUppercaseKeywords -bool YES in Terminal.

1 Like

No wait, that SHOULD work now. I misread the code.

This isn’t working for me :confused: I’m new to Mac though, so perhaps I’m missing something. Running “defaults.write” gives a “command not found” - I’m guessing that is a typo? If I run

defaults write com.remobjects.Fire OxygeneUseUppercaseKeywords -bool YES

it executes correctly. I can then run

defaults read com.remobjects.Fire OxygeneUseUppercaseKeywords

and it returns 1.

But I’m still getting lowercase keywords in Fire.

Sorry, yes, without the dot, that was a typo.

That should be it. I’ll test here in a bit. Note you do need to restart Fire for the change to take effect.

1 Like

I restarted Fire and even restarted my Mac but still not picking up the setting

Yeah, I see the same. but io dont get it. I set to to 1, defaults read com.remobjects.Fire OxygeneUseUppercaseKeywords returns one. I start Fire, it reads “0”, and defaults read com.remobjects.Fire OxygeneUseUppercaseKeywords then ALSO returns zero again. BUT, fire never ever writes this value, so I dont understand who/what resets it… :frowning:

I give up; I have no idea; as soon as I call

NSUserDefaults.standardUserDefaults.boolForKey(_name+“UseUppercaseKeywords”)

the value gets reset to 0 (and I get 0 returned). If I never call it, it stays 1 (all according to defaults read). Doesn’t happen for any off the million other settings I read (and write) thru this API.

Not sure what’s going on, but it seems I’m nu unable to add any settings via defaults write. they show up, but as soon as launch Fire; the get cleared; even ones Fitre never ever touches (eg defaults write com.remobjects.Fire Foo -bool YES.)

for vNext, I have (reluctantly ;)) exposed this feature in the IDE via Preferences; I’ve also added — similar to VB’s auto-capitalization — that typing keywords in lower or mixed case will upper-case them on space/enter, if the option is set. (I won’t lowercase them if its not, as that seems silly — who would purposely type em upper-cased or mixed-cased, if they want lowercase. Also not doing this enabled the very crazy people who want mixed case “Begin” ;).

1 Like