summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clangd/FormattedString.cpp
diff options
context:
space:
mode:
authorKadir Cetinkaya <kadircet@google.com>2020-01-13 17:50:23 +0100
committerKadir Cetinkaya <kadircet@google.com>2020-01-13 20:24:09 +0100
commit15078d7202b410fd15eedc49d2ab2e4fe9a9f177 (patch)
treeaa94388008a6bd7a7c690a45db083ad0b8fd408b /clang-tools-extra/clangd/FormattedString.cpp
parent2b530053e9d696ada9269e7396180fc6262d2861 (diff)
downloadbcm5719-llvm-15078d7202b410fd15eedc49d2ab2e4fe9a9f177.tar.gz
bcm5719-llvm-15078d7202b410fd15eedc49d2ab2e4fe9a9f177.zip
[clangd] Render header of hover card as a heading
Reviewers: sammccall Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D72625
Diffstat (limited to 'clang-tools-extra/clangd/FormattedString.cpp')
-rw-r--r--clang-tools-extra/clangd/FormattedString.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/clang-tools-extra/clangd/FormattedString.cpp b/clang-tools-extra/clangd/FormattedString.cpp
index 1e61b8b5fb1..881c34e0071 100644
--- a/clang-tools-extra/clangd/FormattedString.cpp
+++ b/clang-tools-extra/clangd/FormattedString.cpp
@@ -164,6 +164,19 @@ std::string indentLines(llvm::StringRef Input) {
}
return IndentedR;
}
+
+class Heading : public Paragraph {
+public:
+ Heading(size_t Level) : Level(Level) {}
+ void renderMarkdown(llvm::raw_ostream &OS) const override {
+ OS << std::string(Level, '#') << ' ';
+ Paragraph::renderMarkdown(OS);
+ }
+
+private:
+ size_t Level;
+};
+
} // namespace
std::string Block::asMarkdown() const {
@@ -278,6 +291,12 @@ BulletList &Document::addBulletList() {
Children.emplace_back(std::make_unique<BulletList>());
return *static_cast<BulletList *>(Children.back().get());
}
+
+Paragraph &Document::addHeading(size_t Level) {
+ assert(Level > 0);
+ Children.emplace_back(std::make_unique<Heading>(Level));
+ return *static_cast<Paragraph *>(Children.back().get());
+}
} // namespace markup
} // namespace clangd
} // namespace clang
OpenPOWER on IntegriCloud