fish-shell/src
Johannes Altmanninger f637fb31b5 highlight: underline prefixes of valid paths only if at cursor
As the user is typing an argument, fish continually checks if the input is
the prefix of a valid file path. If yes, the input is underlined.

The same prefix-logic is used for all tokens on the command line, even for
"finished" tokens. This means we highlight any token that happens to be
a prefix of a valid file path. We actually want this to only apply to the
token that the user is currently typing.

Let's use the prefix-logic only for tokens adjacent to the cursor.  This should
better match user expectations (and reduce IO traffic). I don't think this is
the perfect criteria but I don't know how else we can determine if a token is
"unfinished".
2022-10-26 16:12:43 +02:00
..
builtins Allow erasing in multiple scopes in one go 2022-10-20 11:21:05 -05:00
widecharwidth Upgrade widechar_width to Unicode 15 2022-09-26 17:17:17 +02:00
ast_node_types.inc Introduce a new fish ast 2020-07-04 14:58:02 -07:00
ast.cpp clang-format all C++ files 2022-08-21 15:02:19 -07:00
ast.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
autoload.cpp Revert "Re-implement macro to constexpr transition" 2022-09-20 11:58:37 -07:00
autoload.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
builtin.cpp Make maybe_t safer against accidental misuse 2022-10-08 11:56:38 -05:00
builtin.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
color.cpp color: Use convert_digit 2022-08-27 11:41:29 +02:00
color.h clang-format all C++ files 2022-08-21 15:02:19 -07:00
common.cpp Make \x the same as \X 2022-10-09 15:24:01 +02:00
common.h Introduce dir_iter_t 2022-10-02 18:48:16 -07:00
complete.cpp Make maybe_t safer against accidental misuse 2022-10-08 11:56:38 -05:00
complete.h Reduce size of complete_entry_opt_t 2022-09-23 12:09:26 -05:00
enum_map.h enum_map stuff to enum_map.h 2021-10-01 03:39:43 -07:00
enum_set.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
env_dispatch.cpp Remove some dead code 2022-08-27 20:33:39 +02:00
env_dispatch.h Revert "I need to take a break. Fixup." 2022-08-22 14:11:52 -07:00
env_universal_common.cpp Revert "Re-implement macro to constexpr transition" 2022-09-20 11:58:37 -07:00
env_universal_common.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
env.cpp Make maybe_t safer against accidental misuse 2022-10-08 11:56:38 -05:00
env.h Shrink size of env_mode_flags_t 2022-10-15 15:15:04 -05:00
event.cpp IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
event.h Revert "Re-implement macro to constexpr transition" 2022-09-20 11:58:37 -07:00
exec.cpp Make maybe_t safer against accidental misuse 2022-10-08 11:56:38 -05:00
exec.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
expand.cpp Prevent stack overflow from eval/substitution recursion 2022-10-25 13:40:21 -05:00
expand.h Revert "Re-implement macro to constexpr transition" 2022-09-20 11:58:37 -07:00
fallback.cpp Add IWYU pragma 2022-09-13 06:56:52 -07:00
fallback.h IWYU 2022-09-12 18:34:19 -07:00
fd_monitor.cpp Revert "Re-implement macro to constexpr transition" 2022-09-20 11:58:37 -07:00
fd_monitor.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
fds.cpp Revert "Re-implement macro to constexpr transition" 2022-09-20 11:58:37 -07:00
fds.h clang-format all C++ files 2022-08-21 15:02:19 -07:00
fish_indent.cpp Revert "Re-implement macro to constexpr transition" 2022-09-20 11:58:37 -07:00
fish_key_reader.cpp Disable VQUIT for shell modes 2022-09-25 13:27:01 +02:00
fish_test_helper.cpp Prevent anyone else from wasting time w/ sigqueue(2) 2022-09-16 18:53:05 -05:00
fish_tests.cpp highlight: underline prefixes of valid paths only if at cursor 2022-10-26 16:12:43 +02:00
fish_version.cpp Fix build 2021-09-21 18:33:14 -07:00
fish_version.h
fish.cpp IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
flog.cpp clang-format all C++ files 2022-08-21 15:02:19 -07:00
flog.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
function.cpp Switch uses of dir_t to dir_iter_t 2022-10-02 18:48:16 -07:00
function.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
future_feature_flags.cpp IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
future_feature_flags.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
global_safety.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
highlight.cpp highlight: underline prefixes of valid paths only if at cursor 2022-10-26 16:12:43 +02:00
highlight.h highlight: underline prefixes of valid paths only if at cursor 2022-10-26 16:12:43 +02:00
history_file.cpp history_file.cpp: remove an unused variable 2022-10-26 16:09:02 +02:00
history_file.h clang-format all C++ files 2022-08-21 15:02:19 -07:00
history.cpp history: Handle Ctrl-C/SIGINT or other errors on output append 2022-10-16 15:38:11 -05:00
history.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
input_common.cpp Revert "Re-implement macro to constexpr transition" 2022-09-20 11:58:37 -07:00
input_common.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
input.cpp Revert "Re-implement macro to constexpr transition" 2022-09-20 11:58:37 -07:00
input.h Revert "Re-implement macro to constexpr transition" 2022-09-20 11:58:37 -07:00
io.cpp Silently handle fd_output_stream_t append errors in case of SIGINT 2022-10-16 15:38:11 -05:00
io.h Make output_stream_t::append() fallible 2022-10-16 15:38:11 -05:00
iothread.cpp Revert "Re-implement macro to constexpr transition" 2022-09-20 11:58:37 -07:00
iothread.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
job_group.cpp clang-format all C++ files 2022-08-21 15:02:19 -07:00
job_group.h clang-format all C++ files 2022-08-21 15:02:19 -07:00
kill.cpp IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
kill.h Implementation of variable with killring entries 2021-04-21 16:39:29 -07:00
lru.h Reimplement autosuggestion-triggered completion loading 2022-06-19 15:15:17 -07:00
maybe.h maybe_t: make maybe_t<T> trivially copyable if T is 2022-10-26 16:09:02 +02:00
null_terminated_array.cpp Rework null terminated arrays 2021-03-28 15:31:25 -07:00
null_terminated_array.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
operation_context.cpp clang-format all C++ files 2022-08-21 15:02:19 -07:00
operation_context.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
output.cpp IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
output.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
pager.cpp Revert "Re-implement macro to constexpr transition" 2022-09-20 11:58:37 -07:00
pager.h Revert "Re-implement macro to constexpr transition" 2022-09-20 11:58:37 -07:00
parse_constants.h highlight: underline prefixes of valid paths only if at cursor 2022-10-26 16:12:43 +02:00
parse_execution.cpp Prevent stack overflow from eval/substitution recursion 2022-10-25 13:40:21 -05:00
parse_execution.h clang-format all C++ files 2022-08-21 15:02:19 -07:00
parse_tree.cpp Make maybe_t safer against accidental misuse 2022-10-08 11:56:38 -05:00
parse_tree.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
parse_util.cpp Revert "Re-implement macro to constexpr transition" 2022-09-20 11:58:37 -07:00
parse_util.h clang-format all C++ files 2022-08-21 15:02:19 -07:00
parser_keywords.cpp IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
parser_keywords.h Remove unused functions, members (and a variable) 2022-04-09 10:10:44 -07:00
parser.cpp Make block_t moveable 2022-10-24 22:06:30 -05:00
parser.h Prevent stack overflow from eval/substitution recursion 2022-10-25 13:40:21 -05:00
path.cpp path: Don't try to find empty commands 2022-09-14 18:18:08 +02:00
path.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
postfork.cpp Make maybe_t safer against accidental misuse 2022-10-08 11:56:38 -05:00
postfork.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
print_help.cpp Revert "Re-implement macro to constexpr transition" 2022-09-20 11:58:37 -07:00
print_help.h
proc.cpp Make maybe_t safer against accidental misuse 2022-10-08 11:56:38 -05:00
proc.h Prevent undefined behavior by intercepting return -1 2022-09-25 12:33:40 -05:00
re.cpp clang-format all C++ files 2022-08-21 15:02:19 -07:00
re.h Remove a variable name in a defaulted function 2022-09-20 14:41:22 -07:00
reader.cpp highlighter: pass the cursor position to the highlighter 2022-10-26 16:11:00 +02:00
reader.h reader: when updating commandline, also update rendered highlighting 2022-09-16 19:21:21 -05:00
redirection.cpp clang-format all C++ files 2022-08-21 15:02:19 -07:00
redirection.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
screen.cpp Make maybe_t safer against accidental misuse 2022-10-08 11:56:38 -05:00
screen.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
signal.cpp IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
signal.h Restyle codebase with clang-format 2021-11-08 12:21:11 -08:00
termsize.cpp clang-format all C++ files 2022-08-21 15:02:19 -07:00
termsize.h clang-format all C++ files 2022-08-21 15:02:19 -07:00
timer.cpp timer.cpp: iwyu; update includes 2022-08-30 23:56:33 -07:00
timer.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
tinyexpr.cpp clang-format and minor cleanup of tinyexpr.cpp 2022-09-20 14:41:22 -07:00
tinyexpr.h math: Add error length 2022-09-09 18:52:45 +02:00
tokenizer.cpp Make maybe_t safer against accidental misuse 2022-10-08 11:56:38 -05:00
tokenizer.h Revert "Re-implement macro to constexpr transition" 2022-09-20 11:58:37 -07:00
topic_monitor.cpp IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
topic_monitor.h clang-format all C++ files 2022-08-21 15:02:19 -07:00
trace.cpp clang-format all C++ files 2022-08-21 15:02:19 -07:00
trace.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
utf8.cpp Revert "Re-implement macro to constexpr transition" 2022-09-20 11:58:37 -07:00
utf8.h Revert "Re-implement macro to constexpr transition" 2022-09-20 11:58:37 -07:00
util.cpp IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
util.h Return glob ordering to pre-3.1 state 2020-02-14 19:06:19 +01:00
wait_handle.cpp clang-format all C++ files 2022-08-21 15:02:19 -07:00
wait_handle.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
wcstringutil.cpp clang-format all C++ files 2022-08-21 15:02:19 -07:00
wcstringutil.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
wgetopt.cpp clang-format all C++ files 2022-08-21 15:02:19 -07:00
wgetopt.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
wildcard.cpp Handle symlink loops in descend_unique_hierarchy 2022-10-02 18:56:46 -07:00
wildcard.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
wutil.cpp Share logic between move constructor/assignment of dir_iter_t 2022-10-08 17:32:12 +02:00
wutil.h dir_iter_t to use unique_ptr for closing directory 2022-10-08 17:31:47 +02:00