Whitespace in Water

I’ve been using Water instead of VS for the past few days and am really enjoying it. An oddity that’s preventing me from switching to it fully at the moment is the way whitespaces are handled. Our code uses tabs, but I’m noticing in my diff program that all of the tabs are automatically replaced with two spaces. It would be nice either to have a preference for using tabs or simply to not change it in the first place.

Also, I noticed that Regex search and Options>Editor>Theme are both greyed out. Are those simply features that haven’t been implemented yet?

I’m afraid right now tab/space settings for the four languages are hardcoded (Tabs, shown as 4 spaces for C#, Swift and Java), Spaces for Oxygene; it’s on my list to make that configurable, but it’s on a low priority right now.

The editor is by nature non-preserving for tabs vs. spaces (IOW, internally, there’s no such concept. Any mixed file will be saved out “clean”, when changes are made. That apart will not change (e.g. you cannot have a file where some lines have tabs and others have spaces, and have that mixed state persist). When a file is saved, it’ll always be consistent.

One thing we have for C#, Swift and Java is that is preserves spaced files, as in if a file has no tabs at all when read it, it will be written out as all spaces again. I could see if I can bring the same concept over to Oxygene, in reverse (ie if a file had any tabs when being loaded in, it will be written out with tabs. Would that change alone be sufficient for your use case?

(the tab size would still be fixed to 2, right now; ie the file would show with 2-space indents while editing, and each 2 spaces would be saved as tab).

Correct. I could probably enable the themes support for the editor sometime soon. the full themself support 9eg turning the entire IDE dark, as we do in Fire) needs a lot more work that’s super low priority right now.

RegEx support I need to review again. The option is basically there because Fire has it, since I got it “for free” with the Cocoa string-search APIs; for Water I’d need two implement it myself, and haven’t gotten around it that yet :wink:

I appreciate the offer, but it really wouldn’t help any in my case to have 2 tabs instead of 2 spaces - I really would need it to be a single tab instead of two spaces.

Well, the point is, it would preserve tabs as yo have them in the file (and show them each tab as two spaces while editing). So that should fit what you have, no?

Ah sorry I skimmed over the end of your comment. I thought you were saying it would save as 2 tabs instead of 2 spaces.

In that case, yes that would definitely work for now. It would be nice to have tabs in the editor, but my primary concern by far is with the file output and not the editor.

Done. :wink:

1 Like

New build is up, marked (B).

1 Like

Thanks Marc, looks great!