diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/builtin.cpp | 10 | ||||
-rw-r--r-- | src/builtin_string.cpp | 16 |
2 files changed, 22 insertions, 4 deletions
diff --git a/src/builtin.cpp b/src/builtin.cpp index a55916f7..e4f14160 100644 --- a/src/builtin.cpp +++ b/src/builtin.cpp @@ -151,7 +151,7 @@ static std::stack<io_stack_elem_t, std::vector<io_stack_elem_t> > io_stack; The file from which builtin functions should attempt to read, use instead of stdin. */ -static int builtin_stdin; +int builtin_stdin; /** The underlying IO redirections behind the current builtin. This @@ -163,7 +163,7 @@ static const io_chain_t *real_io; /** Counts the number of non null pointers in the specified array */ -static int builtin_count_args(const wchar_t * const * argv) +int builtin_count_args(const wchar_t * const * argv) { int argc = 1; while (argv[argc] != NULL) @@ -247,7 +247,7 @@ wcstring builtin_help_get(parser_t &parser, const wchar_t *name) */ -static void builtin_print_help(parser_t &parser, const wchar_t *cmd, wcstring &b) +void builtin_print_help(parser_t &parser, const wchar_t *cmd, wcstring &b) { if (&b == &stderr_buffer) { @@ -399,11 +399,13 @@ static void builtin_missing_argument(parser_t &parser, const wchar_t *cmd, const #include "builtin_jobs.cpp" #include "builtin_set_color.cpp" #include "builtin_printf.cpp" -#include "builtin_string.cpp" /* builtin_test lives in builtin_test.cpp */ int builtin_test(parser_t &parser, wchar_t **argv); +/* builtin_string lives in builtin_string.cpp */ +int builtin_string(parser_t &parser, wchar_t **argv); + /** List a single key binding. Returns false if no binding with that sequence and mode exists. diff --git a/src/builtin_string.cpp b/src/builtin_string.cpp index 6a53e548..a4bec943 100644 --- a/src/builtin_string.cpp +++ b/src/builtin_string.cpp @@ -2,17 +2,33 @@ Implementation of the string builtin. */ +#include "config.h" // IWYU pragma: keep + #define PCRE2_CODE_UNIT_WIDTH WCHAR_T_BITS #ifdef _WIN32 #define PCRE2_STATIC #endif #include "pcre2.h" +#include "builtin.h" +#include "common.h" +#include "parser.h" +#include "parse_util.h" +#include "wgetopt.h" #include "wildcard.h" +#include "wutil.h" +#include <unistd.h> #define MAX_REPLACE_SIZE size_t(1048576) // pcre2_substitute maximum output size in wchar_t #define STRING_ERR_MISSING _(L"%ls: Expected argument\n") +/* externs from builtin.cpp */ +extern int builtin_count_args(const wchar_t * const * argv); +extern wcstring stdout_buffer, stderr_buffer; +void builtin_print_help(parser_t &parser, const wchar_t *cmd, wcstring &b); +extern int builtin_stdin; + + enum { BUILTIN_STRING_OK = 0, |