ladybird/Shell
William McPherson aa8b40dce6 Shell: Cache PATH for faster tab completion
This patch reduces the O(n) tab completion to something like O(log(n)).
The cache is just a sorted vector of strings and we binary search it to
get a string matching our input, and then check the surrounding strings
to see if we need to remove any characters. Also we no longer stat each
file every time.

Also added an #include in BinarySearch since it was using size_t. Oops.

If `export` is called, we recache. Need to implement the `hash` builtin
for when an executable has been added to a directory in PATH.
2019-12-05 17:09:22 +01:00
..
GlobalState.h Shell: Update termios settings to match line discipline. 2019-10-20 10:51:12 +02:00
LineEditor.cpp Shell: Cache PATH for faster tab completion 2019-12-05 17:09:22 +01:00
LineEditor.h Shell: Cache PATH for faster tab completion 2019-12-05 17:09:22 +01:00
main.cpp Shell: Cache PATH for faster tab completion 2019-12-05 17:09:22 +01:00
Makefile Fix "make clean" not deleting app binaries. 2019-05-13 14:56:18 +02:00
Parser.cpp Shell: Redirectiong from multiple-digit fds 2019-12-05 17:08:37 +01:00
Parser.h AK: Rename <AK/AKString.h> to <AK/String.h> 2019-09-06 15:36:54 +02:00