fish-shell/src
Fabian Homborg 0781473564 argparse: Jump to the next option after an unknown one
Previously, when we got an unknown option with --ignore-unknown, we
would increment woptind but still try to read the same contents.

This means in e.g.

```
argparse -i h -- -ooo -h
```

The `-h` would also be skipped as an option, because after the first
`-o` getopt reads the other two `-o` and skips that many options.

This could be handled more extensively in wgetopt, but the simpler fix
is to just skip to the next argv entry once we have an unknown option
- there's nothing more we can do with it anyway!

Additionally, document this and clearly explain that we currently
don't transform the option.

Fixes #8637
2022-01-15 12:17:43 +01:00
..
builtins argparse: Jump to the next option after an unknown one 2022-01-15 12:17:43 +01:00
widecharwidth Update widechar_width to Unicode 14 2021-10-26 18:26:25 +02:00
ast_node_types.inc
ast.cpp ast.cpp: initialization order 2021-12-20 22:43:58 -08:00
ast.h ast.h: remove unused private member finished() 2021-12-12 13:05:48 -08:00
autoload.cpp Put lots of things in anonymous namespaces 2021-09-30 11:33:03 -07:00
autoload.h
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 Clean up wildcard_has 2021-11-27 12:48:04 -08:00
common.h Revert "common.h: use emplace in vec_append" 2021-12-21 02:08:23 -08:00
complete.cpp Use source_offset_t (uint32) in tokenizer. 2021-12-21 02:32:52 -08: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_dispatch.cpp Only act on the locale vars we care about 2021-12-13 11:52:17 +01:00
env_dispatch.h
env_universal_common.cpp Allow using poll() to check for readability 2022-01-02 16:36:33 -08:00
env_universal_common.h Refactor env_universal_callbacks 2021-11-14 17:39:52 -08:00
env.cpp unusued find_entry member: use it 2021-12-24 19:06:00 -08:00
env.h Restyle codebase with clang-format 2021-11-08 12:21:11 -08:00
event.cpp more int -> bool 2021-12-09 00:52:45 -08:00
event.h Refactor env_universal_callbacks 2021-11-14 17:39:52 -08:00
exec.cpp Revert "Fix undefined behavior in closing a moved pipe" 2021-12-28 14:25:24 -08:00
exec.h exec.h: remove unused declaration 2021-09-24 09:30:25 -07:00
expand.cpp Remove expand_flag::skip_home_directories 2021-12-28 15:13:50 -08:00
expand.h Remove expand_flag::skip_home_directories 2021-12-28 15:13:50 -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 Allow using poll() to check for readability 2022-01-02 16:36:33 -08:00
fd_monitor.h Allow using poll() to check for readability 2022-01-02 16:36:33 -08:00
fds.cpp Allow using poll() to check for readability 2022-01-02 16:36:33 -08:00
fds.h Allow using poll() to check for readability 2022-01-02 16:36:33 -08:00
fish_indent.cpp Highlight options differently 2021-10-19 17:20:21 +02:00
fish_key_reader.cpp fkr: do not do should_exit() thing for continuous mode. 2021-12-01 02:15:58 -08:00
fish_test_helper.cpp Restyle codebase with clang-format 2021-11-08 12:21:11 -08:00
fish_tests.cpp Tests: Merge "notifiers" and "universal" groups 2022-01-09 23:26:33 +01:00
fish_version.cpp Fix build 2021-09-21 18:33:14 -07:00
fish_version.h
fish.cpp Make script file error a bit more obvious 2021-11-20 17:44:06 +01: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 Fit status feaetures in 80 columns 2021-12-13 01:24:47 -08: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 Fix error check for repeated quoted command substitution 2021-12-04 16:56:07 +01:00
highlight.h Highlight options differently 2021-10-19 17:20:21 +02:00
history_file.cpp Switch path_get_data_is_remote to returning a real class enum 2021-12-18 20:48:13 -08:00
history_file.h Introduce noncopyable_t and nonmovable_t 2021-07-23 11:19:42 -07:00
history.cpp Switch path_get_data_is_remote to returning a real class enum 2021-12-18 20:48:13 -08:00
history.h history.h: 2021-12-12 13:36:14 -08:00
input_common.cpp Allow using poll() to check for readability 2022-01-02 16:36:33 -08:00
input_common.h Implement nextd-or-forward-word and prevd-or-backward-word in C++ 2021-12-11 10:19:18 +01:00
input.cpp Implement nextd-or-forward-word and prevd-or-backward-word in C++ 2021-12-11 10:19:18 +01:00
input.h Stop using thread local vectors 2021-08-10 13:07:13 -07:00
intern.cpp
intern.h
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 Allow using poll() to check for readability 2022-01-02 16:36:33 -08:00
iothread.h clang-tidy: run through normal checks 2021-08-21 21:59:05 +02:00
job_group.cpp
job_group.h
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
operation_context.h
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
parse_constants.h Use source_offset_t (uint32) in tokenizer. 2021-12-21 02:32:52 -08: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 Use source_offset_t (uint32) in tokenizer. 2021-12-21 02:32:52 -08:00
parse_util.cpp Cleanup comment to match implementation 2021-12-12 18:21:35 +01:00
parse_util.h Fix error check for repeated quoted command substitution 2021-12-04 16:56:07 +01:00
parser_keywords.cpp builtin _ is now a reserved keyword 2021-10-11 00:27:44 -07:00
parser_keywords.h
parser.cpp sanity.{cpp,h}: remove, entirely unused 2021-12-09 00:41:47 -08:00
parser.h Mark parser_t::principal as const 2021-09-24 21:09:28 -07:00
path.cpp Switch path_get_data_is_remote to returning a real class enum 2021-12-18 20:48:13 -08:00
path.h Switch path_get_data_is_remote to returning a real class enum 2021-12-18 20:48:13 -08:00
postfork.cpp Shebang error: Use /path/to/fish 2021-12-30 13:04:47 +01:00
postfork.h remove accidental change 2021-09-21 18:26:44 -07:00
print_help.cpp
print_help.h
proc.cpp Fix some extra arguments for string format functions. 2021-12-12 14:06:17 -08:00
proc.h Declare that two "not" keywords cancel each other out 2021-12-28 19:32:30 +01:00
reader.cpp Allow using poll() to check for readability 2022-01-02 16:36:33 -08:00
reader.h builtin commandline: add option to determine if pager is fully disclosed 2021-12-04 22:43:39 +01:00
redirection.cpp
redirection.h Introduce noncopyable_t and nonmovable_t 2021-07-23 11:19:42 -07:00
screen.cpp Fix completion pager rendering when there are lines after cursor 2021-12-02 04:58:46 +01: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
timer.cpp timer.cpp: fix format specifiers and type confusion 2021-12-02 05:33:21 -08:00
timer.h Pass some parameters by reference/move 2021-03-21 19:41:36 +01:00
tinyexpr.cpp math: Report missing operators between the tokens 2021-12-30 13:26:44 +01:00
tinyexpr.h
tokenizer.cpp Reword confusing comments about quoted cmdsub tokenization 2021-12-04 16:52:13 +01:00
tokenizer.h Use source_offset_t (uint32) in tokenizer. 2021-12-21 02:32:52 -08:00
topic_monitor.cpp Allow using poll() to check for readability 2022-01-02 16:36:33 -08: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
utf8.h
util.cpp wcsfilecmp: Stop actually computing the numbers 2021-10-07 17:57:52 +02:00
util.h
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 Clean up wildcard_has 2021-11-27 12:48:04 -08:00
wildcard.h Clean up wildcard_has 2021-11-27 12:48:04 -08: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