mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
Add method to get first chunk in code completion string with punctuation
The client may or may not want to include the leading punctuation in a result e.g. in "?.foo()". Swift SVN r31013
This commit is contained in:
@@ -539,7 +539,8 @@ MutableArrayRef<CodeCompletionResult *> CodeCompletionContext::takeResults() {
|
||||
return MutableArrayRef<CodeCompletionResult *>(Results, Count);
|
||||
}
|
||||
|
||||
Optional<unsigned> CodeCompletionString::getFirstTextChunkIndex() const {
|
||||
Optional<unsigned> CodeCompletionString::getFirstTextChunkIndex(
|
||||
bool includeLeadingPunctuation) const {
|
||||
for (auto i : indices(getChunks())) {
|
||||
auto &C = getChunks()[i];
|
||||
switch (C.getKind()) {
|
||||
@@ -552,15 +553,18 @@ Optional<unsigned> CodeCompletionString::getFirstTextChunkIndex() const {
|
||||
case CodeCompletionString::Chunk::ChunkKind::DeclAttrParamKeyword:
|
||||
case CodeCompletionString::Chunk::ChunkKind::DeclAttrKeyword:
|
||||
return i;
|
||||
case CodeCompletionString::Chunk::ChunkKind::Dot:
|
||||
case CodeCompletionString::Chunk::ChunkKind::ExclamationMark:
|
||||
case CodeCompletionString::Chunk::ChunkKind::QuestionMark:
|
||||
if (includeLeadingPunctuation)
|
||||
return i;
|
||||
continue;
|
||||
case CodeCompletionString::Chunk::ChunkKind::RightParen:
|
||||
case CodeCompletionString::Chunk::ChunkKind::RightBracket:
|
||||
case CodeCompletionString::Chunk::ChunkKind::LeftAngle:
|
||||
case CodeCompletionString::Chunk::ChunkKind::RightAngle:
|
||||
case CodeCompletionString::Chunk::ChunkKind::Dot:
|
||||
case CodeCompletionString::Chunk::ChunkKind::Ellipsis:
|
||||
case CodeCompletionString::Chunk::ChunkKind::Comma:
|
||||
case CodeCompletionString::Chunk::ChunkKind::ExclamationMark:
|
||||
case CodeCompletionString::Chunk::ChunkKind::QuestionMark:
|
||||
case CodeCompletionString::Chunk::ChunkKind::Ampersand:
|
||||
case CodeCompletionString::Chunk::ChunkKind::AccessControlKeyword:
|
||||
case CodeCompletionString::Chunk::ChunkKind::OverrideKeyword:
|
||||
|
||||
Reference in New Issue
Block a user