1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 08:08:12 +00:00

Everywhere: Replace single-char StringView op. arguments with chars

This prevents us from needing a sv suffix, and potentially reduces the
need to run generic code for a single character (as contains,
starts_with, ends_with etc. for a char will be just a length and
equality check).

No functional changes.
This commit is contained in:
sin-ack 2022-07-11 20:10:18 +00:00 committed by Andreas Kling
parent 3f3f45580a
commit c8585b77d2
86 changed files with 283 additions and 283 deletions

View file

@ -182,9 +182,9 @@ inline void JsonValue::serialize(Builder& builder) const
{ {
switch (m_type) { switch (m_type) {
case Type::String: { case Type::String: {
builder.append("\""); builder.append('\"');
builder.append_escaped_for_json({ m_value.as_string->characters(), m_value.as_string->length() }); builder.append_escaped_for_json({ m_value.as_string->characters(), m_value.as_string->length() });
builder.append("\""); builder.append('\"');
} break; } break;
case Type::Array: case Type::Array:
m_value.as_array->serialize(builder); m_value.as_array->serialize(builder);

View file

@ -75,7 +75,7 @@ public:
if (string.is_null()) if (string.is_null())
return {}; return {};
auto const parts = string.split_view(":"); auto const parts = string.split_view(':');
if (parts.size() != 6) if (parts.size() != 6)
return {}; return {};

View file

@ -58,7 +58,7 @@ UNMAP_AFTER_INIT NonnullOwnPtr<KString> CommandLine::build_commandline(StringVie
StringBuilder builder; StringBuilder builder;
builder.append(cmdline_from_bootloader); builder.append(cmdline_from_bootloader);
if constexpr (!s_embedded_cmd_line.is_empty()) { if constexpr (!s_embedded_cmd_line.is_empty()) {
builder.append(" "); builder.append(' ');
builder.append(s_embedded_cmd_line); builder.append(s_embedded_cmd_line);
} }
return KString::must_create(builder.string_view()); return KString::must_create(builder.string_view());

View file

@ -60,7 +60,7 @@ static String convert_enumeration_value_to_cpp_enum_member(String const& value,
} else { } else {
auto non_alnum_string = lexer.consume_while([](auto c) { return !is_ascii_alphanumeric(c); }); auto non_alnum_string = lexer.consume_while([](auto c) { return !is_ascii_alphanumeric(c); });
if (!non_alnum_string.is_empty()) if (!non_alnum_string.is_empty())
builder.append("_"); builder.append('_');
} }
} }

View file

@ -100,7 +100,7 @@ static void do_weird_call(size_t attempt, int syscall_fn, size_t arg1, size_t ar
builder.append(", "sv); builder.append(", "sv);
builder.appendff("{:p}", fake_params[i]); builder.appendff("{:p}", fake_params[i]);
} }
builder.append("]"); builder.append(']');
dbgln("{}", builder.build()); dbgln("{}", builder.build());
// Actually do the syscall ('fake_params' is passed indirectly, if any of arg1, arg2, or arg3 point to it. // Actually do the syscall ('fake_params' is passed indirectly, if any of arg1, arg2, or arg3 point to it.

View file

@ -159,7 +159,7 @@ TEST_CASE(parser_error_special_characters_used_at_wrong_place)
// After circumflex // After circumflex
b.clear(); b.clear();
b.append("^"); b.append('^');
b.append(ch); b.append(ch);
pattern = b.build(); pattern = b.build();
l.set_source(pattern); l.set_source(pattern);
@ -169,7 +169,7 @@ TEST_CASE(parser_error_special_characters_used_at_wrong_place)
// After dollar // After dollar
b.clear(); b.clear();
b.append("$"); b.append('$');
b.append(ch); b.append(ch);
pattern = b.build(); pattern = b.build();
l.set_source(pattern); l.set_source(pattern);
@ -179,9 +179,9 @@ TEST_CASE(parser_error_special_characters_used_at_wrong_place)
// After left parens // After left parens
b.clear(); b.clear();
b.append("("); b.append('(');
b.append(ch); b.append(ch);
b.append(")"); b.append(')');
pattern = b.build(); pattern = b.build();
l.set_source(pattern); l.set_source(pattern);
p.parse(); p.parse();

View file

@ -341,7 +341,7 @@ TEST_CASE(parser_error_special_characters_used_at_wrong_place)
// After circumflex // After circumflex
b.clear(); b.clear();
b.append("^"); b.append('^');
b.append(ch); b.append(ch);
pattern = b.build(); pattern = b.build();
EXPECT_EQ(regcomp(&regex, pattern.characters(), REG_EXTENDED), error_code_to_check); EXPECT_EQ(regcomp(&regex, pattern.characters(), REG_EXTENDED), error_code_to_check);
@ -350,7 +350,7 @@ TEST_CASE(parser_error_special_characters_used_at_wrong_place)
// After dollar // After dollar
b.clear(); b.clear();
b.append("$"); b.append('$');
b.append(ch); b.append(ch);
pattern = b.build(); pattern = b.build();
EXPECT_EQ(regcomp(&regex, pattern.characters(), REG_EXTENDED), error_code_to_check); EXPECT_EQ(regcomp(&regex, pattern.characters(), REG_EXTENDED), error_code_to_check);
@ -359,9 +359,9 @@ TEST_CASE(parser_error_special_characters_used_at_wrong_place)
// After left parens // After left parens
b.clear(); b.clear();
b.append("("); b.append('(');
b.append(ch); b.append(ch);
b.append(")"); b.append(')');
pattern = b.build(); pattern = b.build();
EXPECT_EQ(regcomp(&regex, pattern.characters(), REG_EXTENDED), error_code_to_check); EXPECT_EQ(regcomp(&regex, pattern.characters(), REG_EXTENDED), error_code_to_check);
EXPECT_EQ(regexec(&regex, "test", num_matches, matches, 0), error_code_to_check); EXPECT_EQ(regexec(&regex, "test", num_matches, matches, 0), error_code_to_check);

View file

@ -73,13 +73,13 @@ GUI::Variant ClipboardHistoryModel::data(const GUI::ModelIndex& index, GUI::Mode
return String::copy(data_and_type.data); return String::copy(data_and_type.data);
if (data_and_type.mime_type == "image/x-serenityos") { if (data_and_type.mime_type == "image/x-serenityos") {
StringBuilder builder; StringBuilder builder;
builder.append("["); builder.append('[');
builder.append(data_and_type.metadata.get("width").value_or("?")); builder.append(data_and_type.metadata.get("width").value_or("?"));
builder.append('x'); builder.append('x');
builder.append(data_and_type.metadata.get("height").value_or("?")); builder.append(data_and_type.metadata.get("height").value_or("?"));
builder.append('x'); builder.append('x');
builder.append(bpp_for_format_resilient(data_and_type.metadata.get("format").value_or("0"))); builder.append(bpp_for_format_resilient(data_and_type.metadata.get("format").value_or("0")));
builder.append("]"); builder.append(']');
builder.append(" bitmap"sv); builder.append(" bitmap"sv);
return builder.to_string(); return builder.to_string();
} }

View file

@ -28,7 +28,7 @@ RefPtr<Mesh> WavefrontOBJLoader::load(Core::File& file)
// Start reading file line by line // Start reading file line by line
for (auto object_line : file.lines()) { for (auto object_line : file.lines()) {
// Ignore file comments // Ignore file comments
if (object_line.starts_with("#")) if (object_line.starts_with('#'))
continue; continue;
if (object_line.starts_with("vt"sv)) { if (object_line.starts_with("vt"sv)) {
@ -59,7 +59,7 @@ RefPtr<Mesh> WavefrontOBJLoader::load(Core::File& file)
} }
// This line describes a vertex (a position in 3D space) // This line describes a vertex (a position in 3D space)
if (object_line.starts_with("v")) { if (object_line.starts_with('v')) {
auto vertex_line = object_line.split_view(' '); auto vertex_line = object_line.split_view(' ');
if (vertex_line.size() != 4) { if (vertex_line.size() != 4) {
dbgln("Wavefront: Malformed vertex line. Aborting."); dbgln("Wavefront: Malformed vertex line. Aborting.");
@ -74,7 +74,7 @@ RefPtr<Mesh> WavefrontOBJLoader::load(Core::File& file)
} }
// This line describes a face (a collection of 3+ vertices, aka a triangle or polygon) // This line describes a face (a collection of 3+ vertices, aka a triangle or polygon)
if (object_line.starts_with("f")) { if (object_line.starts_with('f')) {
auto face_line = object_line.substring_view(2).split_view(' '); auto face_line = object_line.substring_view(2).split_view(' ');
auto number_of_vertices = face_line.size(); auto number_of_vertices = face_line.size();
if (number_of_vertices < 3) { if (number_of_vertices < 3) {

View file

@ -62,7 +62,7 @@ void URLResult::activate() const
void AppProvider::query(String const& query, Function<void(NonnullRefPtrVector<Result>)> on_complete) void AppProvider::query(String const& query, Function<void(NonnullRefPtrVector<Result>)> on_complete)
{ {
if (query.starts_with("=") || query.starts_with('$')) if (query.starts_with('=') || query.starts_with('$'))
return; return;
NonnullRefPtrVector<Result> results; NonnullRefPtrVector<Result> results;
@ -81,7 +81,7 @@ void AppProvider::query(String const& query, Function<void(NonnullRefPtrVector<R
void CalculatorProvider::query(String const& query, Function<void(NonnullRefPtrVector<Result>)> on_complete) void CalculatorProvider::query(String const& query, Function<void(NonnullRefPtrVector<Result>)> on_complete)
{ {
if (!query.starts_with("=")) if (!query.starts_with('='))
return; return;
auto vm = JS::VM::create(); auto vm = JS::VM::create();

View file

@ -121,7 +121,7 @@ String Keypad::to_string() const
{ {
StringBuilder builder; StringBuilder builder;
if (m_negative) if (m_negative)
builder.append("-"); builder.append('-');
builder.appendff("{}", m_int_value.value()); builder.appendff("{}", m_int_value.value());
// NOTE: This is so the decimal point appears on screen as soon as you type it. // NOTE: This is so the decimal point appears on screen as soon as you type it.

View file

@ -209,7 +209,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
}; };
auto& arguments_label = *widget->find_descendant_of_type_named<GUI::Label>("arguments_label"); auto& arguments_label = *widget->find_descendant_of_type_named<GUI::Label>("arguments_label");
arguments_label.set_text(String::join(" ", crashed_process_arguments)); arguments_label.set_text(String::join(' ', crashed_process_arguments));
auto& progressbar = *widget->find_descendant_of_type_named<GUI::Progressbar>("progressbar"); auto& progressbar = *widget->find_descendant_of_type_named<GUI::Progressbar>("progressbar");
auto& tab_widget = *widget->find_descendant_of_type_named<GUI::TabWidget>("tab_widget"); auto& tab_widget = *widget->find_descendant_of_type_named<GUI::TabWidget>("tab_widget");
@ -241,7 +241,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
environment_tab->layout()->set_margins(4); environment_tab->layout()->set_margins(4);
auto environment_text_editor = TRY(environment_tab->try_add<GUI::TextEditor>()); auto environment_text_editor = TRY(environment_tab->try_add<GUI::TextEditor>());
environment_text_editor->set_text(String::join("\n", environment)); environment_text_editor->set_text(String::join('\n', environment));
environment_text_editor->set_mode(GUI::TextEditor::Mode::ReadOnly); environment_text_editor->set_mode(GUI::TextEditor::Mode::ReadOnly);
environment_text_editor->set_should_hide_unnecessary_scrollbars(true); environment_text_editor->set_should_hide_unnecessary_scrollbars(true);
@ -250,7 +250,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
memory_regions_tab->layout()->set_margins(4); memory_regions_tab->layout()->set_margins(4);
auto memory_regions_text_editor = TRY(memory_regions_tab->try_add<GUI::TextEditor>()); auto memory_regions_text_editor = TRY(memory_regions_tab->try_add<GUI::TextEditor>());
memory_regions_text_editor->set_text(String::join("\n", memory_regions)); memory_regions_text_editor->set_text(String::join('\n', memory_regions));
memory_regions_text_editor->set_mode(GUI::TextEditor::Mode::ReadOnly); memory_regions_text_editor->set_mode(GUI::TextEditor::Mode::ReadOnly);
memory_regions_text_editor->set_should_hide_unnecessary_scrollbars(true); memory_regions_text_editor->set_should_hide_unnecessary_scrollbars(true);
memory_regions_text_editor->set_visualize_trailing_whitespace(false); memory_regions_text_editor->set_visualize_trailing_whitespace(false);

View file

@ -201,7 +201,7 @@ void do_create_archive(Vector<String> const& selected_file_paths, GUI::Window* w
StringBuilder path_builder; StringBuilder path_builder;
path_builder.append(output_directory_path.dirname()); path_builder.append(output_directory_path.dirname());
path_builder.append("/"); path_builder.append('/');
if (archive_name.is_empty()) { if (archive_name.is_empty()) {
path_builder.append(output_directory_path.parent().basename()); path_builder.append(output_directory_path.parent().basename());
path_builder.append(".zip"sv); path_builder.append(".zip"sv);

View file

@ -849,7 +849,7 @@ void MainWidget::update_statusbar()
builder.append_code_point(glyph); builder.append_code_point(glyph);
} }
builder.append(")"); builder.append(')');
auto glyph_name = Unicode::code_point_display_name(glyph); auto glyph_name = Unicode::code_point_display_name(glyph);
if (glyph_name.has_value()) { if (glyph_name.has_value()) {

View file

@ -169,7 +169,7 @@ struct QueueEntry {
static void populate_filesize_tree(TreeNode& root, Vector<MountInfo>& mounts, HashMap<int, int>& error_accumulator, GUI::Label& progresslabel) static void populate_filesize_tree(TreeNode& root, Vector<MountInfo>& mounts, HashMap<int, int>& error_accumulator, GUI::Label& progresslabel)
{ {
VERIFY(!root.m_name.ends_with("/")); VERIFY(!root.m_name.ends_with('/'));
Queue<QueueEntry> queue; Queue<QueueEntry> queue;
queue.enqueue(QueueEntry(root.m_name, &root)); queue.enqueue(QueueEntry(root.m_name, &root));
@ -177,7 +177,7 @@ static void populate_filesize_tree(TreeNode& root, Vector<MountInfo>& mounts, Ha
StringBuilder builder = StringBuilder(); StringBuilder builder = StringBuilder();
builder.append(root.m_name); builder.append(root.m_name);
builder.append("/"); builder.append('/');
MountInfo* root_mount_info = find_mount_for_path(builder.to_string(), mounts); MountInfo* root_mount_info = find_mount_for_path(builder.to_string(), mounts);
if (!root_mount_info) { if (!root_mount_info) {
return; return;
@ -187,7 +187,7 @@ static void populate_filesize_tree(TreeNode& root, Vector<MountInfo>& mounts, Ha
builder.clear(); builder.clear();
builder.append(queue_entry.path); builder.append(queue_entry.path);
builder.append("/"); builder.append('/');
MountInfo* mount_info = find_mount_for_path(builder.to_string(), mounts); MountInfo* mount_info = find_mount_for_path(builder.to_string(), mounts);
if (!mount_info || (mount_info != root_mount_info && mount_info->source != root_mount_info->source)) { if (!mount_info || (mount_info != root_mount_info && mount_info->source != root_mount_info->source)) {
@ -269,7 +269,7 @@ static void analyze(RefPtr<Tree> tree, SpaceAnalyzer::TreeMapWidget& treemapwidg
} else { } else {
builder.append(" times"sv); builder.append(" times"sv);
} }
builder.append(")"); builder.append(')');
first = false; first = false;
} }
statusbar.set_text(builder.to_string()); statusbar.set_text(builder.to_string());
@ -404,7 +404,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
const SpaceAnalyzer::TreeMapNode* node = treemapwidget.path_node(k); const SpaceAnalyzer::TreeMapNode* node = treemapwidget.path_node(k);
builder.append("/"); builder.append('/');
builder.append(node->name()); builder.append(node->name());
breadcrumbbar.append_segment(node->name(), GUI::FileIconProvider::icon_for_path(builder.string_view()).bitmap_for_size(16), builder.string_view(), builder.string_view()); breadcrumbbar.append_segment(node->name(), GUI::FileIconProvider::icon_for_path(builder.string_view()).bitmap_for_size(16), builder.string_view(), builder.string_view());

View file

@ -22,7 +22,7 @@ void Cell::set_data(String new_data)
if (m_data == new_data) if (m_data == new_data)
return; return;
if (new_data.starts_with("=")) { if (new_data.starts_with('=')) {
new_data = new_data.substring(1, new_data.length() - 1); new_data = new_data.substring(1, new_data.length() - 1);
m_kind = Formula; m_kind = Formula;
} else { } else {

View file

@ -140,7 +140,7 @@ private:
auto string = String::formatted("{}", FormatIfSupported(entry)); auto string = String::formatted("{}", FormatIfSupported(entry));
auto safe_to_write_normally = (m_behaviors & WriterBehavior::QuoteAll) == WriterBehavior::None auto safe_to_write_normally = (m_behaviors & WriterBehavior::QuoteAll) == WriterBehavior::None
&& !string.contains("\n") && !string.contains('\n')
&& !string.contains(m_traits.separator); && !string.contains(m_traits.separator);
if (safe_to_write_normally) { if (safe_to_write_normally) {

View file

@ -226,9 +226,9 @@ public:
"Size", Gfx::TextAlignment::CenterRight, "Size", Gfx::TextAlignment::CenterRight,
[](const JsonObject& object) { [](const JsonObject& object) {
StringBuilder size_builder; StringBuilder size_builder;
size_builder.append(" "); size_builder.append(' ');
size_builder.append(human_readable_size(object.get("total_block_count"sv).to_u64() * object.get("block_size"sv).to_u64())); size_builder.append(human_readable_size(object.get("total_block_count"sv).to_u64() * object.get("block_size"sv).to_u64()));
size_builder.append(" "); size_builder.append(' ');
return size_builder.to_string(); return size_builder.to_string();
}, },
[](const JsonObject& object) { [](const JsonObject& object) {

View file

@ -94,7 +94,7 @@ bool Debugger::set_execution_position(String const& file, size_t line)
Debug::DebugInfo::SourcePosition Debugger::create_source_position(String const& file, size_t line) Debug::DebugInfo::SourcePosition Debugger::create_source_position(String const& file, size_t line)
{ {
if (file.starts_with("/")) if (file.starts_with('/'))
return { file, line + 1 }; return { file, line + 1 };
return { LexicalPath::canonicalized_path(String::formatted("{}/{}", m_source_root, file)), line + 1 }; return { LexicalPath::canonicalized_path(String::formatted("{}/{}", m_source_root, file)), line + 1 };
} }

View file

@ -161,7 +161,7 @@ Optional<String> NewProjectDialog::get_available_project_name()
Optional<String> NewProjectDialog::get_project_full_path() Optional<String> NewProjectDialog::get_project_full_path()
{ {
// Do not permit forward-slashes in project names // Do not permit forward-slashes in project names
if (m_name_input->text().contains("/")) if (m_name_input->text().contains('/'))
return {}; return {};
auto create_in = m_create_in_input->text(); auto create_in = m_create_in_input->text();

View file

@ -619,7 +619,7 @@ NonnullRefPtr<GUI::Action> HackStudioWidget::create_copy_relative_path_action()
auto copy_relative_path_action = GUI::Action::create("Copy &Relative Path", [this](const GUI::Action&) { auto copy_relative_path_action = GUI::Action::create("Copy &Relative Path", [this](const GUI::Action&) {
auto paths = selected_file_paths(); auto paths = selected_file_paths();
VERIFY(!paths.is_empty()); VERIFY(!paths.is_empty());
auto paths_string = String::join("\n", paths); auto paths_string = String::join('\n', paths);
GUI::Clipboard::the().set_plain_text(paths_string); GUI::Clipboard::the().set_plain_text(paths_string);
}); });
copy_relative_path_action->set_enabled(true); copy_relative_path_action->set_enabled(true);
@ -636,7 +636,7 @@ NonnullRefPtr<GUI::Action> HackStudioWidget::create_copy_full_path_action()
Vector<String> full_paths; Vector<String> full_paths;
for (auto& path : paths) for (auto& path : paths)
full_paths.append(get_absolute_path(path)); full_paths.append(get_absolute_path(path));
auto paths_string = String::join("\n", full_paths); auto paths_string = String::join('\n', full_paths);
GUI::Clipboard::the().set_plain_text(paths_string); GUI::Clipboard::the().set_plain_text(paths_string);
}); });
copy_full_path_action->set_enabled(true); copy_full_path_action->set_enabled(true);
@ -1086,7 +1086,7 @@ String HackStudioWidget::get_full_path_of_serenity_source(String const& file)
path_parts.remove(0); path_parts.remove(0);
} }
StringBuilder relative_path_builder; StringBuilder relative_path_builder;
relative_path_builder.join("/", path_parts); relative_path_builder.join('/', path_parts);
constexpr char SERENITY_LIBS_PREFIX[] = "/usr/src/serenity"; constexpr char SERENITY_LIBS_PREFIX[] = "/usr/src/serenity";
LexicalPath serenity_sources_base(SERENITY_LIBS_PREFIX); LexicalPath serenity_sources_base(SERENITY_LIBS_PREFIX);
return String::formatted("{}/{}", serenity_sources_base, relative_path_builder.to_string()); return String::formatted("{}/{}", serenity_sources_base, relative_path_builder.to_string());

View file

@ -15,7 +15,7 @@ Language language_from_file(LexicalPath const& file)
return Language::GitCommit; return Language::GitCommit;
auto extension = file.extension(); auto extension = file.extension();
VERIFY(!extension.starts_with(".")); VERIFY(!extension.starts_with('.'));
if (extension == "c" || extension == "cc" || extension == "cxx" || extension == "cpp" || extension == "c++" if (extension == "c" || extension == "cc" || extension == "cxx" || extension == "cpp" || extension == "c++"
|| extension == "h" || extension == "hh" || extension == "hxx" || extension == "hpp" || extension == "h++") || extension == "h" || extension == "hh" || extension == "hxx" || extension == "hpp" || extension == "h++")
return Language::Cpp; return Language::Cpp;
@ -57,7 +57,7 @@ String language_name_from_file(LexicalPath const& file)
return "GitCommit"; return "GitCommit";
auto extension = file.extension(); auto extension = file.extension();
VERIFY(!extension.starts_with(".")); VERIFY(!extension.starts_with('.'));
if (extension == "c" || extension == "cc" || extension == "cxx" || extension == "cpp" || extension == "c++" if (extension == "c" || extension == "cc" || extension == "cxx" || extension == "cpp" || extension == "c++"
|| extension == "h" || extension == "hh" || extension == "hxx" || extension == "hpp" || extension == "h++") || extension == "h" || extension == "hh" || extension == "hxx" || extension == "hpp" || extension == "h++")
return "C++"; return "C++";

View file

@ -246,7 +246,7 @@ void ProjectBuilder::for_each_library_dependencies(Function<void(String, Vector<
auto library_name = result.capture_group_matches.at(0).at(0).view.string_view(); auto library_name = result.capture_group_matches.at(0).at(0).view.string_view();
auto dependencies_string = result.capture_group_matches.at(0).at(1).view.string_view(); auto dependencies_string = result.capture_group_matches.at(0).at(1).view.string_view();
func(library_name, dependencies_string.split_view(" ")); func(library_name, dependencies_string.split_view(' '));
} }
} }

View file

@ -127,7 +127,7 @@ static void update_path_environment_variable()
path.append({ path_env_ptr, strlen(path_env_ptr) }); path.append({ path_env_ptr, strlen(path_env_ptr) });
if (path.length()) if (path.length())
path.append(":"); path.append(':');
path.append("/usr/local/sbin:/usr/local/bin:/usr/bin:/bin"sv); path.append("/usr/local/sbin:/usr/local/bin:/usr/bin:/bin"sv);
setenv("PATH", path.to_string().characters(), true); setenv("PATH", path.to_string().characters(), true);
} }

View file

@ -35,7 +35,7 @@ FileEventNode& FileEventNode::find_or_create_node(String const& searched_path)
auto current = parts.take_first(); auto current = parts.take_first();
StringBuilder sb; StringBuilder sb;
sb.join("/", parts); sb.join('/', parts);
auto new_s = sb.to_string(); auto new_s = sb.to_string();
for (auto& child : m_children) { for (auto& child : m_children) {
@ -75,7 +75,7 @@ FileEventNode& FileEventNode::create_recursively(String new_path)
m_children.append(new_node); m_children.append(new_node);
StringBuilder sb; StringBuilder sb;
sb.join("/", parts); sb.join('/', parts);
return new_node->create_recursively(sb.to_string()); return new_node->create_recursively(sb.to_string());
} }

View file

@ -555,45 +555,45 @@ bool ChessWidget::import_pgn(StringView import_path)
token = token.trim_whitespace(); token = token.trim_whitespace();
// FIXME: Parse all of these tokens when we start caring about them // FIXME: Parse all of these tokens when we start caring about them
if (token.ends_with("}")) { if (token.ends_with('}')) {
skip = false; skip = false;
continue; continue;
} }
if (skip) if (skip)
continue; continue;
if (token.starts_with("{")) { if (token.starts_with('{')) {
if (token.ends_with("}")) if (token.ends_with('}'))
continue; continue;
skip = true; skip = true;
continue; continue;
} }
if (token.ends_with(")")) { if (token.ends_with(')')) {
recursive_annotation = false; recursive_annotation = false;
continue; continue;
} }
if (recursive_annotation) if (recursive_annotation)
continue; continue;
if (token.starts_with("(")) { if (token.starts_with('(')) {
if (token.ends_with(")")) if (token.ends_with(')'))
continue; continue;
recursive_annotation = true; recursive_annotation = true;
continue; continue;
} }
if (token.ends_with(">")) { if (token.ends_with('>')) {
future_expansion = false; future_expansion = false;
continue; continue;
} }
if (future_expansion) if (future_expansion)
continue; continue;
if (token.starts_with("<")) { if (token.starts_with('<')) {
if (token.ends_with(">")) if (token.ends_with('>'))
continue; continue;
future_expansion = true; future_expansion = true;
continue; continue;
} }
if (token.starts_with("$")) if (token.starts_with('$'))
continue; continue;
if (token.contains("*")) if (token.contains('*'))
break; break;
// FIXME: When we become able to set more of the game state, fix these end results // FIXME: When we become able to set more of the game state, fix these end results
if (token.contains("1-0"sv)) { if (token.contains("1-0"sv)) {
@ -607,7 +607,7 @@ bool ChessWidget::import_pgn(StringView import_path)
if (token.contains("1/2-1/2"sv)) { if (token.contains("1/2-1/2"sv)) {
break; break;
} }
if (!token.ends_with(".")) { if (!token.ends_with('.')) {
m_board.apply_move(Chess::Move::from_algebraic(token, turn, m_board)); m_board.apply_move(Chess::Move::from_algebraic(token, turn, m_board));
turn = Chess::opposing_color(turn); turn = Chess::opposing_color(turn);
} }

View file

@ -106,7 +106,7 @@ Move Move::from_algebraic(StringView algebraic, const Color turn, Board const& b
String move_string = algebraic; String move_string = algebraic;
Move move({ 50, 50 }, { 50, 50 }); Move move({ 50, 50 }, { 50, 50 });
if (move_string.contains("-")) { if (move_string.contains('-')) {
move.from = Square(turn == Color::White ? 0 : 7, 4); move.from = Square(turn == Color::White ? 0 : 7, 4);
move.to = Square(turn == Color::White ? 0 : 7, move_string == "O-O" ? 6 : 2); move.to = Square(turn == Color::White ? 0 : 7, move_string == "O-O" ? 6 : 2);
move.promote_to = Type::None; move.promote_to = Type::None;
@ -115,15 +115,15 @@ Move Move::from_algebraic(StringView algebraic, const Color turn, Board const& b
return move; return move;
} }
if (algebraic.contains("#")) { if (algebraic.contains('#')) {
move.is_mate = true; move.is_mate = true;
move_string = move_string.substring(0, move_string.length() - 1); move_string = move_string.substring(0, move_string.length() - 1);
} else if (algebraic.contains("+")) { } else if (algebraic.contains('+')) {
move.is_check = true; move.is_check = true;
move_string = move_string.substring(0, move_string.length() - 1); move_string = move_string.substring(0, move_string.length() - 1);
} }
if (algebraic.contains("=")) { if (algebraic.contains('=')) {
move.promote_to = piece_for_char_promotion(move_string.split('=').at(1).substring(0, 1)); move.promote_to = piece_for_char_promotion(move_string.split('=').at(1).substring(0, 1));
move_string = move_string.split('=').at(0); move_string = move_string.split('=').at(0);
} }
@ -131,7 +131,7 @@ Move Move::from_algebraic(StringView algebraic, const Color turn, Board const& b
move.to = Square(move_string.substring(move_string.length() - 2, 2)); move.to = Square(move_string.substring(move_string.length() - 2, 2));
move_string = move_string.substring(0, move_string.length() - 2); move_string = move_string.substring(0, move_string.length() - 2);
if (move_string.contains("x")) { if (move_string.contains('x')) {
move.is_capture = true; move.is_capture = true;
move_string = move_string.substring(0, move_string.length() - 1); move_string = move_string.substring(0, move_string.length() - 1);
} }
@ -201,20 +201,20 @@ String Move::to_algebraic() const
if (is_capture) { if (is_capture) {
if (piece.type == Type::Pawn && !is_ambiguous) if (piece.type == Type::Pawn && !is_ambiguous)
builder.append(from.to_algebraic().substring(0, 1)); builder.append(from.to_algebraic().substring(0, 1));
builder.append("x"); builder.append('x');
} }
builder.append(to.to_algebraic()); builder.append(to.to_algebraic());
if (promote_to != Type::None) { if (promote_to != Type::None) {
builder.append("="); builder.append('=');
builder.append(char_for_piece(promote_to)); builder.append(char_for_piece(promote_to));
} }
if (is_mate) if (is_mate)
builder.append("#"); builder.append('#');
else if (is_check) else if (is_check)
builder.append("+"); builder.append('+');
return builder.build(); return builder.build();
} }
@ -287,7 +287,7 @@ String Board::to_fen() const
empty = 0; empty = 0;
} }
if (rank < 7) if (rank < 7)
builder.append("/"); builder.append('/');
} }
// 2. Active color // 2. Active color
@ -299,26 +299,26 @@ String Board::to_fen() const
builder.append(m_white_can_castle_queenside ? "Q"sv : ""sv); builder.append(m_white_can_castle_queenside ? "Q"sv : ""sv);
builder.append(m_black_can_castle_kingside ? "k"sv : ""sv); builder.append(m_black_can_castle_kingside ? "k"sv : ""sv);
builder.append(m_black_can_castle_queenside ? "q"sv : ""sv); builder.append(m_black_can_castle_queenside ? "q"sv : ""sv);
builder.append(" "); builder.append(' ');
// 4. En passant target square // 4. En passant target square
if (!m_last_move.has_value()) if (!m_last_move.has_value())
builder.append("-"); builder.append('-');
else if (m_last_move.value().piece.type == Type::Pawn) { else if (m_last_move.value().piece.type == Type::Pawn) {
if (m_last_move.value().from.rank == 1 && m_last_move.value().to.rank == 3) if (m_last_move.value().from.rank == 1 && m_last_move.value().to.rank == 3)
builder.append(Square(m_last_move.value().to.rank - 1, m_last_move.value().to.file).to_algebraic()); builder.append(Square(m_last_move.value().to.rank - 1, m_last_move.value().to.file).to_algebraic());
else if (m_last_move.value().from.rank == 6 && m_last_move.value().to.rank == 4) else if (m_last_move.value().from.rank == 6 && m_last_move.value().to.rank == 4)
builder.append(Square(m_last_move.value().to.rank + 1, m_last_move.value().to.file).to_algebraic()); builder.append(Square(m_last_move.value().to.rank + 1, m_last_move.value().to.file).to_algebraic());
else else
builder.append("-"); builder.append('-');
} else { } else {
builder.append("-"); builder.append('-');
} }
builder.append(" "); builder.append(' ');
// 5. Halfmove clock // 5. Halfmove clock
builder.append(String::number(min(m_moves_since_capture, m_moves_since_pawn_advance))); builder.append(String::number(min(m_moves_since_capture, m_moves_since_pawn_advance)));
builder.append(" "); builder.append(' ');
// 6. Fullmove number // 6. Fullmove number
builder.append(String::number(1 + m_moves.size() / 2)); builder.append(String::number(1 + m_moves.size() / 2));

View file

@ -695,16 +695,16 @@ Optional<Vector<CodeComprehension::AutocompleteResultEntry>> CppComprehensionEng
String include_root; String include_root;
bool already_has_suffix = false; bool already_has_suffix = false;
if (partial_include.starts_with("<")) { if (partial_include.starts_with('<')) {
include_root = "/usr/include/"; include_root = "/usr/include/";
include_type = System; include_type = System;
if (partial_include.ends_with(">")) { if (partial_include.ends_with('>')) {
already_has_suffix = true; already_has_suffix = true;
partial_include = partial_include.substring_view(0, partial_include.length() - 1).trim_whitespace(); partial_include = partial_include.substring_view(0, partial_include.length() - 1).trim_whitespace();
} }
} else if (partial_include.starts_with("\"")) { } else if (partial_include.starts_with('"')) {
include_root = filedb().project_root(); include_root = filedb().project_root();
if (partial_include.length() > 1 && partial_include.ends_with("\"")) { if (partial_include.length() > 1 && partial_include.ends_with('\"')) {
already_has_suffix = true; already_has_suffix = true;
partial_include = partial_include.substring_view(0, partial_include.length() - 1).trim_whitespace(); partial_include = partial_include.substring_view(0, partial_include.length() - 1).trim_whitespace();
} }
@ -923,7 +923,7 @@ Optional<CppComprehensionEngine::FunctionParamsHint> CppComprehensionEngine::get
for (auto token : document_of_declaration->parser().tokens_in_range(arg.start(), arg.end())) { for (auto token : document_of_declaration->parser().tokens_in_range(arg.start(), arg.end())) {
tokens_text.append(token.text()); tokens_text.append(token.text());
} }
hint.params.append(String::join(" ", tokens_text)); hint.params.append(String::join(' ', tokens_text));
} }
return hint; return hint;

View file

@ -80,7 +80,7 @@ Vector<String> const& ShellComprehensionEngine::DocumentData::sourced_paths() co
return; return;
auto name_list = const_cast<::Shell::AST::Node*>(filename.ptr())->run(nullptr)->resolve_as_list(nullptr); auto name_list = const_cast<::Shell::AST::Node*>(filename.ptr())->run(nullptr)->resolve_as_list(nullptr);
StringBuilder builder; StringBuilder builder;
builder.join(" ", name_list); builder.join(' ', name_list);
sourced_files.set(builder.build()); sourced_files.set(builder.build());
} }
} }

View file

@ -763,7 +763,7 @@ void ArgsParser::autocomplete(FILE* file, StringView program_name, Span<char con
continue; continue;
} }
if (argument.starts_with("-")) { if (argument.starts_with('-')) {
option_to_complete = argument; option_to_complete = argument;
completing_option = true; completing_option = true;

View file

@ -153,7 +153,7 @@ String Backtrace::Entry::to_string(bool color) const
} }
} }
builder.append(")"); builder.append(')');
return builder.build(); return builder.build();
} }

View file

@ -35,7 +35,7 @@ void FunctionDeclaration::dump(FILE* output, size_t indent) const
String qualifiers_string; String qualifiers_string;
if (!m_qualifiers.is_empty()) { if (!m_qualifiers.is_empty()) {
print_indent(output, indent + 1); print_indent(output, indent + 1);
outln(output, "[{}]", String::join(" ", m_qualifiers)); outln(output, "[{}]", String::join(' ', m_qualifiers));
} }
m_return_type->dump(output, indent + 1); m_return_type->dump(output, indent + 1);
@ -79,7 +79,7 @@ String NamedType::to_string() const
{ {
String qualifiers_string; String qualifiers_string;
if (!qualifiers().is_empty()) if (!qualifiers().is_empty())
qualifiers_string = String::formatted("[{}] ", String::join(" ", qualifiers())); qualifiers_string = String::formatted("[{}] ", String::join(' ', qualifiers()));
String name; String name;
if (is_auto()) if (is_auto())
@ -96,7 +96,7 @@ String Pointer::to_string() const
return {}; return {};
StringBuilder builder; StringBuilder builder;
builder.append(m_pointee->to_string()); builder.append(m_pointee->to_string());
builder.append("*"); builder.append('*');
return builder.to_string(); return builder.to_string();
} }
@ -107,7 +107,7 @@ String Reference::to_string() const
StringBuilder builder; StringBuilder builder;
builder.append(m_referenced_type->to_string()); builder.append(m_referenced_type->to_string());
if (m_kind == Kind::Lvalue) if (m_kind == Kind::Lvalue)
builder.append("&"); builder.append('&');
else else
builder.append("&&"sv); builder.append("&&"sv);
return builder.to_string(); return builder.to_string();
@ -117,7 +117,7 @@ String FunctionType::to_string() const
{ {
StringBuilder builder; StringBuilder builder;
builder.append(m_return_type->to_string()); builder.append(m_return_type->to_string());
builder.append("("); builder.append('(');
bool first = true; bool first = true;
for (auto& parameter : m_parameters) { for (auto& parameter : m_parameters) {
if (first) if (first)
@ -127,11 +127,11 @@ String FunctionType::to_string() const
if (parameter.type()) if (parameter.type())
builder.append(parameter.type()->to_string()); builder.append(parameter.type()->to_string());
if (parameter.name() && !parameter.full_name().is_empty()) { if (parameter.name() && !parameter.full_name().is_empty()) {
builder.append(" "); builder.append(' ');
builder.append(parameter.full_name()); builder.append(parameter.full_name());
} }
} }
builder.append(")"); builder.append(')');
return builder.to_string(); return builder.to_string();
} }

View file

@ -132,7 +132,7 @@ Optional<DebugInfo::SourcePosition> DebugInfo::get_source_position(FlatPtr targe
Optional<DebugInfo::SourcePositionAndAddress> DebugInfo::get_address_from_source_position(String const& file, size_t line) const Optional<DebugInfo::SourcePositionAndAddress> DebugInfo::get_address_from_source_position(String const& file, size_t line) const
{ {
String file_path = file; String file_path = file;
if (!file_path.starts_with("/")) if (!file_path.starts_with('/'))
file_path = String::formatted("/{}", file_path); file_path = String::formatted("/{}", file_path);
constexpr auto SERENITY_LIBS_PREFIX = "/usr/src/serenity"sv; constexpr auto SERENITY_LIBS_PREFIX = "/usr/src/serenity"sv;
@ -326,9 +326,9 @@ void DebugInfo::add_type_info_to_variable(Dwarf::DIE const& type_die, PtraceRegi
StringBuilder array_type_name; StringBuilder array_type_name;
array_type_name.append(type_info->type_name); array_type_name.append(type_info->type_name);
for (auto array_size : type_info->dimension_sizes) { for (auto array_size : type_info->dimension_sizes) {
array_type_name.append("["); array_type_name.append('[');
array_type_name.append(String::formatted("{:d}", array_size)); array_type_name.append(String::formatted("{:d}", array_size));
array_type_name.append("]"); array_type_name.append(']');
} }
parent_variable->type_name = array_type_name.to_string(); parent_variable->type_name = array_type_name.to_string();
} }

View file

@ -438,7 +438,7 @@ void DebugSession::update_loaded_libs()
if (!rc) if (!rc)
return {}; return {};
auto lib_name = result.capture_group_matches.at(0).at(0).view.string_view().to_string(); auto lib_name = result.capture_group_matches.at(0).at(0).view.string_view().to_string();
if (lib_name.starts_with("/")) if (lib_name.starts_with('/'))
return lib_name; return lib_name;
return String::formatted("/usr/lib/{}", lib_name); return String::formatted("/usr/lib/{}", lib_name);
}; };

View file

@ -1221,7 +1221,7 @@ void GLContext::build_extension_string()
if (m_device_info.num_texture_units > 1) if (m_device_info.num_texture_units > 1)
extensions.append("GL_ARB_multitexture"sv); extensions.append("GL_ARB_multitexture"sv);
m_extensions = String::join(" ", extensions); m_extensions = String::join(' ', extensions);
} }
NonnullOwnPtr<GLContext> create_context(Gfx::Bitmap& bitmap) NonnullOwnPtr<GLContext> create_context(Gfx::Bitmap& bitmap)

View file

@ -324,7 +324,7 @@ void ColorPicker::build_ui_custom(Widget& root_container)
m_html_text->on_change = [this]() { m_html_text->on_change = [this]() {
auto color_name = m_html_text->text(); auto color_name = m_html_text->text();
auto optional_color = Color::from_string(color_name); auto optional_color = Color::from_string(color_name);
if (optional_color.has_value() && (!color_name.starts_with("#") || color_name.length() == ((m_color_has_alpha_channel) ? 9 : 7))) { if (optional_color.has_value() && (!color_name.starts_with('#') || color_name.length() == ((m_color_has_alpha_channel) ? 9 : 7))) {
// The color length must be 9/7 (unless it is a name like red), because: // The color length must be 9/7 (unless it is a name like red), because:
// - If we allowed 5/4 character rgb color, the field would reset to 9/7 characters after you deleted 4/3 characters. // - If we allowed 5/4 character rgb color, the field would reset to 9/7 characters after you deleted 4/3 characters.
auto color = optional_color.value(); auto color = optional_color.value();

View file

@ -296,21 +296,21 @@ static String permission_string(mode_t mode)
{ {
StringBuilder builder; StringBuilder builder;
if (S_ISDIR(mode)) if (S_ISDIR(mode))
builder.append("d"); builder.append('d');
else if (S_ISLNK(mode)) else if (S_ISLNK(mode))
builder.append("l"); builder.append('l');
else if (S_ISBLK(mode)) else if (S_ISBLK(mode))
builder.append("b"); builder.append('b');
else if (S_ISCHR(mode)) else if (S_ISCHR(mode))
builder.append("c"); builder.append('c');
else if (S_ISFIFO(mode)) else if (S_ISFIFO(mode))
builder.append("f"); builder.append('f');
else if (S_ISSOCK(mode)) else if (S_ISSOCK(mode))
builder.append("s"); builder.append('s');
else if (S_ISREG(mode)) else if (S_ISREG(mode))
builder.append("-"); builder.append('-');
else else
builder.append("?"); builder.append('?');
builder.append(mode & S_IRUSR ? 'r' : '-'); builder.append(mode & S_IRUSR ? 'r' : '-');
builder.append(mode & S_IWUSR ? 'w' : '-'); builder.append(mode & S_IWUSR ? 'w' : '-');
@ -384,7 +384,7 @@ void FileSystemModel::handle_file_event(Core::FileWatcherEvent const& event)
LexicalPath path { event.event_path }; LexicalPath path { event.event_path };
auto& parts = path.parts_view(); auto& parts = path.parts_view();
StringView child_name = parts.last(); StringView child_name = parts.last();
if (!m_should_show_dotfiles && child_name.starts_with(".")) if (!m_should_show_dotfiles && child_name.starts_with('.'))
break; break;
auto parent_name = path.parent().string(); auto parent_name = path.parent().string();

View file

@ -79,7 +79,7 @@ public:
indent(builder, indentation); indent(builder, indentation);
builder.append(m_text); builder.append(m_text);
} }
builder.append("\n"); builder.append('\n');
} }
virtual ~Comment() override = default; virtual ~Comment() override = default;
@ -103,7 +103,7 @@ public:
builder.appendff("{}: ", m_key); builder.appendff("{}: ", m_key);
m_value->format(builder, indentation, true); m_value->format(builder, indentation, true);
if (!is_inline) if (!is_inline)
builder.append("\n"); builder.append('\n');
} }
String key() const { return m_key; } String key() const { return m_key; }
@ -132,7 +132,7 @@ public:
if (is_array()) { if (is_array()) {
// custom array serialization as AK's doesn't pretty-print // custom array serialization as AK's doesn't pretty-print
// objects and arrays (we only care about arrays (for now)) // objects and arrays (we only care about arrays (for now))
builder.append("["); builder.append('[');
auto first = true; auto first = true;
as_array().for_each([&](auto& value) { as_array().for_each([&](auto& value) {
if (!first) if (!first)
@ -140,12 +140,12 @@ public:
first = false; first = false;
value.serialize(builder); value.serialize(builder);
}); });
builder.append("]"); builder.append(']');
} else { } else {
serialize(builder); serialize(builder);
} }
if (!is_inline) if (!is_inline)
builder.append("\n"); builder.append('\n');
} }
}; };

View file

@ -61,9 +61,9 @@ private:
StringBuilder builder; StringBuilder builder;
builder.append(action.text()); builder.append(action.text());
if (action.shortcut().is_valid()) { if (action.shortcut().is_valid()) {
builder.append(" ("); builder.append(" ("sv);
builder.append(action.shortcut().to_string()); builder.append(action.shortcut().to_string());
builder.append(")"); builder.append(')');
} }
return builder.to_string(); return builder.to_string();
} }

View file

@ -62,7 +62,7 @@ void Document::read_lines(StringView source)
continue; continue;
} }
if (line.starts_with("*")) { if (line.starts_with('*')) {
if (!m_inside_unordered_list) if (!m_inside_unordered_list)
m_lines.append(make<Control>(Control::UnorderedListStart)); m_lines.append(make<Control>(Control::UnorderedListStart));
m_lines.append(make<UnorderedList>(move(line))); m_lines.append(make<UnorderedList>(move(line)));
@ -72,12 +72,12 @@ void Document::read_lines(StringView source)
close_list_if_needed(); close_list_if_needed();
if (line.starts_with("=>")) { if (line.starts_with("=>"sv)) {
m_lines.append(make<Link>(move(line), *this)); m_lines.append(make<Link>(move(line), *this));
continue; continue;
} }
if (line.starts_with("#")) { if (line.starts_with('#')) {
size_t level = 0; size_t level = 0;
while (line.length() > level && line[level] == '#') while (line.length() > level && line[level] == '#')
++level; ++level;

View file

@ -30,7 +30,7 @@ String Color::to_string_without_alpha() const
static Optional<Color> parse_rgb_color(StringView string) static Optional<Color> parse_rgb_color(StringView string)
{ {
VERIFY(string.starts_with("rgb("sv, CaseSensitivity::CaseInsensitive)); VERIFY(string.starts_with("rgb("sv, CaseSensitivity::CaseInsensitive));
VERIFY(string.ends_with(")")); VERIFY(string.ends_with(')'));
auto substring = string.substring_view(4, string.length() - 5); auto substring = string.substring_view(4, string.length() - 5);
auto parts = substring.split_view(','); auto parts = substring.split_view(',');
@ -51,7 +51,7 @@ static Optional<Color> parse_rgb_color(StringView string)
static Optional<Color> parse_rgba_color(StringView string) static Optional<Color> parse_rgba_color(StringView string)
{ {
VERIFY(string.starts_with("rgba("sv, CaseSensitivity::CaseInsensitive)); VERIFY(string.starts_with("rgba("sv, CaseSensitivity::CaseInsensitive));
VERIFY(string.ends_with(")")); VERIFY(string.ends_with(')'));
auto substring = string.substring_view(5, string.length() - 6); auto substring = string.substring_view(5, string.length() - 6);
auto parts = substring.split_view(','); auto parts = substring.split_view(',');
@ -252,10 +252,10 @@ Optional<Color> Color::from_string(StringView string)
return Color::from_rgb(web_colors[i].color); return Color::from_rgb(web_colors[i].color);
} }
if (string.starts_with("rgb("sv, CaseSensitivity::CaseInsensitive) && string.ends_with(")")) if (string.starts_with("rgb("sv, CaseSensitivity::CaseInsensitive) && string.ends_with(')'))
return parse_rgb_color(string); return parse_rgb_color(string);
if (string.starts_with("rgba("sv, CaseSensitivity::CaseInsensitive) && string.ends_with(")")) if (string.starts_with("rgba("sv, CaseSensitivity::CaseInsensitive) && string.ends_with(')'))
return parse_rgba_color(string); return parse_rgba_color(string);
if (string[0] != '#') if (string[0] != '#')

View file

@ -356,7 +356,7 @@ String BitmapFont::variant() const
if (builder.string_view() == "Regular"sv) if (builder.string_view() == "Regular"sv)
builder.clear(); builder.clear();
else else
builder.append(" "); builder.append(' ');
builder.append(slope_to_name(slope())); builder.append(slope_to_name(slope()));
} }
return builder.to_string(); return builder.to_string();

View file

@ -231,7 +231,7 @@ String Path::to_string() const
builder.append(") "sv); builder.append(") "sv);
} }
builder.append("}"); builder.append('}');
return builder.to_string(); return builder.to_string();
} }

View file

@ -303,7 +303,7 @@ RefPtr<Promise<Optional<SolidResponse>>> Client::store(StoreMethod method, Seque
StringBuilder flags_builder; StringBuilder flags_builder;
flags_builder.append('('); flags_builder.append('(');
flags_builder.join(" ", flags); flags_builder.join(' ', flags);
flags_builder.append(')'); flags_builder.append(')');
auto command = Command { uid ? CommandType::UIDStore : CommandType::Store, m_current_command, { sequence_set.serialize(), data_item_name.build(), flags_builder.build() } }; auto command = Command { uid ? CommandType::UIDStore : CommandType::Store, m_current_command, { sequence_set.serialize(), data_item_name.build(), flags_builder.build() } };
@ -361,7 +361,7 @@ RefPtr<Promise<Optional<SolidResponse>>> Client::status(StringView mailbox, Vect
} }
StringBuilder types_list; StringBuilder types_list;
types_list.append('('); types_list.append('(');
types_list.join(" ", args); types_list.join(' ', args);
types_list.append(')'); types_list.append(')');
auto command = Command { CommandType::Status, m_current_command, { mailbox, types_list.build() } }; auto command = Command { CommandType::Status, m_current_command, { mailbox, types_list.build() } };
return cast_promise<SolidResponse>(send_command(move(command))); return cast_promise<SolidResponse>(send_command(move(command)));
@ -373,7 +373,7 @@ RefPtr<Promise<Optional<SolidResponse>>> Client::append(StringView mailbox, Mess
if (flags.has_value()) { if (flags.has_value()) {
StringBuilder flags_sb; StringBuilder flags_sb;
flags_sb.append('('); flags_sb.append('(');
flags_sb.join(" ", flags.value()); flags_sb.join(' ', flags.value());
flags_sb.append(')'); flags_sb.append(')');
args.append(flags_sb.build()); args.append(flags_sb.build());
} }

View file

@ -36,11 +36,11 @@ String FetchCommand::DataItem::Section::serialize() const
bool first = true; bool first = true;
for (auto& field : headers.value()) { for (auto& field : headers.value()) {
if (!first) if (!first)
headers_builder.append(" "); headers_builder.append(' ');
headers_builder.append(field); headers_builder.append(field);
first = false; first = false;
} }
headers_builder.append(")"); headers_builder.append(')');
return headers_builder.build(); return headers_builder.build();
} }
case SectionType::Text: case SectionType::Text:
@ -50,7 +50,7 @@ String FetchCommand::DataItem::Section::serialize() const
bool first = true; bool first = true;
for (int part : parts.value()) { for (int part : parts.value()) {
if (!first) if (!first)
sb.append("."); sb.append('.');
sb.appendff("{}", part); sb.appendff("{}", part);
first = false; first = false;
} }
@ -95,7 +95,7 @@ String FetchCommand::serialize()
bool first = true; bool first = true;
for (auto& sequence : sequence_set) { for (auto& sequence : sequence_set) {
if (!first) { if (!first) {
sequence_builder.append(","); sequence_builder.append(',');
} }
sequence_builder.append(sequence.serialize()); sequence_builder.append(sequence.serialize());
first = false; first = false;
@ -105,7 +105,7 @@ String FetchCommand::serialize()
first = true; first = true;
for (auto& data_item : data_items) { for (auto& data_item : data_items) {
if (!first) { if (!first) {
data_items_builder.append(" "); data_items_builder.append(' ');
} }
data_items_builder.append(data_item.serialize()); data_items_builder.append(data_item.serialize());
first = false; first = false;
@ -156,7 +156,7 @@ String SearchKey::serialize() const
[&](Recent const&) { return String("RECENT"); }, [&](Recent const&) { return String("RECENT"); },
[&](SearchKeys const& x) { [&](SearchKeys const& x) {
StringBuilder sb; StringBuilder sb;
sb.append("("); sb.append('(');
bool first = true; bool first = true;
for (const auto& item : x.keys) { for (const auto& item : x.keys) {
if (!first) if (!first)

View file

@ -1030,7 +1030,7 @@ String PushDeclarativeEnvironment::to_string_impl(Bytecode::Executable const& ex
Vector<String> names; Vector<String> names;
for (auto& it : m_variables) for (auto& it : m_variables)
names.append(executable.get_string(it.key)); names.append(executable.get_string(it.key));
builder.append("}"); builder.append('}');
builder.join(", "sv, names); builder.join(", "sv, names);
} }
return builder.to_string(); return builder.to_string();

View file

@ -791,7 +791,7 @@ JS_DEFINE_NATIVE_FUNCTION(StringPrototype::match_all)
auto flags = TRY(regexp.as_object().get("flags")); auto flags = TRY(regexp.as_object().get("flags"));
auto flags_object = TRY(require_object_coercible(global_object, flags)); auto flags_object = TRY(require_object_coercible(global_object, flags));
auto flags_string = TRY(flags_object.to_string(global_object)); auto flags_string = TRY(flags_object.to_string(global_object));
if (!flags_string.contains("g")) if (!flags_string.contains('g'))
return vm.throw_completion<TypeError>(global_object, ErrorType::StringNonGlobalRegExp); return vm.throw_completion<TypeError>(global_object, ErrorType::StringNonGlobalRegExp);
} }
if (auto* matcher = TRY(regexp.get_method(global_object, *vm.well_known_symbol_match_all()))) if (auto* matcher = TRY(regexp.get_method(global_object, *vm.well_known_symbol_match_all())))
@ -885,7 +885,7 @@ JS_DEFINE_NATIVE_FUNCTION(StringPrototype::replace_all)
auto flags = TRY(search_value.as_object().get(vm.names.flags)); auto flags = TRY(search_value.as_object().get(vm.names.flags));
auto flags_object = TRY(require_object_coercible(global_object, flags)); auto flags_object = TRY(require_object_coercible(global_object, flags));
auto flags_string = TRY(flags_object.to_string(global_object)); auto flags_string = TRY(flags_object.to_string(global_object));
if (!flags_string.contains("g")) if (!flags_string.contains('g'))
return vm.throw_completion<TypeError>(global_object, ErrorType::StringNonGlobalRegExp); return vm.throw_completion<TypeError>(global_object, ErrorType::StringNonGlobalRegExp);
} }

View file

@ -1718,7 +1718,7 @@ String Style::to_string() const
: "ReplaceEachCodePointInSelection"); : "ReplaceEachCodePointInSelection");
} }
builder.append("}"); builder.append('}');
return builder.build(); return builder.build();
} }

