From 462837b44dc69e4fbe6435753f402d11addf4f1a Mon Sep 17 00:00:00 2001 From: Mathias Jakobsen Date: Thu, 20 Apr 2023 11:01:06 +0100 Subject: [PATCH] Merge pull request #12701 from overleaf/dk-cm6-autocomplete-item-space [cm6] Add space after item autocomplete GitOrigin-RevId: 6fff77c0c0563530af981bbac73b1d88e02bb759 --- .../src/Features/Metadata/packageMapping.js | 48 +++++++++---------- .../completions/data/top-hundred-snippets.ts | 4 +- .../snippets/TopHundredSnippets.js | 4 +- .../codemirror-editor-visual-list.spec.tsx | 22 +++++++++ 4 files changed, 50 insertions(+), 28 deletions(-) diff --git a/services/web/app/src/Features/Metadata/packageMapping.js b/services/web/app/src/Features/Metadata/packageMapping.js index e268902305..9677fe4dd3 100644 --- a/services/web/app/src/Features/Metadata/packageMapping.js +++ b/services/web/app/src/Features/Metadata/packageMapping.js @@ -1415,13 +1415,13 @@ module.exports = { }, { caption: '\\item', - snippet: '\\item', + snippet: '\\item ', meta: 'hyperref-cmd', score: 3.800886892251021, }, { caption: '\\item[]', - snippet: '\\item[$1]', + snippet: '\\item[$1] ', meta: 'hyperref-cmd', score: 3.800886892251021, }, @@ -4663,13 +4663,13 @@ module.exports = { }, { caption: '\\item', - snippet: '\\item', + snippet: '\\item ', meta: 'biblatex-cmd', score: 3.800886892251021, }, { caption: '\\item[]', - snippet: '\\item[$1]', + snippet: '\\item[$1] ', meta: 'biblatex-cmd', score: 3.800886892251021, }, @@ -17551,13 +17551,13 @@ module.exports = { }, { caption: '\\item', - snippet: '\\item', + snippet: '\\item ', meta: 'threeparttable-cmd', score: 3.800886892251021, }, { caption: '\\item[]', - snippet: '\\item[$1]', + snippet: '\\item[$1] ', meta: 'threeparttable-cmd', score: 3.800886892251021, }, @@ -25309,13 +25309,13 @@ module.exports = { }, { caption: '\\item', - snippet: '\\item', + snippet: '\\item ', meta: 'bibentry-cmd', score: 3.800886892251021, }, { caption: '\\item[]', - snippet: '\\item[$1]', + snippet: '\\item[$1] ', meta: 'bibentry-cmd', score: 3.800886892251021, }, @@ -27225,13 +27225,13 @@ module.exports = { }, { caption: '\\item', - snippet: '\\item', + snippet: '\\item ', meta: 'bookmark-cmd', score: 3.800886892251021, }, { caption: '\\item[]', - snippet: '\\item[$1]', + snippet: '\\item[$1] ', meta: 'bookmark-cmd', score: 3.800886892251021, }, @@ -33919,13 +33919,13 @@ module.exports = { }, { caption: '\\item', - snippet: '\\item', + snippet: '\\item ', meta: 'eqparbox-cmd', score: 3.800886892251021, }, { caption: '\\item[]', - snippet: '\\item[$1]', + snippet: '\\item[$1] ', meta: 'eqparbox-cmd', score: 3.800886892251021, }, @@ -34081,13 +34081,13 @@ module.exports = { threeparttablex: [ { caption: '\\item', - snippet: '\\item', + snippet: '\\item ', meta: 'threeparttablex-cmd', score: 3.800886892251021, }, { caption: '\\item[]', - snippet: '\\item[$1]', + snippet: '\\item[$1] ', meta: 'threeparttablex-cmd', score: 3.800886892251021, }, @@ -34117,13 +34117,13 @@ module.exports = { }, { caption: '\\item', - snippet: '\\item', + snippet: '\\item ', meta: 'threeparttablex-cmd', score: 3.800886892251021, }, { caption: '\\item[]', - snippet: '\\item[$1]', + snippet: '\\item[$1] ', meta: 'threeparttablex-cmd', score: 3.800886892251021, }, @@ -51721,13 +51721,13 @@ module.exports = { }, { caption: '\\item', - snippet: '\\item', + snippet: '\\item ', meta: 'eqlist-cmd', score: 3.800886892251021, }, { caption: '\\item[]', - snippet: '\\item[$1]', + snippet: '\\item[$1] ', meta: 'eqlist-cmd', score: 3.800886892251021, }, @@ -56523,13 +56523,13 @@ module.exports = { }, { caption: '\\item', - snippet: '\\item', + snippet: '\\item ', meta: 'hypdvips-cmd', score: 3.800886892251021, }, { caption: '\\item[]', - snippet: '\\item[$1]', + snippet: '\\item[$1] ', meta: 'hypdvips-cmd', score: 3.800886892251021, }, @@ -59797,13 +59797,13 @@ module.exports = { }, { caption: '\\item', - snippet: '\\item', + snippet: '\\item ', meta: 'attachfile-cmd', score: 3.800886892251021, }, { caption: '\\item[]', - snippet: '\\item[$1]', + snippet: '\\item[$1] ', meta: 'attachfile-cmd', score: 3.800886892251021, }, @@ -70319,13 +70319,13 @@ module.exports = { }, { caption: '\\item', - snippet: '\\item', + snippet: '\\item ', meta: 'aurl-cmd', score: 3.800886892251021, }, { caption: '\\item[]', - snippet: '\\item[$1]', + snippet: '\\item[$1] ', meta: 'aurl-cmd', score: 3.800886892251021, }, diff --git a/services/web/frontend/js/features/source-editor/languages/latex/completions/data/top-hundred-snippets.ts b/services/web/frontend/js/features/source-editor/languages/latex/completions/data/top-hundred-snippets.ts index f9d9000e3a..dddc4f2cdf 100644 --- a/services/web/frontend/js/features/source-editor/languages/latex/completions/data/top-hundred-snippets.ts +++ b/services/web/frontend/js/features/source-editor/languages/latex/completions/data/top-hundred-snippets.ts @@ -19,13 +19,13 @@ export default [ }, { caption: '\\item', - snippet: '\\item', + snippet: '\\item ', meta: 'cmd', score: 3.800886892251021, }, { caption: '\\item[]', - snippet: '\\item[$1]', + snippet: '\\item[$1] ', meta: 'cmd', score: 3.800886892251021, }, diff --git a/services/web/frontend/js/ide/editor/directives/aceEditor/auto-complete/snippets/TopHundredSnippets.js b/services/web/frontend/js/ide/editor/directives/aceEditor/auto-complete/snippets/TopHundredSnippets.js index d4643f0294..1ac3792287 100644 --- a/services/web/frontend/js/ide/editor/directives/aceEditor/auto-complete/snippets/TopHundredSnippets.js +++ b/services/web/frontend/js/ide/editor/directives/aceEditor/auto-complete/snippets/TopHundredSnippets.js @@ -26,13 +26,13 @@ export default [ }, { caption: '\\item', - snippet: '\\item', + snippet: '\\item ', meta: 'cmd', score: 3.800886892251021, }, { caption: '\\item[]', - snippet: '\\item[$1]', + snippet: '\\item[$1] ', meta: 'cmd', score: 3.800886892251021, }, diff --git a/services/web/test/frontend/features/source-editor/components/codemirror-editor-visual-list.spec.tsx b/services/web/test/frontend/features/source-editor/components/codemirror-editor-visual-list.spec.tsx index 19cfe7679c..1fe5c37426 100644 --- a/services/web/test/frontend/features/source-editor/components/codemirror-editor-visual-list.spec.tsx +++ b/services/web/test/frontend/features/source-editor/components/codemirror-editor-visual-list.spec.tsx @@ -283,4 +283,26 @@ describe(' lists in Rich Text mode', function () { expect(win.getSelection()?.toString()).to.equal('Two') }) }) + + it('uses autocomplete to create an list item', function () { + const content = [ + '\\begin{itemize}', + '\\item first', + '', + '\\end{itemize}', + ].join('\n') + mountEditor(content) + + cy.get('.cm-line') + .eq(2) + .click() + .type('\\ite') + .type('{enter}') + .type('second') + + cy.get('.cm-content').should( + 'have.text', + ['\\begin{itemize}', ' first', ' second', '\\end{itemize}'].join('') + ) + }) })