From ee34ee5940da5de0b8f5563a9043ebdc172a1a06 Mon Sep 17 00:00:00 2001 From: Ilya Biryukov Date: Fri, 24 May 2019 16:16:15 +0000 Subject: [PATCH] [CodeComplete] Add whitespace around braces in lambda completions This produces nicer output. Trivial follow-up to r361461, so sending without review. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@361645 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Sema/SemaCodeComplete.cpp | 3 +++ test/CodeCompletion/lambdas.cpp | 10 +++++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/lib/Sema/SemaCodeComplete.cpp b/lib/Sema/SemaCodeComplete.cpp index 27e684252f..f5e5a84de7 100644 --- a/lib/Sema/SemaCodeComplete.cpp +++ b/lib/Sema/SemaCodeComplete.cpp @@ -4177,8 +4177,11 @@ static void AddLambdaCompletion(ResultBuilder &Results, }; Completion.AddChunk(CodeCompletionString::CK_RightParen); } + Completion.AddChunk(clang::CodeCompletionString::CK_HorizontalSpace); Completion.AddChunk(CodeCompletionString::CK_LeftBrace); + Completion.AddChunk(CodeCompletionString::CK_HorizontalSpace); Completion.AddPlaceholderChunk("body"); + Completion.AddChunk(CodeCompletionString::CK_HorizontalSpace); Completion.AddChunk(CodeCompletionString::CK_RightBrace); Results.AddResult(Completion.TakeString()); diff --git a/test/CodeCompletion/lambdas.cpp b/test/CodeCompletion/lambdas.cpp index 1ab804ad81..05c47b8c2a 100644 --- a/test/CodeCompletion/lambdas.cpp +++ b/test/CodeCompletion/lambdas.cpp @@ -9,17 +9,17 @@ void test() { function y = {}; // RUN: %clang_cc1 -fsyntax-only -code-completion-patterns -code-completion-at=%s:7:28 %s -o - | FileCheck -check-prefix=CHECK-1 %s // RUN: %clang_cc1 -fsyntax-only -code-completion-patterns -code-completion-at=%s:9:35 %s -o - | FileCheck -check-prefix=CHECK-1 %s - // CHECK-1: COMPLETION: Pattern : [<#=#>](int <#parameter#>, double <#parameter#>){<#body#>} + // CHECK-1: COMPLETION: Pattern : [<#=#>](int <#parameter#>, double <#parameter#>) { <#body#> } // == Placeholders for suffix types must be placed properly. function z = {}; // RUN: %clang_cc1 -fsyntax-only -code-completion-patterns -code-completion-at=%s:15:36 %s -o - | FileCheck -check-prefix=CHECK-2 %s - // CHECK-2: COMPLETION: Pattern : [<#=#>](void (* <#parameter#>)(int)){<#body#>} + // CHECK-2: COMPLETION: Pattern : [<#=#>](void (* <#parameter#>)(int)) { <#body#> } // == No need for a parameter list if function has no parameters. function a = {}; // RUN: %clang_cc1 -fsyntax-only -code-completion-patterns -code-completion-at=%s:20:24 %s -o - | FileCheck -check-prefix=CHECK-3 %s - // CHECK-3: COMPLETION: Pattern : [<#=#>]{<#body#>} + // CHECK-3: COMPLETION: Pattern : [<#=#>] { <#body#> } } template @@ -33,7 +33,7 @@ void test2() { function_typedef b = {}; // RUN: %clang_cc1 -fsyntax-only -code-completion-patterns -code-completion-at=%s:30:35 %s -o - | FileCheck -check-prefix=CHECK-4 %s // RUN: %clang_cc1 -fsyntax-only -code-completion-patterns -code-completion-at=%s:33:24 %s -o - | FileCheck -check-prefix=CHECK-4 %s - // CHECK-4: COMPLETION: Pattern : [<#=#>](vector <#parameter#>){<#body#>} + // CHECK-4: COMPLETION: Pattern : [<#=#>](vector <#parameter#>) { <#body#> } } // Check another common function wrapper name. @@ -42,7 +42,7 @@ template struct unique_function {}; void test3() { unique_function a = {}; // RUN: %clang_cc1 -fsyntax-only -code-completion-patterns -code-completion-at=%s:43:31 %s -o - | FileCheck -check-prefix=CHECK-5 %s - // CHECK-5: COMPLETION: Pattern : [<#=#>]{<#body#>} + // CHECK-5: COMPLETION: Pattern : [<#=#>] { <#body#> } } template struct weird_function {}; -- 2.40.0