View file

@ -27,7 +27,7 @@ String List::render_to_html(bool) const
for (auto& item : m_items) { for (auto& item : m_items) {
builder.append("<li>"sv); builder.append("<li>"sv);
if (!m_is_tight || (item->blocks().size() != 0 && !dynamic_cast<Paragraph const*>(&(item->blocks()[0])))) if (!m_is_tight || (item->blocks().size() != 0 && !dynamic_cast<Paragraph const*>(&(item->blocks()[0]))))
builder.append("\n"); builder.append('\n');
builder.append(item->render_to_html(m_is_tight)); builder.append(item->render_to_html(m_is_tight));
builder.append("</li>\n"sv); builder.append("</li>\n"sv);
} }
@ -47,7 +47,7 @@ String List::render_for_terminal(size_t) const
if (m_is_ordered) if (m_is_ordered)
builder.appendff("{}.", ++i); builder.appendff("{}.", ++i);
else else
builder.append("*"); builder.append('*');
builder.append(item->render_for_terminal()); builder.append(item->render_for_terminal());
} }

View file

@ -42,10 +42,10 @@ String Table::render_for_terminal(size_t view_width) const
write_aligned(col.header, width, col.alignment); write_aligned(col.header, width, col.alignment);
} }
builder.append("\n"); builder.append('\n');
for (size_t i = 0; i < view_width; ++i) for (size_t i = 0; i < view_width; ++i)
builder.append('-'); builder.append('-');
builder.append("\n"); builder.append('\n');
for (size_t i = 0; i < m_row_count; ++i) { for (size_t i = 0; i < m_row_count; ++i) {
bool first = true; bool first = true;
@ -60,10 +60,10 @@ String Table::render_for_terminal(size_t view_width) const
size_t width = col.relative_width * unit_width_length; size_t width = col.relative_width * unit_width_length;
write_aligned(cell, width, col.alignment); write_aligned(cell, width, col.alignment);
} }
builder.append("\n"); builder.append('\n');
} }
builder.append("\n"); builder.append('\n');
return builder.to_string(); return builder.to_string();
} }

