@@ -331,6 +331,7 @@ editorOpenHeaderInterface(StringRef Name, StringRef HeaderName,
331331static void
332332editorOpenSwiftSourceInterface(StringRef Name, StringRef SourceName,
333333 ArrayRef<const char *> Args,
334+ bool CancelOnSubsequentRequest,
334335 SourceKitCancellationToken CancellationToken,
335336 ResponseReceiver Rec, bool EnableDeclarations);
336337
@@ -1053,8 +1054,13 @@ static void handleRequestEditorOpenSwiftSourceInterface(
10531054 // Reporting the declarations array is off by default
10541055 bool EnableDeclarations =
10551056 Req.getOptionalInt64(KeyEnableDeclarations).value_or(false);
1057+ // For backwards compatibility, the default is 1.
1058+ int64_t CancelOnSubsequentRequest = 1;
1059+ Req.getInt64(KeyCancelOnSubsequentRequest, CancelOnSubsequentRequest,
1060+ /*isOptional=*/true);
10561061 return editorOpenSwiftSourceInterface(
1057- *Name, *FileName, Args, CancellationToken, Rec, EnableDeclarations);
1062+ *Name, *FileName, Args, CancelOnSubsequentRequest, CancellationToken,
1063+ Rec, EnableDeclarations);
10581064 }
10591065}
10601066
@@ -1705,8 +1711,15 @@ handleRequestSemanticRefactoring(const RequestDict &Req,
17051711 Info.Line = Line;
17061712 Info.Column = Column;
17071713 Info.Length = Length;
1714+
1715+ // For backwards compatibility, the default is 1.
1716+ int64_t CancelOnSubsequentRequest = 1;
1717+ Req.getInt64(KeyCancelOnSubsequentRequest, CancelOnSubsequentRequest,
1718+ /*isOptional=*/true);
1719+
17081720 return Lang.semanticRefactoring(
1709- *PrimaryFilePath, Info, Args, CancellationToken,
1721+ *PrimaryFilePath, Info, Args, CancelOnSubsequentRequest,
1722+ CancellationToken,
17101723 [Rec](const RequestResult<ArrayRef<CategorizedEdits>> &Result) {
17111724 Rec(createCategorizedEditsResponse(Result));
17121725 });
@@ -1782,9 +1795,15 @@ handleRequestCollectVariableType(const RequestDict &Req,
17821795 [](int64_t v) -> unsigned { return v; });
17831796 int64_t FullyQualified = false;
17841797 Req.getInt64(KeyFullyQualified, FullyQualified, /*isOptional=*/true);
1798+
1799+ // For backwards compatibility, the default is 1.
1800+ int64_t CancelOnSubsequentRequest = 1;
1801+ Req.getInt64(KeyCancelOnSubsequentRequest, CancelOnSubsequentRequest,
1802+ /*isOptional=*/true);
1803+
17851804 return Lang.collectVariableTypes(
17861805 *PrimaryFilePath, InputBufferName, Args, Offset, Length, FullyQualified,
1787- CancellationToken,
1806+ CancelOnSubsequentRequest, CancellationToken,
17881807 [Rec](const RequestResult<VariableTypesInFile> &Result) {
17891808 reportVariableTypeInfo(Result, Rec);
17901809 });
@@ -1814,9 +1833,15 @@ handleRequestFindLocalRenameRanges(const RequestDict &Req,
18141833 return Rec(createErrorRequestInvalid("' key.column' is required"));
18151834 Req.getInt64(KeyLength, Length, /*isOptional=*/true);
18161835
1836+ // For backwards compatibility, the default is 1.
1837+ int64_t CancelOnSubsequentRequest = 1;
1838+ Req.getInt64(KeyCancelOnSubsequentRequest, CancelOnSubsequentRequest,
1839+ /*isOptional=*/true);
1840+
18171841 LangSupport &Lang = getGlobalContext().getSwiftLangSupport();
18181842 return Lang.findLocalRenameRanges(
1819- *PrimaryFilePath, Line, Column, Length, Args, CancellationToken,
1843+ *PrimaryFilePath, Line, Column, Length, Args, CancelOnSubsequentRequest,
1844+ CancellationToken,
18201845 [Rec](const CancellableResult<std::vector<CategorizedRenameRanges>>
18211846 &Result) {
18221847 Rec(createCategorizedRenameRangesResponse(Result));
@@ -3686,6 +3711,7 @@ static sourcekitd_response_t editorOpenInterface(
36863711static void
36873712editorOpenSwiftSourceInterface (StringRef Name, StringRef HeaderName,
36883713 ArrayRef<const char *> Args,
3714+ bool CancelOnSubsequentRequest,
36893715 SourceKitCancellationToken CancellationToken,
36903716 ResponseReceiver Rec, bool EnableDeclarations) {
36913717 SKEditorConsumerOptions Opts;
@@ -3694,8 +3720,9 @@ editorOpenSwiftSourceInterface(StringRef Name, StringRef HeaderName,
36943720 Opts.EnableDeclarations = EnableDeclarations;
36953721 auto EditC = std::make_shared<SKEditorConsumer>(Rec, Opts);
36963722 LangSupport &Lang = getGlobalContext ().getSwiftLangSupport ();
3697- Lang.editorOpenSwiftSourceInterface (Name, HeaderName, Args, CancellationToken,
3698- EditC);
3723+ Lang.editorOpenSwiftSourceInterface (Name, HeaderName, Args,
3724+ CancelOnSubsequentRequest,
3725+ CancellationToken, EditC);
36993726}
37003727
37013728static void
0 commit comments