From c8585b77d263d15807231cb8bd1345d2591b9495 Mon Sep 17 00:00:00 2001 From: sin-ack Date: Mon, 11 Jul 2022 20:10:18 +0000 Subject: [PATCH] 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. --- AK/JsonObject.h | 4 +- AK/MACAddress.h | 2 +- Kernel/CommandLine.cpp | 2 +- .../LibWeb/WrapperGenerator/IDLParser.cpp | 2 +- Tests/Kernel/fuzz-syscalls.cpp | 2 +- Tests/LibRegex/Regex.cpp | 8 +- Tests/LibRegex/RegexLibC.cpp | 8 +- .../ClipboardHistoryModel.cpp | 4 +- .../3DFileViewer/WavefrontOBJLoader.cpp | 6 +- Userland/Applications/Assistant/Providers.cpp | 4 +- Userland/Applications/Calculator/Keypad.cpp | 2 +- Userland/Applications/CrashReporter/main.cpp | 6 +- Userland/Applications/FileManager/main.cpp | 2 +- .../Applications/FontEditor/MainWidget.cpp | 2 +- Userland/Applications/SpaceAnalyzer/main.cpp | 10 +- Userland/Applications/Spreadsheet/Cell.cpp | 2 +- .../Applications/Spreadsheet/Writers/XSV.h | 2 +- Userland/Applications/SystemMonitor/main.cpp | 4 +- .../DevTools/HackStudio/Debugger/Debugger.cpp | 2 +- .../HackStudio/Dialogs/NewProjectDialog.cpp | 2 +- .../DevTools/HackStudio/HackStudioWidget.cpp | 6 +- Userland/DevTools/HackStudio/Language.cpp | 4 +- .../DevTools/HackStudio/ProjectBuilder.cpp | 2 +- Userland/DevTools/HackStudio/main.cpp | 2 +- .../Profiler/FilesystemEventModel.cpp | 4 +- Userland/Games/Chess/ChessWidget.cpp | 24 +-- Userland/Libraries/LibChess/Chess.cpp | 32 ++-- .../Cpp/CppComprehensionEngine.cpp | 10 +- .../Shell/ShellComprehensionEngine.cpp | 2 +- Userland/Libraries/LibCore/ArgsParser.cpp | 2 +- Userland/Libraries/LibCoredump/Backtrace.cpp | 2 +- Userland/Libraries/LibCpp/AST.cpp | 14 +- Userland/Libraries/LibDebug/DebugInfo.cpp | 6 +- Userland/Libraries/LibDebug/DebugSession.cpp | 2 +- Userland/Libraries/LibGL/GLContext.cpp | 2 +- Userland/Libraries/LibGUI/ColorPicker.cpp | 2 +- Userland/Libraries/LibGUI/FileSystemModel.cpp | 18 +- Userland/Libraries/LibGUI/GML/AST.h | 10 +- Userland/Libraries/LibGUI/Toolbar.cpp | 4 +- Userland/Libraries/LibGemini/Document.cpp | 6 +- Userland/Libraries/LibGfx/Color.cpp | 8 +- Userland/Libraries/LibGfx/Font/BitmapFont.cpp | 2 +- Userland/Libraries/LibGfx/Path.cpp | 2 +- Userland/Libraries/LibIMAP/Client.cpp | 6 +- Userland/Libraries/LibIMAP/Objects.cpp | 12 +- Userland/Libraries/LibJS/Bytecode/Op.cpp | 2 +- .../LibJS/Runtime/StringPrototype.cpp | 4 +- Userland/Libraries/LibLine/Editor.cpp | 2 +- Userland/Libraries/LibMarkdown/List.cpp | 4 +- Userland/Libraries/LibMarkdown/Table.cpp | 8 +- Userland/Libraries/LibMarkdown/Text.cpp | 6 +- Userland/Libraries/LibPDF/Renderer.h | 4 +- Userland/Libraries/LibSQL/Serializer.h | 2 +- Userland/Libraries/LibSQL/TreeNode.cpp | 2 +- Userland/Libraries/LibSQL/TupleDescriptor.h | 2 +- Userland/Libraries/LibSQL/Value.cpp | 4 +- Userland/Libraries/LibVT/Terminal.cpp | 4 +- .../LibWasm/AbstractMachine/Validator.h | 2 +- .../Libraries/LibWeb/CSS/Parser/Block.cpp | 2 +- .../Libraries/LibWeb/CSS/Parser/Function.cpp | 6 +- .../Libraries/LibWeb/CSS/Parser/Parser.cpp | 2 +- Userland/Libraries/LibWeb/CSS/Parser/Rule.cpp | 4 +- Userland/Libraries/LibWeb/CSS/Selector.h | 2 +- .../HTML/Parser/HTMLEncodingDetection.cpp | 4 +- .../LibWeb/HTML/WorkerDebugConsoleClient.cpp | 2 +- Userland/Libraries/LibWeb/Origin.h | 2 +- .../Libraries/LibWebSocket/ConnectionInfo.cpp | 4 +- Userland/Libraries/LibX86/Instruction.cpp | 168 +++++++++--------- Userland/Services/FileOperation/main.cpp | 2 +- .../Services/Taskbar/QuickLaunchWidget.cpp | 2 +- Userland/Services/WebServer/Client.cpp | 2 +- Userland/Shell/AST.cpp | 16 +- Userland/Shell/Builtin.cpp | 6 +- Userland/Shell/Formatter.cpp | 2 +- Userland/Shell/Parser.cpp | 2 +- Userland/Shell/Shell.cpp | 4 +- Userland/Shell/SyntaxHighlighter.cpp | 2 +- Userland/Utilities/cpp-preprocessor.cpp | 2 +- Userland/Utilities/diff.cpp | 6 +- Userland/Utilities/js.cpp | 2 +- Userland/Utilities/mkdir.cpp | 4 +- Userland/Utilities/mount.cpp | 2 +- Userland/Utilities/stty.cpp | 2 +- Userland/Utilities/telws.cpp | 2 +- Userland/Utilities/xargs.cpp | 2 +- Userland/Utilities/xml.cpp | 4 +- 86 files changed, 283 insertions(+), 283 deletions(-) diff --git a/AK/JsonObject.h b/AK/JsonObject.h index 0dee35718dd..a15e3ec665b 100644 --- a/AK/JsonObject.h +++ b/AK/JsonObject.h @@ -182,9 +182,9 @@ inline void JsonValue::serialize(Builder& builder) const { switch (m_type) { case Type::String: { - builder.append("\""); + builder.append('\"'); builder.append_escaped_for_json({ m_value.as_string->characters(), m_value.as_string->length() }); - builder.append("\""); + builder.append('\"'); } break; case Type::Array: m_value.as_array->serialize(builder); diff --git a/AK/MACAddress.h b/AK/MACAddress.h index 6caeeac73c0..cc4cac931cb 100644 --- a/AK/MACAddress.h +++ b/AK/MACAddress.h @@ -75,7 +75,7 @@ public: if (string.is_null()) return {}; - auto const parts = string.split_view(":"); + auto const parts = string.split_view(':'); if (parts.size() != 6) return {}; diff --git a/Kernel/CommandLine.cpp b/Kernel/CommandLine.cpp index 3ea48cbd5c3..fec0e11c2a5 100644 --- a/Kernel/CommandLine.cpp +++ b/Kernel/CommandLine.cpp @@ -58,7 +58,7 @@ UNMAP_AFTER_INIT NonnullOwnPtr CommandLine::build_commandline(StringVie StringBuilder builder; builder.append(cmdline_from_bootloader); if constexpr (!s_embedded_cmd_line.is_empty()) { - builder.append(" "); + builder.append(' '); builder.append(s_embedded_cmd_line); } return KString::must_create(builder.string_view()); diff --git a/Meta/Lagom/Tools/CodeGenerators/LibWeb/WrapperGenerator/IDLParser.cpp b/Meta/Lagom/Tools/CodeGenerators/LibWeb/WrapperGenerator/IDLParser.cpp index 5efec6dd32a..0f1de99182e 100644 --- a/Meta/Lagom/Tools/CodeGenerators/LibWeb/WrapperGenerator/IDLParser.cpp +++ b/Meta/Lagom/Tools/CodeGenerators/LibWeb/WrapperGenerator/IDLParser.cpp @@ -60,7 +60,7 @@ static String convert_enumeration_value_to_cpp_enum_member(String const& value, } else { auto non_alnum_string = lexer.consume_while([](auto c) { return !is_ascii_alphanumeric(c); }); if (!non_alnum_string.is_empty()) - builder.append("_"); + builder.append('_'); } } diff --git a/Tests/Kernel/fuzz-syscalls.cpp b/Tests/Kernel/fuzz-syscalls.cpp index 63be4a433f9..5b066408904 100644 --- a/Tests/Kernel/fuzz-syscalls.cpp +++ b/Tests/Kernel/fuzz-syscalls.cpp @@ -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.appendff("{:p}", fake_params[i]); } - builder.append("]"); + builder.append(']'); dbgln("{}", builder.build()); // Actually do the syscall ('fake_params' is passed indirectly, if any of arg1, arg2, or arg3 point to it. diff --git a/Tests/LibRegex/Regex.cpp b/Tests/LibRegex/Regex.cpp index 93a87d35c57..c5d153b0aa3 100644 --- a/Tests/LibRegex/Regex.cpp +++ b/Tests/LibRegex/Regex.cpp @@ -159,7 +159,7 @@ TEST_CASE(parser_error_special_characters_used_at_wrong_place) // After circumflex b.clear(); - b.append("^"); + b.append('^'); b.append(ch); pattern = b.build(); l.set_source(pattern); @@ -169,7 +169,7 @@ TEST_CASE(parser_error_special_characters_used_at_wrong_place) // After dollar b.clear(); - b.append("$"); + b.append('$'); b.append(ch); pattern = b.build(); l.set_source(pattern); @@ -179,9 +179,9 @@ TEST_CASE(parser_error_special_characters_used_at_wrong_place) // After left parens b.clear(); - b.append("("); + b.append('('); b.append(ch); - b.append(")"); + b.append(')'); pattern = b.build(); l.set_source(pattern); p.parse(); diff --git a/Tests/LibRegex/RegexLibC.cpp b/Tests/LibRegex/RegexLibC.cpp index 00fff1e99f4..b4048fc7b06 100644 --- a/Tests/LibRegex/RegexLibC.cpp +++ b/Tests/LibRegex/RegexLibC.cpp @@ -341,7 +341,7 @@ TEST_CASE(parser_error_special_characters_used_at_wrong_place) // After circumflex b.clear(); - b.append("^"); + b.append('^'); b.append(ch); pattern = b.build(); EXPECT_EQ(regcomp(®ex, pattern.characters(), REG_EXTENDED), error_code_to_check); @@ -350,7 +350,7 @@ TEST_CASE(parser_error_special_characters_used_at_wrong_place) // After dollar b.clear(); - b.append("$"); + b.append('$'); b.append(ch); pattern = b.build(); EXPECT_EQ(regcomp(®ex, 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 b.clear(); - b.append("("); + b.append('('); b.append(ch); - b.append(")"); + b.append(')'); pattern = b.build(); EXPECT_EQ(regcomp(®ex, pattern.characters(), REG_EXTENDED), error_code_to_check); EXPECT_EQ(regexec(®ex, "test", num_matches, matches, 0), error_code_to_check); diff --git a/Userland/Applets/ClipboardHistory/ClipboardHistoryModel.cpp b/Userland/Applets/ClipboardHistory/ClipboardHistoryModel.cpp index 99806f9a416..2c7dbc6502d 100644 --- a/Userland/Applets/ClipboardHistory/ClipboardHistoryModel.cpp +++ b/Userland/Applets/ClipboardHistory/ClipboardHistoryModel.cpp @@ -73,13 +73,13 @@ GUI::Variant ClipboardHistoryModel::data(const GUI::ModelIndex& index, GUI::Mode return String::copy(data_and_type.data); if (data_and_type.mime_type == "image/x-serenityos") { StringBuilder builder; - builder.append("["); + builder.append('['); builder.append(data_and_type.metadata.get("width").value_or("?")); builder.append('x'); builder.append(data_and_type.metadata.get("height").value_or("?")); builder.append('x'); builder.append(bpp_for_format_resilient(data_and_type.metadata.get("format").value_or("0"))); - builder.append("]"); + builder.append(']'); builder.append(" bitmap"sv); return builder.to_string(); } diff --git a/Userland/Applications/3DFileViewer/WavefrontOBJLoader.cpp b/Userland/Applications/3DFileViewer/WavefrontOBJLoader.cpp index 167a8992857..c9d05d33189 100644 --- a/Userland/Applications/3DFileViewer/WavefrontOBJLoader.cpp +++ b/Userland/Applications/3DFileViewer/WavefrontOBJLoader.cpp @@ -28,7 +28,7 @@ RefPtr WavefrontOBJLoader::load(Core::File& file) // Start reading file line by line for (auto object_line : file.lines()) { // Ignore file comments - if (object_line.starts_with("#")) + if (object_line.starts_with('#')) continue; if (object_line.starts_with("vt"sv)) { @@ -59,7 +59,7 @@ RefPtr WavefrontOBJLoader::load(Core::File& file) } // 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(' '); if (vertex_line.size() != 4) { dbgln("Wavefront: Malformed vertex line. Aborting."); @@ -74,7 +74,7 @@ RefPtr WavefrontOBJLoader::load(Core::File& file) } // 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 number_of_vertices = face_line.size(); if (number_of_vertices < 3) { diff --git a/Userland/Applications/Assistant/Providers.cpp b/Userland/Applications/Assistant/Providers.cpp index adb65e86d7c..22c83266ab8 100644 --- a/Userland/Applications/Assistant/Providers.cpp +++ b/Userland/Applications/Assistant/Providers.cpp @@ -62,7 +62,7 @@ void URLResult::activate() const void AppProvider::query(String const& query, Function)> on_complete) { - if (query.starts_with("=") || query.starts_with('$')) + if (query.starts_with('=') || query.starts_with('$')) return; NonnullRefPtrVector results; @@ -81,7 +81,7 @@ void AppProvider::query(String const& query, Function)> on_complete) { - if (!query.starts_with("=")) + if (!query.starts_with('=')) return; auto vm = JS::VM::create(); diff --git a/Userland/Applications/Calculator/Keypad.cpp b/Userland/Applications/Calculator/Keypad.cpp index 02fdce5884d..b6002379295 100644 --- a/Userland/Applications/Calculator/Keypad.cpp +++ b/Userland/Applications/Calculator/Keypad.cpp @@ -121,7 +121,7 @@ String Keypad::to_string() const { StringBuilder builder; if (m_negative) - builder.append("-"); + builder.append('-'); builder.appendff("{}", m_int_value.value()); // NOTE: This is so the decimal point appears on screen as soon as you type it. diff --git a/Userland/Applications/CrashReporter/main.cpp b/Userland/Applications/CrashReporter/main.cpp index f275fddf9b5..23e4acc2f35 100644 --- a/Userland/Applications/CrashReporter/main.cpp +++ b/Userland/Applications/CrashReporter/main.cpp @@ -209,7 +209,7 @@ ErrorOr serenity_main(Main::Arguments arguments) }; auto& arguments_label = *widget->find_descendant_of_type_named("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("progressbar"); auto& tab_widget = *widget->find_descendant_of_type_named("tab_widget"); @@ -241,7 +241,7 @@ ErrorOr serenity_main(Main::Arguments arguments) environment_tab->layout()->set_margins(4); auto environment_text_editor = TRY(environment_tab->try_add()); - 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_should_hide_unnecessary_scrollbars(true); @@ -250,7 +250,7 @@ ErrorOr serenity_main(Main::Arguments arguments) memory_regions_tab->layout()->set_margins(4); auto memory_regions_text_editor = TRY(memory_regions_tab->try_add()); - 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_should_hide_unnecessary_scrollbars(true); memory_regions_text_editor->set_visualize_trailing_whitespace(false); diff --git a/Userland/Applications/FileManager/main.cpp b/Userland/Applications/FileManager/main.cpp index 5b926e88597..97294179e66 100644 --- a/Userland/Applications/FileManager/main.cpp +++ b/Userland/Applications/FileManager/main.cpp @@ -201,7 +201,7 @@ void do_create_archive(Vector const& selected_file_paths, GUI::Window* w StringBuilder path_builder; path_builder.append(output_directory_path.dirname()); - path_builder.append("/"); + path_builder.append('/'); if (archive_name.is_empty()) { path_builder.append(output_directory_path.parent().basename()); path_builder.append(".zip"sv); diff --git a/Userland/Applications/FontEditor/MainWidget.cpp b/Userland/Applications/FontEditor/MainWidget.cpp index a9e52ed3b6e..2ff0b44431d 100644 --- a/Userland/Applications/FontEditor/MainWidget.cpp +++ b/Userland/Applications/FontEditor/MainWidget.cpp @@ -849,7 +849,7 @@ void MainWidget::update_statusbar() builder.append_code_point(glyph); } - builder.append(")"); + builder.append(')'); auto glyph_name = Unicode::code_point_display_name(glyph); if (glyph_name.has_value()) { diff --git a/Userland/Applications/SpaceAnalyzer/main.cpp b/Userland/Applications/SpaceAnalyzer/main.cpp index b7909ff5be8..07ce44ac19d 100644 --- a/Userland/Applications/SpaceAnalyzer/main.cpp +++ b/Userland/Applications/SpaceAnalyzer/main.cpp @@ -169,7 +169,7 @@ struct QueueEntry { static void populate_filesize_tree(TreeNode& root, Vector& mounts, HashMap& error_accumulator, GUI::Label& progresslabel) { - VERIFY(!root.m_name.ends_with("/")); + VERIFY(!root.m_name.ends_with('/')); Queue queue; queue.enqueue(QueueEntry(root.m_name, &root)); @@ -177,7 +177,7 @@ static void populate_filesize_tree(TreeNode& root, Vector& mounts, Ha StringBuilder builder = StringBuilder(); builder.append(root.m_name); - builder.append("/"); + builder.append('/'); MountInfo* root_mount_info = find_mount_for_path(builder.to_string(), mounts); if (!root_mount_info) { return; @@ -187,7 +187,7 @@ static void populate_filesize_tree(TreeNode& root, Vector& mounts, Ha builder.clear(); builder.append(queue_entry.path); - builder.append("/"); + builder.append('/'); 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)) { @@ -269,7 +269,7 @@ static void analyze(RefPtr tree, SpaceAnalyzer::TreeMapWidget& treemapwidg } else { builder.append(" times"sv); } - builder.append(")"); + builder.append(')'); first = false; } statusbar.set_text(builder.to_string()); @@ -404,7 +404,7 @@ ErrorOr serenity_main(Main::Arguments arguments) const SpaceAnalyzer::TreeMapNode* node = treemapwidget.path_node(k); - builder.append("/"); + builder.append('/'); 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()); diff --git a/Userland/Applications/Spreadsheet/Cell.cpp b/Userland/Applications/Spreadsheet/Cell.cpp index 1a0d6cabaed..5544053f68f 100644 --- a/Userland/Applications/Spreadsheet/Cell.cpp +++ b/Userland/Applications/Spreadsheet/Cell.cpp @@ -22,7 +22,7 @@ void Cell::set_data(String new_data) if (m_data == new_data) return; - if (new_data.starts_with("=")) { + if (new_data.starts_with('=')) { new_data = new_data.substring(1, new_data.length() - 1); m_kind = Formula; } else { diff --git a/Userland/Applications/Spreadsheet/Writers/XSV.h b/Userland/Applications/Spreadsheet/Writers/XSV.h index 006bc53ce3f..7ddc149a9fd 100644 --- a/Userland/Applications/Spreadsheet/Writers/XSV.h +++ b/Userland/Applications/Spreadsheet/Writers/XSV.h @@ -140,7 +140,7 @@ private: auto string = String::formatted("{}", FormatIfSupported(entry)); auto safe_to_write_normally = (m_behaviors & WriterBehavior::QuoteAll) == WriterBehavior::None - && !string.contains("\n") + && !string.contains('\n') && !string.contains(m_traits.separator); if (safe_to_write_normally) { diff --git a/Userland/Applications/SystemMonitor/main.cpp b/Userland/Applications/SystemMonitor/main.cpp index 4a940b04520..9cead0e1082 100644 --- a/Userland/Applications/SystemMonitor/main.cpp +++ b/Userland/Applications/SystemMonitor/main.cpp @@ -226,9 +226,9 @@ public: "Size", Gfx::TextAlignment::CenterRight, [](const JsonObject& object) { 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(" "); + size_builder.append(' '); return size_builder.to_string(); }, [](const JsonObject& object) { diff --git a/Userland/DevTools/HackStudio/Debugger/Debugger.cpp b/Userland/DevTools/HackStudio/Debugger/Debugger.cpp index 314333626c6..267c155dc8f 100644 --- a/Userland/DevTools/HackStudio/Debugger/Debugger.cpp +++ b/Userland/DevTools/HackStudio/Debugger/Debugger.cpp @@ -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) { - if (file.starts_with("/")) + if (file.starts_with('/')) return { file, line + 1 }; return { LexicalPath::canonicalized_path(String::formatted("{}/{}", m_source_root, file)), line + 1 }; } diff --git a/Userland/DevTools/HackStudio/Dialogs/NewProjectDialog.cpp b/Userland/DevTools/HackStudio/Dialogs/NewProjectDialog.cpp index aab3375734c..e67e39a535e 100644 --- a/Userland/DevTools/HackStudio/Dialogs/NewProjectDialog.cpp +++ b/Userland/DevTools/HackStudio/Dialogs/NewProjectDialog.cpp @@ -161,7 +161,7 @@ Optional NewProjectDialog::get_available_project_name() Optional NewProjectDialog::get_project_full_path() { // Do not permit forward-slashes in project names - if (m_name_input->text().contains("/")) + if (m_name_input->text().contains('/')) return {}; auto create_in = m_create_in_input->text(); diff --git a/Userland/DevTools/HackStudio/HackStudioWidget.cpp b/Userland/DevTools/HackStudio/HackStudioWidget.cpp index b75de6ab22f..4dda8feae5c 100644 --- a/Userland/DevTools/HackStudio/HackStudioWidget.cpp +++ b/Userland/DevTools/HackStudio/HackStudioWidget.cpp @@ -619,7 +619,7 @@ NonnullRefPtr HackStudioWidget::create_copy_relative_path_action() auto copy_relative_path_action = GUI::Action::create("Copy &Relative Path", [this](const GUI::Action&) { auto paths = selected_file_paths(); 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); }); copy_relative_path_action->set_enabled(true); @@ -636,7 +636,7 @@ NonnullRefPtr HackStudioWidget::create_copy_full_path_action() Vector full_paths; for (auto& path : paths) 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); }); 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); } StringBuilder relative_path_builder; - relative_path_builder.join("/", path_parts); + relative_path_builder.join('/', path_parts); constexpr char SERENITY_LIBS_PREFIX[] = "/usr/src/serenity"; LexicalPath serenity_sources_base(SERENITY_LIBS_PREFIX); return String::formatted("{}/{}", serenity_sources_base, relative_path_builder.to_string()); diff --git a/Userland/DevTools/HackStudio/Language.cpp b/Userland/DevTools/HackStudio/Language.cpp index bc6fc82f34d..794297da9f5 100644 --- a/Userland/DevTools/HackStudio/Language.cpp +++ b/Userland/DevTools/HackStudio/Language.cpp @@ -15,7 +15,7 @@ Language language_from_file(LexicalPath const& file) return Language::GitCommit; auto extension = file.extension(); - VERIFY(!extension.starts_with(".")); + VERIFY(!extension.starts_with('.')); if (extension == "c" || extension == "cc" || extension == "cxx" || extension == "cpp" || extension == "c++" || extension == "h" || extension == "hh" || extension == "hxx" || extension == "hpp" || extension == "h++") return Language::Cpp; @@ -57,7 +57,7 @@ String language_name_from_file(LexicalPath const& file) return "GitCommit"; auto extension = file.extension(); - VERIFY(!extension.starts_with(".")); + VERIFY(!extension.starts_with('.')); if (extension == "c" || extension == "cc" || extension == "cxx" || extension == "cpp" || extension == "c++" || extension == "h" || extension == "hh" || extension == "hxx" || extension == "hpp" || extension == "h++") return "C++"; diff --git a/Userland/DevTools/HackStudio/ProjectBuilder.cpp b/Userland/DevTools/HackStudio/ProjectBuilder.cpp index 4abacd86853..69a66eb1bf7 100644 --- a/Userland/DevTools/HackStudio/ProjectBuilder.cpp +++ b/Userland/DevTools/HackStudio/ProjectBuilder.cpp @@ -246,7 +246,7 @@ void ProjectBuilder::for_each_library_dependencies(Functioncreate_recursively(sb.to_string()); } diff --git a/Userland/Games/Chess/ChessWidget.cpp b/Userland/Games/Chess/ChessWidget.cpp index 4c3c7da53d2..4f1cb192b5b 100644 --- a/Userland/Games/Chess/ChessWidget.cpp +++ b/Userland/Games/Chess/ChessWidget.cpp @@ -555,45 +555,45 @@ bool ChessWidget::import_pgn(StringView import_path) token = token.trim_whitespace(); // FIXME: Parse all of these tokens when we start caring about them - if (token.ends_with("}")) { + if (token.ends_with('}')) { skip = false; continue; } if (skip) continue; - if (token.starts_with("{")) { - if (token.ends_with("}")) + if (token.starts_with('{')) { + if (token.ends_with('}')) continue; skip = true; continue; } - if (token.ends_with(")")) { + if (token.ends_with(')')) { recursive_annotation = false; continue; } if (recursive_annotation) continue; - if (token.starts_with("(")) { - if (token.ends_with(")")) + if (token.starts_with('(')) { + if (token.ends_with(')')) continue; recursive_annotation = true; continue; } - if (token.ends_with(">")) { + if (token.ends_with('>')) { future_expansion = false; continue; } if (future_expansion) continue; - if (token.starts_with("<")) { - if (token.ends_with(">")) + if (token.starts_with('<')) { + if (token.ends_with('>')) continue; future_expansion = true; continue; } - if (token.starts_with("$")) + if (token.starts_with('$')) continue; - if (token.contains("*")) + if (token.contains('*')) break; // FIXME: When we become able to set more of the game state, fix these end results 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)) { break; } - if (!token.ends_with(".")) { + if (!token.ends_with('.')) { m_board.apply_move(Chess::Move::from_algebraic(token, turn, m_board)); turn = Chess::opposing_color(turn); } diff --git a/Userland/Libraries/LibChess/Chess.cpp b/Userland/Libraries/LibChess/Chess.cpp index c58c69301cc..577e82fcb6f 100644 --- a/Userland/Libraries/LibChess/Chess.cpp +++ b/Userland/Libraries/LibChess/Chess.cpp @@ -106,7 +106,7 @@ Move Move::from_algebraic(StringView algebraic, const Color turn, Board const& b String move_string = algebraic; Move move({ 50, 50 }, { 50, 50 }); - if (move_string.contains("-")) { + if (move_string.contains('-')) { move.from = Square(turn == Color::White ? 0 : 7, 4); move.to = Square(turn == Color::White ? 0 : 7, move_string == "O-O" ? 6 : 2); move.promote_to = Type::None; @@ -115,15 +115,15 @@ Move Move::from_algebraic(StringView algebraic, const Color turn, Board const& b return move; } - if (algebraic.contains("#")) { + if (algebraic.contains('#')) { move.is_mate = true; move_string = move_string.substring(0, move_string.length() - 1); - } else if (algebraic.contains("+")) { + } else if (algebraic.contains('+')) { move.is_check = true; 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_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_string = move_string.substring(0, move_string.length() - 2); - if (move_string.contains("x")) { + if (move_string.contains('x')) { move.is_capture = true; move_string = move_string.substring(0, move_string.length() - 1); } @@ -201,20 +201,20 @@ String Move::to_algebraic() const if (is_capture) { if (piece.type == Type::Pawn && !is_ambiguous) builder.append(from.to_algebraic().substring(0, 1)); - builder.append("x"); + builder.append('x'); } builder.append(to.to_algebraic()); if (promote_to != Type::None) { - builder.append("="); + builder.append('='); builder.append(char_for_piece(promote_to)); } if (is_mate) - builder.append("#"); + builder.append('#'); else if (is_check) - builder.append("+"); + builder.append('+'); return builder.build(); } @@ -287,7 +287,7 @@ String Board::to_fen() const empty = 0; } if (rank < 7) - builder.append("/"); + builder.append('/'); } // 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_black_can_castle_kingside ? "k"sv : ""sv); builder.append(m_black_can_castle_queenside ? "q"sv : ""sv); - builder.append(" "); + builder.append(' '); // 4. En passant target square if (!m_last_move.has_value()) - builder.append("-"); + builder.append('-'); 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) 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) builder.append(Square(m_last_move.value().to.rank + 1, m_last_move.value().to.file).to_algebraic()); else - builder.append("-"); + builder.append('-'); } else { - builder.append("-"); + builder.append('-'); } - builder.append(" "); + builder.append(' '); // 5. Halfmove clock builder.append(String::number(min(m_moves_since_capture, m_moves_since_pawn_advance))); - builder.append(" "); + builder.append(' '); // 6. Fullmove number builder.append(String::number(1 + m_moves.size() / 2)); diff --git a/Userland/Libraries/LibCodeComprehension/Cpp/CppComprehensionEngine.cpp b/Userland/Libraries/LibCodeComprehension/Cpp/CppComprehensionEngine.cpp index c32aa6345be..a60199ae408 100644 --- a/Userland/Libraries/LibCodeComprehension/Cpp/CppComprehensionEngine.cpp +++ b/Userland/Libraries/LibCodeComprehension/Cpp/CppComprehensionEngine.cpp @@ -695,16 +695,16 @@ Optional> CppComprehensionEng String include_root; bool already_has_suffix = false; - if (partial_include.starts_with("<")) { + if (partial_include.starts_with('<')) { include_root = "/usr/include/"; include_type = System; - if (partial_include.ends_with(">")) { + if (partial_include.ends_with('>')) { already_has_suffix = true; 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(); - if (partial_include.length() > 1 && partial_include.ends_with("\"")) { + if (partial_include.length() > 1 && partial_include.ends_with('\"')) { already_has_suffix = true; partial_include = partial_include.substring_view(0, partial_include.length() - 1).trim_whitespace(); } @@ -923,7 +923,7 @@ Optional CppComprehensionEngine::get for (auto token : document_of_declaration->parser().tokens_in_range(arg.start(), arg.end())) { tokens_text.append(token.text()); } - hint.params.append(String::join(" ", tokens_text)); + hint.params.append(String::join(' ', tokens_text)); } return hint; diff --git a/Userland/Libraries/LibCodeComprehension/Shell/ShellComprehensionEngine.cpp b/Userland/Libraries/LibCodeComprehension/Shell/ShellComprehensionEngine.cpp index b43c295bacb..94a34201eb7 100644 --- a/Userland/Libraries/LibCodeComprehension/Shell/ShellComprehensionEngine.cpp +++ b/Userland/Libraries/LibCodeComprehension/Shell/ShellComprehensionEngine.cpp @@ -80,7 +80,7 @@ Vector const& ShellComprehensionEngine::DocumentData::sourced_paths() co return; auto name_list = const_cast<::Shell::AST::Node*>(filename.ptr())->run(nullptr)->resolve_as_list(nullptr); StringBuilder builder; - builder.join(" ", name_list); + builder.join(' ', name_list); sourced_files.set(builder.build()); } } diff --git a/Userland/Libraries/LibCore/ArgsParser.cpp b/Userland/Libraries/LibCore/ArgsParser.cpp index 570a314314d..8da40ba5204 100644 --- a/Userland/Libraries/LibCore/ArgsParser.cpp +++ b/Userland/Libraries/LibCore/ArgsParser.cpp @@ -763,7 +763,7 @@ void ArgsParser::autocomplete(FILE* file, StringView program_name, Spandump(output, indent + 1); @@ -79,7 +79,7 @@ String NamedType::to_string() const { String qualifiers_string; if (!qualifiers().is_empty()) - qualifiers_string = String::formatted("[{}] ", String::join(" ", qualifiers())); + qualifiers_string = String::formatted("[{}] ", String::join(' ', qualifiers())); String name; if (is_auto()) @@ -96,7 +96,7 @@ String Pointer::to_string() const return {}; StringBuilder builder; builder.append(m_pointee->to_string()); - builder.append("*"); + builder.append('*'); return builder.to_string(); } @@ -107,7 +107,7 @@ String Reference::to_string() const StringBuilder builder; builder.append(m_referenced_type->to_string()); if (m_kind == Kind::Lvalue) - builder.append("&"); + builder.append('&'); else builder.append("&&"sv); return builder.to_string(); @@ -117,7 +117,7 @@ String FunctionType::to_string() const { StringBuilder builder; builder.append(m_return_type->to_string()); - builder.append("("); + builder.append('('); bool first = true; for (auto& parameter : m_parameters) { if (first) @@ -127,11 +127,11 @@ String FunctionType::to_string() const if (parameter.type()) builder.append(parameter.type()->to_string()); if (parameter.name() && !parameter.full_name().is_empty()) { - builder.append(" "); + builder.append(' '); builder.append(parameter.full_name()); } } - builder.append(")"); + builder.append(')'); return builder.to_string(); } diff --git a/Userland/Libraries/LibDebug/DebugInfo.cpp b/Userland/Libraries/LibDebug/DebugInfo.cpp index b4c73751ac6..6e6af3858a7 100644 --- a/Userland/Libraries/LibDebug/DebugInfo.cpp +++ b/Userland/Libraries/LibDebug/DebugInfo.cpp @@ -132,7 +132,7 @@ Optional DebugInfo::get_source_position(FlatPtr targe Optional DebugInfo::get_address_from_source_position(String const& file, size_t line) const { String file_path = file; - if (!file_path.starts_with("/")) + if (!file_path.starts_with('/')) file_path = String::formatted("/{}", file_path); 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; array_type_name.append(type_info->type_name); 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("]"); + array_type_name.append(']'); } parent_variable->type_name = array_type_name.to_string(); } diff --git a/Userland/Libraries/LibDebug/DebugSession.cpp b/Userland/Libraries/LibDebug/DebugSession.cpp index 9d3bd88e5a7..49940fe9e51 100644 --- a/Userland/Libraries/LibDebug/DebugSession.cpp +++ b/Userland/Libraries/LibDebug/DebugSession.cpp @@ -438,7 +438,7 @@ void DebugSession::update_loaded_libs() if (!rc) return {}; 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 String::formatted("/usr/lib/{}", lib_name); }; diff --git a/Userland/Libraries/LibGL/GLContext.cpp b/Userland/Libraries/LibGL/GLContext.cpp index 3e87e7c584b..729ff0e09e8 100644 --- a/Userland/Libraries/LibGL/GLContext.cpp +++ b/Userland/Libraries/LibGL/GLContext.cpp @@ -1221,7 +1221,7 @@ void GLContext::build_extension_string() if (m_device_info.num_texture_units > 1) extensions.append("GL_ARB_multitexture"sv); - m_extensions = String::join(" ", extensions); + m_extensions = String::join(' ', extensions); } NonnullOwnPtr create_context(Gfx::Bitmap& bitmap) diff --git a/Userland/Libraries/LibGUI/ColorPicker.cpp b/Userland/Libraries/LibGUI/ColorPicker.cpp index 79aaa6ffbb0..312ab1848f8 100644 --- a/Userland/Libraries/LibGUI/ColorPicker.cpp +++ b/Userland/Libraries/LibGUI/ColorPicker.cpp @@ -324,7 +324,7 @@ void ColorPicker::build_ui_custom(Widget& root_container) m_html_text->on_change = [this]() { auto color_name = m_html_text->text(); 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: // - 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(); diff --git a/Userland/Libraries/LibGUI/FileSystemModel.cpp b/Userland/Libraries/LibGUI/FileSystemModel.cpp index 1a3539eeead..dae02d35b9c 100644 --- a/Userland/Libraries/LibGUI/FileSystemModel.cpp +++ b/Userland/Libraries/LibGUI/FileSystemModel.cpp @@ -296,21 +296,21 @@ static String permission_string(mode_t mode) { StringBuilder builder; if (S_ISDIR(mode)) - builder.append("d"); + builder.append('d'); else if (S_ISLNK(mode)) - builder.append("l"); + builder.append('l'); else if (S_ISBLK(mode)) - builder.append("b"); + builder.append('b'); else if (S_ISCHR(mode)) - builder.append("c"); + builder.append('c'); else if (S_ISFIFO(mode)) - builder.append("f"); + builder.append('f'); else if (S_ISSOCK(mode)) - builder.append("s"); + builder.append('s'); else if (S_ISREG(mode)) - builder.append("-"); + builder.append('-'); else - builder.append("?"); + builder.append('?'); builder.append(mode & S_IRUSR ? 'r' : '-'); builder.append(mode & S_IWUSR ? 'w' : '-'); @@ -384,7 +384,7 @@ void FileSystemModel::handle_file_event(Core::FileWatcherEvent const& event) LexicalPath path { event.event_path }; auto& parts = path.parts_view(); StringView child_name = parts.last(); - if (!m_should_show_dotfiles && child_name.starts_with(".")) + if (!m_should_show_dotfiles && child_name.starts_with('.')) break; auto parent_name = path.parent().string(); diff --git a/Userland/Libraries/LibGUI/GML/AST.h b/Userland/Libraries/LibGUI/GML/AST.h index ebcfc5a875b..2a5ce28644e 100644 --- a/Userland/Libraries/LibGUI/GML/AST.h +++ b/Userland/Libraries/LibGUI/GML/AST.h @@ -79,7 +79,7 @@ public: indent(builder, indentation); builder.append(m_text); } - builder.append("\n"); + builder.append('\n'); } virtual ~Comment() override = default; @@ -103,7 +103,7 @@ public: builder.appendff("{}: ", m_key); m_value->format(builder, indentation, true); if (!is_inline) - builder.append("\n"); + builder.append('\n'); } String key() const { return m_key; } @@ -132,7 +132,7 @@ public: if (is_array()) { // custom array serialization as AK's doesn't pretty-print // objects and arrays (we only care about arrays (for now)) - builder.append("["); + builder.append('['); auto first = true; as_array().for_each([&](auto& value) { if (!first) @@ -140,12 +140,12 @@ public: first = false; value.serialize(builder); }); - builder.append("]"); + builder.append(']'); } else { serialize(builder); } if (!is_inline) - builder.append("\n"); + builder.append('\n'); } }; diff --git a/Userland/Libraries/LibGUI/Toolbar.cpp b/Userland/Libraries/LibGUI/Toolbar.cpp index a52ec010e48..0f4c3769eaf 100644 --- a/Userland/Libraries/LibGUI/Toolbar.cpp +++ b/Userland/Libraries/LibGUI/Toolbar.cpp @@ -61,9 +61,9 @@ private: StringBuilder builder; builder.append(action.text()); if (action.shortcut().is_valid()) { - builder.append(" ("); + builder.append(" ("sv); builder.append(action.shortcut().to_string()); - builder.append(")"); + builder.append(')'); } return builder.to_string(); } diff --git a/Userland/Libraries/LibGemini/Document.cpp b/Userland/Libraries/LibGemini/Document.cpp index cea128e7a64..b4d465d354b 100644 --- a/Userland/Libraries/LibGemini/Document.cpp +++ b/Userland/Libraries/LibGemini/Document.cpp @@ -62,7 +62,7 @@ void Document::read_lines(StringView source) continue; } - if (line.starts_with("*")) { + if (line.starts_with('*')) { if (!m_inside_unordered_list) m_lines.append(make(Control::UnorderedListStart)); m_lines.append(make(move(line))); @@ -72,12 +72,12 @@ void Document::read_lines(StringView source) close_list_if_needed(); - if (line.starts_with("=>")) { + if (line.starts_with("=>"sv)) { m_lines.append(make(move(line), *this)); continue; } - if (line.starts_with("#")) { + if (line.starts_with('#')) { size_t level = 0; while (line.length() > level && line[level] == '#') ++level; diff --git a/Userland/Libraries/LibGfx/Color.cpp b/Userland/Libraries/LibGfx/Color.cpp index d870d5c2e10..fec1feff532 100644 --- a/Userland/Libraries/LibGfx/Color.cpp +++ b/Userland/Libraries/LibGfx/Color.cpp @@ -30,7 +30,7 @@ String Color::to_string_without_alpha() const static Optional parse_rgb_color(StringView string) { 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 parts = substring.split_view(','); @@ -51,7 +51,7 @@ static Optional parse_rgb_color(StringView string) static Optional parse_rgba_color(StringView string) { 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 parts = substring.split_view(','); @@ -252,10 +252,10 @@ Optional Color::from_string(StringView string) 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); - 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); if (string[0] != '#') diff --git a/Userland/Libraries/LibGfx/Font/BitmapFont.cpp b/Userland/Libraries/LibGfx/Font/BitmapFont.cpp index 385e7390864..27e09a6d83b 100644 --- a/Userland/Libraries/LibGfx/Font/BitmapFont.cpp +++ b/Userland/Libraries/LibGfx/Font/BitmapFont.cpp @@ -356,7 +356,7 @@ String BitmapFont::variant() const if (builder.string_view() == "Regular"sv) builder.clear(); else - builder.append(" "); + builder.append(' '); builder.append(slope_to_name(slope())); } return builder.to_string(); diff --git a/Userland/Libraries/LibGfx/Path.cpp b/Userland/Libraries/LibGfx/Path.cpp index 5d8380db081..f84d071609f 100644 --- a/Userland/Libraries/LibGfx/Path.cpp +++ b/Userland/Libraries/LibGfx/Path.cpp @@ -231,7 +231,7 @@ String Path::to_string() const builder.append(") "sv); } - builder.append("}"); + builder.append('}'); return builder.to_string(); } diff --git a/Userland/Libraries/LibIMAP/Client.cpp b/Userland/Libraries/LibIMAP/Client.cpp index b4bd10c5803..c709ed95132 100644 --- a/Userland/Libraries/LibIMAP/Client.cpp +++ b/Userland/Libraries/LibIMAP/Client.cpp @@ -303,7 +303,7 @@ RefPtr>> Client::store(StoreMethod method, Seque StringBuilder flags_builder; flags_builder.append('('); - flags_builder.join(" ", flags); + flags_builder.join(' ', flags); flags_builder.append(')'); 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>> Client::status(StringView mailbox, Vect } StringBuilder types_list; types_list.append('('); - types_list.join(" ", args); + types_list.join(' ', args); types_list.append(')'); auto command = Command { CommandType::Status, m_current_command, { mailbox, types_list.build() } }; return cast_promise(send_command(move(command))); @@ -373,7 +373,7 @@ RefPtr>> Client::append(StringView mailbox, Mess if (flags.has_value()) { StringBuilder flags_sb; flags_sb.append('('); - flags_sb.join(" ", flags.value()); + flags_sb.join(' ', flags.value()); flags_sb.append(')'); args.append(flags_sb.build()); } diff --git a/Userland/Libraries/LibIMAP/Objects.cpp b/Userland/Libraries/LibIMAP/Objects.cpp index a076756290c..406e7ecc1de 100644 --- a/Userland/Libraries/LibIMAP/Objects.cpp +++ b/Userland/Libraries/LibIMAP/Objects.cpp @@ -36,11 +36,11 @@ String FetchCommand::DataItem::Section::serialize() const bool first = true; for (auto& field : headers.value()) { if (!first) - headers_builder.append(" "); + headers_builder.append(' '); headers_builder.append(field); first = false; } - headers_builder.append(")"); + headers_builder.append(')'); return headers_builder.build(); } case SectionType::Text: @@ -50,7 +50,7 @@ String FetchCommand::DataItem::Section::serialize() const bool first = true; for (int part : parts.value()) { if (!first) - sb.append("."); + sb.append('.'); sb.appendff("{}", part); first = false; } @@ -95,7 +95,7 @@ String FetchCommand::serialize() bool first = true; for (auto& sequence : sequence_set) { if (!first) { - sequence_builder.append(","); + sequence_builder.append(','); } sequence_builder.append(sequence.serialize()); first = false; @@ -105,7 +105,7 @@ String FetchCommand::serialize() first = true; for (auto& data_item : data_items) { if (!first) { - data_items_builder.append(" "); + data_items_builder.append(' '); } data_items_builder.append(data_item.serialize()); first = false; @@ -156,7 +156,7 @@ String SearchKey::serialize() const [&](Recent const&) { return String("RECENT"); }, [&](SearchKeys const& x) { StringBuilder sb; - sb.append("("); + sb.append('('); bool first = true; for (const auto& item : x.keys) { if (!first) diff --git a/Userland/Libraries/LibJS/Bytecode/Op.cpp b/Userland/Libraries/LibJS/Bytecode/Op.cpp index 62a9c2cd0b7..f0ea2e9b598 100644 --- a/Userland/Libraries/LibJS/Bytecode/Op.cpp +++ b/Userland/Libraries/LibJS/Bytecode/Op.cpp @@ -1030,7 +1030,7 @@ String PushDeclarativeEnvironment::to_string_impl(Bytecode::Executable const& ex Vector names; for (auto& it : m_variables) names.append(executable.get_string(it.key)); - builder.append("}"); + builder.append('}'); builder.join(", "sv, names); } return builder.to_string(); diff --git a/Userland/Libraries/LibJS/Runtime/StringPrototype.cpp b/Userland/Libraries/LibJS/Runtime/StringPrototype.cpp index 8ffc5403f67..03709565cec 100644 --- a/Userland/Libraries/LibJS/Runtime/StringPrototype.cpp +++ b/Userland/Libraries/LibJS/Runtime/StringPrototype.cpp @@ -791,7 +791,7 @@ JS_DEFINE_NATIVE_FUNCTION(StringPrototype::match_all) auto flags = TRY(regexp.as_object().get("flags")); auto flags_object = TRY(require_object_coercible(global_object, flags)); auto flags_string = TRY(flags_object.to_string(global_object)); - if (!flags_string.contains("g")) + if (!flags_string.contains('g')) return vm.throw_completion(global_object, ErrorType::StringNonGlobalRegExp); } 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_object = TRY(require_object_coercible(global_object, flags)); auto flags_string = TRY(flags_object.to_string(global_object)); - if (!flags_string.contains("g")) + if (!flags_string.contains('g')) return vm.throw_completion(global_object, ErrorType::StringNonGlobalRegExp); } diff --git a/Userland/Libraries/LibLine/Editor.cpp b/Userland/Libraries/LibLine/Editor.cpp index 211827a5b14..0587cf13ccf 100644 --- a/Userland/Libraries/LibLine/Editor.cpp +++ b/Userland/Libraries/LibLine/Editor.cpp @@ -1718,7 +1718,7 @@ String Style::to_string() const : "ReplaceEachCodePointInSelection"); } - builder.append("}"); + builder.append('}'); return builder.build(); } diff --git a/Userland/Libraries/LibMarkdown/List.cpp b/Userland/Libraries/LibMarkdown/List.cpp index 994eee226c0..55fa155d5dc 100644 --- a/Userland/Libraries/LibMarkdown/List.cpp +++ b/Userland/Libraries/LibMarkdown/List.cpp @@ -27,7 +27,7 @@ String List::render_to_html(bool) const for (auto& item : m_items) { builder.append("
  • "sv); if (!m_is_tight || (item->blocks().size() != 0 && !dynamic_cast(&(item->blocks()[0])))) - builder.append("\n"); + builder.append('\n'); builder.append(item->render_to_html(m_is_tight)); builder.append("
  • \n"sv); } @@ -47,7 +47,7 @@ String List::render_for_terminal(size_t) const if (m_is_ordered) builder.appendff("{}.", ++i); else - builder.append("*"); + builder.append('*'); builder.append(item->render_for_terminal()); } diff --git a/Userland/Libraries/LibMarkdown/Table.cpp b/Userland/Libraries/LibMarkdown/Table.cpp index c67409aa61a..417e604565d 100644 --- a/Userland/Libraries/LibMarkdown/Table.cpp +++ b/Userland/Libraries/LibMarkdown/Table.cpp @@ -42,10 +42,10 @@ String Table::render_for_terminal(size_t view_width) const write_aligned(col.header, width, col.alignment); } - builder.append("\n"); + builder.append('\n'); for (size_t i = 0; i < view_width; ++i) builder.append('-'); - builder.append("\n"); + builder.append('\n'); for (size_t i = 0; i < m_row_count; ++i) { 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; write_aligned(cell, width, col.alignment); } - builder.append("\n"); + builder.append('\n'); } - builder.append("\n"); + builder.append('\n'); return builder.to_string(); } diff --git a/Userland/Libraries/LibMarkdown/Text.cpp b/Userland/Libraries/LibMarkdown/Text.cpp index 1a5f55717b1..ec62ff40e63 100644 --- a/Userland/Libraries/LibMarkdown/Text.cpp +++ b/Userland/Libraries/LibMarkdown/Text.cpp @@ -108,7 +108,7 @@ void Text::TextNode::render_to_html(StringBuilder& builder) const void Text::TextNode::render_for_terminal(StringBuilder& builder) const { if (collapsible && (text == "\n" || text.is_whitespace())) { - builder.append(" "); + builder.append(' '); } else { builder.append(text); } @@ -546,7 +546,7 @@ NonnullOwnPtr Text::parse_code(Vector::ConstIterator& tokens) if (!is_all_whitespace) { auto& first = dynamic_cast(code->children.first()); auto& last = dynamic_cast(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); last.text = last.text.substring(0, last.text.length() - 1); } @@ -608,7 +608,7 @@ NonnullOwnPtr Text::parse_strike_through(Vector::ConstIterato if (!is_all_whitespace) { auto& first = dynamic_cast(striked_text->children.first()); auto& last = dynamic_cast(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); last.text = last.text.substring(0, last.text.length() - 1); } diff --git a/Userland/Libraries/LibPDF/Renderer.h b/Userland/Libraries/LibPDF/Renderer.h index e5e09f29c90..0be1c342f60 100644 --- a/Userland/Libraries/LibPDF/Renderer.h +++ b/Userland/Libraries/LibPDF/Renderer.h @@ -172,7 +172,7 @@ struct Formatter : Formatter { ErrorOr format(FormatBuilder& format_builder, PDF::LineDashPattern const& pattern) { StringBuilder builder; - builder.append("["); + builder.append('['); bool first = true; for (auto& i : pattern.pattern) { @@ -248,7 +248,7 @@ struct Formatter : Formatter { builder.appendff(" miter_limit={}\n", state.miter_limit); builder.appendff(" line_dash_pattern={}\n", state.line_dash_pattern); builder.appendff(" text_state={}\n", state.text_state); - builder.append("}"); + builder.append('}'); return format_builder.put_string(builder.to_string()); } }; diff --git a/Userland/Libraries/LibSQL/Serializer.h b/Userland/Libraries/LibSQL/Serializer.h index 65e8841e936..b054ff20f9b 100644 --- a/Userland/Libraries/LibSQL/Serializer.h +++ b/Userland/Libraries/LibSQL/Serializer.h @@ -163,7 +163,7 @@ private: bytes.append(String::formatted("{0:02x}", *(ptr + ix))); } StringBuilder bytes_builder; - bytes_builder.join(" ", bytes); + bytes_builder.join(' ', bytes); builder.append(bytes_builder.to_string()); dbgln(builder.to_string()); } diff --git a/Userland/Libraries/LibSQL/TreeNode.cpp b/Userland/Libraries/LibSQL/TreeNode.cpp index 8c5f8704a7f..92ee74d252b 100644 --- a/Userland/Libraries/LibSQL/TreeNode.cpp +++ b/Userland/Libraries/LibSQL/TreeNode.cpp @@ -380,7 +380,7 @@ void TreeNode::dump_if(int flag, String&& msg) if (is_leaf()) { builder.append(", leaf"sv); } - builder.append(")"); + builder.append(')'); dbgln(builder.build()); } diff --git a/Userland/Libraries/LibSQL/TupleDescriptor.h b/Userland/Libraries/LibSQL/TupleDescriptor.h index 734bea69da5..66d6f9b2b58 100644 --- a/Userland/Libraries/LibSQL/TupleDescriptor.h +++ b/Userland/Libraries/LibSQL/TupleDescriptor.h @@ -97,7 +97,7 @@ public: for (auto& element : *this) { 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::operator==; diff --git a/Userland/Libraries/LibSQL/Value.cpp b/Userland/Libraries/LibSQL/Value.cpp index 88ca5ffd3b5..617408f1bab 100644 --- a/Userland/Libraries/LibSQL/Value.cpp +++ b/Userland/Libraries/LibSQL/Value.cpp @@ -874,11 +874,11 @@ Vector ContainerValueImpl::to_string_vector() const String ContainerValueImpl::to_string() const { StringBuilder builder; - builder.append("("); + builder.append('('); StringBuilder joined; joined.join(", "sv, to_string_vector()); builder.append(joined.string_view()); - builder.append(")"); + builder.append(')'); return builder.build(); } diff --git a/Userland/Libraries/LibVT/Terminal.cpp b/Userland/Libraries/LibVT/Terminal.cpp index cc64527ae7a..290ebf9859a 100644 --- a/Userland/Libraries/LibVT/Terminal.cpp +++ b/Userland/Libraries/LibVT/Terminal.cpp @@ -1448,7 +1448,7 @@ void Terminal::unimplemented_csi_sequence(Parameters parameters, Intermediates i builder.append(", parameters: ["sv); for (size_t i = 0; i < parameters.size(); ++i) builder.appendff("{}{}", (i == 0) ? "" : ", ", parameters[i]); - builder.append("]"); + builder.append("]"sv); } if (!intermediates.is_empty()) { builder.append(", intermediates:"sv); @@ -1469,7 +1469,7 @@ void Terminal::unimplemented_osc_sequence(OscParameters parameters, u8 last_byte builder.append('['); for (auto character : parameter) builder.append((char)character); - builder.append("]"); + builder.append(']'); first = false; } diff --git a/Userland/Libraries/LibWasm/AbstractMachine/Validator.h b/Userland/Libraries/LibWasm/AbstractMachine/Validator.h index 12eb4a875d3..c4a9c546dcc 100644 --- a/Userland/Libraries/LibWasm/AbstractMachine/Validator.h +++ b/Userland/Libraries/LibWasm/AbstractMachine/Validator.h @@ -305,7 +305,7 @@ private: break; } } - builder.append("]"); + builder.append(']'); return { builder.to_string() }; } diff --git a/Userland/Libraries/LibWeb/CSS/Parser/Block.cpp b/Userland/Libraries/LibWeb/CSS/Parser/Block.cpp index b408c989707..f8b5b0f6251 100644 --- a/Userland/Libraries/LibWeb/CSS/Parser/Block.cpp +++ b/Userland/Libraries/LibWeb/CSS/Parser/Block.cpp @@ -22,7 +22,7 @@ String Block::to_string() const StringBuilder builder; builder.append(m_token.bracket_string()); - builder.join(" ", m_values); + builder.join(' ', m_values); builder.append(m_token.bracket_mirror_string()); return builder.to_string(); diff --git a/Userland/Libraries/LibWeb/CSS/Parser/Function.cpp b/Userland/Libraries/LibWeb/CSS/Parser/Function.cpp index 0c15b077159..667132b0f24 100644 --- a/Userland/Libraries/LibWeb/CSS/Parser/Function.cpp +++ b/Userland/Libraries/LibWeb/CSS/Parser/Function.cpp @@ -23,9 +23,9 @@ String Function::to_string() const StringBuilder builder; serialize_an_identifier(builder, m_name); - builder.append("("); - builder.join(" ", m_values); - builder.append(")"); + builder.append('('); + builder.join(' ', m_values); + builder.append(')'); return builder.to_string(); } diff --git a/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp b/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp index 2bf5e59f0bd..30dc5d0e07f 100644 --- a/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp +++ b/Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp @@ -2513,7 +2513,7 @@ Optional Parser::convert_to_style_property(Declaration const& dec property_id = PropertyID::Custom; } else if (has_ignored_vendor_prefix(property_name)) { return {}; - } else if (!property_name.starts_with("-")) { + } else if (!property_name.starts_with('-')) { dbgln_if(CSS_PARSER_DEBUG, "Unrecognized CSS property '{}'", property_name); return {}; } diff --git a/Userland/Libraries/LibWeb/CSS/Parser/Rule.cpp b/Userland/Libraries/LibWeb/CSS/Parser/Rule.cpp index bffe151eaed..0c9a760b9f8 100644 --- a/Userland/Libraries/LibWeb/CSS/Parser/Rule.cpp +++ b/Userland/Libraries/LibWeb/CSS/Parser/Rule.cpp @@ -25,11 +25,11 @@ String Rule::to_string() const StringBuilder builder; if (is_at_rule()) { - builder.append("@"); + builder.append('@'); serialize_an_identifier(builder, m_at_rule_name); } - builder.join(" ", m_prelude); + builder.join(' ', m_prelude); if (m_block) builder.append(m_block->to_string()); diff --git a/Userland/Libraries/LibWeb/CSS/Selector.h b/Userland/Libraries/LibWeb/CSS/Selector.h index 4d42a58f8cb..6c5d6a5ea0e 100644 --- a/Userland/Libraries/LibWeb/CSS/Selector.h +++ b/Userland/Libraries/LibWeb/CSS/Selector.h @@ -58,7 +58,7 @@ public: // 3. // - A is 1: Append "n" to result. if (step_size == 1) - result.append("n"); + result.append('n'); // - A is -1: Append "-n" to result. else if (step_size == -1) result.append("-n"sv); diff --git a/Userland/Libraries/LibWeb/HTML/Parser/HTMLEncodingDetection.cpp b/Userland/Libraries/LibWeb/HTML/Parser/HTMLEncodingDetection.cpp index d8358be0e4b..9348c8ea7a7 100644 --- a/Userland/Libraries/LibWeb/HTML/Parser/HTMLEncodingDetection.cpp +++ b/Userland/Libraries/LibWeb/HTML/Parser/HTMLEncodingDetection.cpp @@ -72,7 +72,7 @@ Optional extract_character_encoding_from_meta_element(String const& return {}; if (lexer.consume_specific('"')) { - auto matching_double_quote = lexer.remaining().find("\""); + auto matching_double_quote = lexer.remaining().find('"'); if (!matching_double_quote.has_value()) return {}; @@ -81,7 +81,7 @@ Optional extract_character_encoding_from_meta_element(String const& } if (lexer.consume_specific('\'')) { - auto matching_single_quote = lexer.remaining().find("'"); + auto matching_single_quote = lexer.remaining().find('\''); if (!matching_single_quote.has_value()) return {}; diff --git a/Userland/Libraries/LibWeb/HTML/WorkerDebugConsoleClient.cpp b/Userland/Libraries/LibWeb/HTML/WorkerDebugConsoleClient.cpp index 2ce0152b9b3..a8de8f9f0d1 100644 --- a/Userland/Libraries/LibWeb/HTML/WorkerDebugConsoleClient.cpp +++ b/Userland/Libraries/LibWeb/HTML/WorkerDebugConsoleClient.cpp @@ -53,7 +53,7 @@ JS::ThrowCompletionOr WorkerDebugConsoleClient::printer(JS::Console:: return JS::js_undefined(); } - auto output = String::join(" ", arguments.get>()); + auto output = String::join(' ', arguments.get>()); m_console.output_debug_message(log_level, output); switch (log_level) { diff --git a/Userland/Libraries/LibWeb/Origin.h b/Userland/Libraries/LibWeb/Origin.h index 2bfeb2205d6..359492852f1 100644 --- a/Userland/Libraries/LibWeb/Origin.h +++ b/Userland/Libraries/LibWeb/Origin.h @@ -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. if (port() != 0) { - result.append(":"); + result.append(':'); result.append(String::number(port())); } // 6. Return result diff --git a/Userland/Libraries/LibWebSocket/ConnectionInfo.cpp b/Userland/Libraries/LibWebSocket/ConnectionInfo.cpp index a0c2362de07..5bd7864fcdb 100644 --- a/Userland/Libraries/LibWebSocket/ConnectionInfo.cpp +++ b/Userland/Libraries/LibWebSocket/ConnectionInfo.cpp @@ -27,12 +27,12 @@ String ConnectionInfo::resource_name() const StringBuilder builder; // "/" if the path component is empty if (m_url.path().is_empty()) - builder.append("/"); + builder.append('/'); // The path component builder.append(m_url.path()); // "?" if the query component is non-empty if (!m_url.query().is_empty()) - builder.append("?"); + builder.append('?'); // the query component builder.append(m_url.query()); return builder.to_string(); diff --git a/Userland/Libraries/LibX86/Instruction.cpp b/Userland/Libraries/LibX86/Instruction.cpp index d4a7624e59a..88b6fb69a6e 100644 --- a/Userland/Libraries/LibX86/Instruction.cpp +++ b/Userland/Libraries/LibX86/Instruction.cpp @@ -1641,35 +1641,35 @@ void Instruction::to_string_internal(StringBuilder& builder, u32 origin, SymbolP case OP_RM8_imm8: append_mnemonic_space(); append_rm8(); - append(","); + append(','); append_imm8(); break; case OP_RM16_imm8: append_mnemonic_space(); append_rm16(); - append(","); + append(','); append_imm8(); break; case OP_RM32_imm8: append_mnemonic_space(); append_rm32(); - append(","); + append(','); append_imm8(); break; case OP_reg16_RM16_imm8: append_mnemonic_space(); append_reg16(); - append(","); + append(','); append_rm16(); - append(","); + append(','); append_imm8(); break; case OP_reg32_RM32_imm8: append_mnemonic_space(); append_reg32(); - append(","); + append(','); append_rm32(); - append(","); + append(','); append_imm8(); break; case OP_AL_imm8: @@ -1724,23 +1724,23 @@ void Instruction::to_string_internal(StringBuilder& builder, u32 origin, SymbolP case OP_reg16_imm16: append_mnemonic_space(); append_reg16(); - append(","); + append(','); append_imm16(); break; case OP_reg16_RM16_imm16: append_mnemonic_space(); append_reg16(); - append(","); + append(','); append_rm16(); - append(","); + append(','); append_imm16(); break; case OP_reg32_RM32_imm32: append_mnemonic_space(); append_reg32(); - append(","); + append(','); append_rm32(); - append(","); + append(','); append_imm32(); break; case OP_imm32: @@ -1960,142 +1960,142 @@ void Instruction::to_string_internal(StringBuilder& builder, u32 origin, SymbolP case OP_RM8_reg8: append_mnemonic_space(); append_rm8(); - append(","); + append(','); append_reg8(); break; case OP_RM16_reg16: append_mnemonic_space(); append_rm16(); - append(","); + append(','); append_reg16(); break; case OP_RM32_reg32: append_mnemonic_space(); append_rm32(); - append(","); + append(','); append_reg32(); break; case OP_reg8_RM8: append_mnemonic_space(); append_reg8(); - append(","); + append(','); append_rm8(); break; case OP_reg16_RM16: append_mnemonic_space(); append_reg16(); - append(","); + append(','); append_rm16(); break; case OP_reg32_RM32: append_mnemonic_space(); append_reg32(); - append(","); + append(','); append_rm32(); break; case OP_reg32_RM16: append_mnemonic_space(); append_reg32(); - append(","); + append(','); append_rm16(); break; case OP_reg16_RM8: append_mnemonic_space(); append_reg16(); - append(","); + append(','); append_rm8(); break; case OP_reg32_RM8: append_mnemonic_space(); append_reg32(); - append(","); + append(','); append_rm8(); break; case OP_RM16_imm16: append_mnemonic_space(); append_rm16(); - append(","); + append(','); append_imm16(); break; case OP_RM32_imm32: append_mnemonic_space(); append_rm32(); - append(","); + append(','); append_imm32(); break; case OP_RM16_seg: append_mnemonic_space(); append_rm16(); - append(","); + append(','); append_seg(); break; case OP_RM32_seg: append_mnemonic_space(); append_rm32(); - append(","); + append(','); append_seg(); break; case OP_seg_RM16: append_mnemonic_space(); append_seg(); - append(","); + append(','); append_rm16(); break; case OP_seg_RM32: append_mnemonic_space(); append_seg(); - append(","); + append(','); append_rm32(); break; case OP_reg16_mem16: append_mnemonic_space(); append_reg16(); - append(","); + append(','); append_rm16(); break; case OP_reg32_mem32: append_mnemonic_space(); append_reg32(); - append(","); + append(','); append_rm32(); break; case OP_FAR_mem16: append_mnemonic_space(); - append("far "); + append("far "sv); append_rm16(); break; case OP_FAR_mem32: append_mnemonic_space(); - append("far "); + append("far "sv); append_rm32(); break; case OP_reg32_CR: append_mnemonic_space(); builder.append(register_name(static_cast(modrm().rm()))); - append(","); + append(','); append_creg(); break; case OP_CR_reg32: append_mnemonic_space(); append_creg(); - append(","); + append(','); builder.append(register_name(static_cast(modrm().rm()))); break; case OP_reg32_DR: append_mnemonic_space(); builder.append(register_name(static_cast(modrm().rm()))); - append(","); + append(','); append_dreg(); break; case OP_DR_reg32: append_mnemonic_space(); append_dreg(); - append(","); + append(','); builder.append(register_name(static_cast(modrm().rm()))); break; case OP_short_imm8: append_mnemonic_space(); - append("short "); + append("short "sv); append_relative_imm8(); break; case OP_relimm16: @@ -2108,38 +2108,38 @@ void Instruction::to_string_internal(StringBuilder& builder, u32 origin, SymbolP break; case OP_NEAR_imm: append_mnemonic_space(); - append("near "); + append("near "sv); append_relative_addr(); break; case OP_RM16_reg16_imm8: append_mnemonic_space(); append_rm16(); - append(","); + append(','); append_reg16(); - append(","); + append(','); append_imm8(); break; case OP_RM32_reg32_imm8: append_mnemonic_space(); append_rm32(); - append(","); + append(','); append_reg32(); - append(","); + append(','); append_imm8(); break; case OP_RM16_reg16_CL: append_mnemonic_space(); append_rm16(); - append(","); + append(','); append_reg16(); - append(", cl"); + append(", cl"sv); break; case OP_RM32_reg32_CL: append_mnemonic_space(); append_rm32(); - append(","); + append(','); append_reg32(); - append(",cl"); + append(",cl"sv); break; case OP_reg: append_mnemonic_space(); @@ -2155,66 +2155,66 @@ void Instruction::to_string_internal(StringBuilder& builder, u32 origin, SymbolP case OP_mm1_imm8: append_mnemonic_space(); append_mm_or_xmm(); - append(","); + append(','); append_imm8(); break; case OP_mm1_mm2m32: append_mnemonic_space(); append_mm_or_xmm(); - append(","); + append(','); append_mm_or_xmm_or_mem(); break; case OP_mm1_rm32: append_mnemonic_space(); append_mm_or_xmm(); - append(","); + append(','); append_rm32(); break; case OP_rm32_mm2: append_mnemonic_space(); append_rm32(); - append(","); + append(','); append_mm_or_xmm(); break; case OP_mm1_mm2m64: append_mnemonic_space(); append_mm_or_xmm(); - append(","); + append(','); append_mm_or_xmm_or_mem(); break; case OP_mm1m64_mm2: append_mnemonic_space(); append_mm_or_xmm_or_mem(); - append(","); + append(','); append_mm_or_xmm(); break; case OP_mm1_mm2m64_imm8: append_mnemonic_space(); append_mm_or_xmm(); - append(","); + append(','); append_mm_or_xmm_or_mem(); - append(","); + append(','); append_imm8(); break; case OP_reg_mm1: append_mnemonic_space(); append_rm32(); - append(","); + append(','); append_mm_or_xmm(); break; case OP_reg_mm1_imm8: append_mnemonic_space(); append_reg32(); - append(","); + append(','); append_mm_or_xmm_or_mem(); - append(","); + append(','); append_imm8(); break; case OP_mm1_r32m16_imm8: append_mnemonic_space(); append_mm_or_xmm(); append_rm32(); // FIXME: r32m16 - append(","); + append(','); append_imm8(); break; case __SSE: @@ -2222,150 +2222,150 @@ void Instruction::to_string_internal(StringBuilder& builder, u32 origin, SymbolP case OP_xmm_mm: append_mnemonic_space(); append_xmm(); - append(","); + append(','); append_mmrm32(); // FIXME: No Memmory break; case OP_mm1_xmm2m128: case OP_mm_xmm: append_mnemonic_space(); append_mm(); - append(","); + append(','); append_xmmrm32(); // FIXME: No Memmory break; case OP_xmm1_imm8: append_mnemonic_space(); append_xmm(); - append(","); + append(','); append_imm8(); break; case OP_xmm1_xmm2m32: append_mnemonic_space(); append_xmm(); - append(","); + append(','); append_xmmrm32(); break; case OP_xmm1_xmm2m64: append_mnemonic_space(); append_xmm(); - append(","); + append(','); append_xmmrm64(); break; case OP_xmm1_xmm2m128: append_mnemonic_space(); append_xmm(); - append(","); + append(','); append_xmmrm128(); break; case OP_xmm1_xmm2m32_imm8: append_mnemonic_space(); append_xmm(); - append(","); + append(','); append_xmmrm32(); - append(","); + append(','); append_imm8(); break; case OP_xmm1_xmm2m128_imm8: append_mnemonic_space(); append_xmm(); - append(","); + append(','); append_xmmrm32(); - append(","); + append(','); append_imm8(); break; case OP_xmm1m32_xmm2: append_mnemonic_space(); append_xmmrm32(); - append(","); + append(','); append_xmm(); break; case OP_xmm1m64_xmm2: append_mnemonic_space(); append_xmmrm64(); - append(","); + append(','); append_xmm(); break; case OP_xmm1m128_xmm2: append_mnemonic_space(); append_xmmrm128(); - append(","); + append(','); append_xmm(); break; case OP_reg_xmm1: case OP_r32_xmm2m64: append_mnemonic_space(); append_reg32(); - append(","); + append(','); append_xmmrm128(); // second entry in the rm byte break; case OP_rm32_xmm2: append_mnemonic_space(); append_rm32(); - append(","); + append(','); append_xmm(); break; case OP_reg_xmm1_imm8: append_mnemonic_space(); append_reg32(); - append(","); + append(','); append_xmmrm128(); // second entry in the rm byte - append(","); + append(','); append_imm8(); break; case OP_xmm1_rm32: append_mnemonic_space(); append_xmm(); - append(","); + append(','); append_rm32(); // second entry in the rm byte break; case OP_xmm1_m64: append_mnemonic_space(); append_xmm(); - append(","); + append(','); append_rm64(); // second entry in the rm byte break; case OP_m64_xmm2: append_mnemonic_space(); append_rm64(); // second entry in the rm byte - append(","); + append(','); append_xmm(); break; case OP_rm8_xmm2m32: append_mnemonic_space(); append_rm8(); - append(","); + append(','); append_xmmrm32(); break; case OP_xmm1_mm2m64: append_mnemonic_space(); append_xmm(); - append(","); + append(','); append_mmrm64(); break; case OP_mm1m64_xmm2: append_mnemonic_space(); append_mmrm64(); - append(","); + append(','); append_xmm(); break; case OP_mm1_xmm2m64: append_mnemonic_space(); append_mm(); - append(","); + append(','); append_xmmrm64(); break; case OP_r32_xmm2m32: append_mnemonic_space(); append_reg32(); - append(","); + append(','); append_xmmrm32(); break; case OP_xmm1_r32m16_imm8: append_mnemonic_space(); append_xmm(); - append(","); + append(','); append_rm32(); // FIXME: r32m16 - append(","); + append(','); append_imm8(); break; case InstructionPrefix: diff --git a/Userland/Services/FileOperation/main.cpp b/Userland/Services/FileOperation/main.cpp index b885922933b..00dc0aa607b 100644 --- a/Userland/Services/FileOperation/main.cpp +++ b/Userland/Services/FileOperation/main.cpp @@ -355,7 +355,7 @@ String deduplicate_destination_file_name(String const& destination) StringBuilder basename; basename.appendff("{}-{}", title_without_counter, next_counter); if (!destination_path.extension().is_empty()) { - basename.append("."); + basename.append('.'); basename.append(destination_path.extension()); } diff --git a/Userland/Services/Taskbar/QuickLaunchWidget.cpp b/Userland/Services/Taskbar/QuickLaunchWidget.cpp index e262297aef9..bfbfd37effa 100644 --- a/Userland/Services/Taskbar/QuickLaunchWidget.cpp +++ b/Userland/Services/Taskbar/QuickLaunchWidget.cpp @@ -112,7 +112,7 @@ QuickLaunchWidget::QuickLaunchWidget() OwnPtr 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); return make(Desktop::AppFile::open(af_path)); } diff --git a/Userland/Services/WebServer/Client.cpp b/Userland/Services/WebServer/Client.cpp index c2679eb9321..e76376692a8 100644 --- a/Userland/Services/WebServer/Client.cpp +++ b/Userland/Services/WebServer/Client.cpp @@ -130,7 +130,7 @@ ErrorOr Client::handle_request(ReadonlyBytes raw_request) if (Core::File::is_directory(real_path)) { - if (!request.resource().ends_with("/")) { + if (!request.resource().ends_with('/')) { StringBuilder red; red.append(requested_path); diff --git a/Userland/Shell/AST.cpp b/Userland/Shell/AST.cpp index 56012ed9d1a..c6bf44137c5 100644 --- a/Userland/Shell/AST.cpp +++ b/Userland/Shell/AST.cpp @@ -2665,7 +2665,7 @@ RefPtr ReadRedirection::run(RefPtr shell) return make_ref_counted({}); StringBuilder builder; - builder.join(" ", path_segments); + builder.join(' ', path_segments); command.redirections.append(PathRedirection::create(builder.to_string(), m_fd, PathRedirection::Read)); return make_ref_counted(move(command)); @@ -2695,7 +2695,7 @@ RefPtr ReadWriteRedirection::run(RefPtr shell) return make_ref_counted({}); StringBuilder builder; - builder.join(" ", path_segments); + builder.join(' ', path_segments); command.redirections.append(PathRedirection::create(builder.to_string(), m_fd, PathRedirection::ReadWrite)); return make_ref_counted(move(command)); @@ -3052,7 +3052,7 @@ void Juxtaposition::highlight_in_editor(Line::Editor& editor, Shell& shell, High StringBuilder path_builder; path_builder.append(tilde_value); - path_builder.append("/"); + path_builder.append('/'); path_builder.append(bareword_value); auto path = path_builder.to_string(); @@ -3183,8 +3183,8 @@ RefPtr StringPartCompose::run(RefPtr shell) return make_ref_counted({}); StringBuilder builder; - builder.join(" ", left); - builder.join(" ", right); + builder.join(' ', left); + builder.join(' ', right); return make_ref_counted(builder.to_string()); } @@ -3347,7 +3347,7 @@ RefPtr WriteAppendRedirection::run(RefPtr shell) return make_ref_counted({}); StringBuilder builder; - builder.join(" ", path_segments); + builder.join(' ', path_segments); command.redirections.append(PathRedirection::create(builder.to_string(), m_fd, PathRedirection::WriteAppend)); return make_ref_counted(move(command)); @@ -3377,7 +3377,7 @@ RefPtr WriteRedirection::run(RefPtr shell) return make_ref_counted({}); StringBuilder builder; - builder.join(" ", path_segments); + builder.join(' ', path_segments); command.redirections.append(PathRedirection::create(builder.to_string(), m_fd, PathRedirection::Write)); return make_ref_counted(move(command)); @@ -3724,7 +3724,7 @@ String TildeValue::resolve_as_string(RefPtr shell) Vector TildeValue::resolve_as_list(RefPtr shell) { StringBuilder builder; - builder.append("~"); + builder.append('~'); builder.append(m_username); if (!shell) diff --git a/Userland/Shell/Builtin.cpp b/Userland/Shell/Builtin.cpp index 7402220c063..7c8bfa9d97f 100644 --- a/Userland/Shell/Builtin.cpp +++ b/Userland/Shell/Builtin.cpp @@ -207,11 +207,11 @@ int Shell::builtin_type(int argc, char const** argv) if (!dont_show_function_source) { StringBuilder builder; builder.append(fn.name); - builder.append("("); + builder.append('('); for (size_t i = 0; i < fn.arguments.size(); i++) { builder.append(fn.arguments[i]); if (!(i == fn.arguments.size() - 1)) - builder.append(" "); + builder.append(' '); } builder.append(") {\n"sv); if (fn.body) { @@ -448,7 +448,7 @@ int Shell::builtin_export(int argc, char const** argv) if (value) { auto values = value->resolve_as_list(*this); StringBuilder builder; - builder.join(" ", values); + builder.join(' ', values); parts.append(builder.to_string()); } else { // Ignore the export. diff --git a/Userland/Shell/Formatter.cpp b/Userland/Shell/Formatter.cpp index 9514318c5a2..54d46864822 100644 --- a/Userland/Shell/Formatter.cpp +++ b/Userland/Shell/Formatter.cpp @@ -41,7 +41,7 @@ String Formatter::format() auto string = current_builder().string_view(); - if (!string.ends_with(" ")) + if (!string.ends_with(' ')) current_builder().append(m_trivia); return current_builder().to_string(); diff --git a/Userland/Shell/Parser.cpp b/Userland/Shell/Parser.cpp index fd6f0380b37..49b3a27fe35 100644 --- a/Userland/Shell/Parser.cpp +++ b/Userland/Shell/Parser.cpp @@ -1969,7 +1969,7 @@ RefPtr Parser::parse_glob() textbuilder.append(bareword->text()); } else if (glob_after->is_tilde()) { auto bareword = static_cast(glob_after.ptr()); - textbuilder.append("~"); + textbuilder.append('~'); textbuilder.append(bareword->text()); } else { return create(String::formatted("Invalid node '{}' in glob position, escape shell special characters", glob_after->class_name())); diff --git a/Userland/Shell/Shell.cpp b/Userland/Shell/Shell.cpp index bb13209a1e4..b558e84b591 100644 --- a/Userland/Shell/Shell.cpp +++ b/Userland/Shell/Shell.cpp @@ -390,7 +390,7 @@ String Shell::local_variable_or(StringView name, String const& replacement) cons auto value = lookup_local_variable(name); if (value) { StringBuilder builder; - builder.join(" ", value->resolve_as_list(*this)); + builder.join(' ', value->resolve_as_list(*this)); return builder.to_string(); } return replacement; @@ -839,7 +839,7 @@ ErrorOr> Shell::run_command(const AST::Command& command) close(sync_pipe[1]); StringBuilder cmd; - cmd.join(" ", command.argv); + cmd.join(' ', command.argv); auto command_copy = AST::Command(command); // Clear the next chain if it's to be immediately executed diff --git a/Userland/Shell/SyntaxHighlighter.cpp b/Userland/Shell/SyntaxHighlighter.cpp index 6d75fd03276..4ebe9bb127c 100644 --- a/Userland/Shell/SyntaxHighlighter.cpp +++ b/Userland/Shell/SyntaxHighlighter.cpp @@ -128,7 +128,7 @@ private: span.attributes.color = m_palette.syntax_keyword(); span.attributes.bold = true; 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(); } else { span.attributes.color = m_palette.base_text(); diff --git a/Userland/Utilities/cpp-preprocessor.cpp b/Userland/Utilities/cpp-preprocessor.cpp index 045aa8c3c75..b18f2ccfccd 100644 --- a/Userland/Utilities/cpp-preprocessor.cpp +++ b/Userland/Utilities/cpp-preprocessor.cpp @@ -34,7 +34,7 @@ ErrorOr serenity_main(Main::Arguments arguments) if (definition.value.parameters.is_empty()) outln("{}: {}", definition.key, definition.value.value); else - outln("{}({}): {}", definition.key, String::join(",", definition.value.parameters), definition.value.value); + outln("{}({}): {}", definition.key, String::join(',', definition.value.parameters), definition.value.value); } outln(""); } diff --git a/Userland/Utilities/diff.cpp b/Userland/Utilities/diff.cpp index 2f4ae8610aa..7b1c4ebea60 100644 --- a/Userland/Utilities/diff.cpp +++ b/Userland/Utilities/diff.cpp @@ -41,11 +41,11 @@ ErrorOr serenity_main(Main::Arguments arguments) // Action if (num_added > 0 && num_removed > 0) - sb.append("c"); + sb.append('c'); else if (num_added > 0) - sb.append("a"); + sb.append('a'); else - sb.append("d"); + sb.append('d'); // Target line(s) sb.appendff("{}", target_start); diff --git a/Userland/Utilities/js.cpp b/Userland/Utilities/js.cpp index 42c156bc33f..cb719904427 100644 --- a/Userland/Utilities/js.cpp +++ b/Userland/Utilities/js.cpp @@ -1449,7 +1449,7 @@ public: return JS::js_undefined(); } - auto output = String::join(" ", arguments.get>()); + auto output = String::join(' ', arguments.get>()); m_console.output_debug_message(log_level, output); switch (log_level) { diff --git a/Userland/Utilities/mkdir.cpp b/Userland/Utilities/mkdir.cpp index b0e7d6653ea..165647dfbe0 100644 --- a/Userland/Utilities/mkdir.cpp +++ b/Userland/Utilities/mkdir.cpp @@ -54,7 +54,7 @@ ErrorOr serenity_main(Main::Arguments arguments) } StringBuilder path_builder; if (lexical_path.is_absolute()) - path_builder.append("/"); + path_builder.append('/'); auto& parts = lexical_path.parts_view(); size_t num_parts = parts.size(); @@ -88,7 +88,7 @@ ErrorOr serenity_main(Main::Arguments arguments) break; } } - path_builder.append("/"); + path_builder.append('/'); } } return has_errors ? 1 : 0; diff --git a/Userland/Utilities/mount.cpp b/Userland/Utilities/mount.cpp index 322a8ec2614..831c7683027 100644 --- a/Userland/Utilities/mount.cpp +++ b/Userland/Utilities/mount.cpp @@ -70,7 +70,7 @@ static int get_source_fd(StringView source) static bool mount_by_line(String const& line) { // Skip comments and blank lines. - if (line.is_empty() || line.starts_with("#")) + if (line.is_empty() || line.starts_with('#')) return true; Vector parts = line.split('\t'); diff --git a/Userland/Utilities/stty.cpp b/Userland/Utilities/stty.cpp index 5bb789fc171..8c780c71668 100644 --- a/Userland/Utilities/stty.cpp +++ b/Userland/Utilities/stty.cpp @@ -205,7 +205,7 @@ void print_human_readable(termios const& modes, winsize const& ws, bool verbose_ auto escape_character = [&](u8 ch) { StringBuilder sb; if (ch <= 0x20) { - sb.append("^"); + sb.append('^'); sb.append(ch + 0x40); } else if (ch == 0x7f) { sb.append("^?"sv); diff --git a/Userland/Utilities/telws.cpp b/Userland/Utilities/telws.cpp index 0eba9bb7747..c2d50abfbd6 100644 --- a/Userland/Utilities/telws.cpp +++ b/Userland/Utilities/telws.cpp @@ -93,7 +93,7 @@ ErrorOr serenity_main(Main::Arguments arguments) if (line.is_empty()) continue; - if (line.starts_with(".")) { + if (line.starts_with('.')) { if (line.starts_with(".text "sv)) { editor->add_to_history(line); if (socket->ready_state() != Protocol::WebSocket::ReadyState::Open) { diff --git a/Userland/Utilities/xargs.cpp b/Userland/Utilities/xargs.cpp index 13cfc00efa9..6973fbd877b 100644 --- a/Userland/Utilities/xargs.cpp +++ b/Userland/Utilities/xargs.cpp @@ -197,7 +197,7 @@ bool run_command(Vector&& child_argv, bool verbose, bool is_stdin, int de if (verbose) { StringBuilder builder; - builder.join(" ", child_argv); + builder.join(' ', child_argv); warnln("xargs: {}", builder.to_string()); } diff --git a/Userland/Utilities/xml.cpp b/Userland/Utilities/xml.cpp index 6f5ac04e64d..866ec260ebc 100644 --- a/Userland/Utilities/xml.cpp +++ b/Userland/Utilities/xml.cpp @@ -424,10 +424,10 @@ static void do_run_tests(XML::Document& document) StringBuilder path_builder; path_builder.append(base_path); - path_builder.append("/"); + path_builder.append('/'); for (auto& entry : bases.in_reverse()) { path_builder.append(entry); - path_builder.append("/"); + path_builder.append('/'); } auto test_base_path = path_builder.to_string();