Skip to content

Commit 2d661ce

Browse files
committed
refactored renameArg and docHighlightArg into markerOrRangeArg
1 parent 318a6f7 commit 2d661ce

File tree

1 file changed

+5
-52
lines changed

1 file changed

+5
-52
lines changed

internal/fourslash/_scripts/convertFourslash.mts

Lines changed: 5 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -787,7 +787,7 @@ function parseBaselineDocumentHighlightsArgs(args: readonly ts.Expression[]): [V
787787
let strArg;
788788
if (strArg = getArrayLiteralExpression(arg)) {
789789
for (const elem of strArg.elements) {
790-
const newArg = parseBaselineDocumentHighlightsArg(elem);
790+
const newArg = parseBaselineMarkerOrRangeArg(elem);
791791
if (!newArg) {
792792
return undefined;
793793
}
@@ -797,7 +797,7 @@ function parseBaselineDocumentHighlightsArgs(args: readonly ts.Expression[]): [V
797797
else if (ts.isObjectLiteralExpression(arg)) {
798798
// User preferences case, but multiple files isn't implemented in corsa yet
799799
}
800-
else if (strArg = parseBaselineDocumentHighlightsArg(arg)) {
800+
else if (strArg = parseBaselineMarkerOrRangeArg(arg)) {
801801
newArgs.push(strArg);
802802
}
803803
else {
@@ -817,53 +817,6 @@ function parseBaselineDocumentHighlightsArgs(args: readonly ts.Expression[]): [V
817817
}];
818818
}
819819

820-
function parseBaselineDocumentHighlightsArg(arg: ts.Expression): string | undefined {
821-
if (ts.isStringLiteral(arg)) {
822-
return getGoStringLiteral(arg.text);
823-
}
824-
else if (ts.isIdentifier(arg) || (ts.isElementAccessExpression(arg) && ts.isIdentifier(arg.expression))) {
825-
const argName = ts.isIdentifier(arg) ? arg.text : (arg.expression as ts.Identifier).text;
826-
const file = arg.getSourceFile();
827-
const varStmts = file.statements.filter(ts.isVariableStatement);
828-
for (const varStmt of varStmts) {
829-
for (const decl of varStmt.declarationList.declarations) {
830-
if (ts.isArrayBindingPattern(decl.name) && decl.initializer?.getText().includes("ranges")) {
831-
for (let i = 0; i < decl.name.elements.length; i++) {
832-
const elem = decl.name.elements[i];
833-
if (ts.isBindingElement(elem) && ts.isIdentifier(elem.name) && elem.name.text === argName) {
834-
// `const [range_0, ..., range_n, ...] = test.ranges();` and arg is `range_n`
835-
if (elem.dotDotDotToken === undefined) {
836-
return `f.Ranges()[${i}]`;
837-
}
838-
// `const [range_0, ..., ...rest] = test.ranges();` and arg is `rest[n]`
839-
if (ts.isElementAccessExpression(arg)) {
840-
return `f.Ranges()[${i + parseInt(arg.argumentExpression!.getText())}]`;
841-
}
842-
// `const [range_0, ..., ...rest] = test.ranges();` and arg is `rest`
843-
return `ToAny(f.Ranges()[${i}:])...`;
844-
}
845-
}
846-
}
847-
}
848-
}
849-
const init = getNodeOfKind(arg, ts.isCallExpression);
850-
if (init) {
851-
const result = getRangesByTextArg(init);
852-
if (result) {
853-
return result;
854-
}
855-
}
856-
}
857-
else if (ts.isCallExpression(arg)) {
858-
const result = getRangesByTextArg(arg);
859-
if (result) {
860-
return result;
861-
}
862-
}
863-
console.error(`Unrecognized argument in verify.baselineRename: ${arg.getText()}`);
864-
return undefined;
865-
}
866-
867820
function parseBaselineGoToDefinitionArgs(args: readonly ts.Expression[]): [VerifyBaselineGoToDefinitionCmd] | undefined {
868821
const newArgs = [];
869822
for (const arg of args) {
@@ -929,7 +882,7 @@ function parseBaselineRenameArgs(funcName: string, args: readonly ts.Expression[
929882
let typedArg;
930883
if ((typedArg = getArrayLiteralExpression(arg))) {
931884
for (const elem of typedArg.elements) {
932-
const newArg = parseBaselineRenameArg(elem);
885+
const newArg = parseBaselineMarkerOrRangeArg(elem);
933886
if (!newArg) {
934887
return undefined;
935888
}
@@ -944,7 +897,7 @@ function parseBaselineRenameArgs(funcName: string, args: readonly ts.Expression[
944897
}
945898
continue;
946899
}
947-
else if (typedArg = parseBaselineRenameArg(arg)) {
900+
else if (typedArg = parseBaselineMarkerOrRangeArg(arg)) {
948901
newArgs.push(typedArg);
949902
}
950903
else {
@@ -982,7 +935,7 @@ function parseUserPreferences(arg: ts.ObjectLiteralExpression): string | undefin
982935
return `&ls.UserPreferences{${preferences.join(",")}}`;
983936
}
984937

985-
function parseBaselineRenameArg(arg: ts.Expression): string | undefined {
938+
function parseBaselineMarkerOrRangeArg(arg: ts.Expression): string | undefined {
986939
if (ts.isStringLiteral(arg)) {
987940
return getGoStringLiteral(arg.text);
988941
}

0 commit comments

Comments
 (0)