@launchmenu/core
Version:
An environment for visual keyboard controlled applets
35 lines • 2.97 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.handleIndentInput = void 0;
const InsertTextCommand_1 = require("../../commands/InsertTextCommand");
const isFieldControlsSettingsFolder_1 = require("../../keyHandler/isFieldControlsSettingsFolder");
const IndentTextCommand_1 = require("../IndentTextCommand");
/**
* Handles tab inputs
* @param event The event to test
* @param targetField The text field to perform the event for
* @param patterns The key patterns to detect, or the base settings to extract them from
* @param indentCharacters The characters to use for indentation
* @returns Whether the event was caught
*/
function handleIndentInput(event, { textField, onChange }, patterns, indentCharacters = " ".repeat(4)) {
if (isFieldControlsSettingsFolder_1.isFieldControlsSettingsFolder(patterns))
patterns = {
indent: patterns.indent.get(),
dedent: patterns.dedent.get(),
};
if (patterns.indent.matches(event)) {
const selection = textField.getSelection();
if (selection.start == selection.end)
onChange(new InsertTextCommand_1.InsertTextCommand(textField, indentCharacters));
else
onChange(new IndentTextCommand_1.IndentTextCommand(textField, 1, indentCharacters));
return true;
}
if (patterns.dedent.matches(event)) {
onChange(new IndentTextCommand_1.IndentTextCommand(textField, -1, indentCharacters));
return true;
}
}
exports.handleIndentInput = handleIndentInput;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlSW5kZW50SW5wdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvdGV4dEZpZWxkcy9pbnRlcmFjdGlvbi9hZHZhbmNlZC9rZXloYW5kbGVyL2hhbmRsZUluZGVudElucHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLHdFQUFtRTtBQUNuRSxrR0FBNkY7QUFFN0YsNERBQXVEO0FBRXZEOzs7Ozs7O0dBT0c7QUFDSCxTQUFnQixpQkFBaUIsQ0FDN0IsS0FBZSxFQUNmLEVBQUMsU0FBUyxFQUFFLFFBQVEsRUFBa0IsRUFDdEMsUUFLb0UsRUFDcEUsbUJBQTJCLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBRXhDLElBQUksNkRBQTZCLENBQUMsUUFBUSxDQUFDO1FBQ3ZDLFFBQVEsR0FBRztZQUNQLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUM3QixNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7U0FDaEMsQ0FBQztJQUVOLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDaEMsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzNDLElBQUksU0FBUyxDQUFDLEtBQUssSUFBSSxTQUFTLENBQUMsR0FBRztZQUNoQyxRQUFRLENBQUMsSUFBSSxxQ0FBaUIsQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDOztZQUM1RCxRQUFRLENBQUMsSUFBSSxxQ0FBaUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLGdCQUFnQixDQUFDLENBQUMsQ0FBQztRQUVyRSxPQUFPLElBQUksQ0FBQztLQUNmO0lBQ0QsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUNoQyxRQUFRLENBQUMsSUFBSSxxQ0FBaUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLE9BQU8sSUFBSSxDQUFDO0tBQ2Y7QUFDTCxDQUFDO0FBN0JELDhDQTZCQyJ9
;