Re: Per-language clean trailing whitespace option?
Eric Promislow <[email protected]>
| Newsgroups | gmane.comp.ide.komodo.general |
|---|---|
| Message-ID | <[email protected]> |
I would use a couple of file macro-triggers to control this.
My pre-file-save macro would look like this:
if (ko.views.manager.currentView.language != "YAML") return false;
if (!('extensions' in ko)) ko.extensions = {};
ko.extensions.yamlPrefsToRestore = {};
var gprefs = Components.classes["@activestate.com/koPrefService;1"].getService(Components.interfaces.koIPrefService).prefs
var prefNames = {"cleanLineEnds":null, "ensureFinalEOL":null};
for (var prefName in prefNames) {
if (gprefs.getBooleanPref(prefName)) {
gprefs.setBooleanPref(prefName, true);
ko.extensions.yamlPrefsToRestore[prefName] = false;
}
}
The post-file-save macro would look like this:
if (ko.views.manager.currentView.language != "YAML") return false;
try {
var gprefs = Components.classes["@activestate.com/koPrefService;1"].getService(Components.interfaces.koIPrefService).prefs
for (prefName in ko.extensions.yamlPrefsToRestore) {
gprefs.setBooleanPref(prefName, ko.extensions.yamlPrefsToRestore[prefName]);
}
delete ko.extensions.yamlPrefsToRestore;
} except(ex) {
}
I haven't tested it. If you have another namespace you put your global
data in other than ko.extensions, feel free to use that.
I'm pretty sure Komodo never saves more than one file concurrently.
Otherwise a YAML file could turn off the setting, but that would
cause another file to be saved without whitespace cleaning.
- Eric
On 2/6/2009 3:20 PM, David Brewer wrote:
> I love Komodo's 'clean trailing whitespace' option about 99% of the
> time... the one time I don't like it is while editing yaml files. I
> was wondering if there was currently a way to turn this option on and
> off for specific languages.
>
> The problem in yaml files is that whitspace is significant...
> sometimes even if there is nothing on the line. In this example, the
> 'content' field gets set to two lines of text with an extra line break
> between them, because there are two spaces before the line break that
> occurs between them:
>
> content:>
> Nulla sit amet lorem. Cras velit. Suspendisse vulputate adipiscing nulla.
>
> Vivamus dignissim nibh ac velit. Class aptent taciti sociosqu ad litora.
>
> In this example, you end up losing the line with the break because
> there were no spaces before the break to tell yaml that the next line
> is still part of the same block of text.
>
> content:>
> Nulla sit amet lorem. Cras velit. Suspendisse vulputate adipiscing nulla.
>
> Vivamus dignissim nibh ac velit. Class aptent taciti sociosqu ad litora.
>
> Is there currently a way around this? If not I may file an
> 'enhancement' ticket.
>
> David
> _______________________________________________
> Komodo-discuss mailing list
> [email protected]
> To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
> Other options: http://listserv.ActiveState.com/mailman/listinfo/Komodo-discuss
_______________________________________________
Komodo-discuss mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
Other options: http://listserv.ActiveState.com/mailman/listinfo/Komodo-discuss