diff --git a/Shell/AST.cpp b/Shell/AST.cpp index 551e1fc08b..262c168a80 100644 --- a/Shell/AST.cpp +++ b/Shell/AST.cpp @@ -367,9 +367,9 @@ RefPtr BarewordLiteral::run(RefPtr) void BarewordLiteral::highlight_in_editor(Line::Editor& editor, Shell& shell, HighlightMetadata metadata) { if (metadata.is_first_in_list) { - if (shell.is_runnable(m_text)) + if (shell.is_runnable(m_text)) { editor.stylize({ m_position.start_offset, m_position.end_offset }, { Line::Style::Bold }); - else { + } else { editor.stylize({ m_position.start_offset, m_position.end_offset }, { Line::Style::Foreground(Line::Style::XtermColor::Red) }); } diff --git a/Shell/Builtin.cpp b/Shell/Builtin.cpp index 0cf26a9542..bb27dc3fd1 100644 --- a/Shell/Builtin.cpp +++ b/Shell/Builtin.cpp @@ -64,20 +64,7 @@ int Shell::builtin_alias(int argc, const char** argv) } } else { m_aliases.set(parts[0], parts[1]); - size_t index = 0; - auto match = binary_search( - cached_path.span(), parts[0], [](const String& name, const String& program) -> int { - return strcmp(name.characters(), program.characters()); - }, - &index); - - if (match) - continue; - - while (strcmp(cached_path[index].characters(), parts[0].characters()) < 0) { - index++; - } - cached_path.insert(index, parts[0]); + add_entry_to_cache(parts[0]); } } diff --git a/Shell/Shell.cpp b/Shell/Shell.cpp index 2109ccb1a1..25ee4b5fd2 100644 --- a/Shell/Shell.cpp +++ b/Shell/Shell.cpp @@ -795,6 +795,24 @@ void Shell::cache_path() quick_sort(cached_path); } +void Shell::add_entry_to_cache(const String& entry) +{ + size_t index = 0; + auto match = binary_search( + cached_path.span(), entry, [](const String& name, const String& program) -> int { + return strcmp(name.characters(), program.characters()); + }, + &index); + + if (match) + return; + + while (strcmp(cached_path[index].characters(), entry.characters()) < 0) { + index++; + } + cached_path.insert(index, entry); +} + void Shell::highlight(Line::Editor& editor) const { auto line = editor.line(); diff --git a/Shell/Shell.h b/Shell/Shell.h index f5c876d097..6daccd932e 100644 --- a/Shell/Shell.h +++ b/Shell/Shell.h @@ -188,6 +188,7 @@ private: virtual void save_to(JsonObject&) override; void cache_path(); + void add_entry_to_cache(const String&); void stop_all_jobs(); const Job* m_current_job { nullptr }; LocalFrame* find_frame_containing_local_variable(const String& name);