diff --git a/src/lang/modifyAst.test.ts b/src/lang/modifyAst.test.ts index 86afbe645..34c1612ab 100644 --- a/src/lang/modifyAst.test.ts +++ b/src/lang/modifyAst.test.ts @@ -820,7 +820,7 @@ sketch002 = startSketchOn({ }, ], [ - 'delete extrude with sketch on it', + 'delete extrude with sketch on it 2', { codeBefore: `myVar = 5 sketch001 = startSketchOn('XZ') diff --git a/src/lang/modifyAst.ts b/src/lang/modifyAst.ts index 62200ba1c..2f8ebd2c4 100644 --- a/src/lang/modifyAst.ts +++ b/src/lang/modifyAst.ts @@ -1271,11 +1271,16 @@ export async function deleteFromSelection( if (node.type === 'VariableDeclaration') { const dec = node.declaration if ( - dec.init.type === 'CallExpression' && - (dec.init.callee.name === 'extrude' || - dec.init.callee.name === 'revolve') && - dec.init.arguments?.[1].type === 'Identifier' && - dec.init.arguments?.[1].name === varDecName + (dec.init.type === 'CallExpression' && + (dec.init.callee.name === 'extrude' || + dec.init.callee.name === 'revolve') && + dec.init.arguments?.[1].type === 'Identifier' && + dec.init.arguments?.[1].name === varDecName) || + (dec.init.type === 'CallExpressionKw' && + (dec.init.callee.name === 'extrude' || + dec.init.callee.name === 'revolve') && + dec.init.unlabeled?.type === 'Identifier' && + dec.init.unlabeled?.name === varDecName) ) { pathToNode = path extrudeNameToDelete = dec.id.name