mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-21 20:47:08 -05:00
Only end the preamble at MakeTitle if directly inside DocumentEnvironment (#14593)
GitOrigin-RevId: 3252a8260e02728c05b753433e3488b799b18de0
This commit is contained in:
parent
e320473d05
commit
aef9821e00
2 changed files with 27 additions and 1 deletions
|
@ -186,7 +186,14 @@ export const atomicDecorations = (options: Options) => {
|
|||
tree.iterate({
|
||||
enter(nodeRef) {
|
||||
if (nodeRef.node.type.is('Maketitle')) {
|
||||
// end the preamble at \maketitle, if it's directly inside the document environment
|
||||
const parentEnvironment = ancestorOfNodeWithType(
|
||||
nodeRef.node,
|
||||
'$Environment'
|
||||
)
|
||||
if (parentEnvironment?.type.is('DocumentEnvironment')) {
|
||||
preamble.to = nodeRef.node.from
|
||||
}
|
||||
} else if (nodeRef.node.type.is('DocumentEnvironment')) {
|
||||
// only count the first instance of DocumentEnvironment
|
||||
if (!seenDocumentEnvironment) {
|
||||
|
|
|
@ -510,6 +510,25 @@ describe('<CodeMirrorEditor/> in Visual mode', function () {
|
|||
cy.get('.ol-cm-preamble-line').eq(3).should('not.exist')
|
||||
})
|
||||
|
||||
it('should exclude maketitle from preamble extents if nested in another environment', function () {
|
||||
cy.get('@first-line').type(
|
||||
[
|
||||
'\\author{{}Author}',
|
||||
'\\title{{}Document title}',
|
||||
'\\begin{{}document}',
|
||||
'\\begin{{}frame}{{}Foo}',
|
||||
'\\maketitle',
|
||||
'\\end{{}frame}',
|
||||
'\\end{{}document}',
|
||||
'',
|
||||
].join('{Enter}')
|
||||
)
|
||||
cy.get('.ol-cm-preamble-widget').should('have.length', 1)
|
||||
cy.get('.ol-cm-preamble-widget').click()
|
||||
|
||||
cy.get('.ol-cm-preamble-line').should('have.length', 3)
|
||||
})
|
||||
|
||||
it('should show multiple authors', function () {
|
||||
cy.get('@first-line').type(
|
||||
[
|
||||
|
|
Loading…
Reference in a new issue