Re: Per-language clean trailing whitespace option?
David Brewer <[email protected]>
| Newsgroups | gmane.comp.ide.komodo.general |
|---|---|
| Message-ID | <[email protected]> |
I've got to take some time and get familiar with this stuff! So far my Komodo customization has been mostly limited to building a personal library of snippets. :-) On Fri, Feb 6, 2009 at 3:45 PM, Eric Promislow <[email protected]> wrote: > 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