feat: change monaco shortcut (#45627)

* feat: change monaco shortcut

* fix: oops I lost the eslint-enable comment

* feat(tests): add cypress tests
pull/45640/head
Naomi Carrigan 2022-04-07 01:40:34 -07:00 committed by GitHub
parent 6af38bb240
commit 0c35edb4d6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 44 additions and 0 deletions

View File

@ -379,6 +379,21 @@ const Editor = (props: EditorProps): JSX.Element => {
null,
() => {}
);
const newLine = editor.getAction('editor.action.insertLineAfter');
// @ts-ignore
editor._standaloneKeybindingService.addDynamicKeybinding(
'-editor.action.insertLineAfter',
null,
() => {}
);
// @ts-ignore
editor._standaloneKeybindingService.addDynamicKeybinding(
'editor.action.insertLineAfter',
monaco.KeyMod.Alt | monaco.KeyCode.Enter,
() => {
newLine.run();
}
);
/* eslint-enable */
editor.addAction({
id: 'execute-challenge',

View File

@ -0,0 +1,29 @@
const selectors = {
editor: '.monaco-editor'
};
describe('Editor Shortcuts', () => {
it('Should handle Alt+Enter', () => {
cy.visit(
'learn/responsive-web-design/basic-html-and-html5/say-hello-to-html-elements'
);
cy.get(selectors.editor, { timeout: 15000 })
.first()
.click()
.focused()
.type('{alt}{enter}')
.should('have.value', '<h1>Hello</h1>\n');
});
it('Should ignore Ctrl+Enter', () => {
cy.visit(
'learn/responsive-web-design/basic-html-and-html5/say-hello-to-html-elements'
);
cy.get(selectors.editor, { timeout: 15000 })
.first()
.click()
.focused()
.type('{ctrl}{enter}')
.should('have.value', '<h1>Hello</h1>');
});
});