View file

@ -108,7 +108,7 @@ void Text::TextNode::render_to_html(StringBuilder& builder) const
void Text::TextNode::render_for_terminal(StringBuilder& builder) const void Text::TextNode::render_for_terminal(StringBuilder& builder) const
{ {
if (collapsible && (text == "\n" || text.is_whitespace())) { if (collapsible && (text == "\n" || text.is_whitespace())) {
builder.append(" "); builder.append(' ');
} else { } else {
builder.append(text); builder.append(text);
} }
@ -546,7 +546,7 @@ NonnullOwnPtr<Text::Node> Text::parse_code(Vector<Token>::ConstIterator& tokens)
if (!is_all_whitespace) { if (!is_all_whitespace) {
auto& first = dynamic_cast<TextNode&>(code->children.first()); auto& first = dynamic_cast<TextNode&>(code->children.first());
auto& last = dynamic_cast<TextNode&>(code->children.last()); auto& last = dynamic_cast<TextNode&>(code->children.last());
if (first.text.starts_with(" ") && last.text.ends_with(" ")) { if (first.text.starts_with(' ') && last.text.ends_with(' ')) {
first.text = first.text.substring(1); first.text = first.text.substring(1);
last.text = last.text.substring(0, last.text.length() - 1); last.text = last.text.substring(0, last.text.length() - 1);
} }
@ -608,7 +608,7 @@ NonnullOwnPtr<Text::Node> Text::parse_strike_through(Vector<Token>::ConstIterato
if (!is_all_whitespace) { if (!is_all_whitespace) {
auto& first = dynamic_cast<TextNode&>(striked_text->children.first()); auto& first = dynamic_cast<TextNode&>(striked_text->children.first());
auto& last = dynamic_cast<TextNode&>(striked_text->children.last()); auto& last = dynamic_cast<TextNode&>(striked_text->children.last());
if (first.text.starts_with(" ") && last.text.ends_with(" ")) { if (first.text.starts_with(' ') && last.text.ends_with(' ')) {
first.text = first.text.substring(1); first.text = first.text.substring(1);
last.text = last.text.substring(0, last.text.length() - 1); last.text = last.text.substring(0, last.text.length() - 1);
} }

View file

@ -172,7 +172,7 @@ struct Formatter<PDF::LineDashPattern> : Formatter<StringView> {
ErrorOr<void> format(FormatBuilder& format_builder, PDF::LineDashPattern const& pattern) ErrorOr<void> format(FormatBuilder& format_builder, PDF::LineDashPattern const& pattern)
{ {
StringBuilder builder; StringBuilder builder;
builder.append("["); builder.append('[');
bool first = true; bool first = true;
for (auto& i : pattern.pattern) { for (auto& i : pattern.pattern) {
@ -248,7 +248,7 @@ struct Formatter<PDF::GraphicsState> : Formatter<StringView> {
builder.appendff(" miter_limit={}\n", state.miter_limit); builder.appendff(" miter_limit={}\n", state.miter_limit);
builder.appendff(" line_dash_pattern={}\n", state.line_dash_pattern); builder.appendff(" line_dash_pattern={}\n", state.line_dash_pattern);
builder.appendff(" text_state={}\n", state.text_state); builder.appendff(" text_state={}\n", state.text_state);
builder.append("}"); builder.append('}');
return format_builder.put_string(builder.to_string()); return format_builder.put_string(builder.to_string());
} }
}; };

View file

@ -163,7 +163,7 @@ private:
bytes.append(String::formatted("{0:02x}", *(ptr + ix))); bytes.append(String::formatted("{0:02x}", *(ptr + ix)));
} }
StringBuilder bytes_builder; StringBuilder bytes_builder;
bytes_builder.join(" ", bytes); bytes_builder.join(' ', bytes);
builder.append(bytes_builder.to_string()); builder.append(bytes_builder.to_string());
dbgln(builder.to_string()); dbgln(builder.to_string());
} }

View file

@ -380,7 +380,7 @@ void TreeNode::dump_if(int flag, String&& msg)
if (is_leaf()) { if (is_leaf()) {
builder.append(", leaf"sv); builder.append(", leaf"sv);
} }
builder.append(")"); builder.append(')');
dbgln(builder.build()); dbgln(builder.build());
} }

View file

@ -97,7 +97,7 @@ public:
for (auto& element : *this) { for (auto& element : *this) {
elements.append(element.to_string()); elements.append(element.to_string());
} }
return String::formatted("[\n{}\n]", String::join("\n", elements)); return String::formatted("[\n{}\n]", String::join('\n', elements));
} }
using Vector<TupleElementDescriptor>::operator==; using Vector<TupleElementDescriptor>::operator==;

View file

@ -874,11 +874,11 @@ Vector<String> ContainerValueImpl::to_string_vector() const
String ContainerValueImpl::to_string() const String ContainerValueImpl::to_string() const
{ {
StringBuilder builder; StringBuilder builder;
builder.append("("); builder.append('(');
StringBuilder joined; StringBuilder joined;
joined.join(", "sv, to_string_vector()); joined.join(", "sv, to_string_vector());
builder.append(joined.string_view()); builder.append(joined.string_view());
builder.append(")"); builder.append(')');
return builder.build(); return builder.build();
} }

View file

@ -1448,7 +1448,7 @@ void Terminal::unimplemented_csi_sequence(Parameters parameters, Intermediates i
builder.append(", parameters: ["sv); builder.append(", parameters: ["sv);
for (size_t i = 0; i < parameters.size(); ++i) for (size_t i = 0; i < parameters.size(); ++i)
builder.appendff("{}{}", (i == 0) ? "" : ", ", parameters[i]); builder.appendff("{}{}", (i == 0) ? "" : ", ", parameters[i]);
builder.append("]"); builder.append("]"sv);
} }
if (!intermediates.is_empty()) { if (!intermediates.is_empty()) {
builder.append(", intermediates:"sv); builder.append(", intermediates:"sv);
@ -1469,7 +1469,7 @@ void Terminal::unimplemented_osc_sequence(OscParameters parameters, u8 last_byte
builder.append('['); builder.append('[');
for (auto character : parameter) for (auto character : parameter)
builder.append((char)character); builder.append((char)character);
builder.append("]"); builder.append(']');
first = false; first = false;
} }

View file

@ -305,7 +305,7 @@ private:
break; break;
} }
} }
builder.append("]"); builder.append(']');
return { builder.to_string() }; return { builder.to_string() };
} }

