diff options
author | sin-ack <sin-ack@users.noreply.github.com> | 2022-07-11 17:32:29 +0000 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2022-07-12 23:11:35 +0200 |
commit | 3f3f45580ab7266258e97cb3cecf1e24716d61c5 (patch) | |
tree | 152c7a187c98184d58bf91a326357e0af435edcf /Userland/Libraries/LibMarkdown | |
parent | e5f09ea1703bacfbb79a4ad3c587a7d5d3d7bb13 (diff) | |
download | serenity-3f3f45580ab7266258e97cb3cecf1e24716d61c5.zip |
Everywhere: Add sv suffix to strings relying on StringView(char const*)
Each of these strings would previously rely on StringView's char const*
constructor overload, which would call __builtin_strlen on the string.
Since we now have operator ""sv, we can replace these with much simpler
versions. This opens the door to being able to remove
StringView(char const*).
No functional changes.
Diffstat (limited to 'Userland/Libraries/LibMarkdown')
-rw-r--r-- | Userland/Libraries/LibMarkdown/BlockQuote.cpp | 4 | ||||
-rw-r--r-- | Userland/Libraries/LibMarkdown/CodeBlock.cpp | 20 | ||||
-rw-r--r-- | Userland/Libraries/LibMarkdown/CommentBlock.cpp | 4 | ||||
-rw-r--r-- | Userland/Libraries/LibMarkdown/ContainerBlock.cpp | 2 | ||||
-rw-r--r-- | Userland/Libraries/LibMarkdown/Document.cpp | 20 | ||||
-rw-r--r-- | Userland/Libraries/LibMarkdown/Heading.cpp | 6 | ||||
-rw-r--r-- | Userland/Libraries/LibMarkdown/HorizontalRule.cpp | 2 | ||||
-rw-r--r-- | Userland/Libraries/LibMarkdown/List.cpp | 8 | ||||
-rw-r--r-- | Userland/Libraries/LibMarkdown/Paragraph.cpp | 8 | ||||
-rw-r--r-- | Userland/Libraries/LibMarkdown/Table.cpp | 26 | ||||
-rw-r--r-- | Userland/Libraries/LibMarkdown/Text.cpp | 104 |
11 files changed, 102 insertions, 102 deletions
diff --git a/Userland/Libraries/LibMarkdown/BlockQuote.cpp b/Userland/Libraries/LibMarkdown/BlockQuote.cpp index df879a3c05..56f6269691 100644 --- a/Userland/Libraries/LibMarkdown/BlockQuote.cpp +++ b/Userland/Libraries/LibMarkdown/BlockQuote.cpp @@ -13,9 +13,9 @@ namespace Markdown { String BlockQuote::render_to_html(bool) const { StringBuilder builder; - builder.append("<blockquote>\n"); + builder.append("<blockquote>\n"sv); builder.append(m_contents->render_to_html()); - builder.append("</blockquote>\n"); + builder.append("</blockquote>\n"sv); return builder.build(); } diff --git a/Userland/Libraries/LibMarkdown/CodeBlock.cpp b/Userland/Libraries/LibMarkdown/CodeBlock.cpp index 7db1f88277..c22aae97b7 100644 --- a/Userland/Libraries/LibMarkdown/CodeBlock.cpp +++ b/Userland/Libraries/LibMarkdown/CodeBlock.cpp @@ -17,15 +17,15 @@ String CodeBlock::render_to_html(bool) const { StringBuilder builder; - builder.append("<pre>"); + builder.append("<pre>"sv); if (m_style.length() >= 2) - builder.append("<strong>"); + builder.append("<strong>"sv); else if (m_style.length() >= 2) - builder.append("<em>"); + builder.append("<em>"sv); if (m_language.is_empty()) - builder.append("<code>"); + builder.append("<code>"sv); else builder.appendff("<code class=\"language-{}\">", escape_html_entities(m_language)); @@ -34,14 +34,14 @@ String CodeBlock::render_to_html(bool) const else builder.append(escape_html_entities(m_code)); - builder.append("</code>"); + builder.append("</code>"sv); if (m_style.length() >= 2) - builder.append("</strong>"); + builder.append("</strong>"sv); else if (m_style.length() >= 2) - builder.append("</em>"); + builder.append("</em>"sv); - builder.append("</pre>\n"); + builder.append("</pre>\n"sv); return builder.build(); } @@ -51,9 +51,9 @@ String CodeBlock::render_for_terminal(size_t) const StringBuilder builder; for (auto line : m_code.split('\n')) { - builder.append(" "); + builder.append(" "sv); builder.append(line); - builder.append("\n"); + builder.append("\n"sv); } return builder.build(); diff --git a/Userland/Libraries/LibMarkdown/CommentBlock.cpp b/Userland/Libraries/LibMarkdown/CommentBlock.cpp index 7b4f892100..49aeabd2c9 100644 --- a/Userland/Libraries/LibMarkdown/CommentBlock.cpp +++ b/Userland/Libraries/LibMarkdown/CommentBlock.cpp @@ -14,10 +14,10 @@ String CommentBlock::render_to_html(bool) const { StringBuilder builder; - builder.append("<!--"); + builder.append("<!--"sv); builder.append(escape_html_entities(m_comment)); // TODO: This is probably incorrect, because we technically need to escape "--" in some form. However, Browser does not care about this. - builder.append("-->\n"); + builder.append("-->\n"sv); return builder.build(); } diff --git a/Userland/Libraries/LibMarkdown/ContainerBlock.cpp b/Userland/Libraries/LibMarkdown/ContainerBlock.cpp index 026d77e9be..fef3ec15c3 100644 --- a/Userland/Libraries/LibMarkdown/ContainerBlock.cpp +++ b/Userland/Libraries/LibMarkdown/ContainerBlock.cpp @@ -125,7 +125,7 @@ OwnPtr<ContainerBlock> ContainerBlock::parse(LineIterator& lines) } if (!paragraph_text.is_empty()) - paragraph_text.append("\n"); + paragraph_text.append('\n'); paragraph_text.append(*lines++); } diff --git a/Userland/Libraries/LibMarkdown/Document.cpp b/Userland/Libraries/LibMarkdown/Document.cpp index a4fa2307ae..0fbe15a293 100644 --- a/Userland/Libraries/LibMarkdown/Document.cpp +++ b/Userland/Libraries/LibMarkdown/Document.cpp @@ -16,19 +16,19 @@ String Document::render_to_html() const { StringBuilder builder; - builder.append("<!DOCTYPE html>\n"); - builder.append("<html>\n"); - builder.append("<head>\n"); - builder.append("<style>\n"); - builder.append("code { white-space: pre; }\n"); - builder.append("</style>\n"); - builder.append("</head>\n"); - builder.append("<body>\n"); + builder.append("<!DOCTYPE html>\n"sv); + builder.append("<html>\n"sv); + builder.append("<head>\n"sv); + builder.append("<style>\n"sv); + builder.append("code { white-space: pre; }\n"sv); + builder.append("</style>\n"sv); + builder.append("</head>\n"sv); + builder.append("<body>\n"sv); builder.append(render_to_inline_html()); - builder.append("</body>\n"); - builder.append("</html>\n"); + builder.append("</body>\n"sv); + builder.append("</html>\n"sv); return builder.build(); } diff --git a/Userland/Libraries/LibMarkdown/Heading.cpp b/Userland/Libraries/LibMarkdown/Heading.cpp index fe16f4d22b..0c3f2f3de8 100644 --- a/Userland/Libraries/LibMarkdown/Heading.cpp +++ b/Userland/Libraries/LibMarkdown/Heading.cpp @@ -19,16 +19,16 @@ String Heading::render_for_terminal(size_t) const { StringBuilder builder; - builder.append("\033[0;31;1m\n"); + builder.append("\033[0;31;1m\n"sv); switch (m_level) { case 1: case 2: builder.append(m_text.render_for_terminal().to_uppercase()); - builder.append("\033[0m\n"); + builder.append("\033[0m\n"sv); break; default: builder.append(m_text.render_for_terminal()); - builder.append("\033[0m\n"); + builder.append("\033[0m\n"sv); break; } diff --git a/Userland/Libraries/LibMarkdown/HorizontalRule.cpp b/Userland/Libraries/LibMarkdown/HorizontalRule.cpp index 7bb8edb42f..680c99009c 100644 --- a/Userland/Libraries/LibMarkdown/HorizontalRule.cpp +++ b/Userland/Libraries/LibMarkdown/HorizontalRule.cpp @@ -22,7 +22,7 @@ String HorizontalRule::render_for_terminal(size_t view_width) const StringBuilder builder(view_width + 1); for (size_t i = 0; i < view_width; ++i) builder.append('-'); - builder.append("\n\n"); + builder.append("\n\n"sv); return builder.to_string(); } diff --git a/Userland/Libraries/LibMarkdown/List.cpp b/Userland/Libraries/LibMarkdown/List.cpp index d98288f355..994eee226c 100644 --- a/Userland/Libraries/LibMarkdown/List.cpp +++ b/Userland/Libraries/LibMarkdown/List.cpp @@ -22,14 +22,14 @@ String List::render_to_html(bool) const if (m_start_number != 1) builder.appendff(" start=\"{}\"", m_start_number); - builder.append(">\n"); + builder.append(">\n"sv); for (auto& item : m_items) { - builder.append("<li>"); + builder.append("<li>"sv); if (!m_is_tight || (item->blocks().size() != 0 && !dynamic_cast<Paragraph const*>(&(item->blocks()[0])))) builder.append("\n"); builder.append(item->render_to_html(m_is_tight)); - builder.append("</li>\n"); + builder.append("</li>\n"sv); } builder.appendff("</{}>\n", tag); @@ -43,7 +43,7 @@ String List::render_for_terminal(size_t) const int i = 0; for (auto& item : m_items) { - builder.append(" "); + builder.append(" "sv); if (m_is_ordered) builder.appendff("{}.", ++i); else diff --git a/Userland/Libraries/LibMarkdown/Paragraph.cpp b/Userland/Libraries/LibMarkdown/Paragraph.cpp index d1d2ebec65..0b804a86b9 100644 --- a/Userland/Libraries/LibMarkdown/Paragraph.cpp +++ b/Userland/Libraries/LibMarkdown/Paragraph.cpp @@ -15,12 +15,12 @@ String Paragraph::render_to_html(bool tight) const StringBuilder builder; if (!tight) - builder.append("<p>"); + builder.append("<p>"sv); builder.append(m_text.render_to_html()); if (!tight) - builder.append("</p>"); + builder.append("</p>"sv); builder.append('\n'); @@ -30,9 +30,9 @@ String Paragraph::render_to_html(bool tight) const String Paragraph::render_for_terminal(size_t) const { StringBuilder builder; - builder.append(" "); + builder.append(" "sv); builder.append(m_text.render_for_terminal()); - builder.append("\n\n"); + builder.append("\n\n"sv); return builder.build(); } diff --git a/Userland/Libraries/LibMarkdown/Table.cpp b/Userland/Libraries/LibMarkdown/Table.cpp index 5cf26bd48e..c67409aa61 100644 --- a/Userland/Libraries/LibMarkdown/Table.cpp +++ b/Userland/Libraries/LibMarkdown/Table.cpp @@ -84,29 +84,29 @@ String Table::render_to_html(bool) const StringBuilder builder; - builder.append("<table>"); - builder.append("<thead>"); - builder.append("<tr>"); + builder.append("<table>"sv); + builder.append("<thead>"sv); + builder.append("<tr>"sv); for (auto& column : m_columns) { builder.appendff("<th style='text-align: {}'>", alignment_string(column.alignment)); builder.append(column.header.render_to_html()); - builder.append("</th>"); + builder.append("</th>"sv); } - builder.append("</tr>"); - builder.append("</thead>"); - builder.append("<tbody>"); + builder.append("</tr>"sv); + builder.append("</thead>"sv); + builder.append("<tbody>"sv); for (size_t i = 0; i < m_row_count; ++i) { - builder.append("<tr>"); + builder.append("<tr>"sv); for (auto& column : m_columns) { VERIFY(i < column.rows.size()); builder.appendff("<td style='text-align: {}'>", alignment_string(column.alignment)); builder.append(column.rows[i].render_to_html()); - builder.append("</td>"); + builder.append("</td>"sv); } - builder.append("</tr>"); + builder.append("</tr>"sv); } - builder.append("</tbody>"); - builder.append("</table>"); + builder.append("</tbody>"sv); + builder.append("</table>"sv); return builder.to_string(); } @@ -224,7 +224,7 @@ OwnPtr<Table> Table::parse(LineIterator& lines) if (i >= segments.size()) { // Ran out of segments, but still have headers. // Just make an empty cell. - table->m_columns[i].rows.append(Text::parse("")); + table->m_columns[i].rows.append(Text::parse(""sv)); } else { auto text = Text::parse(segments[i]); table->m_columns[i].rows.append(move(text)); diff --git a/Userland/Libraries/LibMarkdown/Text.cpp b/Userland/Libraries/LibMarkdown/Text.cpp index b4088ebb60..1a5f55717b 100644 --- a/Userland/Libraries/LibMarkdown/Text.cpp +++ b/Userland/Libraries/LibMarkdown/Text.cpp @@ -17,21 +17,21 @@ namespace Markdown { void Text::EmphasisNode::render_to_html(StringBuilder& builder) const { - builder.append((strong) ? "<strong>" : "<em>"); + builder.append((strong) ? "<strong>"sv : "<em>"sv); child->render_to_html(builder); - builder.append((strong) ? "</strong>" : "</em>"); + builder.append((strong) ? "</strong>"sv : "</em>"sv); } void Text::EmphasisNode::render_for_terminal(StringBuilder& builder) const { if (strong) { - builder.append("\e[1m"); + builder.append("\e[1m"sv); child->render_for_terminal(builder); - builder.append("\e[22m"); + builder.append("\e[22m"sv); } else { - builder.append("\e[3m"); + builder.append("\e[3m"sv); child->render_for_terminal(builder); - builder.append("\e[23m"); + builder.append("\e[23m"sv); } } @@ -51,16 +51,16 @@ RecursionDecision Text::EmphasisNode::walk(Visitor& visitor) const void Text::CodeNode::render_to_html(StringBuilder& builder) const { - builder.append("<code>"); + builder.append("<code>"sv); code->render_to_html(builder); - builder.append("</code>"); + builder.append("</code>"sv); } void Text::CodeNode::render_for_terminal(StringBuilder& builder) const { - builder.append("\e[1m"); + builder.append("\e[1m"sv); code->render_for_terminal(builder); - builder.append("\e[22m"); + builder.append("\e[22m"sv); } size_t Text::CodeNode::terminal_length() const @@ -79,7 +79,7 @@ RecursionDecision Text::CodeNode::walk(Visitor& visitor) const void Text::BreakNode::render_to_html(StringBuilder& builder) const { - builder.append("<br />"); + builder.append("<br />"sv); } void Text::BreakNode::render_for_terminal(StringBuilder&) const @@ -138,34 +138,34 @@ RecursionDecision Text::TextNode::walk(Visitor& visitor) const void Text::LinkNode::render_to_html(StringBuilder& builder) const { if (is_image) { - builder.append("<img src=\""); + builder.append("<img src=\""sv); builder.append(escape_html_entities(href)); - builder.append("\" alt=\""); + builder.append("\" alt=\""sv); text->render_to_html(builder); - builder.append("\" >"); + builder.append("\" >"sv); } else { - builder.append("<a href=\""); + builder.append("<a href=\""sv); builder.append(escape_html_entities(href)); - builder.append("\">"); + builder.append("\">"sv); text->render_to_html(builder); - builder.append("</a>"); + builder.append("</a>"sv); } } void Text::LinkNode::render_for_terminal(StringBuilder& builder) const { - bool is_linked = href.contains("://"); + bool is_linked = href.contains("://"sv); if (is_linked) { - builder.append("\033[0;34m\e]8;;"); + builder.append("\033[0;34m\e]8;;"sv); builder.append(href); - builder.append("\e\\"); + builder.append("\e\\"sv); } text->render_for_terminal(builder); if (is_linked) { builder.appendff(" <{}>", href); - builder.append("\033]8;;\033\\\033[0m"); + builder.append("\033]8;;\033\\\033[0m"sv); } } @@ -225,16 +225,16 @@ RecursionDecision Text::MultiNode::walk(Visitor& visitor) const void Text::StrikeThroughNode::render_to_html(StringBuilder& builder) const { - builder.append("<del>"); + builder.append("<del>"sv); striked_text->render_to_html(builder); - builder.append("</del>"); + builder.append("</del>"sv); } void Text::StrikeThroughNode::render_for_terminal(StringBuilder& builder) const { - builder.append("\e[9m"); + builder.append("\e[9m"sv); striked_text->render_for_terminal(builder); - builder.append("\e[29m"); + builder.append("\e[29m"sv); } size_t Text::StrikeThroughNode::terminal_length() const @@ -260,14 +260,14 @@ String Text::render_to_html() const { StringBuilder builder; m_node->render_to_html(builder); - return builder.build().trim(" \n\t"); + return builder.build().trim(" \n\t"sv); } String Text::render_for_terminal() const { StringBuilder builder; m_node->render_for_terminal(builder); - return builder.build().trim(" \n\t"); + return builder.build().trim(" \n\t"sv); } RecursionDecision Text::walk(Visitor& visitor) const @@ -380,16 +380,16 @@ Vector<Text::Token> Text::tokenize(StringView str) in_space = true; } current_token.append(ch); - } else if (has("\n")) { - expect("\n"); - } else if (has("[")) { - expect("["); - } else if (has(") { - expect("]("); - } else if (has(")")) { - expect(")"); + } else if (has("\n"sv)) { + expect("\n"sv); + } else if (has("["sv)) { + expect("["sv); + } else if (has(") { + expect("]("sv); + } else if (has(")"sv)) { + expect(")"sv); } else { current_token.append(ch); } @@ -405,7 +405,7 @@ NonnullOwnPtr<Text::MultiNode> Text::parse_sequence(Vector<Token>::ConstIterator for (; !tokens.is_end(); ++tokens) { if (tokens->is_space()) { node->children.append(parse_break(tokens)); - } else if (*tokens == "\n") { + } else if (*tokens == "\n"sv) { node->children.append(parse_newline(tokens)); } else if (tokens->is_run) { switch (tokens->run_char()) { @@ -420,15 +420,15 @@ NonnullOwnPtr<Text::MultiNode> Text::parse_sequence(Vector<Token>::ConstIterator node->children.append(parse_strike_through(tokens)); break; } - } else if (*tokens == "[" || *tokens == " { + } else if (in_link && *tokens == "]("sv) { return node; } else { node->children.append(make<TextNode>(tokens->data)); } - if (in_link && !tokens.is_end() && *tokens == "](") + if (in_link && !tokens.is_end() && *tokens == "]("sv) return node; if (tokens.is_end()) @@ -440,7 +440,7 @@ NonnullOwnPtr<Text::MultiNode> Text::parse_sequence(Vector<Token>::ConstIterator NonnullOwnPtr<Text::Node> Text::parse_break(Vector<Token>::ConstIterator& tokens) { auto next_tok = tokens + 1; - if (next_tok.is_end() || *next_tok != "\n") + if (next_tok.is_end() || *next_tok != "\n"sv) return make<TextNode>(tokens->data); if (tokens->data.length() >= 2) @@ -488,7 +488,7 @@ NonnullOwnPtr<Text::Node> Text::parse_emph(Vector<Token>::ConstIterator& tokens, for (++tokens; !tokens.is_end(); ++tokens) { if (tokens->is_space()) { child->children.append(parse_break(tokens)); - } else if (*tokens == "\n") { + } else if (*tokens == "\n"sv) { child->children.append(parse_newline(tokens)); } else if (tokens->is_run) { if (can_close_for(opening, *tokens)) { @@ -507,16 +507,16 @@ NonnullOwnPtr<Text::Node> Text::parse_emph(Vector<Token>::ConstIterator& tokens, child->children.append(parse_strike_through(tokens)); break; } - } else if (*tokens == "[" || *tokens == " { + } else if (in_link && *tokens == "]("sv) { child->children.prepend(make<TextNode>(opening.data)); return child; } else { child->children.append(make<TextNode>(tokens->data)); } - if (in_link && !tokens.is_end() && *tokens == "](") { + if (in_link && !tokens.is_end() && *tokens == "]("sv) { child->children.prepend(make<TextNode>(opening.data)); return child; } @@ -556,7 +556,7 @@ NonnullOwnPtr<Text::Node> Text::parse_code(Vector<Token>::ConstIterator& tokens) } is_all_whitespace = is_all_whitespace && iterator->data.is_whitespace(); - code->children.append(make<TextNode>((*iterator == "\n") ? " " : iterator->data, false)); + code->children.append(make<TextNode>((*iterator == "\n"sv) ? " " : iterator->data, false)); } return make<TextNode>(opening.data); @@ -565,20 +565,20 @@ NonnullOwnPtr<Text::Node> Text::parse_code(Vector<Token>::ConstIterator& tokens) NonnullOwnPtr<Text::Node> Text::parse_link(Vector<Token>::ConstIterator& tokens) { auto opening = *tokens++; - bool is_image = opening == " { + if (tokens.is_end() || *tokens != "]("sv) { link_text->children.prepend(make<TextNode>(opening.data)); return link_text; } auto separator = *tokens; - VERIFY(separator == "]("); + VERIFY(separator == "]("sv); StringBuilder address; for (auto iterator = tokens + 1; !iterator.is_end(); ++iterator) { - if (*iterator == ")") { + if (*iterator == ")"sv) { tokens = iterator; return make<LinkNode>(is_image, move(link_text), address.build()); } @@ -618,7 +618,7 @@ NonnullOwnPtr<Text::Node> Text::parse_strike_through(Vector<Token>::ConstIterato } is_all_whitespace = is_all_whitespace && iterator->data.is_whitespace(); - striked_text->children.append(make<TextNode>((*iterator == "\n") ? " " : iterator->data, false)); + striked_text->children.append(make<TextNode>((*iterator == "\n"sv) ? " " : iterator->data, false)); } return make<TextNode>(opening.data); |