Name of preference that should be toggled by the function
function _getToggler(prefName) {
return function () {
PreferencesManager.set(prefName, !PreferencesManager.get(prefName));
};
}
function _init() {
_.each(_optionMapping, function (commandName, prefName) {
CommandManager.get(commandName).setChecked(PreferencesManager.get(prefName));
});
if (!Editor.getShowLineNumbers()) {
Editor._toggleLinePadding(true);
}
}
CommandManager.register(Strings.CMD_TOGGLE_LINE_NUMBERS, Commands.TOGGLE_LINE_NUMBERS, _getToggler(SHOW_LINE_NUMBERS));
CommandManager.register(Strings.CMD_TOGGLE_ACTIVE_LINE, Commands.TOGGLE_ACTIVE_LINE, _getToggler(STYLE_ACTIVE_LINE));
CommandManager.register(Strings.CMD_TOGGLE_WORD_WRAP, Commands.TOGGLE_WORD_WRAP, _getToggler(WORD_WRAP));
CommandManager.register(Strings.CMD_TOGGLE_CLOSE_BRACKETS, Commands.TOGGLE_CLOSE_BRACKETS, _getToggler(CLOSE_BRACKETS));
CommandManager.register(Strings.CMD_TOGGLE_SEARCH_AUTOHIDE, Commands.TOGGLE_SEARCH_AUTOHIDE, _getToggler(AUTO_HIDE_SEARCH));
AppInit.htmlReady(_init);
});
Private
_updateCheckedState
name
string
Name of preference that has changed
function _updateCheckedState(name) {
var mapping = _optionMapping[name];
if (!mapping) {
return;
}
CommandManager.get(mapping).setChecked(PreferencesManager.get(name));
}
// Listen to preference changes for the preferences we care about
Object.keys(_optionMapping).forEach(function (preference) {
PreferencesManager.on("change", preference, function () {
_updateCheckedState(preference);
});
});