View file

@ -22,7 +22,7 @@ String Block::to_string() const
StringBuilder builder; StringBuilder builder;
builder.append(m_token.bracket_string()); builder.append(m_token.bracket_string());
builder.join(" ", m_values); builder.join(' ', m_values);
builder.append(m_token.bracket_mirror_string()); builder.append(m_token.bracket_mirror_string());
return builder.to_string(); return builder.to_string();

View file

@ -23,9 +23,9 @@ String Function::to_string() const
StringBuilder builder; StringBuilder builder;
serialize_an_identifier(builder, m_name); serialize_an_identifier(builder, m_name);
builder.append("("); builder.append('(');
builder.join(" ", m_values); builder.join(' ', m_values);
builder.append(")"); builder.append(')');
return builder.to_string(); return builder.to_string();
} }

View file

@ -2513,7 +2513,7 @@ Optional<StyleProperty> Parser::convert_to_style_property(Declaration const& dec
property_id = PropertyID::Custom; property_id = PropertyID::Custom;
} else if (has_ignored_vendor_prefix(property_name)) { } else if (has_ignored_vendor_prefix(property_name)) {
return {}; return {};
} else if (!property_name.starts_with("-")) { } else if (!property_name.starts_with('-')) {
dbgln_if(CSS_PARSER_DEBUG, "Unrecognized CSS property '{}'", property_name); dbgln_if(CSS_PARSER_DEBUG, "Unrecognized CSS property '{}'", property_name);
return {}; return {};
} }

