@@ -330,6 +330,7 @@ editorOpenHeaderInterface(StringRef Name, StringRef HeaderName,
330330static void
331331editorOpenSwiftSourceInterface(StringRef Name, StringRef SourceName,
332332 ArrayRef<const char *> Args,
333+ bool CancelOnSubsequentRequest,
333334 SourceKitCancellationToken CancellationToken,
334335 ResponseReceiver Rec, bool EnableDeclarations);
335336
@@ -1052,8 +1053,13 @@ static void handleRequestEditorOpenSwiftSourceInterface(
10521053 // Reporting the declarations array is off by default
10531054 bool EnableDeclarations =
10541055 Req.getOptionalInt64(KeyEnableDeclarations).value_or(false);
1056+ // For backwards compatibility, the default is 1.
1057+ int64_t CancelOnSubsequentRequest = 1;
1058+ Req.getInt64(KeyCancelOnSubsequentRequest, CancelOnSubsequentRequest,
1059+ /*isOptional=*/true);
10551060 return editorOpenSwiftSourceInterface(
1056- *Name, *FileName, Args, CancellationToken, Rec, EnableDeclarations);
1061+ *Name, *FileName, Args, CancelOnSubsequentRequest, CancellationToken,
1062+ Rec, EnableDeclarations);
10571063 }
10581064}
10591065
@@ -1704,8 +1710,15 @@ handleRequestSemanticRefactoring(const RequestDict &Req,
17041710 Info.Line = Line;
17051711 Info.Column = Column;
17061712 Info.Length = Length;
1713+
1714+ // For backwards compatibility, the default is 1.
1715+ int64_t CancelOnSubsequentRequest = 1;
1716+ Req.getInt64(KeyCancelOnSubsequentRequest, CancelOnSubsequentRequest,
1717+ /*isOptional=*/true);
1718+
17071719 return Lang.semanticRefactoring(
1708- *PrimaryFilePath, Info, Args, CancellationToken,
1720+ *PrimaryFilePath, Info, Args, CancelOnSubsequentRequest,
1721+ CancellationToken,
17091722 [Rec](const RequestResult<ArrayRef<CategorizedEdits>> &Result) {
17101723 Rec(createCategorizedEditsResponse(Result));
17111724 });
@@ -1781,9 +1794,15 @@ handleRequestCollectVariableType(const RequestDict &Req,
17811794 [](int64_t v) -> unsigned { return v; });
17821795 int64_t FullyQualified = false;
17831796 Req.getInt64(KeyFullyQualified, FullyQualified, /*isOptional=*/true);
1797+
1798+ // For backwards compatibility, the default is 1.
1799+ int64_t CancelOnSubsequentRequest = 1;
1800+ Req.getInt64(KeyCancelOnSubsequentRequest, CancelOnSubsequentRequest,
1801+ /*isOptional=*/true);
1802+
17841803 return Lang.collectVariableTypes(
17851804 *PrimaryFilePath, InputBufferName, Args, Offset, Length, FullyQualified,
1786- CancellationToken,
1805+ CancelOnSubsequentRequest, CancellationToken,
17871806 [Rec](const RequestResult<VariableTypesInFile> &Result) {
17881807 reportVariableTypeInfo(Result, Rec);
17891808 });
@@ -1813,9 +1832,15 @@ handleRequestFindLocalRenameRanges(const RequestDict &Req,
18131832 return Rec(createErrorRequestInvalid("' key.column' is required"));
18141833 Req.getInt64(KeyLength, Length, /*isOptional=*/true);
18151834
1835+ // For backwards compatibility, the default is 1.
1836+ int64_t CancelOnSubsequentRequest = 1;
1837+ Req.getInt64(KeyCancelOnSubsequentRequest, CancelOnSubsequentRequest,
1838+ /*isOptional=*/true);
1839+
18161840 LangSupport &Lang = getGlobalContext().getSwiftLangSupport();
18171841 return Lang.findLocalRenameRanges(
1818- *PrimaryFilePath, Line, Column, Length, Args, CancellationToken,
1842+ *PrimaryFilePath, Line, Column, Length, Args, CancelOnSubsequentRequest,
1843+ CancellationToken,
18191844 [Rec](const CancellableResult<std::vector<CategorizedRenameRanges>>
18201845 &Result) {
18211846 Rec(createCategorizedRenameRangesResponse(Result));
@@ -3685,6 +3710,7 @@ static sourcekitd_response_t editorOpenInterface(
36853710static void
36863711editorOpenSwiftSourceInterface (StringRef Name, StringRef HeaderName,
36873712 ArrayRef<const char *> Args,
3713+ bool CancelOnSubsequentRequest,
36883714 SourceKitCancellationToken CancellationToken,
36893715 ResponseReceiver Rec, bool EnableDeclarations) {
36903716 SKEditorConsumerOptions Opts;
@@ -3693,8 +3719,9 @@ editorOpenSwiftSourceInterface(StringRef Name, StringRef HeaderName,
36933719 Opts.EnableDeclarations = EnableDeclarations;
36943720 auto EditC = std::make_shared<SKEditorConsumer>(Rec, Opts);
36953721 LangSupport &Lang = getGlobalContext ().getSwiftLangSupport ();
3696- Lang.editorOpenSwiftSourceInterface (Name, HeaderName, Args, CancellationToken,
3697- EditC);
3722+ Lang.editorOpenSwiftSourceInterface (Name, HeaderName, Args,
3723+ CancelOnSubsequentRequest,
3724+ CancellationToken, EditC);
36983725}
36993726
37003727static void
0 commit comments