fish-shell/src
Collin Styles 4a3e55f69c Don't escape tildes that come from custom completions
A completion entry like «complete -a '\\~'» results in completions
that insert \~ into the command line.  However we usually want to
insert ~, but there is no way to do that.

There are a couple of longstanding issues about completion escaping
[1].  Until we fix those in a general way, fix the common case by
never escaping tildes when applying custom completions to the command
line. This is a hack but will probably work out fine because we don't
expect literal tildes in arguments.

The tilde is included in completions for cdh, or
__fish_complete_suffix, which simply forwards results from "complete
-C". Revert a workaround to cdh that expanded ~, because we can now
render that without escaping.

Closes #4570, #8441

[ja: tweak patch and commit message]

[1]: https://github.com/fish-shell/fish-shell/pull/8441#discussion_r748803338
2021-11-27 17:05:46 +01:00
..
builtins Don't escape tildes that come from custom completions 2021-11-27 17:05:46 +01:00
widecharwidth Update widechar_width to Unicode 14 2021-10-26 18:26:25 +02:00
ast.cpp ast: Stop dropping down to wchar_t needlessly 2021-11-08 21:24:00 +01:00
ast.h Put ast_t::populator_t into an anonymous namespace 2021-09-30 11:33:03 -07:00
ast_node_types.inc Introduce a new fish ast 2020-07-04 14:58:02 -07:00
autoload.cpp Put lots of things in anonymous namespaces 2021-09-30 11:33:03 -07:00
autoload.h Run clang-format on all files 2019-10-13 15:50:48 -07:00
builtin.cpp Let's make src/ easier to grok, move builins to src/builtins 2021-11-09 17:39:10 -08:00
builtin.h Restyle codebase with clang-format 2021-11-08 12:21:11 -08:00
color.cpp Simplify ASSERT_SORT_ORDER 2021-07-15 13:15:24 -07:00
color.h Refactor color.h/color.cpp 2021-02-08 15:16:21 -06:00
common.cpp Restyle codebase with clang-format 2021-11-08 12:21:11 -08:00
common.h Restyle codebase with clang-format 2021-11-08 12:21:11 -08:00
complete.cpp Expand tildes and variables in command for custom completions 2021-11-27 10:14:13 +01:00
complete.h Tighten up includes, some typedefs -> using 2021-09-21 18:05:53 -07:00
enum_map.h enum_map stuff to enum_map.h 2021-10-01 03:39:43 -07:00
enum_set.h Tighten up includes, some typedefs -> using 2021-09-21 18:05:53 -07:00
env.cpp Allow set --query to check for pathvarness (#8494) 2021-11-26 18:29:10 +01:00
env.h Restyle codebase with clang-format 2021-11-08 12:21:11 -08:00
env_dispatch.cpp Refactor env_universal_callbacks 2021-11-14 17:39:52 -08:00
env_dispatch.h Declare functions in headers or use internal linkage (static) 2020-09-08 22:44:03 +02:00
env_universal_common.cpp Refactor env_universal_callbacks 2021-11-14 17:39:52 -08:00
env_universal_common.h Refactor env_universal_callbacks 2021-11-14 17:39:52 -08:00
event.cpp Refactor env_universal_callbacks 2021-11-14 17:39:52 -08:00
event.h Refactor env_universal_callbacks 2021-11-14 17:39:52 -08:00
exec.cpp Rename function_get_properties to function_get_props 2021-10-23 10:12:52 -07:00
exec.h exec.h: remove unused declaration 2021-09-24 09:30:25 -07:00
expand.cpp Restyle codebase with clang-format 2021-11-08 12:21:11 -08:00
expand.h Stop expanding globs in command position when performing error checking 2020-12-22 12:38:51 -08:00
fallback.cpp Cleanup on aisle haphazard-everywhere 2021-10-28 01:47:49 -07:00
fallback.h Restyle codebase with clang-format 2021-11-08 12:21:11 -08:00
fd_monitor.cpp convert const ref to value 2021-08-20 01:16:24 +02:00
fd_monitor.h convert const ref to value 2021-08-20 01:16:24 +02:00
fds.cpp Restyle codebase with clang-format 2021-11-08 12:21:11 -08:00
fds.h clang-tidy: run through normal checks 2021-08-21 21:59:05 +02:00
fish.cpp Make script file error a bit more obvious 2021-11-20 17:44:06 +01:00
fish_indent.cpp Highlight options differently 2021-10-19 17:20:21 +02:00
fish_key_reader.cpp Make fish_key_reader's output simpler (#8467) 2021-11-22 17:22:22 +01:00
fish_test_helper.cpp Restyle codebase with clang-format 2021-11-08 12:21:11 -08:00
fish_tests.cpp fish_tests: format elapsed seconds with two decimal places, that's enough 2021-11-18 15:06:12 +01:00
fish_version.cpp Fix build 2021-09-21 18:33:14 -07:00
fish_version.h Revert "Generate FISH_BUILD_VERSION info for cmake builds" 2018-01-08 22:28:10 -08:00
flog.cpp Migrate remaining calls from debug_safe to FLOGF_SAFE 2021-07-05 15:47:56 -07:00
flog.h Migrate remaining calls from debug_safe to FLOGF_SAFE 2021-07-05 15:47:56 -07:00
function.cpp mark some functions static 2021-10-31 03:51:38 -07:00
function.h Continue to refactor functions 2021-10-23 10:12:52 -07:00
future_feature_flags.cpp Make '&' only background if followed by a separating character 2021-07-23 22:58:51 +02:00
future_feature_flags.h Make '&' only background if followed by a separating character 2021-07-23 22:58:51 +02:00
global_safety.h Introduce noncopyable_t and nonmovable_t 2021-07-23 11:19:42 -07:00
highlight.cpp Correct syntax highlighting for variables spanning multiple lines 2021-11-15 23:04:45 -08:00
highlight.h Highlight options differently 2021-10-19 17:20:21 +02:00
history.cpp Restyle codebase with clang-format 2021-11-08 12:21:11 -08:00
history.h Adds sub-command clear-session to history command. 2021-10-17 19:27:46 -07:00
history_file.cpp Follow include-what-you-use for our custom iswdigit() 2021-11-18 15:06:12 +01:00
history_file.h Introduce noncopyable_t and nonmovable_t 2021-07-23 11:19:42 -07:00
input.cpp Defer escape bindings as well 2021-11-10 20:40:21 +01:00
input.h Stop using thread local vectors 2021-08-10 13:07:13 -07:00
input_common.cpp Complete revert of faulty polling workaround 2021-07-18 18:41:04 +02:00
input_common.h Introduce prepare_to_select, fixing job_summary.py 2021-04-17 16:43:28 -07:00
intern.cpp Declare functions in headers or use internal linkage (static) 2020-09-08 22:44:03 +02:00
intern.h restyle intern module to match project style 2016-05-01 20:28:46 -07:00
io.cpp Improve error for redirections to invalid paths 2021-11-20 17:44:05 +01:00
io.h convert const ref to value 2021-08-20 01:16:24 +02:00
iothread.cpp also not a thread id: nullptr 2021-10-28 02:14:29 -07:00
iothread.h clang-tidy: run through normal checks 2021-08-21 21:59:05 +02:00
job_group.cpp Implement cancel groups 2020-09-03 11:01:27 -07:00
job_group.h Implement cancel groups 2020-09-03 11:01:27 -07:00
kill.cpp Make the kill ring thread-safe 2021-04-21 17:37:44 -07:00
kill.h Implementation of variable with killring entries 2021-04-21 16:39:29 -07:00
lru.h Restyle codebase with clang-format 2021-11-08 12:21:11 -08:00
maybe.h maybe.h: reference header new 2021-08-17 18:57:16 -05:00
null_terminated_array.cpp Rework null terminated arrays 2021-03-28 15:31:25 -07:00
null_terminated_array.h Introduce noncopyable_t and nonmovable_t 2021-07-23 11:19:42 -07:00
operation_context.cpp Allow specifying a limit on number of expansion in operation_context 2020-12-22 12:38:51 -08:00
operation_context.h Expand more when performing history path detection 2021-01-08 12:58:34 -08:00
output.cpp output: Allow "--background foo" and "-b foo" for background colors 2021-06-10 10:42:30 +02:00
output.h Tighten up includes, some typedefs -> using 2021-09-21 18:05:53 -07:00
pager.cpp Wrap even more stuff in anonymous namespaces 2021-09-30 11:33:03 -07:00
pager.h Revert "Attempt to simplify how completions get presented in the pager" 2020-12-04 16:44:48 +01:00
parse_constants.h mark some functions static 2021-10-31 03:51:38 -07:00
parse_execution.cpp Let's make src/ easier to grok, move builins to src/builtins 2021-11-09 17:39:10 -08:00
parse_execution.h Introduce noncopyable_t and nonmovable_t 2021-07-23 11:19:42 -07:00
parse_tree.cpp Output human-readable descriptions of some parse errors 2021-02-09 22:38:16 +01:00
parse_tree.h Introduce noncopyable_t and nonmovable_t 2021-07-23 11:19:42 -07:00
parse_util.cpp Fix assertion error trying to highlight cmdsubs inside unbalanced quotes 2021-10-31 14:28:54 +01:00
parse_util.h Continue to refactor functions 2021-10-23 10:12:52 -07:00
parser.cpp Remove now unused out_events parameter 2021-10-26 17:38:40 +02:00
parser.h Mark parser_t::principal as const 2021-09-24 21:09:28 -07:00
parser_keywords.cpp builtin _ is now a reserved keyword 2021-10-11 00:27:44 -07:00
parser_keywords.h Make IWYU output in lint.cpp less messy 2016-06-23 17:26:08 -07:00
path.cpp builtins: work on error messages 2021-11-03 22:54:55 -07:00
path.h builtin cd: print error about broken symlinks 2021-09-17 00:43:12 +02:00
postfork.cpp Restyle codebase with clang-format 2021-11-08 12:21:11 -08:00
postfork.h remove accidental change 2021-09-21 18:26:44 -07:00
print_help.cpp Run clang-format on all files 2019-10-13 15:50:48 -07:00
print_help.h restyle proc module to match project style 2016-05-02 22:07:58 -07:00
proc.cpp Optimize exit event generation 2021-11-03 17:38:30 -07:00
proc.h Rename job_t::notified to job_t::notified_of_stop 2021-11-03 15:40:26 -07:00
reader.cpp Only expand abbreviations if cursor is directly at command token 2021-11-14 11:52:10 +01:00
reader.h Read $fish_autosuggestion_enabled on interactive startup 2021-11-14 11:52:10 +01:00
redirection.cpp Collapse io_data switch statements 2019-12-29 15:51:22 -08:00
redirection.h Introduce noncopyable_t and nonmovable_t 2021-07-23 11:19:42 -07:00
sanity.cpp Change C casts to C++ ones 2020-05-01 13:30:56 -07:00
sanity.h Amend typos and grammar errors 2019-11-25 13:07:15 +01:00
screen.cpp Restyle codebase with clang-format 2021-11-08 12:21:11 -08:00
screen.h Restyle codebase with clang-format 2021-11-08 12:21:11 -08:00
signal.cpp Tighten up includes, some typedefs -> using 2021-09-21 18:05:53 -07:00
signal.h Restyle codebase with clang-format 2021-11-08 12:21:11 -08:00
termsize.cpp Include <termios.h> instead of <sys/termios.h>. 2021-03-02 12:05:07 +01:00
termsize.h Eliminate the termsize handling from common.h 2020-06-07 20:00:42 -07:00
timer.cpp Pass some parameters by reference/move 2021-03-21 19:41:36 +01:00
timer.h Pass some parameters by reference/move 2021-03-21 19:41:36 +01:00
tinyexpr.cpp tinyexpr: Check for null-pointer 2021-09-15 17:49:58 +02:00
tinyexpr.h math: Use wchar 2020-12-14 22:54:53 +01:00
tokenizer.cpp Make '&' only background if followed by a separating character 2021-07-23 22:58:51 +02:00
tokenizer.h Tighten up includes, some typedefs -> using 2021-09-21 18:05:53 -07:00
topic_monitor.cpp Introduce select_wrapper_t 2021-04-17 16:43:27 -07:00
topic_monitor.h Introduce noncopyable_t and nonmovable_t 2021-07-23 11:19:42 -07:00
trace.cpp Restyle codebase with clang-format 2021-11-08 12:21:11 -08:00
trace.h Cache if tracing is enabled 2021-10-28 19:39:30 +02:00
utf8.cpp Change C casts to C++ ones 2020-05-01 13:30:56 -07:00
utf8.h [clang-tidy] Fix inconsistent declarations 2019-11-25 14:13:33 -08:00
util.cpp wcsfilecmp: Stop actually computing the numbers 2021-10-07 17:57:52 +02:00
util.h Return glob ordering to pre-3.1 state 2020-02-14 19:06:19 +01:00
wait_handle.cpp Refactor wait handles 2021-05-17 15:25:21 -07:00
wait_handle.h Mild refactoring of wait handles 2021-10-28 10:37:43 -07:00
wcstringutil.cpp Wrap even more stuff in anonymous namespaces 2021-09-30 11:33:03 -07:00
wcstringutil.h Restyle codebase with clang-format 2021-11-08 12:21:11 -08:00
wgetopt.cpp Make arguments to builtins const 2021-03-28 15:31:25 -07:00
wgetopt.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
wildcard.cpp Keep narrow directory name around some more 2021-11-20 20:10:18 +01:00
wildcard.h Rename "rotten" to "broken" symlinks in completions as well 2021-11-20 17:44:05 +01:00
wutil.cpp Keep narrow directory name around some more 2021-11-20 20:10:18 +01:00
wutil.h Keep narrow directory name around some more 2021-11-20 20:10:18 +01:00