View file

@ -25,11 +25,11 @@ String Rule::to_string() const
StringBuilder builder; StringBuilder builder;
if (is_at_rule()) { if (is_at_rule()) {
builder.append("@"); builder.append('@');
serialize_an_identifier(builder, m_at_rule_name); serialize_an_identifier(builder, m_at_rule_name);
} }
builder.join(" ", m_prelude); builder.join(' ', m_prelude);
if (m_block) if (m_block)
builder.append(m_block->to_string()); builder.append(m_block->to_string());

View file

@ -58,7 +58,7 @@ public:
// 3. // 3.
// - A is 1: Append "n" to result. // - A is 1: Append "n" to result.
if (step_size == 1) if (step_size == 1)
result.append("n"); result.append('n');
// - A is -1: Append "-n" to result. // - A is -1: Append "-n" to result.
else if (step_size == -1) else if (step_size == -1)
result.append("-n"sv); result.append("-n"sv);

View file

@ -72,7 +72,7 @@ Optional<StringView> extract_character_encoding_from_meta_element(String const&
return {}; return {};
if (lexer.consume_specific('"')) { if (lexer.consume_specific('"')) {
auto matching_double_quote = lexer.remaining().find("\""); auto matching_double_quote = lexer.remaining().find('"');
if (!matching_double_quote.has_value()) if (!matching_double_quote.has_value())
return {}; return {};
@ -81,7 +81,7 @@ Optional<StringView> extract_character_encoding_from_meta_element(String const&
} }
if (lexer.consume_specific('\'')) { if (lexer.consume_specific('\'')) {
auto matching_single_quote = lexer.remaining().find("'"); auto matching_single_quote = lexer.remaining().find('\'');
if (!matching_single_quote.has_value()) if (!matching_single_quote.has_value())
return {}; return {};

View file

@ -53,7 +53,7 @@ JS::ThrowCompletionOr<JS::Value> WorkerDebugConsoleClient::printer(JS::Console::
return JS::js_undefined(); return JS::js_undefined();
} }
auto output = String::join(" ", arguments.get<JS::MarkedVector<JS::Value>>()); auto output = String::join(' ', arguments.get<JS::MarkedVector<JS::Value>>());
m_console.output_debug_message(log_level, output); m_console.output_debug_message(log_level, output);
switch (log_level) { switch (log_level) {

View file

@ -85,7 +85,7 @@ public:
// 5. If origin's port is non-null, append a U+003A COLON character (:), and origin's port, serialized, to result. // 5. If origin's port is non-null, append a U+003A COLON character (:), and origin's port, serialized, to result.
if (port() != 0) { if (port() != 0) {
result.append(":"); result.append(':');
result.append(String::number(port())); result.append(String::number(port()));
} }
// 6. Return result // 6. Return result

View file

@ -27,12 +27,12 @@ String ConnectionInfo::resource_name() const
StringBuilder builder; StringBuilder builder;
// "/" if the path component is empty // "/" if the path component is empty
if (m_url.path().is_empty()) if (m_url.path().is_empty())
builder.append("/"); builder.append('/');
// The path component // The path component
builder.append(m_url.path()); builder.append(m_url.path());
// "?" if the query component is non-empty // "?" if the query component is non-empty
if (!m_url.query().is_empty()) if (!m_url.query().is_empty())
builder.append("?"); builder.append('?');
// the query component // the query component
builder.append(m_url.query()); builder.append(m_url.query());
return builder.to_string(); return builder.to_string();

View file

@ -1641,35 +1641,35 @@ void Instruction::to_string_internal(StringBuilder& builder, u32 origin, SymbolP
case OP_RM8_imm8: case OP_RM8_imm8:
append_mnemonic_space(); append_mnemonic_space();
append_rm8(); append_rm8();
append(","); append(',');
append_imm8(); append_imm8();
break; break;
case OP_RM16_imm8: case OP_RM16_imm8:
append_mnemonic_space(); append_mnemonic_space();
append_rm16(); append_rm16();
append(","); append(',');
append_imm8(); append_imm8();
break; break;
case OP_RM32_imm8: case OP_RM32_imm8:
append_mnemonic_space(); append_mnemonic_space();
append_rm32(); append_rm32();
append(","); append(',');
append_imm8(); append_imm8();
break; break;
case OP_reg16_RM16_imm8: case OP_reg16_RM16_imm8:
append_mnemonic_space(); append_mnemonic_space();
append_reg16(); append_reg16();
append(","); append(',');
append_rm16(); append_rm16();
append(","); append(',');
append_imm8(); append_imm8();
break; break;
case OP_reg32_RM32_imm8: case OP_reg32_RM32_imm8:
append_mnemonic_space(); append_mnemonic_space();
append_reg32(); append_reg32();
append(","); append(',');
append_rm32(); append_rm32();
append(","); append(',');
append_imm8(); append_imm8();
break; break;
case OP_AL_imm8: case OP_AL_imm8:
@ -1724,23 +1724,23 @@ void Instruction::to_string_internal(StringBuilder& builder, u32 origin, SymbolP
case OP_reg16_imm16: case OP_reg16_imm16:
append_mnemonic_space(); append_mnemonic_space();
append_reg16(); append_reg16();
append(","); append(',');
append_imm16(); append_imm16();
break; break;
case OP_reg16_RM16_imm16: case OP_reg16_RM16_imm16:
append_mnemonic_space(); append_mnemonic_space();
append_reg16(); append_reg16();
append(","); append(',');
append_rm16(); append_rm16();
append(","); append(',');
append_imm16(); append_imm16();
break; break;
case OP_reg32_RM32_imm32: case OP_reg32_RM32_imm32:
append_mnemonic_space(); append_mnemonic_space();
append_reg32(); append_reg32();
append(","); append(',');
append_rm32(); append_rm32();
append(","); append(',');
append_imm32(); append_imm32();
break; break;
case OP_imm32: case OP_imm32:
@ -1960,142 +1960,142 @@ void Instruction::to_string_internal(StringBuilder& builder, u32 origin, SymbolP
case OP_RM8_reg8: case OP_RM8_reg8:
append_mnemonic_space(); append_mnemonic_space();
append_rm8(); append_rm8();
append(","); append(',');
append_reg8(); append_reg8();
break; break;
case OP_RM16_reg16: case OP_RM16_reg16:
append_mnemonic_space(); append_mnemonic_space();
append_rm16(); append_rm16();
append(","); append(',');
append_reg16(); append_reg16();
break; break;
case OP_RM32_reg32: case OP_RM32_reg32:
append_mnemonic_space(); append_mnemonic_space();
append_rm32(); append_rm32();
append(","); append(',');
append_reg32(); append_reg32();
break; break;
case OP_reg8_RM8: case OP_reg8_RM8:
append_mnemonic_space(); append_mnemonic_space();
append_reg8(); append_reg8();
append(","); append(',');
append_rm8(); append_rm8();
break; break;
case OP_reg16_RM16: case OP_reg16_RM16:
append_mnemonic_space(); append_mnemonic_space();
append_reg16(); append_reg16();
append(","); append(',');
append_rm16(); append_rm16();
break; break;
case OP_reg32_RM32: case OP_reg32_RM32:
append_mnemonic_space(); append_mnemonic_space();
append_reg32(); append_reg32();
append(","); append(',');
append_rm32(); append_rm32();
break; break;
case OP_reg32_RM16: case OP_reg32_RM16:
append_mnemonic_space(); append_mnemonic_space();
append_reg32(); append_reg32();
append(","); append(',');
append_rm16(); append_rm16();
break; break;
case OP_reg16_RM8: case OP_reg16_RM8:
append_mnemonic_space(); append_mnemonic_space();
append_reg16(); append_reg16();
append(","); append(',');
append_rm8(); append_rm8();
break; break;
case OP_reg32_RM8: case OP_reg32_RM8:
append_mnemonic_space(); append_mnemonic_space();
append_reg32(); append_reg32();
append(","); append(',');
append_rm8(); append_rm8();
break; break;
case OP_RM16_imm16: case OP_RM16_imm16:
append_mnemonic_space(); append_mnemonic_space();
append_rm16(); append_rm16();
append(","); append(',');
append_imm16(); append_imm16();
break; break;
case OP_RM32_imm32: case OP_RM32_imm32:
append_mnemonic_space(); append_mnemonic_space();
append_rm32(); append_rm32();
append(","); append(',');
append_imm32(); append_imm32();
break; break;
case OP_RM16_seg: case OP_RM16_seg:
append_mnemonic_space(); append_mnemonic_space();
append_rm16(); append_rm16();
append(","); append(',');
append_seg(); append_seg();
break; break;
case OP_RM32_seg: case OP_RM32_seg:
append_mnemonic_space(); append_mnemonic_space();
append_rm32(); append_rm32();
append(","); append(',');
append_seg(); append_seg();
break; break;
case OP_seg_RM16: case OP_seg_RM16:
append_mnemonic_space(); append_mnemonic_space();
append_seg(); append_seg();
append(","); append(',');
append_rm16(); append_rm16();
break; break;
case OP_seg_RM32: case OP_seg_RM32:
append_mnemonic_space(); append_mnemonic_space();
append_seg(); append_seg();
append(","); append(',');
append_rm32(); append_rm32();
break; break;
case OP_reg16_mem16: case OP_reg16_mem16:
append_mnemonic_space(); append_mnemonic_space();
append_reg16(); append_reg16();
append(","); append(',');
append_rm16(); append_rm16();
break; break;
case OP_reg32_mem32: case OP_reg32_mem32:
append_mnemonic_space(); append_mnemonic_space();
append_reg32(); append_reg32();
append(","); append(',');
append_rm32(); append_rm32();
break; break;
case OP_FAR_mem16: case OP_FAR_mem16:
append_mnemonic_space(); append_mnemonic_space();
append("far "); append("far "sv);
append_rm16(); append_rm16();
break; break;
case OP_FAR_mem32: case OP_FAR_mem32:
append_mnemonic_space(); append_mnemonic_space();
append("far "); append("far "sv);
append_rm32(); append_rm32();
break; break;
case OP_reg32_CR: case OP_reg32_CR:
append_mnemonic_space(); append_mnemonic_space();
builder.append(register_name(static_cast<RegisterIndex32>(modrm().rm()))); builder.append(register_name(static_cast<RegisterIndex32>(modrm().rm())));
append(","); append(',');
append_creg(); append_creg();
break; break;
case OP_CR_reg32: case OP_CR_reg32:
append_mnemonic_space(); append_mnemonic_space();
append_creg(); append_creg();
append(","); append(',');
builder.append(register_name(static_cast<RegisterIndex32>(modrm().rm()))); builder.append(register_name(static_cast<RegisterIndex32>(modrm().rm())));
break; break;
case OP_reg32_DR: case OP_reg32_DR:
append_mnemonic_space(); append_mnemonic_space();
builder.append(register_name(static_cast<RegisterIndex32>(modrm().rm()))); builder.append(register_name(static_cast<RegisterIndex32>(modrm().rm())));
append(","); append(',');
append_dreg(); append_dreg();
break; break;
case OP_DR_reg32: case OP_DR_reg32:
append_mnemonic_space(); append_mnemonic_space();
append_dreg(); append_dreg();
append(","); append(',');
builder.append(register_name(static_cast<RegisterIndex32>(modrm().rm()))); builder.append(register_name(static_cast<RegisterIndex32>(modrm().rm())));
break; break;
case OP_short_imm8: case OP_short_imm8:
append_mnemonic_space(); append_mnemonic_space();
append("short "); append("short "sv);
append_relative_imm8(); append_relative_imm8();
break; break;
case OP_relimm16: case OP_relimm16:
@ -2108,38 +2108,38 @@ void Instruction::to_string_internal(StringBuilder& builder, u32 origin, SymbolP
break; break;
case OP_NEAR_imm: case OP_NEAR_imm:
append_mnemonic_space(); append_mnemonic_space();
append("near "); append("near "sv);
append_relative_addr(); append_relative_addr();
break; break;
case OP_RM16_reg16_imm8: case OP_RM16_reg16_imm8:
append_mnemonic_space(); append_mnemonic_space();
append_rm16(); append_rm16();
append(","); append(',');
append_reg16(); append_reg16();
append(","); append(',');
append_imm8(); append_imm8();
break; break;
case OP_RM32_reg32_imm8: case OP_RM32_reg32_imm8:
append_mnemonic_space(); append_mnemonic_space();
append_rm32(); append_rm32();
append(","); append(',');
append_reg32(); append_reg32();
append(","); append(',');
append_imm8(); append_imm8();
break; break;
case OP_RM16_reg16_CL: case OP_RM16_reg16_CL:
append_mnemonic_space(); append_mnemonic_space();
append_rm16(); append_rm16();
append(","); append(',');
append_reg16(); append_reg16();
append(", cl"); append(", cl"sv);
break; break;
case OP_RM32_reg32_CL: case OP_RM32_reg32_CL:
append_mnemonic_space(); append_mnemonic_space();
append_rm32(); append_rm32();
append(","); append(',');
append_reg32(); append_reg32();
append(",cl"); append(",cl"sv);
break; break;
case OP_reg: case OP_reg:
append_mnemonic_space(); append_mnemonic_space();
@ -2155,66 +2155,66 @@ void Instruction::to_string_internal(StringBuilder& builder, u32 origin, SymbolP
case OP_mm1_imm8: case OP_mm1_imm8:
append_mnemonic_space(); append_mnemonic_space();
append_mm_or_xmm(); append_mm_or_xmm();
append(","); append(',');
append_imm8(); append_imm8();
break; break;
case OP_mm1_mm2m32: case OP_mm1_mm2m32:
append_mnemonic_space(); append_mnemonic_space();
append_mm_or_xmm(); append_mm_or_xmm();
append(","); append(',');
append_mm_or_xmm_or_mem(); append_mm_or_xmm_or_mem();
break; break;
case OP_mm1_rm32: case OP_mm1_rm32:
append_mnemonic_space(); append_mnemonic_space();
append_mm_or_xmm(); append_mm_or_xmm();
append(","); append(',');
append_rm32(); append_rm32();
break; break;
case OP_rm32_mm2: case OP_rm32_mm2:
append_mnemonic_space(); append_mnemonic_space();
append_rm32(); append_rm32();
append(","); append(',');
append_mm_or_xmm(); append_mm_or_xmm();
break; break;
case OP_mm1_mm2m64: case OP_mm1_mm2m64:
append_mnemonic_space(); append_mnemonic_space();
append_mm_or_xmm(); append_mm_or_xmm();
append(","); append(',');
append_mm_or_xmm_or_mem(); append_mm_or_xmm_or_mem();
break; break;
case OP_mm1m64_mm2: case OP_mm1m64_mm2:
append_mnemonic_space(); append_mnemonic_space();
append_mm_or_xmm_or_mem(); append_mm_or_xmm_or_mem();
append(","); append(',');
append_mm_or_xmm(); append_mm_or_xmm();
break; break;
case OP_mm1_mm2m64_imm8: case OP_mm1_mm2m64_imm8:
append_mnemonic_space(); append_mnemonic_space();
append_mm_or_xmm(); append_mm_or_xmm();
append(","); append(',');
append_mm_or_xmm_or_mem(); append_mm_or_xmm_or_mem();
append(","); append(',');
append_imm8(); append_imm8();
break; break;
case OP_reg_mm1: case OP_reg_mm1:
append_mnemonic_space(); append_mnemonic_space();
append_rm32(); append_rm32();
append(","); append(',');
append_mm_or_xmm(); append_mm_or_xmm();
break; break;
case OP_reg_mm1_imm8: case OP_reg_mm1_imm8:
append_mnemonic_space(); append_mnemonic_space();
append_reg32(); append_reg32();
append(","); append(',');
append_mm_or_xmm_or_mem(); append_mm_or_xmm_or_mem();
append(","); append(',');
append_imm8(); append_imm8();
break; break;
case OP_mm1_r32m16_imm8: case OP_mm1_r32m16_imm8:
append_mnemonic_space(); append_mnemonic_space();
append_mm_or_xmm(); append_mm_or_xmm();
append_rm32(); // FIXME: r32m16 append_rm32(); // FIXME: r32m16
append(","); append(',');
append_imm8(); append_imm8();
break; break;
case __SSE: case __SSE:
@ -2222,150 +2222,150 @@ void Instruction::to_string_internal(StringBuilder& builder, u32 origin, SymbolP
case OP_xmm_mm: case OP_xmm_mm:
append_mnemonic_space(); append_mnemonic_space();
append_xmm(); append_xmm();
append(","); append(',');
append_mmrm32(); // FIXME: No Memmory append_mmrm32(); // FIXME: No Memmory
break; break;
case OP_mm1_xmm2m128: case OP_mm1_xmm2m128:
case OP_mm_xmm: case OP_mm_xmm:
append_mnemonic_space(); append_mnemonic_space();
append_mm(); append_mm();
append(","); append(',');
append_xmmrm32(); // FIXME: No Memmory append_xmmrm32(); // FIXME: No Memmory
break; break;
case OP_xmm1_imm8: case OP_xmm1_imm8:
append_mnemonic_space(); append_mnemonic_space();
append_xmm(); append_xmm();
append(","); append(',');
append_imm8(); append_imm8();
break; break;
case OP_xmm1_xmm2m32: case OP_xmm1_xmm2m32:
append_mnemonic_space(); append_mnemonic_space();
append_xmm(); append_xmm();
append(","); append(',');
append_xmmrm32(); append_xmmrm32();
break; break;
case OP_xmm1_xmm2m64: case OP_xmm1_xmm2m64:
append_mnemonic_space(); append_mnemonic_space();
append_xmm(); append_xmm();
append(","); append(',');
append_xmmrm64(); append_xmmrm64();
break; break;
case OP_xmm1_xmm2m128: case OP_xmm1_xmm2m128:
append_mnemonic_space(); append_mnemonic_space();
append_xmm(); append_xmm();
append(","); append(',');
append_xmmrm128(); append_xmmrm128();
break; break;
case OP_xmm1_xmm2m32_imm8: case OP_xmm1_xmm2m32_imm8:
append_mnemonic_space(); append_mnemonic_space();
append_xmm(); append_xmm();
append(","); append(',');
append_xmmrm32(); append_xmmrm32();
append(","); append(',');
append_imm8(); append_imm8();
break; break;
case OP_xmm1_xmm2m128_imm8: case OP_xmm1_xmm2m128_imm8:
append_mnemonic_space(); append_mnemonic_space();
append_xmm(); append_xmm();
append(","); append(',');
append_xmmrm32(); append_xmmrm32();
append(","); append(',');
append_imm8(); append_imm8();
break; break;
case OP_xmm1m32_xmm2: case OP_xmm1m32_xmm2:
append_mnemonic_space(); append_mnemonic_space();
append_xmmrm32(); append_xmmrm32();
append(","); append(',');
append_xmm(); append_xmm();
break; break;
case OP_xmm1m64_xmm2: case OP_xmm1m64_xmm2:
append_mnemonic_space(); append_mnemonic_space();
append_xmmrm64(); append_xmmrm64();
append(","); append(',');
append_xmm(); append_xmm();
break; break;
case OP_xmm1m128_xmm2: case OP_xmm1m128_xmm2:
append_mnemonic_space(); append_mnemonic_space();
append_xmmrm128(); append_xmmrm128();
append(","); append(',');
append_xmm(); append_xmm();
break; break;
case OP_reg_xmm1: case OP_reg_xmm1:
case OP_r32_xmm2m64: case OP_r32_xmm2m64:
append_mnemonic_space(); append_mnemonic_space();
append_reg32(); append_reg32();
append(","); append(',');
append_xmmrm128(); // second entry in the rm byte append_xmmrm128(); // second entry in the rm byte
break; break;
case OP_rm32_xmm2: case OP_rm32_xmm2:
append_mnemonic_space(); append_mnemonic_space();
append_rm32(); append_rm32();
append(","); append(',');
append_xmm(); append_xmm();
break; break;
case OP_reg_xmm1_imm8: case OP_reg_xmm1_imm8:
append_mnemonic_space(); append_mnemonic_space();
append_reg32(); append_reg32();
append(","); append(',');
append_xmmrm128(); // second entry in the rm byte append_xmmrm128(); // second entry in the rm byte
append(","); append(',');
append_imm8(); append_imm8();
break; break;
case OP_xmm1_rm32: case OP_xmm1_rm32:
append_mnemonic_space(); append_mnemonic_space();
append_xmm(); append_xmm();
append(","); append(',');
append_rm32(); // second entry in the rm byte append_rm32(); // second entry in the rm byte
break; break;
case OP_xmm1_m64: case OP_xmm1_m64:
append_mnemonic_space(); append_mnemonic_space();
append_xmm(); append_xmm();
append(","); append(',');
append_rm64(); // second entry in the rm byte append_rm64(); // second entry in the rm byte
break; break;
case OP_m64_xmm2: case OP_m64_xmm2:
append_mnemonic_space(); append_mnemonic_space();
append_rm64(); // second entry in the rm byte append_rm64(); // second entry in the rm byte
append(","); append(',');
append_xmm(); append_xmm();
break; break;
case OP_rm8_xmm2m32: case OP_rm8_xmm2m32:
append_mnemonic_space(); append_mnemonic_space();
append_rm8(); append_rm8();
append(","); append(',');
append_xmmrm32(); append_xmmrm32();
break; break;
case OP_xmm1_mm2m64: case OP_xmm1_mm2m64:
append_mnemonic_space(); append_mnemonic_space();
append_xmm(); append_xmm();
append(","); append(',');
append_mmrm64(); append_mmrm64();
break; break;
case OP_mm1m64_xmm2: case OP_mm1m64_xmm2:
append_mnemonic_space(); append_mnemonic_space();
append_mmrm64(); append_mmrm64();
append(","); append(',');
append_xmm(); append_xmm();
break; break;
case OP_mm1_xmm2m64: case OP_mm1_xmm2m64:
append_mnemonic_space(); append_mnemonic_space();
append_mm(); append_mm();
append(","); append(',');
append_xmmrm64(); append_xmmrm64();
break; break;
case OP_r32_xmm2m32: case OP_r32_xmm2m32:
append_mnemonic_space(); append_mnemonic_space();
append_reg32(); append_reg32();
append(","); append(',');
append_xmmrm32(); append_xmmrm32();
break; break;
case OP_xmm1_r32m16_imm8: case OP_xmm1_r32m16_imm8:
append_mnemonic_space(); append_mnemonic_space();
append_xmm(); append_xmm();
append(","); append(',');
append_rm32(); // FIXME: r32m16 append_rm32(); // FIXME: r32m16
append(","); append(',');
append_imm8(); append_imm8();
break; break;
case InstructionPrefix: case InstructionPrefix:

View file

@ -355,7 +355,7 @@ String deduplicate_destination_file_name(String const& destination)
StringBuilder basename; StringBuilder basename;
basename.appendff("{}-{}", title_without_counter, next_counter); basename.appendff("{}-{}", title_without_counter, next_counter);
if (!destination_path.extension().is_empty()) { if (!destination_path.extension().is_empty()) {
basename.append("."); basename.append('.');
basename.append(destination_path.extension()); basename.append(destination_path.extension());
} }

View file

@ -112,7 +112,7 @@ QuickLaunchWidget::QuickLaunchWidget()
OwnPtr<QuickLaunchEntry> QuickLaunchEntry::create_from_config_value(StringView value) OwnPtr<QuickLaunchEntry> QuickLaunchEntry::create_from_config_value(StringView value)
{ {
if (!value.starts_with("/") && value.ends_with(".af"sv)) { if (!value.starts_with('/') && value.ends_with(".af"sv)) {
auto af_path = String::formatted("{}/{}", Desktop::AppFile::APP_FILES_DIRECTORY, value); auto af_path = String::formatted("{}/{}", Desktop::AppFile::APP_FILES_DIRECTORY, value);
return make<QuickLaunchEntryAppFile>(Desktop::AppFile::open(af_path)); return make<QuickLaunchEntryAppFile>(Desktop::AppFile::open(af_path));
} }

View file

@ -130,7 +130,7 @@ ErrorOr<bool> Client::handle_request(ReadonlyBytes raw_request)
if (Core::File::is_directory(real_path)) { if (Core::File::is_directory(real_path)) {
if (!request.resource().ends_with("/")) { if (!request.resource().ends_with('/')) {
StringBuilder red; StringBuilder red;
red.append(requested_path); red.append(requested_path);

View file

@ -2665,7 +2665,7 @@ RefPtr<Value> ReadRedirection::run(RefPtr<Shell> shell)
return make_ref_counted<ListValue>({}); return make_ref_counted<ListValue>({});
StringBuilder builder; StringBuilder builder;
builder.join(" ", path_segments); builder.join(' ', path_segments);
command.redirections.append(PathRedirection::create(builder.to_string(), m_fd, PathRedirection::Read)); command.redirections.append(PathRedirection::create(builder.to_string(), m_fd, PathRedirection::Read));
return make_ref_counted<CommandValue>(move(command)); return make_ref_counted<CommandValue>(move(command));
@ -2695,7 +2695,7 @@ RefPtr<Value> ReadWriteRedirection::run(RefPtr<Shell> shell)
return make_ref_counted<ListValue>({}); return make_ref_counted<ListValue>({});
StringBuilder builder; StringBuilder builder;
builder.join(" ", path_segments); builder.join(' ', path_segments);
command.redirections.append(PathRedirection::create(builder.to_string(), m_fd, PathRedirection::ReadWrite)); command.redirections.append(PathRedirection::create(builder.to_string(), m_fd, PathRedirection::ReadWrite));
return make_ref_counted<CommandValue>(move(command)); return make_ref_counted<CommandValue>(move(command));
@ -3052,7 +3052,7 @@ void Juxtaposition::highlight_in_editor(Line::Editor& editor, Shell& shell, High
StringBuilder path_builder; StringBuilder path_builder;
path_builder.append(tilde_value); path_builder.append(tilde_value);
path_builder.append("/"); path_builder.append('/');
path_builder.append(bareword_value); path_builder.append(bareword_value);
auto path = path_builder.to_string(); auto path = path_builder.to_string();
@ -3183,8 +3183,8 @@ RefPtr<Value> StringPartCompose::run(RefPtr<Shell> shell)
return make_ref_counted<ListValue>({}); return make_ref_counted<ListValue>({});
StringBuilder builder; StringBuilder builder;
builder.join(" ", left); builder.join(' ', left);
builder.join(" ", right); builder.join(' ', right);
return make_ref_counted<StringValue>(builder.to_string()); return make_ref_counted<StringValue>(builder.to_string());
} }
@ -3347,7 +3347,7 @@ RefPtr<Value> WriteAppendRedirection::run(RefPtr<Shell> shell)
return make_ref_counted<ListValue>({}); return make_ref_counted<ListValue>({});
StringBuilder builder; StringBuilder builder;
builder.join(" ", path_segments); builder.join(' ', path_segments);
command.redirections.append(PathRedirection::create(builder.to_string(), m_fd, PathRedirection::WriteAppend)); command.redirections.append(PathRedirection::create(builder.to_string(), m_fd, PathRedirection::WriteAppend));
return make_ref_counted<CommandValue>(move(command)); return make_ref_counted<CommandValue>(move(command));
@ -3377,7 +3377,7 @@ RefPtr<Value> WriteRedirection::run(RefPtr<Shell> shell)
return make_ref_counted<ListValue>({}); return make_ref_counted<ListValue>({});
StringBuilder builder; StringBuilder builder;
builder.join(" ", path_segments); builder.join(' ', path_segments);
command.redirections.append(PathRedirection::create(builder.to_string(), m_fd, PathRedirection::Write)); command.redirections.append(PathRedirection::create(builder.to_string(), m_fd, PathRedirection::Write));
return make_ref_counted<CommandValue>(move(command)); return make_ref_counted<CommandValue>(move(command));
@ -3724,7 +3724,7 @@ String TildeValue::resolve_as_string(RefPtr<Shell> shell)
Vector<String> TildeValue::resolve_as_list(RefPtr<Shell> shell) Vector<String> TildeValue::resolve_as_list(RefPtr<Shell> shell)
{ {
StringBuilder builder; StringBuilder builder;
builder.append("~"); builder.append('~');
builder.append(m_username); builder.append(m_username);
if (!shell) if (!shell)

View file

@ -207,11 +207,11 @@ int Shell::builtin_type(int argc, char const** argv)
if (!dont_show_function_source) { if (!dont_show_function_source) {
StringBuilder builder; StringBuilder builder;
builder.append(fn.name); builder.append(fn.name);
builder.append("("); builder.append('(');
for (size_t i = 0; i < fn.arguments.size(); i++) { for (size_t i = 0; i < fn.arguments.size(); i++) {
builder.append(fn.arguments[i]); builder.append(fn.arguments[i]);
if (!(i == fn.arguments.size() - 1)) if (!(i == fn.arguments.size() - 1))
builder.append(" "); builder.append(' ');
} }
builder.append(") {\n"sv); builder.append(") {\n"sv);
if (fn.body) { if (fn.body) {
@ -448,7 +448,7 @@ int Shell::builtin_export(int argc, char const** argv)
if (value) { if (value) {
auto values = value->resolve_as_list(*this); auto values = value->resolve_as_list(*this);
StringBuilder builder; StringBuilder builder;
builder.join(" ", values); builder.join(' ', values);
parts.append(builder.to_string()); parts.append(builder.to_string());
} else { } else {
// Ignore the export. // Ignore the export.

View file

@ -41,7 +41,7 @@ String Formatter::format()
auto string = current_builder().string_view(); auto string = current_builder().string_view();
if (!string.ends_with(" ")) if (!string.ends_with(' '))
current_builder().append(m_trivia); current_builder().append(m_trivia);
return current_builder().to_string(); return current_builder().to_string();

View file

@ -1969,7 +1969,7 @@ RefPtr<AST::Node> Parser::parse_glob()
textbuilder.append(bareword->text()); textbuilder.append(bareword->text());
} else if (glob_after->is_tilde()) { } else if (glob_after->is_tilde()) {
auto bareword = static_cast<AST::Tilde*>(glob_after.ptr()); auto bareword = static_cast<AST::Tilde*>(glob_after.ptr());
textbuilder.append("~"); textbuilder.append('~');
textbuilder.append(bareword->text()); textbuilder.append(bareword->text());
} else { } else {
return create<AST::SyntaxError>(String::formatted("Invalid node '{}' in glob position, escape shell special characters", glob_after->class_name())); return create<AST::SyntaxError>(String::formatted("Invalid node '{}' in glob position, escape shell special characters", glob_after->class_name()));

View file

@ -390,7 +390,7 @@ String Shell::local_variable_or(StringView name, String const& replacement) cons
auto value = lookup_local_variable(name); auto value = lookup_local_variable(name);
if (value) { if (value) {
StringBuilder builder; StringBuilder builder;
builder.join(" ", value->resolve_as_list(*this)); builder.join(' ', value->resolve_as_list(*this));
return builder.to_string(); return builder.to_string();
} }
return replacement; return replacement;
@ -839,7 +839,7 @@ ErrorOr<RefPtr<Job>> Shell::run_command(const AST::Command& command)
close(sync_pipe[1]); close(sync_pipe[1]);
StringBuilder cmd; StringBuilder cmd;
cmd.join(" ", command.argv); cmd.join(' ', command.argv);
auto command_copy = AST::Command(command); auto command_copy = AST::Command(command);
// Clear the next chain if it's to be immediately executed // Clear the next chain if it's to be immediately executed

View file

@ -128,7 +128,7 @@ private:
span.attributes.color = m_palette.syntax_keyword(); span.attributes.color = m_palette.syntax_keyword();
span.attributes.bold = true; span.attributes.bold = true;
m_is_first_in_command = false; m_is_first_in_command = false;
} else if (node->text().starts_with("-")) { } else if (node->text().starts_with('-')) {
span.attributes.color = m_palette.syntax_preprocessor_statement(); span.attributes.color = m_palette.syntax_preprocessor_statement();
} else { } else {
span.attributes.color = m_palette.base_text(); span.attributes.color = m_palette.base_text();

View file

@ -34,7 +34,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
if (definition.value.parameters.is_empty()) if (definition.value.parameters.is_empty())
outln("{}: {}", definition.key, definition.value.value); outln("{}: {}", definition.key, definition.value.value);
else else
outln("{}({}): {}", definition.key, String::join(",", definition.value.parameters), definition.value.value); outln("{}({}): {}", definition.key, String::join(',', definition.value.parameters), definition.value.value);
} }
outln(""); outln("");
} }

View file

@ -41,11 +41,11 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
// Action // Action
if (num_added > 0 && num_removed > 0) if (num_added > 0 && num_removed > 0)
sb.append("c"); sb.append('c');
else if (num_added > 0) else if (num_added > 0)
sb.append("a"); sb.append('a');
else else
sb.append("d"); sb.append('d');
// Target line(s) // Target line(s)
sb.appendff("{}", target_start); sb.appendff("{}", target_start);

View file

@ -1449,7 +1449,7 @@ public:
return JS::js_undefined(); return JS::js_undefined();
} }
auto output = String::join(" ", arguments.get<JS::MarkedVector<JS::Value>>()); auto output = String::join(' ', arguments.get<JS::MarkedVector<JS::Value>>());
m_console.output_debug_message(log_level, output); m_console.output_debug_message(log_level, output);
switch (log_level) { switch (log_level) {

View file

@ -54,7 +54,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
} }
StringBuilder path_builder; StringBuilder path_builder;
if (lexical_path.is_absolute()) if (lexical_path.is_absolute())
path_builder.append("/"); path_builder.append('/');
auto& parts = lexical_path.parts_view(); auto& parts = lexical_path.parts_view();
size_t num_parts = parts.size(); size_t num_parts = parts.size();
@ -88,7 +88,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
break; break;
} }
} }
path_builder.append("/"); path_builder.append('/');
} }
} }
return has_errors ? 1 : 0; return has_errors ? 1 : 0;

View file

@ -70,7 +70,7 @@ static int get_source_fd(StringView source)
static bool mount_by_line(String const& line) static bool mount_by_line(String const& line)
{ {
// Skip comments and blank lines. // Skip comments and blank lines.
if (line.is_empty() || line.starts_with("#")) if (line.is_empty() || line.starts_with('#'))
return true; return true;
Vector<String> parts = line.split('\t'); Vector<String> parts = line.split('\t');

View file

@ -205,7 +205,7 @@ void print_human_readable(termios const& modes, winsize const& ws, bool verbose_
auto escape_character = [&](u8 ch) { auto escape_character = [&](u8 ch) {
StringBuilder sb; StringBuilder sb;
if (ch <= 0x20) { if (ch <= 0x20) {
sb.append("^"); sb.append('^');
sb.append(ch + 0x40); sb.append(ch + 0x40);
} else if (ch == 0x7f) { } else if (ch == 0x7f) {
sb.append("^?"sv); sb.append("^?"sv);

View file

@ -93,7 +93,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
if (line.is_empty()) if (line.is_empty())
continue; continue;
if (line.starts_with(".")) { if (line.starts_with('.')) {
if (line.starts_with(".text "sv)) { if (line.starts_with(".text "sv)) {
editor->add_to_history(line); editor->add_to_history(line);
if (socket->ready_state() != Protocol::WebSocket::ReadyState::Open) { if (socket->ready_state() != Protocol::WebSocket::ReadyState::Open) {

View file

@ -197,7 +197,7 @@ bool run_command(Vector<char*>&& child_argv, bool verbose, bool is_stdin, int de
if (verbose) { if (verbose) {
StringBuilder builder; StringBuilder builder;
builder.join(" ", child_argv); builder.join(' ', child_argv);
warnln("xargs: {}", builder.to_string()); warnln("xargs: {}", builder.to_string());
} }

View file

@ -424,10 +424,10 @@ static void do_run_tests(XML::Document& document)
StringBuilder path_builder; StringBuilder path_builder;
path_builder.append(base_path); path_builder.append(base_path);
path_builder.append("/"); path_builder.append('/');
for (auto& entry : bases.in_reverse()) { for (auto& entry : bases.in_reverse()) {
path_builder.append(entry); path_builder.append(entry);
path_builder.append("/"); path_builder.append('/');
} }
auto test_base_path = path_builder.to_string(); auto test_base_path = path_builder.to_string();