[clang-tools-extra] abfa27e - [clangd] Fix markdown rendering in VSCode

Kadir Cetinkaya via cfe-commits cfe-commits at lists.llvm.org
Fri Jan 10 00:51:29 PST 2020


Author: Kadir Cetinkaya
Date: 2020-01-10T09:51:20+01:00
New Revision: abfa27e4f04dd84774bcfe15783942e21be391a5

URL: https://github.com/llvm/llvm-project/commit/abfa27e4f04dd84774bcfe15783942e21be391a5
DIFF: https://github.com/llvm/llvm-project/commit/abfa27e4f04dd84774bcfe15783942e21be391a5.diff

LOG: [clangd] Fix markdown rendering in VSCode

Summary:
Eventough it is OK to have a new line without any preceding spaces in
some markdown specifications, VSCode requires two spaces before a new line to
break a line inside a paragraph.

Reviewers: sammccall, ilya-biryukov

Subscribers: MaskRay, jkorous, arphaman, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D72462

Added: 
    

Modified: 
    clang-tools-extra/clangd/FormattedString.cpp
    clang-tools-extra/clangd/unittests/FormattedStringTests.cpp

Removed: 
    


################################################################################
diff  --git a/clang-tools-extra/clangd/FormattedString.cpp b/clang-tools-extra/clangd/FormattedString.cpp
index cfa1210a2ee6..1e61b8b5fb1e 100644
--- a/clang-tools-extra/clangd/FormattedString.cpp
+++ b/clang-tools-extra/clangd/FormattedString.cpp
@@ -196,7 +196,8 @@ void Paragraph::renderMarkdown(llvm::raw_ostream &OS) const {
   }
   // Paragraphs are translated into markdown lines, not markdown paragraphs.
   // Therefore it only has a single linebreak afterwards.
-  OS << '\n';
+  // VSCode requires two spaces at the end of line to start a new one.
+  OS << "  \n";
 }
 
 void Paragraph::renderPlainText(llvm::raw_ostream &OS) const {

diff  --git a/clang-tools-extra/clangd/unittests/FormattedStringTests.cpp b/clang-tools-extra/clangd/unittests/FormattedStringTests.cpp
index 3093ba2ce50d..825bf5bbd866 100644
--- a/clang-tools-extra/clangd/unittests/FormattedStringTests.cpp
+++ b/clang-tools-extra/clangd/unittests/FormattedStringTests.cpp
@@ -121,7 +121,7 @@ TEST(Document, Separators) {
   D.addCodeBlock("test");
   D.addParagraph().appendText("bar");
 
-  const char ExpectedMarkdown[] = R"md(foo
+  const char ExpectedMarkdown[] = R"md(foo  
 ```cpp
 test
 ```
@@ -141,7 +141,7 @@ TEST(Document, Spacer) {
   D.addParagraph().appendText("foo");
   D.addSpacer();
   D.addParagraph().appendText("bar");
-  EXPECT_EQ(D.asMarkdown(), "foo\n\nbar");
+  EXPECT_EQ(D.asMarkdown(), "foo  \n\nbar");
   EXPECT_EQ(D.asPlainText(), "foo\n\nbar");
 }
 
@@ -217,10 +217,10 @@ TEST(BulletList, Render) {
   DeepDoc.addParagraph().appendText("baz");
   EXPECT_EQ(L.asMarkdown(), R"md(- foo
 - bar
-- foo
-  baz
-  - foo
-    - baz
+- foo  
+  baz  
+  - foo  
+    - baz  
       baz)md");
   EXPECT_EQ(L.asPlainText(), R"pt(- foo
 - bar
@@ -234,10 +234,10 @@ TEST(BulletList, Render) {
   Inner.addParagraph().appendText("after");
   EXPECT_EQ(L.asMarkdown(), R"md(- foo
 - bar
-- foo
-  baz
-  - foo
-    - baz
+- foo  
+  baz  
+  - foo  
+    - baz  
       baz
     
     after)md");


        


More information about the cfe-commits mailing list