mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-11-26 19:03:38 +08:00
more builtin style cleanup
This commit is contained in:
parent
b480b117a9
commit
ffdabace5e
111
Makefile.in
111
Makefile.in
|
@ -98,33 +98,27 @@ HAVE_DOXYGEN=@HAVE_DOXYGEN@
|
|||
#
|
||||
# All objects that the system needs to build fish, except fish.o
|
||||
#
|
||||
FISH_OBJS := obj/autoload.o obj/builtin.o obj/builtin_bind.o obj/builtin_block.o \
|
||||
obj/builtin_commandline.o obj/builtin_emit.o obj/builtin_functions.o \
|
||||
obj/builtin_bg.o obj/builtin_fg.o obj/builtin_return.o obj/builtin_exit.o \
|
||||
obj/builtin_realpath.o \
|
||||
obj/builtin_history.o obj/builtin_status.o obj/builtin_read.o obj/builtin_pwd.o \
|
||||
obj/builtin_source.o obj/builtin_random.o obj/builtin_echo.o \
|
||||
obj/builtin_cd.o obj/builtin_disown.o obj/builtin_function.o \
|
||||
obj/builtin_builtin.o obj/builtin_command.o obj/builtin_contains.o \
|
||||
obj/builtin_complete.o obj/builtin_jobs.o obj/builtin_printf.o \
|
||||
obj/builtin_set.o obj/builtin_set_color.o obj/builtin_string.o \
|
||||
obj/builtin_test.o obj/builtin_ulimit.o obj/color.o obj/common.o \
|
||||
obj/complete.o obj/env.o obj/env_universal_common.o obj/event.o \
|
||||
obj/exec.o obj/expand.o obj/fallback.o obj/fish_version.o \
|
||||
obj/function.o obj/highlight.o obj/history.o obj/input.o \
|
||||
obj/input_common.o obj/intern.o obj/io.o obj/iothread.o obj/kill.o \
|
||||
obj/output.o obj/pager.o obj/parse_execution.o \
|
||||
obj/parse_productions.o obj/parse_tree.o obj/parse_util.o \
|
||||
obj/parser.o obj/parser_keywords.o obj/path.o obj/postfork.o \
|
||||
obj/proc.o obj/reader.o obj/sanity.o obj/screen.o obj/signal.o \
|
||||
obj/tokenizer.o obj/utf8.o obj/util.o obj/wcstringutil.o \
|
||||
obj/wgetopt.o obj/wildcard.o obj/wutil.o
|
||||
FISH_OBJS := obj/autoload.o obj/builtin.o obj/builtin_bg.o obj/builtin_bind.o obj/builtin_block.o \
|
||||
obj/builtin_builtin.o obj/builtin_cd.o obj/builtin_command.o obj/builtin_commandline.o \
|
||||
obj/builtin_complete.o obj/builtin_contains.o obj/builtin_disown.o obj/builtin_echo.o \
|
||||
obj/builtin_emit.o obj/builtin_exit.o obj/builtin_fg.o obj/builtin_function.o \
|
||||
obj/builtin_functions.o obj/builtin_history.o obj/builtin_jobs.o obj/builtin_printf.o \
|
||||
obj/builtin_pwd.o obj/builtin_random.o obj/builtin_read.o obj/builtin_realpath.o \
|
||||
obj/builtin_return.o obj/builtin_set.o obj/builtin_set_color.o obj/builtin_source.o \
|
||||
obj/builtin_status.o obj/builtin_string.o obj/builtin_test.o obj/builtin_ulimit.o \
|
||||
obj/color.o obj/common.o obj/complete.o obj/env.o obj/env_universal_common.o obj/event.o \
|
||||
obj/exec.o obj/expand.o obj/fallback.o obj/fish_version.o obj/function.o obj/highlight.o \
|
||||
obj/history.o obj/input.o obj/input_common.o obj/intern.o obj/io.o obj/iothread.o \
|
||||
obj/kill.o obj/output.o obj/pager.o obj/parse_execution.o obj/parse_productions.o \
|
||||
obj/parse_tree.o obj/parse_util.o obj/parser.o obj/parser_keywords.o obj/path.o \
|
||||
obj/postfork.o obj/proc.o obj/reader.o obj/sanity.o obj/screen.o obj/signal.o \
|
||||
obj/tokenizer.o obj/utf8.o obj/util.o obj/wcstringutil.o obj/wgetopt.o obj/wildcard.o \
|
||||
obj/wutil.o
|
||||
|
||||
FISH_INDENT_OBJS := obj/fish_indent.o obj/print_help.o $(FISH_OBJS)
|
||||
|
||||
FISH_KEYREAD_OBJS := obj/fish_key_reader.o obj/print_help.o $(FISH_OBJS)
|
||||
|
||||
|
||||
#
|
||||
# All objects that the system needs to build fish_tests
|
||||
#
|
||||
|
@ -455,7 +449,7 @@ lexicon.txt: doc_src/commands.hdr $(FUNCTIONS_DIR_FILES) $(COMPLETIONS_DIR_FILES
|
|||
-e "s|'\(.*\)'|func \1|p";
|
||||
$v $(SED) <share/functions/__fish_config_interactive.fish >>lexicon.tmp -n \
|
||||
-e '/set_default/s/.*\(fish_[a-z][a-z_]*\).*$$/clrv \1/p'; \
|
||||
$(SED) <lexicon_filter.in >>lexicon.tmp -n \
|
||||
$(SED) <lexicon_filter.in >>lexicon.tmp -n \
|
||||
-e '/^#.!#/s/^#.!# \(.... [a-z][a-z_]*\)/\1/p';
|
||||
$v mv lexicon.tmp lexicon.txt; rm -f lexicon_catalog.tmp lexicon_catalog.txt;
|
||||
|
||||
|
@ -896,7 +890,7 @@ style-all:
|
|||
#
|
||||
distclean: clean
|
||||
-$v test ! -f $(PCRE2_DIR)/Makefile || \
|
||||
$(MAKE) V=$(V) -C $(PCRE2_DIR) distclean
|
||||
$(MAKE) V=$(V) -C $(PCRE2_DIR) distclean
|
||||
$v rm -rf config.status config.log config.h Makefile autom4te.cache aclocal.m4
|
||||
.PHONY: distclean
|
||||
|
||||
|
@ -914,11 +908,11 @@ clean:
|
|||
# send all output to /dev/null - unless there's an error, in which case run it again not silenced.
|
||||
ifeq ($(V), 0 )
|
||||
-@test ! -f $(PCRE2_DIR)/Makefile || \
|
||||
$(MAKE) -C $(PCRE2_DIR) clean
|
||||
$(MAKE) -C $(PCRE2_DIR) clean
|
||||
else
|
||||
-@test ! -f $(PCRE2_DIR)/Makefile || \
|
||||
$(MAKE) -s -C $(PCRE2_DIR) clean > /dev/null || \
|
||||
$(MAKE) -s -C $(PCRE2_DIR) clean
|
||||
$(MAKE) -s -C $(PCRE2_DIR) clean > /dev/null || \
|
||||
$(MAKE) -s -C $(PCRE2_DIR) clean
|
||||
endif
|
||||
$v rm -f obj/*.o *.o doc.h doc.tmp
|
||||
$v rm -f doc_src/*.doxygen doc_src/*.cpp doc_src/*.o doc_src/commands.hdr
|
||||
|
@ -951,31 +945,37 @@ v = $(V$(V))
|
|||
obj/autoload.o: config.h src/autoload.h src/common.h src/fallback.h
|
||||
obj/autoload.o: src/signal.h src/lru.h src/env.h src/exec.h src/wutil.h
|
||||
obj/builtin.o: config.h src/builtin.h src/common.h src/fallback.h
|
||||
obj/builtin.o: src/signal.h src/builtin_bind.h src/builtin_block.h
|
||||
obj/builtin.o: src/builtin_builtin.h src/builtin_cd.h src/builtin_command.h
|
||||
obj/builtin.o: src/builtin_commandline.h src/builtin_complete.h
|
||||
obj/builtin.o: src/builtin_contains.h src/builtin_disown.h src/builtin_echo.h
|
||||
obj/builtin.o: src/builtin_emit.h src/builtin_functions.h
|
||||
obj/builtin.o: src/signal.h src/builtin_bg.h src/builtin_bind.h
|
||||
obj/builtin.o: src/builtin_block.h src/builtin_builtin.h src/builtin_cd.h
|
||||
obj/builtin.o: src/builtin_command.h src/builtin_commandline.h
|
||||
obj/builtin.o: src/builtin_complete.h src/builtin_contains.h
|
||||
obj/builtin.o: src/builtin_disown.h src/builtin_echo.h src/builtin_emit.h
|
||||
obj/builtin.o: src/builtin_exit.h src/builtin_fg.h src/builtin_functions.h
|
||||
obj/builtin.o: src/builtin_history.h src/builtin_jobs.h src/builtin_printf.h
|
||||
obj/builtin.o: src/builtin_random.h src/builtin_read.h src/builtin_set.h
|
||||
obj/builtin.o: src/builtin_pwd.h src/builtin_random.h src/builtin_read.h
|
||||
obj/builtin.o: src/builtin_realpath.h src/builtin_return.h src/builtin_set.h
|
||||
obj/builtin.o: src/builtin_set_color.h src/builtin_source.h
|
||||
obj/builtin.o: src/builtin_status.h src/builtin_string.h src/builtin_test.h
|
||||
obj/builtin.o: src/builtin_ulimit.h src/complete.h src/env.h src/exec.h
|
||||
obj/builtin.o: src/intern.h src/io.h src/parse_constants.h src/parse_util.h
|
||||
obj/builtin.o: src/builtin_ulimit.h src/complete.h src/exec.h src/intern.h
|
||||
obj/builtin.o: src/io.h src/parse_constants.h src/parse_util.h
|
||||
obj/builtin.o: src/tokenizer.h src/parser.h src/event.h src/expand.h
|
||||
obj/builtin.o: src/parse_tree.h src/proc.h src/reader.h src/highlight.h
|
||||
obj/builtin.o: src/color.h src/wgetopt.h src/wutil.h
|
||||
obj/builtin.o: src/color.h src/env.h src/wgetopt.h src/wutil.h
|
||||
obj/builtin_bg.o: config.h src/builtin.h src/common.h src/fallback.h
|
||||
obj/builtin_bg.o: src/signal.h src/builtin_bg.h src/io.h src/proc.h
|
||||
obj/builtin_bg.o: src/parse_tree.h src/parse_constants.h src/tokenizer.h
|
||||
obj/builtin_bg.o: src/wutil.h
|
||||
obj/builtin_bind.o: config.h src/builtin.h src/common.h src/fallback.h
|
||||
obj/builtin_bind.o: src/signal.h src/builtin_bind.h src/input.h src/env.h
|
||||
obj/builtin_bind.o: src/io.h src/wgetopt.h src/wutil.h
|
||||
obj/builtin_bind.o: src/signal.h src/builtin_bind.h src/input.h src/io.h
|
||||
obj/builtin_bind.o: src/wgetopt.h src/wutil.h
|
||||
obj/builtin_block.o: config.h src/builtin.h src/common.h src/fallback.h
|
||||
obj/builtin_block.o: src/signal.h src/builtin_block.h src/event.h src/io.h
|
||||
obj/builtin_block.o: src/parser.h src/expand.h src/parse_constants.h
|
||||
obj/builtin_block.o: src/parse_tree.h src/tokenizer.h src/proc.h
|
||||
obj/builtin_block.o: src/wgetopt.h src/wutil.h
|
||||
obj/builtin_builtin.o: config.h src/builtin.h src/common.h src/fallback.h
|
||||
obj/builtin_builtin.o: src/signal.h src/builtin_builtin.h src/io.h src/path.h
|
||||
obj/builtin_builtin.o: src/env.h src/wgetopt.h src/wutil.h
|
||||
obj/builtin_builtin.o: src/signal.h src/builtin_builtin.h src/io.h
|
||||
obj/builtin_builtin.o: src/wgetopt.h src/wutil.h
|
||||
obj/builtin_cd.o: config.h src/builtin.h src/common.h src/fallback.h
|
||||
obj/builtin_cd.o: src/signal.h src/builtin_cd.h src/env.h src/io.h
|
||||
obj/builtin_cd.o: src/parser.h src/event.h src/expand.h src/parse_constants.h
|
||||
|
@ -986,11 +986,11 @@ obj/builtin_command.o: src/signal.h src/builtin_command.h src/io.h src/path.h
|
|||
obj/builtin_command.o: src/env.h src/wgetopt.h src/wutil.h
|
||||
obj/builtin_commandline.o: config.h src/builtin.h src/common.h src/fallback.h
|
||||
obj/builtin_commandline.o: src/signal.h src/input.h src/builtin_bind.h
|
||||
obj/builtin_commandline.o: src/env.h src/io.h src/parse_util.h
|
||||
obj/builtin_commandline.o: src/parse_constants.h src/tokenizer.h src/proc.h
|
||||
obj/builtin_commandline.o: src/parse_tree.h src/reader.h src/complete.h
|
||||
obj/builtin_commandline.o: src/highlight.h src/color.h src/util.h
|
||||
obj/builtin_commandline.o: src/wgetopt.h src/wutil.h
|
||||
obj/builtin_commandline.o: src/io.h src/parse_util.h src/parse_constants.h
|
||||
obj/builtin_commandline.o: src/tokenizer.h src/proc.h src/parse_tree.h
|
||||
obj/builtin_commandline.o: src/reader.h src/complete.h src/highlight.h
|
||||
obj/builtin_commandline.o: src/color.h src/env.h src/util.h src/wgetopt.h
|
||||
obj/builtin_commandline.o: src/wutil.h
|
||||
obj/builtin_complete.o: config.h src/builtin.h src/common.h src/fallback.h
|
||||
obj/builtin_complete.o: src/signal.h src/complete.h src/env.h src/io.h
|
||||
obj/builtin_complete.o: src/parse_constants.h src/parse_util.h
|
||||
|
@ -1011,6 +1011,16 @@ obj/builtin_echo.o: src/wutil.h
|
|||
obj/builtin_emit.o: config.h src/builtin.h src/common.h src/fallback.h
|
||||
obj/builtin_emit.o: src/signal.h src/builtin_emit.h src/event.h src/io.h
|
||||
obj/builtin_emit.o: src/wgetopt.h src/wutil.h
|
||||
obj/builtin_exit.o: config.h src/builtin.h src/common.h src/fallback.h
|
||||
obj/builtin_exit.o: src/signal.h src/builtin_exit.h src/io.h src/proc.h
|
||||
obj/builtin_exit.o: src/parse_tree.h src/parse_constants.h src/tokenizer.h
|
||||
obj/builtin_exit.o: src/reader.h src/complete.h src/highlight.h src/color.h
|
||||
obj/builtin_exit.o: src/env.h src/wgetopt.h src/wutil.h
|
||||
obj/builtin_fg.o: config.h src/builtin.h src/common.h src/fallback.h
|
||||
obj/builtin_fg.o: src/signal.h src/builtin_fg.h src/env.h src/io.h src/proc.h
|
||||
obj/builtin_fg.o: src/parse_tree.h src/parse_constants.h src/tokenizer.h
|
||||
obj/builtin_fg.o: src/reader.h src/complete.h src/highlight.h src/color.h
|
||||
obj/builtin_fg.o: src/wutil.h
|
||||
obj/builtin_function.o: config.h src/builtin.h src/common.h src/fallback.h
|
||||
obj/builtin_function.o: src/signal.h src/builtin_function.h src/complete.h
|
||||
obj/builtin_function.o: src/event.h src/function.h src/env.h src/io.h
|
||||
|
@ -1034,6 +1044,9 @@ obj/builtin_jobs.o: src/parse_constants.h src/tokenizer.h src/wgetopt.h
|
|||
obj/builtin_jobs.o: src/wutil.h
|
||||
obj/builtin_printf.o: config.h src/builtin.h src/common.h src/fallback.h
|
||||
obj/builtin_printf.o: src/signal.h src/io.h src/wutil.h
|
||||
obj/builtin_pwd.o: config.h src/builtin.h src/common.h src/fallback.h
|
||||
obj/builtin_pwd.o: src/signal.h src/builtin_pwd.h src/event.h src/io.h
|
||||
obj/builtin_pwd.o: src/wgetopt.h src/wutil.h
|
||||
obj/builtin_random.o: config.h src/builtin.h src/common.h src/fallback.h
|
||||
obj/builtin_random.o: src/signal.h src/builtin_random.h src/io.h
|
||||
obj/builtin_random.o: src/wgetopt.h src/wutil.h
|
||||
|
@ -1043,6 +1056,14 @@ obj/builtin_read.o: src/event.h src/expand.h src/parse_constants.h
|
|||
obj/builtin_read.o: src/highlight.h src/color.h src/io.h src/proc.h
|
||||
obj/builtin_read.o: src/parse_tree.h src/tokenizer.h src/reader.h
|
||||
obj/builtin_read.o: src/wcstringutil.h src/wgetopt.h src/wutil.h
|
||||
obj/builtin_realpath.o: config.h src/builtin.h src/common.h src/fallback.h
|
||||
obj/builtin_realpath.o: src/signal.h src/builtin_realpath.h src/io.h
|
||||
obj/builtin_realpath.o: src/wutil.h
|
||||
obj/builtin_return.o: config.h src/builtin.h src/common.h src/fallback.h
|
||||
obj/builtin_return.o: src/signal.h src/builtin_return.h src/io.h src/parser.h
|
||||
obj/builtin_return.o: src/event.h src/expand.h src/parse_constants.h
|
||||
obj/builtin_return.o: src/parse_tree.h src/tokenizer.h src/proc.h
|
||||
obj/builtin_return.o: src/wgetopt.h src/wutil.h
|
||||
obj/builtin_set.o: config.h src/builtin.h src/common.h src/fallback.h
|
||||
obj/builtin_set.o: src/signal.h src/env.h src/expand.h src/parse_constants.h
|
||||
obj/builtin_set.o: src/io.h src/proc.h src/parse_tree.h src/tokenizer.h
|
||||
|
|
|
@ -296,7 +296,7 @@ static int parse_cmd_opts(struct cmd_opts *opts, int *optind, //!OCLINT(high nc
|
|||
}
|
||||
case L'h': {
|
||||
opts->print_help = true;
|
||||
return STATUS_CMD_OK;
|
||||
break;
|
||||
}
|
||||
case L'k': {
|
||||
opts->use_terminfo = true;
|
||||
|
|
|
@ -36,7 +36,7 @@ static int parse_cmd_opts(struct cmd_opts *opts, int *optind, //!OCLINT(high nc
|
|||
switch (opt) {
|
||||
case 'h': {
|
||||
opts->print_help = true;
|
||||
return STATUS_CMD_OK;
|
||||
break;
|
||||
}
|
||||
case 'g': {
|
||||
opts->scope = GLOBAL;
|
||||
|
|
|
@ -31,7 +31,7 @@ static int parse_cmd_opts(struct cmd_opts *opts, int *optind, int argc, wchar_t
|
|||
switch (opt) {
|
||||
case 'h': {
|
||||
opts->print_help = true;
|
||||
return STATUS_CMD_OK;
|
||||
break;
|
||||
}
|
||||
case 'n': {
|
||||
opts->list_names = true;
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
|
||||
#include <errno.h>
|
||||
#include <sys/stat.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "builtin.h"
|
||||
#include "builtin_cd.h"
|
||||
|
@ -14,42 +13,8 @@
|
|||
#include "parser.h"
|
||||
#include "path.h"
|
||||
#include "proc.h"
|
||||
#include "wgetopt.h"
|
||||
#include "wutil.h" // IWYU pragma: keep
|
||||
|
||||
struct cmd_opts {
|
||||
bool print_help = false;
|
||||
};
|
||||
static const wchar_t *short_options = L"h";
|
||||
static const struct woption long_options[] = {{L"help", no_argument, NULL, 'h'},
|
||||
{NULL, 0, NULL, 0}};
|
||||
|
||||
static int parse_cmd_opts(struct cmd_opts *opts, int *optind, int argc, wchar_t **argv,
|
||||
parser_t &parser, io_streams_t &streams) {
|
||||
wchar_t *cmd = argv[0];
|
||||
int opt;
|
||||
wgetopter_t w;
|
||||
while ((opt = w.wgetopt_long(argc, argv, short_options, long_options, NULL)) != -1) {
|
||||
switch (opt) { //!OCLINT(too few branches)
|
||||
case 'h': {
|
||||
opts->print_help = true;
|
||||
return STATUS_CMD_OK;
|
||||
}
|
||||
case '?': {
|
||||
builtin_unknown_option(parser, streams, cmd, argv[w.woptind - 1]);
|
||||
return STATUS_INVALID_ARGS;
|
||||
}
|
||||
default: {
|
||||
DIE("unexpected retval from wgetopt_long");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
*optind = w.woptind;
|
||||
return STATUS_CMD_OK;
|
||||
}
|
||||
|
||||
/// The cd builtin. Changes the current directory to the one specified or to $HOME if none is
|
||||
/// specified. The directory can be relative to any directory in the CDPATH variable.
|
||||
/// The cd builtin. Changes the current directory to the one specified or to $HOME if none is
|
||||
|
@ -57,9 +22,9 @@ static int parse_cmd_opts(struct cmd_opts *opts, int *optind, int argc, wchar_t
|
|||
int builtin_cd(parser_t &parser, io_streams_t &streams, wchar_t **argv) {
|
||||
const wchar_t *cmd = argv[0];
|
||||
int argc = builtin_count_args(argv);
|
||||
struct cmd_opts opts;
|
||||
struct cmd_opts_help_only opts;
|
||||
int optind;
|
||||
int retval = parse_cmd_opts(&opts, &optind, argc, argv, parser, streams);
|
||||
int retval = parse_cmd_opts_help_only(&opts, &optind, argc, argv, parser, streams);
|
||||
if (retval != STATUS_CMD_OK) return retval;
|
||||
|
||||
if (opts.print_help) {
|
||||
|
|
|
@ -32,7 +32,7 @@ static int parse_cmd_opts(struct cmd_opts *opts, int *optind, int argc, wchar_t
|
|||
switch (opt) {
|
||||
case 'h': {
|
||||
opts->print_help = true;
|
||||
return STATUS_CMD_OK;
|
||||
break;
|
||||
}
|
||||
case 'q': {
|
||||
opts->quiet = true;
|
||||
|
|
|
@ -29,7 +29,7 @@ static int parse_cmd_opts(struct cmd_opts *opts, int *optind, int argc, wchar_t
|
|||
switch (opt) {
|
||||
case 'h': {
|
||||
opts->print_help = true;
|
||||
return STATUS_CMD_OK;
|
||||
break;
|
||||
}
|
||||
case 'i': {
|
||||
opts->print_index = true;
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
|
||||
#include <errno.h>
|
||||
#include <signal.h>
|
||||
#include <stddef.h>
|
||||
|
||||
#include <set>
|
||||
|
||||
|
@ -14,43 +13,8 @@
|
|||
#include "io.h"
|
||||
#include "parser.h"
|
||||
#include "proc.h"
|
||||
#include "wgetopt.h"
|
||||
#include "wutil.h" // IWYU pragma: keep
|
||||
|
||||
struct cmd_opts {
|
||||
bool print_help = false;
|
||||
};
|
||||
|
||||
static int parse_cmd_opts(struct cmd_opts *opts, int *optind, int argc, wchar_t **argv,
|
||||
parser_t &parser, io_streams_t &streams) {
|
||||
wchar_t *cmd = argv[0];
|
||||
static const wchar_t *short_options = L"h";
|
||||
static const struct woption long_options[] = {{L"help", no_argument, NULL, 'h'},
|
||||
{NULL, 0, NULL, 0}};
|
||||
|
||||
int opt;
|
||||
wgetopter_t w;
|
||||
while ((opt = w.wgetopt_long(argc, argv, short_options, long_options, NULL)) != -1) {
|
||||
switch (opt) { //!OCLINT(too few branches)
|
||||
case 'h': {
|
||||
opts->print_help = true;
|
||||
return STATUS_CMD_OK;
|
||||
}
|
||||
case '?': {
|
||||
builtin_unknown_option(parser, streams, cmd, argv[w.woptind - 1]);
|
||||
return STATUS_INVALID_ARGS;
|
||||
}
|
||||
default: {
|
||||
DIE("unexpected retval from wgetopt_long");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
*optind = w.woptind;
|
||||
return STATUS_CMD_OK;
|
||||
}
|
||||
|
||||
/// Helper for builtin_disown.
|
||||
static int disown_job(const wchar_t *cmd, parser_t &parser, io_streams_t &streams, job_t *j) {
|
||||
if (j == 0) {
|
||||
|
@ -75,10 +39,10 @@ static int disown_job(const wchar_t *cmd, parser_t &parser, io_streams_t &stream
|
|||
int builtin_disown(parser_t &parser, io_streams_t &streams, wchar_t **argv) {
|
||||
const wchar_t *cmd = argv[0];
|
||||
int argc = builtin_count_args(argv);
|
||||
struct cmd_opts opts;
|
||||
struct cmd_opts_help_only opts;
|
||||
|
||||
int optind;
|
||||
int retval = parse_cmd_opts(&opts, &optind, argc, argv, parser, streams);
|
||||
int retval = parse_cmd_opts_help_only(&opts, &optind, argc, argv, parser, streams);
|
||||
if (retval != STATUS_CMD_OK) return retval;
|
||||
|
||||
if (opts.print_help) {
|
||||
|
|
|
@ -1,58 +1,22 @@
|
|||
// Implementation of the emit builtin.
|
||||
#include "config.h" // IWYU pragma: keep
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
#include "builtin.h"
|
||||
#include "builtin_emit.h"
|
||||
#include "common.h"
|
||||
#include "event.h"
|
||||
#include "fallback.h" // IWYU pragma: keep
|
||||
#include "io.h"
|
||||
#include "wgetopt.h"
|
||||
#include "wutil.h" // IWYU pragma: keep
|
||||
|
||||
struct cmd_opts {
|
||||
bool print_help = false;
|
||||
};
|
||||
static const wchar_t *short_options = L"h";
|
||||
static const struct woption long_options[] = {{L"help", no_argument, NULL, 'h'},
|
||||
{NULL, 0, NULL, 0}};
|
||||
|
||||
static int parse_cmd_opts(struct cmd_opts *opts, int *optind, //!OCLINT(high ncss method)
|
||||
int argc, wchar_t **argv, parser_t &parser, io_streams_t &streams) {
|
||||
wchar_t *cmd = argv[0];
|
||||
int opt;
|
||||
wgetopter_t w;
|
||||
while ((opt = w.wgetopt_long(argc, argv, short_options, long_options, NULL)) != -1) {
|
||||
switch (opt) { //!OCLINT(too few branches)
|
||||
case 'h': {
|
||||
opts->print_help = true;
|
||||
return STATUS_CMD_OK;
|
||||
}
|
||||
case '?': {
|
||||
builtin_unknown_option(parser, streams, cmd, argv[w.woptind - 1]);
|
||||
return STATUS_INVALID_ARGS;
|
||||
}
|
||||
default: {
|
||||
DIE("unexpected retval from wgetopt_long");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
*optind = w.woptind;
|
||||
return STATUS_CMD_OK;
|
||||
}
|
||||
|
||||
/// Implementation of the builtin emit command, used to create events.
|
||||
int builtin_emit(parser_t &parser, io_streams_t &streams, wchar_t **argv) {
|
||||
const wchar_t *cmd = argv[0];
|
||||
int argc = builtin_count_args(argv);
|
||||
struct cmd_opts opts;
|
||||
struct cmd_opts_help_only opts;
|
||||
|
||||
int optind;
|
||||
int retval = parse_cmd_opts(&opts, &optind, argc, argv, parser, streams);
|
||||
int retval = parse_cmd_opts_help_only(&opts, &optind, argc, argv, parser, streams);
|
||||
if (retval != STATUS_CMD_OK) return retval;
|
||||
|
||||
if (opts.print_help) {
|
||||
|
|
|
@ -32,7 +32,7 @@ static int parse_cmd_opts(struct cmd_opts *opts, int *optind, //!OCLINT(high nc
|
|||
switch (opt) { //!OCLINT(too few branches)
|
||||
case 'h': {
|
||||
opts->print_help = true;
|
||||
return STATUS_CMD_OK;
|
||||
break;
|
||||
}
|
||||
case '?': {
|
||||
// We would normally invoke builtin_unknown_option() and return an error.
|
||||
|
|
|
@ -152,7 +152,7 @@ static int parse_cmd_opts(struct cmd_opts *opts, int *optind, //!OCLINT(high nc
|
|||
}
|
||||
case 'h': {
|
||||
opts->print_help = true;
|
||||
return STATUS_CMD_OK;
|
||||
break;
|
||||
}
|
||||
case ':': {
|
||||
streams.err.append_format(BUILTIN_ERR_MISSING, cmd, argv[w.woptind - 1]);
|
||||
|
|
|
@ -37,19 +37,18 @@ struct cmd_opts {
|
|||
bool verbose = false;
|
||||
wchar_t *description = NULL;
|
||||
};
|
||||
static const wchar_t *short_options = L"Dacehnqv";
|
||||
static const struct woption long_options[] = {
|
||||
{L"erase", no_argument, NULL, 'e'}, {L"description", required_argument, NULL, 'd'},
|
||||
{L"names", no_argument, NULL, 'n'}, {L"all", no_argument, NULL, 'a'},
|
||||
{L"help", no_argument, NULL, 'h'}, {L"query", no_argument, NULL, 'q'},
|
||||
{L"copy", no_argument, NULL, 'c'}, {L"details", no_argument, NULL, 'D'},
|
||||
{L"verbose", no_argument, NULL, 'v'}, {NULL, 0, NULL, 0}};
|
||||
|
||||
static int parse_cmd_opts(struct cmd_opts *opts,
|
||||
int *optind, //!OCLINT(high ncss method)
|
||||
int argc, wchar_t **argv, parser_t &parser, io_streams_t &streams) {
|
||||
wchar_t *cmd = argv[0];
|
||||
static const wchar_t *short_options = L"Dacehnqv";
|
||||
static const struct woption long_options[] = {
|
||||
{L"erase", no_argument, NULL, 'e'}, {L"description", required_argument, NULL, 'd'},
|
||||
{L"names", no_argument, NULL, 'n'}, {L"all", no_argument, NULL, 'a'},
|
||||
{L"help", no_argument, NULL, 'h'}, {L"query", no_argument, NULL, 'q'},
|
||||
{L"copy", no_argument, NULL, 'c'}, {L"details", no_argument, NULL, 'D'},
|
||||
{L"verbose", no_argument, NULL, 'v'}, {NULL, 0, NULL, 0}};
|
||||
|
||||
int opt;
|
||||
wgetopter_t w;
|
||||
while ((opt = w.wgetopt_long(argc, argv, short_options, long_options, NULL)) != -1) {
|
||||
|
@ -80,7 +79,7 @@ static int parse_cmd_opts(struct cmd_opts *opts,
|
|||
}
|
||||
case 'h': {
|
||||
opts->print_help = true;
|
||||
return STATUS_CMD_OK;
|
||||
break;
|
||||
}
|
||||
case 'q': {
|
||||
opts->query = true;
|
||||
|
|
|
@ -167,7 +167,7 @@ static int parse_cmd_opts(struct cmd_opts *opts, int *optind, //!OCLINT(high nc
|
|||
}
|
||||
case 'h': {
|
||||
opts->print_help = true;
|
||||
return STATUS_CMD_OK;
|
||||
break;
|
||||
}
|
||||
case ':': {
|
||||
streams.err.append_format(BUILTIN_ERR_MISSING, cmd, argv[w.woptind - 1]);
|
||||
|
|
|
@ -1,60 +1,22 @@
|
|||
// Implementation of the pwd builtin.
|
||||
#include "config.h" // IWYU pragma: keep
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
#include "builtin.h"
|
||||
#include "builtin_pwd.h"
|
||||
#include "common.h"
|
||||
#include "event.h"
|
||||
#include "fallback.h" // IWYU pragma: keep
|
||||
#include "io.h"
|
||||
#include "wgetopt.h"
|
||||
#include "wutil.h" // IWYU pragma: keep
|
||||
|
||||
struct cmd_opts {
|
||||
bool print_help = false;
|
||||
};
|
||||
static const wchar_t *short_options = L"h";
|
||||
static const struct woption long_options[] = {{L"help", no_argument, NULL, 'h'},
|
||||
{NULL, 0, NULL, 0}};
|
||||
|
||||
static int parse_cmd_opts(struct cmd_opts *opts, int *optind,
|
||||
int argc, wchar_t **argv, parser_t &parser, io_streams_t &streams) {
|
||||
wchar_t *cmd = argv[0];
|
||||
int opt;
|
||||
wgetopter_t w;
|
||||
while ((opt = w.wgetopt_long(argc, argv, short_options, long_options, NULL)) != -1) {
|
||||
switch (opt) { //!OCLINT(too few branches)
|
||||
case 'h': {
|
||||
opts->print_help = true;
|
||||
return STATUS_CMD_OK;
|
||||
}
|
||||
case '?': {
|
||||
builtin_unknown_option(parser, streams, cmd, argv[w.woptind - 1]);
|
||||
return STATUS_INVALID_ARGS;
|
||||
}
|
||||
default: {
|
||||
DIE("unexpected retval from wgetopt_long");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
*optind = w.woptind;
|
||||
return STATUS_CMD_OK;
|
||||
}
|
||||
|
||||
/// The pwd builtin. We don't respect -P to resolve symbolic links because we
|
||||
/// try to always resolve them.
|
||||
int builtin_pwd(parser_t &parser, io_streams_t &streams, wchar_t **argv) {
|
||||
UNUSED(parser);
|
||||
const wchar_t *cmd = argv[0];
|
||||
int argc = builtin_count_args(argv);
|
||||
struct cmd_opts opts;
|
||||
|
||||
struct cmd_opts_help_only opts;
|
||||
int optind;
|
||||
int retval = parse_cmd_opts(&opts, &optind, argc, argv, parser, streams);
|
||||
int retval = parse_cmd_opts_help_only(&opts, &optind, argc, argv, parser, streams);
|
||||
if (retval != STATUS_CMD_OK) return retval;
|
||||
|
||||
if (opts.print_help) {
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
#include "config.h" // IWYU pragma: keep
|
||||
|
||||
#include <errno.h>
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
#include <wchar.h>
|
||||
|
||||
|
@ -14,51 +13,16 @@
|
|||
#include "common.h"
|
||||
#include "fallback.h" // IWYU pragma: keep
|
||||
#include "io.h"
|
||||
#include "wgetopt.h"
|
||||
#include "wutil.h" // IWYU pragma: keep
|
||||
|
||||
struct cmd_opts {
|
||||
bool print_help = false;
|
||||
};
|
||||
|
||||
static const wchar_t *short_options = L"h";
|
||||
static const struct woption long_options[] = {{L"help", no_argument, NULL, 'h'},
|
||||
{NULL, 0, NULL, 0}};
|
||||
|
||||
static int parse_cmd_opts(struct cmd_opts *opts, int *optind, //!OCLINT(high ncss method)
|
||||
int argc, wchar_t **argv, parser_t &parser, io_streams_t &streams) {
|
||||
wchar_t *cmd = argv[0];
|
||||
int opt;
|
||||
wgetopter_t w;
|
||||
while ((opt = w.wgetopt_long(argc, argv, short_options, long_options, NULL)) != -1) {
|
||||
switch (opt) { //!OCLINT(too few branches)
|
||||
case 'h': {
|
||||
opts->print_help = true;
|
||||
return STATUS_CMD_OK;
|
||||
}
|
||||
case '?': {
|
||||
builtin_unknown_option(parser, streams, cmd, argv[w.woptind - 1]);
|
||||
return STATUS_INVALID_ARGS;
|
||||
}
|
||||
default: {
|
||||
DIE("unexpected retval from wgetopt_long");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
*optind = w.woptind;
|
||||
return STATUS_CMD_OK;
|
||||
}
|
||||
|
||||
/// The random builtin generates random numbers.
|
||||
int builtin_random(parser_t &parser, io_streams_t &streams, wchar_t **argv) {
|
||||
wchar_t *cmd = argv[0];
|
||||
int argc = builtin_count_args(argv);
|
||||
struct cmd_opts opts;
|
||||
struct cmd_opts_help_only opts;
|
||||
|
||||
int optind;
|
||||
int retval = parse_cmd_opts(&opts, &optind, argc, argv, parser, streams);
|
||||
int retval = parse_cmd_opts_help_only(&opts, &optind, argc, argv, parser, streams);
|
||||
if (retval != STATUS_CMD_OK) return retval;
|
||||
|
||||
if (opts.print_help) {
|
||||
|
|
|
@ -146,7 +146,7 @@ static int parse_cmd_opts(struct cmd_opts *opts, int *optind, //!OCLINT(high nc
|
|||
}
|
||||
case 'h': {
|
||||
opts->print_help = true;
|
||||
return STATUS_CMD_OK;
|
||||
break;
|
||||
}
|
||||
case ':': {
|
||||
streams.err.append_format(BUILTIN_ERR_MISSING, cmd, argv[w.woptind - 1]);
|
||||
|
|
|
@ -32,7 +32,7 @@ static int parse_cmd_opts(struct cmd_opts *opts, int *optind, //!OCLINT(high nc
|
|||
switch (opt) { //!OCLINT(too few branches)
|
||||
case 'h': {
|
||||
opts->print_help = true;
|
||||
return STATUS_CMD_OK;
|
||||
break;
|
||||
}
|
||||
case '?': {
|
||||
// We would normally invoke builtin_unknown_option() and return an error.
|
||||
|
|
|
@ -16,51 +16,17 @@
|
|||
#include "parser.h"
|
||||
#include "proc.h"
|
||||
#include "reader.h"
|
||||
#include "wgetopt.h"
|
||||
#include "wutil.h" // IWYU pragma: keep
|
||||
|
||||
struct cmd_opts {
|
||||
bool print_help = false;
|
||||
};
|
||||
static const wchar_t *short_options = L"h";
|
||||
static const struct woption long_options[] = {{L"help", no_argument, NULL, 'h'},
|
||||
{NULL, 0, NULL, 0}};
|
||||
|
||||
static int parse_cmd_opts(struct cmd_opts *opts, int *optind, int argc, wchar_t **argv,
|
||||
parser_t &parser, io_streams_t &streams) {
|
||||
wchar_t *cmd = argv[0];
|
||||
int opt;
|
||||
wgetopter_t w;
|
||||
while ((opt = w.wgetopt_long(argc, argv, short_options, long_options, NULL)) != -1) {
|
||||
switch (opt) { //!OCLINT(too few branches)
|
||||
case 'h': {
|
||||
opts->print_help = true;
|
||||
return STATUS_CMD_OK;
|
||||
}
|
||||
case '?': {
|
||||
builtin_unknown_option(parser, streams, argv[0], argv[w.woptind - 1]);
|
||||
return STATUS_INVALID_ARGS;
|
||||
}
|
||||
default: {
|
||||
DIE("unexpected retval from wgetopt_long");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
*optind = w.woptind;
|
||||
return STATUS_CMD_OK;
|
||||
}
|
||||
|
||||
/// The source builtin, sometimes called `.`. Evaluates the contents of a file in the current
|
||||
/// context.
|
||||
int builtin_source(parser_t &parser, io_streams_t &streams, wchar_t **argv) {
|
||||
ASSERT_IS_MAIN_THREAD();
|
||||
const wchar_t *cmd = argv[0];
|
||||
int argc = builtin_count_args(argv);
|
||||
struct cmd_opts opts;
|
||||
struct cmd_opts_help_only opts;
|
||||
int optind;
|
||||
int retval = parse_cmd_opts(&opts, &optind, argc, argv, parser, streams);
|
||||
int retval = parse_cmd_opts_help_only(&opts, &optind, argc, argv, parser, streams);
|
||||
if (retval != STATUS_CMD_OK) return retval;
|
||||
|
||||
if (opts.print_help) {
|
||||
|
|
|
@ -193,7 +193,7 @@ static int parse_cmd_opts(struct cmd_opts *opts, int *optind, //!OCLINT(high nc
|
|||
}
|
||||
case 'h': {
|
||||
opts->print_help = true;
|
||||
return STATUS_CMD_OK;
|
||||
break;
|
||||
}
|
||||
case ':': {
|
||||
builtin_missing_argument(parser, streams, cmd, argv[w.woptind - 1]);
|
||||
|
|
Loading…
Reference in New Issue
Block a user