aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/builtin.cpp10
-rw-r--r--src/builtin_string.cpp16
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,