Skip to content

Instantly share code, notes, and snippets.

@ridiculousfish
Created July 25, 2015 18:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ridiculousfish/9187cfc6de066dea2385 to your computer and use it in GitHub Desktop.
Save ridiculousfish/9187cfc6de066dea2385 to your computer and use it in GitHub Desktop.
diff --git a/autoload.cpp b/autoload.cpp
index c883f8b..12ae9db 100644
--- a/autoload.cpp
+++ b/autoload.cpp
@@ -3,15 +3,23 @@
The classes responsible for autoloading functions and completions.
*/
-#include "config.h"
#include "autoload.h"
-#include "wutil.h"
+
+#include <assert.h>
+#include <errno.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <wchar.h>
+#include <algorithm>
+#include <map>
+#include <string>
+#include <utility>
+#include <vector>
+
#include "common.h"
-#include "signal.h"
#include "env.h"
#include "exec.h"
-#include <assert.h>
-#include <algorithm>
+#include "wutil.h"
/* The time before we'll recheck an autoloaded file */
static const int kAutoloadStalenessInterval = 15;
diff --git a/autoload.h b/autoload.h
index b433853..a66f1d4 100644
--- a/autoload.h
+++ b/autoload.h
@@ -6,10 +6,14 @@
#ifndef FISH_AUTOLOAD_H
#define FISH_AUTOLOAD_H
+#include <pthread.h>
+#include <stddef.h>
+#include <time.h>
#include <wchar.h>
+#include <list>
#include <map>
#include <set>
-#include <list>
+
#include "common.h"
#include "lru.h"
@@ -40,8 +44,8 @@ struct builtin_script_t
const char *def;
};
-struct builtin_script_t;
class env_vars_snapshot_t;
+struct builtin_script_t;
/**
A class that represents a path from which we can autoload, and the autoloaded contents.
diff --git a/builtin.cpp b/builtin.cpp
index 5977886..5834de7 100644
--- a/builtin.cpp
+++ b/builtin.cpp
@@ -17,55 +17,51 @@
*/
-#include "config.h"
+#include "builtin.h"
-#include <stdlib.h>
-#include <stdio.h>
-#include <wchar.h>
-#include <unistd.h>
-#include <termios.h>
+#include <assert.h>
#include <errno.h>
-#include <sys/types.h>
-#include <sys/stat.h>
#include <fcntl.h>
-#include <dirent.h>
-#include <string.h>
+#include <limits.h>
#include <signal.h>
-#include <wctype.h>
-#include <sys/time.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/stat.h>
#include <time.h>
+#include <unistd.h>
+#include <wchar.h>
+#include <wctype.h>
+#include <algorithm>
+#include <map>
#include <stack>
+#include <string>
+#include <utility>
-#include "fallback.h"
-#include "util.h"
-
-#include "wutil.h"
-#include "builtin.h"
-#include "function.h"
+#include "common.h"
#include "complete.h"
-#include "proc.h"
-#include "parser.h"
-#include "reader.h"
#include "env.h"
-#include "common.h"
-#include "wgetopt.h"
-#include "sanity.h"
-#include "tokenizer.h"
-#include "wildcard.h"
-#include "input_common.h"
-#include "input.h"
-#include "intern.h"
#include "event.h"
-#include "signal.h"
#include "exec.h"
+#include "expand.h"
+#include "function.h"
#include "highlight.h"
+#include "history.h"
+#include "input.h"
+#include "intern.h"
+#include "parse_constants.h"
+#include "parse_tree.h"
#include "parse_util.h"
+#include "parser.h"
#include "parser_keywords.h"
-#include "expand.h"
#include "path.h"
-#include "history.h"
-#include "parse_tree.h"
+#include "proc.h"
+#include "reader.h"
+#include "signal.h"
+#include "tokenizer.h"
#include "wcstringutil.h"
+#include "wgetopt.h"
+#include "wutil.h"
/**
The default prompt for the read command
@@ -395,13 +391,13 @@ static void builtin_missing_argument(parser_t &parser, const wchar_t *cmd, const
*/
-#include "builtin_set.cpp"
#include "builtin_commandline.cpp"
#include "builtin_complete.cpp"
-#include "builtin_ulimit.cpp"
#include "builtin_jobs.cpp"
-#include "builtin_set_color.cpp"
#include "builtin_printf.cpp"
+#include "builtin_set.cpp"
+#include "builtin_set_color.cpp"
+#include "builtin_ulimit.cpp"
/* builtin_test lives in builtin_test.cpp */
int builtin_test(parser_t &parser, wchar_t **argv);
diff --git a/builtin.h b/builtin.h
index 3472995..fba38ee 100644
--- a/builtin.h
+++ b/builtin.h
@@ -5,12 +5,15 @@
#ifndef FISH_BUILTIN_H
#define FISH_BUILTIN_H
+#include <stddef.h>
#include <wchar.h>
+#include <vector>
-#include "util.h"
-#include "io.h"
#include "common.h"
+#include "io.h"
+#include "util.h"
+class completion_t;
class parser_t;
enum
diff --git a/builtin_test.cpp b/builtin_test.cpp
index 2336962..a1dce4d 100644
--- a/builtin_test.cpp
+++ b/builtin_test.cpp
@@ -5,13 +5,20 @@ Implemented from scratch (yes, really) by way of IEEE 1003.1 as reference.
*/
-#include "config.h"
-#include "common.h"
#include "builtin.h"
-#include "wutil.h"
-#include "proc.h"
+
+#include <assert.h>
+#include <stdarg.h>
+#include <stdio.h>
#include <sys/stat.h>
+#include <unistd.h>
+#include <wchar.h>
#include <memory>
+#include <string>
+
+#include "common.h"
+#include "proc.h"
+#include "wutil.h"
enum
@@ -156,6 +163,7 @@ const token_info_t *token_for_string(const wcstring &str)
*/
class expression;
+
class test_parser
{
private:
diff --git a/color.cpp b/color.cpp
index 5b19b90..1b79808 100644
--- a/color.cpp
+++ b/color.cpp
@@ -2,7 +2,12 @@
*/
#include "color.h"
-#include "fallback.h"
+
+#include <assert.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include <wchar.h>
+#include <cstddef>
bool rgb_color_t::try_parse_special(const wcstring &special)
{
diff --git a/color.h b/color.h
index b3da47d..f0ad963 100644
--- a/color.h
+++ b/color.h
@@ -4,9 +4,12 @@
#define FISH_COLOR_H
#include <stdint.h>
+#include <string.h>
#include <cstddef>
-#include "config.h"
+#include <string>
+
#include "common.h"
+#include "config.h"
/* 24 bit color */
struct color24_t
diff --git a/common.cpp b/common.cpp
index 473f350..2ef0502 100644
--- a/common.cpp
+++ b/common.cpp
@@ -4,41 +4,34 @@ Various functions, mostly string utilities, that are used by most
parts of fish.
*/
-#include "config.h"
-
-
+#include <assert.h>
+#include <math.h>
+#include <signal.h>
#include <unistd.h>
-#ifdef HAVE_STROPTS_H
-#include <stropts.h>
-#endif
+#include "config.h"
#ifdef HAVE_SIGINFO_H
#include <siginfo.h>
#endif
+#include <stdio.h>
#include <stdlib.h>
+#include <string.h>
#include <termios.h>
#include <wchar.h>
-#include <string.h>
-#include <stdio.h>
-#include <dirent.h>
-#include <sys/types.h>
#ifdef HAVE_SYS_IOCTL_H
#include <sys/ioctl.h>
#endif
-#include <sys/stat.h>
-#include <unistd.h>
-#include <wctype.h>
#include <errno.h>
#include <limits.h>
-#include <stdarg.h>
#include <locale.h>
-#include <time.h>
+#include <stdarg.h>
+#include <sys/stat.h>
#include <sys/time.h>
-#include <fcntl.h>
+#include <wctype.h>
#include <algorithm>
#ifdef HAVE_EXECINFO_H
@@ -46,7 +39,6 @@ parts of fish.
#endif
#if HAVE_NCURSES_H
-#include <ncurses.h>
#elif HAVE_NCURSES_CURSES_H
#include <ncurses/curses.h>
#else
@@ -54,24 +46,18 @@ parts of fish.
#endif
#if HAVE_TERM_H
-#include <term.h>
#elif HAVE_NCURSES_TERM_H
#include <ncurses/term.h>
#endif
-#include "fallback.h"
-#include "util.h"
-
-#include "wutil.h"
#include "common.h"
-#include "expand.h"
-#include "proc.h"
-#include "wildcard.h"
-#include "parser.h"
-#include "complete.h"
-#include "util.cpp"
+#include "expand.h"
#include "fallback.cpp"
+#include "fallback.h"
+#include "util.cpp"
+#include "wildcard.h"
+#include "wutil.h"
#define NOT_A_WCHAR (static_cast<wint_t>(WEOF))
diff --git a/common.h b/common.h
index f0d5589..9195aec 100644
--- a/common.h
+++ b/common.h
@@ -8,18 +8,23 @@
*/
#define FISH_COMMON_H
-#include <stdlib.h>
+#include <assert.h>
+#include <errno.h>
+#include <pthread.h>
+#include <stdarg.h>
+#include <stddef.h>
#include <stdio.h>
-#include <wchar.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/types.h>
#include <termios.h>
-#include <string>
+#include <wchar.h>
#include <sstream>
+#include <string>
#include <vector>
-#include <pthread.h>
-#include <string.h>
-#include <errno.h>
-#include <assert.h>
+#include "config.h"
+#include "fallback.h"
#include "util.h"
/**
diff --git a/complete.cpp b/complete.cpp
index 1f3cc65..5f23c02 100644
--- a/complete.cpp
+++ b/complete.cpp
@@ -2,50 +2,40 @@
These functions are used for storing and retrieving tab-completion data, as well as for performing tab-completion.
*/
-#include "config.h"
+#include "complete.h"
+#include <assert.h>
+#include <pthread.h>
+#include <pwd.h>
+#include <stddef.h>
#include <stdlib.h>
-#include <stdio.h>
-#include <limits.h>
-#include <string.h>
#include <wchar.h>
#include <wctype.h>
-#include <unistd.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <dirent.h>
-#include <errno.h>
-#include <termios.h>
-#include <ctype.h>
-#include <pwd.h>
-#include <signal.h>
-#include <wchar.h>
-#include <pthread.h>
#include <algorithm>
+#include <list>
+#include <map>
+#include <set>
+#include <string>
+#include <utility>
-#include "fallback.h"
-#include "util.h"
-
-#include "tokenizer.h"
-#include "wildcard.h"
-#include "proc.h"
-#include "parser.h"
-#include "function.h"
-#include "complete.h"
+#include "autoload.h"
#include "builtin.h"
+#include "common.h"
+#include "config.h"
#include "env.h"
#include "exec.h"
#include "expand.h"
-#include "common.h"
-#include "reader.h"
-#include "history.h"
-#include "intern.h"
+#include "function.h"
+#include "iothread.h"
+#include "parse_constants.h"
+#include "parse_tree.h"
#include "parse_util.h"
-#include "parser_keywords.h"
-#include "wutil.h"
+#include "parser.h"
#include "path.h"
-#include "parse_tree.h"
-#include "iothread.h"
+#include "proc.h"
+#include "util.h"
+#include "wildcard.h"
+#include "wutil.h"
/*
Completion description strings, mostly for different types of files, such as sockets, block devices, etc.
diff --git a/complete.h b/complete.h
index 99dcbf6..ce7f0b9 100644
--- a/complete.h
+++ b/complete.h
@@ -13,11 +13,13 @@
#define FISH_COMPLETE_H
-#include <wchar.h>
#include <stdint.h>
+#include <wchar.h>
+#include <vector>
-#include "util.h"
#include "common.h"
+#include "util.h"
+
/**
* Use all completions
*/
diff --git a/env.cpp b/env.cpp
index 6b09c07..03bb51e 100644
--- a/env.cpp
+++ b/env.cpp
@@ -1,26 +1,25 @@
/** \file env.c
Functions for setting and getting environment variables.
*/
-#include "config.h"
-
-#include <stdlib.h>
-#include <wchar.h>
-#include <string.h>
-#include <stdio.h>
-#include <locale.h>
-#include <unistd.h>
-#include <signal.h>
#include <assert.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+#include <locale.h>
#include <pthread.h>
#include <pwd.h>
-#include <set>
-#include <map>
+#include <stddef.h>
+#include <stdlib.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <wchar.h>
+#include <wctype.h>
#include <algorithm>
+#include <map>
+#include <set>
+#include <utility>
+#include <vector>
+
+#include "config.h"
#if HAVE_NCURSES_H
-#include <ncurses.h>
#elif HAVE_NCURSES_CURSES_H
#include <ncurses/curses.h>
#else
@@ -28,36 +27,26 @@
#endif
#if HAVE_TERM_H
-#include <term.h>
#elif HAVE_NCURSES_TERM_H
#include <ncurses/term.h>
#endif
-
-#if HAVE_LIBINTL_H
-#include <libintl.h>
-#endif
+#include "env.h"
#include <errno.h>
-#include "fallback.h"
-#include "util.h"
-
-#include "wutil.h"
-#include "proc.h"
#include "common.h"
-#include "env.h"
-#include "sanity.h"
+#include "env_universal_common.h"
+#include "event.h"
#include "expand.h"
+#include "fallback.h"
+#include "fish_version.h"
#include "history.h"
-#include "reader.h"
-#include "parser.h"
-#include "env_universal_common.h"
#include "input.h"
-#include "event.h"
#include "path.h"
-
-#include "complete.h"
-#include "fish_version.h"
+#include "proc.h"
+#include "reader.h"
+#include "sanity.h"
+#include "wutil.h"
/** Value denoting a null string */
#define ENV_NULL L"\x1d"
diff --git a/env.h b/env.h
index e69b7fc..47bf879 100644
--- a/env.h
+++ b/env.h
@@ -5,11 +5,13 @@
#ifndef FISH_ENV_H
#define FISH_ENV_H
+#include <stdint.h>
#include <wchar.h>
#include <map>
+#include <string>
-#include "util.h"
#include "common.h"
+#include "util.h"
/* Flags that may be passed as the 'mode' in env_set / env_get_string */
enum
diff --git a/env_universal_common.cpp b/env_universal_common.cpp
index b493de2..03d0288 100644
--- a/env_universal_common.cpp
+++ b/env_universal_common.cpp
@@ -5,31 +5,42 @@
client library and by the daemon.
*/
-#include "config.h"
-
#include "env_universal_common.h"
+#include <assert.h>
+#include <bits/socket_type.h>
+#include <errno.h>
#include <fcntl.h>
-#include <sys/un.h>
+#include <limits.h>
+#include <netinet/in.h>
+#include <pwd.h>
+#include <stdarg.h>
+#include <stddef.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/file.h>
#include <sys/ioctl.h>
#include <sys/mman.h>
-#include <sys/file.h>
#include <sys/socket.h>
-#include <arpa/inet.h>
-#include <pwd.h>
+#include <sys/stat.h>
+#include <sys/time.h>
+#include <sys/types.h>
+#include <unistd.h>
+#include <wctype.h>
+#include <map>
+#include <utility>
+
+#include "config.h"
#ifdef HAVE_SYS_SELECT_H
#include <sys/select.h>
#endif
-#include "fallback.h"
-#include "util.h"
-
#include "common.h"
-#include "wutil.h"
#include "utf8.h"
-#include "path.h"
-#include "iothread.h"
+#include "util.h"
+#include "wutil.h"
#if __APPLE__
#define FISH_NOTIFYD_AVAILABLE 1
@@ -986,6 +997,7 @@ void env_universal_t::parse_message_internal(const wcstring &msgstr, var_table_t
/* Linux */
#include <net/if.h>
+
static bool get_mac_address(unsigned char macaddr[MAC_ADDRESS_MAX_LEN], const char *interface = "eth0")
{
bool result = false;
@@ -1010,6 +1022,7 @@ static bool get_mac_address(unsigned char macaddr[MAC_ADDRESS_MAX_LEN], const ch
/* OS X and BSD */
#include <ifaddrs.h>
#include <net/if_dl.h>
+
static bool get_mac_address(unsigned char macaddr[MAC_ADDRESS_MAX_LEN], const char *interface = "en0")
{
// BSD, Mac OS X
diff --git a/env_universal_common.h b/env_universal_common.h
index fcf5b63..865259b 100644
--- a/env_universal_common.h
+++ b/env_universal_common.h
@@ -1,13 +1,20 @@
#ifndef FISH_ENV_UNIVERSAL_COMMON_H
#define FISH_ENV_UNIVERSAL_COMMON_H
+#include <pthread.h>
+#include <stdio.h>
#include <wchar.h>
#include <queue>
-#include <string>
#include <set>
-#include "wutil.h"
-#include "util.h"
+#include <string>
+#include <vector>
+
+#include "common.h"
#include "env.h"
+#include "util.h"
+#include "wutil.h"
+
+struct callback_data_t;
/**
The different types of messages found in the fishd file
diff --git a/event.cpp b/event.cpp
index 14def5f..b14b732 100644
--- a/event.cpp
+++ b/event.cpp
@@ -3,27 +3,21 @@
Functions for handling event triggers
*/
-#include "config.h"
+#include "event.h"
-#include <stdlib.h>
-#include <stdio.h>
-#include <wchar.h>
-#include <unistd.h>
-#include <termios.h>
+#include <assert.h>
#include <signal.h>
-#include <string.h>
+#include <stddef.h>
+#include <stdio.h>
#include <algorithm>
+#include <memory>
+#include <string>
-#include "fallback.h"
-#include "util.h"
-
-#include "wutil.h"
-#include "function.h"
+#include "common.h"
#include "input_common.h"
-#include "proc.h"
+#include "io.h"
#include "parser.h"
-#include "common.h"
-#include "event.h"
+#include "proc.h"
#include "signal.h"
diff --git a/event.h b/event.h
index 645eeda..39c4c33 100644
--- a/event.h
+++ b/event.h
@@ -12,7 +12,9 @@
#ifndef FISH_EVENT_H
#define FISH_EVENT_H
+#include <ctime>
#include <memory>
+#include <vector>
#include "common.h"
diff --git a/exec.cpp b/exec.cpp
index 9722918..993839f 100644
--- a/exec.cpp
+++ b/exec.cpp
@@ -5,51 +5,42 @@
manual, though the changes performed have been massive.
*/
-#include "config.h"
-
-#include <stdlib.h>
+#include <assert.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <signal.h>
+#include <spawn.h>
#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <termios.h>
+#include <stdlib.h>
+#include <string.h>
#include <unistd.h>
-#include <fcntl.h>
-#include <errno.h>
#include <wchar.h>
-#include <string.h>
-#include <limits.h>
-#include <signal.h>
-#include <sys/wait.h>
-#include <assert.h>
-#include <dirent.h>
-#include <time.h>
-#include <vector>
+#include <wctype.h>
#include <algorithm>
-#include <memory>
+#include <map>
+#include <string>
+#include <tr1/memory>
+#include <utility>
+#include <vector>
#ifdef HAVE_SIGINFO_H
#include <siginfo.h>
#endif
-#include "fallback.h"
-#include "util.h"
-#include "iothread.h"
-#include "postfork.h"
-
-#include "common.h"
-#include "wutil.h"
-#include "proc.h"
#include "exec.h"
-#include "parser.h"
+
#include "builtin.h"
-#include "function.h"
+#include "common.h"
#include "env.h"
-#include "wildcard.h"
-#include "sanity.h"
-#include "expand.h"
-#include "signal.h"
-
+#include "function.h"
+#include "io.h"
+#include "parse_tree.h"
#include "parse_util.h"
+#include "parser.h"
+#include "postfork.h"
+#include "proc.h"
+#include "signal.h"
+#include "wutil.h"
/**
file descriptor redirection error message
diff --git a/exec.h b/exec.h
index f0a0e14..1c4806d 100644
--- a/exec.h
+++ b/exec.h
@@ -8,12 +8,15 @@
*/
#define FISH_EXEC_H
+#include <stddef.h>
#include <wchar.h>
#include <vector>
+#include "common.h"
#include "proc.h"
#include "util.h"
-#include "common.h"
+
+class job_t;
/**
pipe redirection error message
@@ -42,6 +45,7 @@
*/
class parser_t;
+
void exec_job(parser_t &parser, job_t *j);
/**
diff --git a/expand.cpp b/expand.cpp
index 1d541a2..686facb 100644
--- a/expand.cpp
+++ b/expand.cpp
@@ -5,53 +5,42 @@ parameter expansion.
*/
-#include "config.h"
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <wchar.h>
-#include <string.h>
-#include <wctype.h>
+#include <assert.h>
+#include <dirent.h>
#include <errno.h>
#include <pwd.h>
-#include <unistd.h>
-#include <limits.h>
-#include <sys/param.h>
-#include <sys/types.h>
-#ifdef HAVE_SYS_SYSCTL_H
-#include <sys/sysctl.h>
-#endif
-#include <termios.h>
-#include <dirent.h>
+#include <stdarg.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
#include <sys/stat.h>
#include <unistd.h>
-#include <signal.h>
+#include <wchar.h>
+#include <wctype.h>
#include <algorithm>
-
-#include <assert.h>
#include <vector>
+#include "config.h"
+
#ifdef SunOS
#include <procfs.h>
#endif
-#include "fallback.h"
-#include "util.h"
+#include "expand.h"
#include "common.h"
-#include "wutil.h"
+#include "complete.h"
#include "env.h"
-#include "proc.h"
-#include "parser.h"
-#include "expand.h"
-#include "wildcard.h"
#include "exec.h"
-#include "signal.h"
-#include "tokenizer.h"
-#include "complete.h"
#include "iothread.h"
-
#include "parse_util.h"
+#include "parser.h"
+#include "proc.h"
+#include "tokenizer.h"
+#include "util.h"
+#include "wildcard.h"
+#include "wutil.h"
/**
Description for child process
diff --git a/expand.h b/expand.h
index 1f42982..9b093a3 100644
--- a/expand.h
+++ b/expand.h
@@ -16,11 +16,14 @@
#define FISH_EXPAND_H
#include <wchar.h>
+#include <list>
+#include <string>
+#include <vector>
-#include "util.h"
#include "common.h"
+#include "config.h"
#include "parse_constants.h"
-#include <list>
+#include "util.h"
enum
{
diff --git a/fish.cpp b/fish.cpp
index 2a757ba..2d3b6f4 100644
--- a/fish.cpp
+++ b/fish.cpp
@@ -20,53 +20,48 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
The main loop of <tt>fish</tt>.
*/
-#include "config.h"
-
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <wchar.h>
-#include <string.h>
-#include <unistd.h>
+#include <bits/socket_type.h>
#include <errno.h>
-#include <unistd.h>
-#include <termios.h>
#include <fcntl.h>
-#include <sys/param.h>
+#include <limits.h>
+#include <pwd.h>
+#include <stddef.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
#include <sys/socket.h>
+#include <sys/stat.h>
#include <sys/un.h>
-#include <sys/types.h>
-#include <pwd.h>
+#include <unistd.h>
+#include <wchar.h>
+
+#include "config.h"
+#include "io.h"
#ifdef HAVE_GETOPT_H
#include <getopt.h>
#endif
#include <locale.h>
-#include <signal.h>
+#include <string>
+#include <vector>
-#include "fallback.h"
-#include "util.h"
-
-#include "common.h"
-#include "reader.h"
#include "builtin.h"
-#include "function.h"
-#include "complete.h"
-#include "wutil.h"
+#include "common.h"
#include "env.h"
-#include "sanity.h"
-#include "proc.h"
-#include "parser.h"
-#include "expand.h"
-#include "intern.h"
-#include "exec.h"
#include "event.h"
-#include "output.h"
+#include "expand.h"
+#include "fish_version.h"
+#include "function.h"
#include "history.h"
-#include "path.h"
#include "input.h"
-#include "fish_version.h"
+#include "intern.h"
+#include "parser.h"
+#include "path.h"
+#include "proc.h"
+#include "reader.h"
+#include "wutil.h"
/* PATH_MAX may not exist */
#ifndef PATH_MAX
diff --git a/fish_indent.cpp b/fish_indent.cpp
index 22934e9..3d766fe 100644
--- a/fish_indent.cpp
+++ b/fish_indent.cpp
@@ -19,26 +19,31 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
The fish_indent proegram.
*/
-#include "config.h"
-
-#include <stdlib.h>
+#include <assert.h>
+#include <locale.h>
+#include <stddef.h>
#include <stdio.h>
+#include <stdlib.h>
#include <wchar.h>
+#include <string>
#include <vector>
-#include <map>
+
+#include "color.h"
+#include "config.h"
+#include "highlight.h"
+#include "parse_constants.h"
#ifdef HAVE_GETOPT_H
#include <getopt.h>
#endif
-#include "wutil.h"
#include "common.h"
-#include "output.h"
-#include "screen.h"
#include "env.h"
+#include "fish_version.h"
#include "input.h"
+#include "output.h"
#include "parse_tree.h"
#include "print_help.h"
-#include "fish_version.h"
+#include "wutil.h"
#define SPACES_PER_INDENT 4
diff --git a/function.cpp b/function.cpp
index fb8dbf6..4908d7f 100644
--- a/function.cpp
+++ b/function.cpp
@@ -7,35 +7,25 @@
handling library.
*/
-#include "config.h"
+#include "function.h"
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <wchar.h>
-#include <unistd.h>
-#include <termios.h>
-#include <signal.h>
+#include <dirent.h>
#include <pthread.h>
-#include <errno.h>
+#include <stddef.h>
+#include <wchar.h>
#include <map>
#include <set>
+#include <string>
+#include <utility>
-#include "wutil.h"
-#include "fallback.h"
-#include "util.h"
-
-#include "function.h"
-#include "proc.h"
-#include "parser.h"
+#include "autoload.h"
#include "common.h"
-#include "intern.h"
+#include "env.h"
#include "event.h"
-#include "reader.h"
-#include "parse_util.h"
+#include "intern.h"
#include "parser_keywords.h"
-#include "env.h"
-#include "expand.h"
+#include "reader.h"
+#include "wutil.h"
/**
Table containing all functions
diff --git a/function.h b/function.h
index ac56bd4..1375113 100644
--- a/function.h
+++ b/function.h
@@ -12,14 +12,15 @@
#include <wchar.h>
#include <map>
+#include <vector>
-#include "util.h"
#include "common.h"
-#include "event.h"
#include "env.h"
+#include "event.h"
+#include "util.h"
-class parser_t;
class env_vars_snapshot_t;
+class parser_t;
/**
Structure describing a function. This is used by the parser to
diff --git a/highlight.cpp b/highlight.cpp
index ef57519..b947dc8 100644
--- a/highlight.cpp
+++ b/highlight.cpp
@@ -1,41 +1,35 @@
/** \file highlight.c
Functions for syntax highlighting
*/
-#include "config.h"
+#include "highlight.h"
-#include <stdlib.h>
-#include <stdio.h>
+#include <dirent.h>
+#include <errno.h>
+#include <limits.h>
#include <sys/stat.h>
#include <unistd.h>
-#include <errno.h>
#include <wchar.h>
#include <wctype.h>
-#include <termios.h>
-#include <signal.h>
#include <algorithm>
+#include <map>
+#include <set>
+#include <string>
-#include "fallback.h"
-#include "util.h"
-
-#include "wutil.h"
-#include "highlight.h"
-#include "tokenizer.h"
-#include "proc.h"
-#include "parser.h"
-#include "parse_util.h"
-#include "parser_keywords.h"
#include "builtin.h"
-#include "function.h"
+#include "common.h"
#include "env.h"
#include "expand.h"
-#include "sanity.h"
-#include "common.h"
-#include "complete.h"
-#include "output.h"
-#include "wildcard.h"
-#include "path.h"
+#include "fallback.h"
+#include "function.h"
#include "history.h"
+#include "output.h"
+#include "parse_constants.h"
#include "parse_tree.h"
+#include "parse_util.h"
+#include "path.h"
+#include "tokenizer.h"
+#include "wildcard.h"
+#include "wutil.h"
#define CURSOR_POSITION_INVALID ((size_t)(-1))
diff --git a/highlight.h b/highlight.h
index d4f61e9..99dbf05 100644
--- a/highlight.h
+++ b/highlight.h
@@ -5,11 +5,16 @@
#ifndef FISH_HIGHLIGHT_H
#define FISH_HIGHLIGHT_H
+#include <assert.h>
+#include <stddef.h>
+#include <stdint.h>
#include <wchar.h>
+#include <vector>
+#include "color.h"
+#include "common.h"
#include "env.h"
#include "util.h"
-#include "color.h"
/* Internally, we specify highlight colors using a set of bits. Each highlight_spec is a 32 bit uint. We divide this into low 16 (foreground) and high 16 (background). Each half we further subdivide into low 8 (primary) and high 8 (modifiers). The primary is not a bitmask; specify exactly one. The modifiers are a bitmask; specify any number */
enum
diff --git a/history.cpp b/history.cpp
index 9bed7b0..8044a56 100644
--- a/history.cpp
+++ b/history.cpp
@@ -1,39 +1,37 @@
/** \file history.c
History functions, part of the user interface.
*/
-#include "config.h"
+#include "history.h"
-#include <stdlib.h>
-#include <stdio.h>
-#include <wchar.h>
+#include <assert.h>
+#include <ctype.h>
#include <errno.h>
-#include <dirent.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>
-#include <sys/mman.h>
#include <fcntl.h>
+#include <stdio.h>
+#include <stdlib.h>
#include <string.h>
+#include <sys/mman.h>
+#include <sys/stat.h>
#include <time.h>
-#include <assert.h>
-
-#include "fallback.h"
-#include "util.h"
-#include "sanity.h"
-#include "tokenizer.h"
-#include "reader.h"
-#include "parse_tree.h"
+#include <unistd.h>
+#include <wchar.h>
+#include <wctype.h>
+#include <algorithm>
+#include <iterator>
+#include <map>
-#include "wutil.h"
-#include "history.h"
#include "common.h"
-#include "intern.h"
+#include "config.h"
+#include "env.h"
+#include "iothread.h"
+#include "lru.h"
+#include "parse_constants.h"
+#include "parse_tree.h"
#include "path.h"
+#include "reader.h"
+#include "sanity.h"
#include "signal.h"
-#include "autoload.h"
-#include "iothread.h"
-#include <map>
-#include <algorithm>
+#include "wutil.h"
/*
diff --git a/history.h b/history.h
index 4bbdf78..a302215 100644
--- a/history.h
+++ b/history.h
@@ -5,15 +5,22 @@
#ifndef FISH_HISTORY_H
#define FISH_HISTORY_H
+#include <pthread.h>
+#include <stddef.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <time.h>
#include <wchar.h>
-#include "common.h"
-#include "pthread.h"
-#include "wutil.h"
#include <deque>
-#include <vector>
-#include <utility>
#include <list>
#include <set>
+#include <string>
+#include <utility>
+#include <vector>
+
+#include "common.h"
+#include "pthread.h"
+#include "wutil.h"
/* fish supports multiple shells writing to history at once. Here is its strategy:
diff --git a/input.cpp b/input.cpp
index 4dfe80c..f7dfeef 100644
--- a/input.cpp
+++ b/input.cpp
@@ -4,26 +4,16 @@
*/
-#include "config.h"
-
-#include <stdlib.h>
-#include <stdio.h>
#include <assert.h>
-#include <string.h>
+#include <curses.h>
#include <errno.h>
-#include <termios.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-
-#ifdef HAVE_SYS_IOCTL_H
-#include <sys/ioctl.h>
-#endif
-
#include <unistd.h>
#include <wchar.h>
+#include "config.h"
+#include "io.h"
+
#if HAVE_NCURSES_H
-#include <ncurses.h>
#elif HAVE_NCURSES_CURSES_H
#include <ncurses/curses.h>
#else
@@ -36,32 +26,20 @@
#include <ncurses/term.h>
#endif
-#include <signal.h>
-#include <dirent.h>
-#include <wctype.h>
-
-
+#include "input.h"
-#include "fallback.h"
-#include "util.h"
+#include <wctype.h>
+#include <algorithm>
+#include <vector>
-#include "wutil.h"
-#include "reader.h"
-#include "proc.h"
#include "common.h"
-#include "sanity.h"
-#include "input_common.h"
-#include "input.h"
-#include "parser.h"
#include "env.h"
-#include "expand.h"
#include "event.h"
-#include "signal.h"
-
+#include "input_common.h"
#include "output.h"
-#include "intern.h"
-#include <vector>
-#include <algorithm>
+#include "parser.h"
+#include "proc.h"
+#include "reader.h"
#define DEFAULT_TERM L"ansi"
#define MAX_INPUT_FUNCTION_ARGS 20
diff --git a/input.h b/input.h
index 323eb26..42c8cbf 100644
--- a/input.h
+++ b/input.h
@@ -8,8 +8,14 @@ inputrc information for key bindings.
#ifndef FISH_INPUT_H
#define FISH_INPUT_H
+#include <stddef.h>
#include <wchar.h>
+#include <string>
#include <utility>
+#include <vector>
+
+#include "common.h"
+#include "env.h"
#include "input_common.h"
diff --git a/input_common.cpp b/input_common.cpp
index b748ca2..d387853 100644
--- a/input_common.cpp
+++ b/input_common.cpp
@@ -3,32 +3,30 @@
Implementation file for the low level input library
*/
-#include "config.h"
-
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
#include <errno.h>
+#include <string.h>
#include <sys/time.h>
-#include <sys/types.h>
#include <unistd.h>
#include <wchar.h>
-#include <stack>
+#include <cwchar>
+#include <deque>
#include <list>
+#include <memory>
#include <queue>
+#include <utility>
+
+#include "config.h"
+#include "env.h"
#ifdef HAVE_SYS_SELECT_H
#include <sys/select.h>
#endif
-#include "fallback.h"
-#include "util.h"
+#include "input_common.h"
#include "common.h"
-#include "wutil.h"
-#include "input_common.h"
#include "env_universal_common.h"
#include "iothread.h"
+#include "util.h"
/**
Time in milliseconds to wait for another byte to be available for
diff --git a/input_common.h b/input_common.h
index 46430af..ddd7c56 100644
--- a/input_common.h
+++ b/input_common.h
@@ -6,6 +6,7 @@ Header file for the low level input library
#ifndef INPUT_COMMON_H
#define INPUT_COMMON_H
+#include <stddef.h>
#include <wchar.h>
/**
diff --git a/intern.cpp b/intern.cpp
index 56dec21..c14f88f 100644
--- a/intern.cpp
+++ b/intern.cpp
@@ -3,22 +3,14 @@
Library for pooling common strings
*/
-#include "config.h"
-
+#include "intern.h"
-#include <stdlib.h>
-#include <stdio.h>
+#include <pthread.h>
#include <wchar.h>
-#include <unistd.h>
-#include <set>
#include <algorithm>
+#include <vector>
-#include "fallback.h"
-#include "util.h"
-
-#include "wutil.h"
#include "common.h"
-#include "intern.h"
/** Comparison function for intern'd strings */
class string_table_compare_t
diff --git a/io.cpp b/io.cpp
index 264f0b9..a6db2e7 100644
--- a/io.cpp
+++ b/io.cpp
@@ -3,27 +3,14 @@
Utilities for io redirection.
*/
-#include "config.h"
-
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <wchar.h>
-#include <string.h>
+#include <assert.h>
#include <errno.h>
-#include <sys/types.h>
-#include <set>
-#include <algorithm>
-
-#ifdef HAVE_SYS_IOCTL_H
-#include <sys/ioctl.h>
-#endif
-
+#include <stdio.h>
#include <unistd.h>
-#include <fcntl.h>
+
+#include "config.h"
#if HAVE_NCURSES_H
-#include <ncurses.h>
#elif HAVE_NCURSES_CURSES_H
#include <ncurses/curses.h>
#else
@@ -31,18 +18,15 @@ Utilities for io redirection.
#endif
#if HAVE_TERM_H
-#include <term.h>
#elif HAVE_NCURSES_TERM_H
#include <ncurses/term.h>
#endif
-#include "fallback.h"
-#include "util.h"
+#include "io.h"
-#include "wutil.h"
-#include "exec.h"
#include "common.h"
-#include "io.h"
+#include "exec.h"
+#include "wutil.h"
io_data_t::~io_data_t()
diff --git a/io.h b/io.h
index 4ca5f94..7609511 100644
--- a/io.h
+++ b/io.h
@@ -1,18 +1,24 @@
#ifndef FISH_IO_H
#define FISH_IO_H
+#include <stddef.h>
+#include <stdlib.h>
#include <vector>
+#include "common.h"
+
// Note that we have to include something to get any _LIBCPP_VERSION defined so we can detect libc++
// So it's key that vector go above. If we didn't need vector for other reasons, we might include ciso646, which does nothing
#if defined(_LIBCPP_VERSION) || __cplusplus > 199711L
// C++11 or libc++ (which is a C++11-only library, but the memory header works OK in C++03)
#include <memory>
+
using std::shared_ptr;
#else
// C++03 or libstdc++
#include <tr1/memory>
+
using std::tr1::shared_ptr;
#endif
@@ -127,6 +133,7 @@ public:
};
class io_chain_t;
+
class io_buffer_t : public io_pipe_t
{
private:
diff --git a/iothread.cpp b/iothread.cpp
index 920d2aa..ed9cf03 100644
--- a/iothread.cpp
+++ b/iothread.cpp
@@ -1,17 +1,18 @@
-#include "config.h"
#include "iothread.h"
-#include "common.h"
-#include <pthread.h>
+
#include <assert.h>
-#include <errno.h>
+#include <fcntl.h>
+#include <pthread.h>
+#include <signal.h>
#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
+#include <sys/select.h>
+#include <sys/time.h>
#include <unistd.h>
-#include <signal.h>
-#include <fcntl.h>
+#include <algorithm>
#include <queue>
+#include "common.h"
+
#ifdef _POSIX_THREAD_THREADS_MAX
#if _POSIX_THREAD_THREADS_MAX < 64
#define IO_MAX_THREADS _POSIX_THREAD_THREADS_MAX
diff --git a/kill.cpp b/kill.cpp
index 0033ca2..9be5b4e 100644
--- a/kill.cpp
+++ b/kill.cpp
@@ -6,26 +6,14 @@
with the X clipboard.
*/
-#include "config.h"
+#include "kill.h"
-#include <stdlib.h>
-#include <stdio.h>
+#include <stddef.h>
#include <wchar.h>
-#include <termios.h>
-#include <unistd.h>
-#include <signal.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <dirent.h>
#include <algorithm>
+#include <list>
+#include <string>
-#include "fallback.h"
-#include "util.h"
-
-#include "wutil.h"
-#include "kill.h"
-#include "proc.h"
-#include "sanity.h"
#include "common.h"
#include "env.h"
#include "exec.h"
diff --git a/kill.h b/kill.h
index 35df3db..bb48095 100644
--- a/kill.h
+++ b/kill.h
@@ -9,6 +9,8 @@
#include <wchar.h>
+#include "common.h"
+
/**
Replace the specified string in the killring
*/
diff --git a/output.cpp b/output.cpp
index 5a0d221..62e6f08 100644
--- a/output.cpp
+++ b/output.cpp
@@ -2,26 +2,14 @@
Generic output functions
*/
-#include "config.h"
-
-#include <stdlib.h>
+#include <curses.h>
+#include <limits.h>
#include <stdio.h>
+#include <stdlib.h>
#include <string.h>
-#include <errno.h>
-#include <termios.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-
-#ifdef HAVE_SYS_IOCTL_H
-#include <sys/ioctl.h>
-#endif
-
-#include <sys/time.h>
-#include <unistd.h>
-#include <wctype.h>
+#include "config.h"
#if HAVE_NCURSES_H
-#include <ncurses.h>
#elif HAVE_NCURSES_CURSES_H
#include <ncurses/curses.h>
#else
@@ -34,22 +22,13 @@
#include <ncurses/term.h>
#endif
-#include <signal.h>
-#include <fcntl.h>
-#include <dirent.h>
-#include <time.h>
-#include <wchar.h>
-
+#include "output.h"
-#include "fallback.h"
-#include "util.h"
+#include <wchar.h>
+#include <string>
-#include "wutil.h"
-#include "expand.h"
#include "common.h"
-#include "output.h"
-#include "highlight.h"
-#include "env.h"
+#include "fallback.h"
/**
Number of color names in the col array
diff --git a/output.h b/output.h
index 6c7e4f3..c306915 100644
--- a/output.h
+++ b/output.h
@@ -8,10 +8,14 @@
#ifndef FISH_OUTPUT_H
#define FISH_OUTPUT_H
+#include <stddef.h>
#include <wchar.h>
+#include <vector>
+
+#include "color.h"
+#include "common.h"
#include "fallback.h"
#include "screen.h"
-#include "color.h"
/**
Constants for various colors as used by the set_color function.
diff --git a/pager.cpp b/pager.cpp
index b2a4e4d..0ad0ce6 100644
--- a/pager.cpp
+++ b/pager.cpp
@@ -1,11 +1,13 @@
-#include "config.h"
-
#include "pager.h"
-#include "highlight.h"
-#include "input_common.h"
-#include "wutil.h"
-#include <vector>
+
+#include <assert.h>
+#include <wchar.h>
+#include <wctype.h>
#include <map>
+#include <vector>
+
+#include "highlight.h"
+#include "util.h"
typedef pager_t::comp_t comp_t;
typedef std::vector<completion_t> completion_list_t;
diff --git a/pager.h b/pager.h
index c3e47df..7174896 100644
--- a/pager.h
+++ b/pager.h
@@ -2,9 +2,14 @@
Pager support
*/
+#include <stddef.h>
+#include <string>
+#include <vector>
+
+#include "common.h"
#include "complete.h"
-#include "screen.h"
#include "reader.h"
+#include "screen.h"
#define PAGER_SELECTION_NONE ((size_t)(-1))
diff --git a/parse_execution.cpp b/parse_execution.cpp
index e190ed8..15c5c55 100644
--- a/parse_execution.cpp
+++ b/parse_execution.cpp
@@ -8,17 +8,35 @@
*/
#include "parse_execution.h"
-#include "parse_util.h"
-#include "complete.h"
-#include "wildcard.h"
+
+#include <assert.h>
+#include <errno.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <termios.h>
+#include <unistd.h>
+#include <wchar.h>
+#include <wctype.h>
+#include <string>
+#include <tr1/memory>
+#include <vector>
+
#include "builtin.h"
-#include "parser.h"
+#include "complete.h"
+#include "env.h"
+#include "event.h"
+#include "exec.h"
#include "expand.h"
+#include "function.h"
+#include "parse_util.h"
+#include "parser.h"
+#include "path.h"
#include "reader.h"
+#include "tokenizer.h"
+#include "util.h"
+#include "wildcard.h"
#include "wutil.h"
-#include "exec.h"
-#include "path.h"
-#include <algorithm>
/* These are the specific statement types that support redirections */
static bool specific_statement_type_is_redirectable_block(const parse_node_t &node)
diff --git a/parse_execution.h b/parse_execution.h
index 6a3d6db..3e36f80 100644
--- a/parse_execution.h
+++ b/parse_execution.h
@@ -6,12 +6,18 @@
#ifndef FISH_PARSE_EXECUTION_H
#define FISH_PARSE_EXECUTION_H
+#include <stddef.h>
+
+#include "common.h"
#include "config.h"
-#include "util.h"
+#include "io.h"
+#include "parse_constants.h"
#include "parse_tree.h"
#include "proc.h"
+#include "util.h"
class job_t;
+class parser_t;
struct block_t;
enum parse_execution_result_t
diff --git a/parse_productions.cpp b/parse_productions.cpp
index c1b378e..25d90d1 100644
--- a/parse_productions.cpp
+++ b/parse_productions.cpp
@@ -1,5 +1,10 @@
#include "parse_productions.h"
+#include <assert.h>
+#include <stdio.h>
+
+#include "parse_tree.h"
+
using namespace parse_productions;
#define NO_PRODUCTION ((production_option_idx_t)(-1))
diff --git a/parse_productions.h b/parse_productions.h
index df3ae9c..e09e8ca 100644
--- a/parse_productions.h
+++ b/parse_productions.h
@@ -6,8 +6,14 @@
#ifndef FISH_PARSE_TREE_CONSTRUCTION_H
#define FISH_PARSE_TREE_CONSTRUCTION_H
-#include "parse_tree.h"
#include <inttypes.h>
+#include <stdint.h>
+
+#include "common.h"
+#include "parse_constants.h"
+#include "parse_tree.h"
+
+struct parse_token_t;
namespace parse_productions
{
diff --git a/parse_tree.cpp b/parse_tree.cpp
index ed3025e..4339236 100644
--- a/parse_tree.cpp
+++ b/parse_tree.cpp
@@ -1,11 +1,21 @@
-#include "parse_productions.h"
-#include "tokenizer.h"
+#include "parse_tree.h"
+
+#include <assert.h>
+#include <stdarg.h>
+#include <stddef.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <wchar.h>
+#include <algorithm>
+#include <string>
+#include <vector>
+
+#include "common.h"
#include "fallback.h"
-#include "wutil.h"
+#include "parse_constants.h"
+#include "parse_productions.h"
#include "proc.h"
-#include "expand.h"
-#include <vector>
-#include <algorithm>
+#include "tokenizer.h"
using namespace parse_productions;
diff --git a/parse_tree.h b/parse_tree.h
index 84114c5..3fa079f 100644
--- a/parse_tree.h
+++ b/parse_tree.h
@@ -6,15 +6,18 @@
#ifndef FISH_PARSE_PRODUCTIONS_H
#define FISH_PARSE_PRODUCTIONS_H
+#include <assert.h>
+#include <inttypes.h>
+#include <stddef.h>
+#include <stdint.h>
#include <wchar.h>
+#include <vector>
-#include "config.h"
-#include "util.h"
#include "common.h"
-#include "tokenizer.h"
+#include "config.h"
#include "parse_constants.h"
-#include <vector>
-#include <inttypes.h>
+#include "tokenizer.h"
+#include "util.h"
class parse_node_t;
class parse_node_tree_t;
diff --git a/parse_util.cpp b/parse_util.cpp
index 9aac4a6..fcb838c 100644
--- a/parse_util.cpp
+++ b/parse_util.cpp
@@ -8,39 +8,23 @@
parsing the code.
*/
-#include "config.h"
-
+#include "parse_util.h"
+#include <assert.h>
+#include <stdarg.h>
#include <stdlib.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <unistd.h>
-#include <wctype.h>
-
#include <wchar.h>
-#include <map>
-#include <set>
-#include <algorithm>
-
-#include <time.h>
-#include <assert.h>
+#include <string>
-#include "fallback.h"
-#include "util.h"
-
-#include "wutil.h"
+#include "builtin.h"
#include "common.h"
-#include "tokenizer.h"
-#include "parse_util.h"
-#include "expand.h"
-#include "intern.h"
-#include "exec.h"
#include "env.h"
-#include "signal.h"
-#include "wildcard.h"
+#include "expand.h"
+#include "fallback.h"
#include "parse_tree.h"
-#include "parser.h"
-#include "builtin.h"
+#include "tokenizer.h"
+#include "util.h"
+#include "wildcard.h"
/** Error message for improper use of the exec builtin */
#define EXEC_ERR_MSG _(L"The '%ls' command can not be used in a pipeline")
diff --git a/parse_util.h b/parse_util.h
index 28286ed..1f213a3 100644
--- a/parse_util.h
+++ b/parse_util.h
@@ -7,11 +7,18 @@
#ifndef FISH_PARSE_UTIL_H
#define FISH_PARSE_UTIL_H
-#include "autoload.h"
-#include "parse_tree.h"
+#include <stddef.h>
#include <wchar.h>
#include <map>
#include <set>
+#include <vector>
+
+#include "autoload.h"
+#include "common.h"
+#include "parse_constants.h"
+#include "parse_tree.h"
+
+class parse_node_t;
/**
Find the beginning and end of the first subshell in the specified string.
diff --git a/parser.cpp b/parser.cpp
index ec8f225..1d50636 100644
--- a/parser.cpp
+++ b/parser.cpp
@@ -4,46 +4,30 @@ The fish parser. Contains functions for parsing and evaluating code.
*/
-#include "config.h"
+#include "parser.h"
-#include <stdlib.h>
+#include <assert.h>
#include <stdio.h>
#include <wchar.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <termios.h>
-#include <pwd.h>
-#include <dirent.h>
#include <algorithm>
-
-#include "fallback.h"
-#include "util.h"
+#include <string>
#include "common.h"
-#include "wutil.h"
-#include "proc.h"
-#include "parser.h"
-#include "parser_keywords.h"
-#include "tokenizer.h"
-#include "exec.h"
-#include "wildcard.h"
-#include "function.h"
-#include "builtin.h"
#include "env.h"
-#include "expand.h"
-#include "reader.h"
-#include "sanity.h"
#include "event.h"
+#include "expand.h"
+#include "fallback.h"
+#include "function.h"
#include "intern.h"
-#include "parse_util.h"
-#include "path.h"
-#include "signal.h"
-#include "complete.h"
-#include "parse_tree.h"
#include "parse_execution.h"
+#include "parse_tree.h"
+#include "parse_util.h"
+#include "proc.h"
+#include "reader.h"
+#include "sanity.h"
+#include "wutil.h"
+
+class completion_t;
/**
Error message for tokenizer error. The tokenizer message is
diff --git a/parser.h b/parser.h
index 4c03bd9..283983e 100644
--- a/parser.h
+++ b/parser.h
@@ -5,14 +5,21 @@
#ifndef FISH_PARSER_H
#define FISH_PARSER_H
+#include <stddef.h>
#include <wchar.h>
+#include <list>
+#include <vector>
-#include "proc.h"
-#include "util.h"
+#include "common.h"
#include "event.h"
#include "function.h"
+#include "io.h"
+#include "parse_constants.h"
#include "parse_tree.h"
-#include <vector>
+#include "proc.h"
+#include "util.h"
+
+class completion_t;
/**
event_blockage_t represents a block on events of the specified type
@@ -226,8 +233,8 @@ struct profile_item_t
wcstring cmd;
};
-struct tokenizer_t;
class parse_execution_context_t;
+struct tokenizer_t;
class parser_t
{
diff --git a/parser_keywords.cpp b/parser_keywords.cpp
index eb47f87..e76ca87 100644
--- a/parser_keywords.cpp
+++ b/parser_keywords.cpp
@@ -3,15 +3,9 @@
Functions having to do with parser keywords, like testing if a function is a block command.
*/
-#include "config.h"
-
-
-#include <stdlib.h>
-#include <stdio.h>
+#include "parser_keywords.h"
-#include "fallback.h"
#include "common.h"
-#include "parser_keywords.h"
bool parser_keywords_skip_arguments(const wcstring &cmd)
{
diff --git a/parser_keywords.h b/parser_keywords.h
index 6794b29..bb20cfd 100644
--- a/parser_keywords.h
+++ b/parser_keywords.h
@@ -6,6 +6,7 @@ Functions having to do with parser keywords, like testing if a function is a blo
#ifndef FISH_PARSER_KEYWORD_H
#define FISH_PARSER_KEYWORD_H
+#include "common.h"
/**
Tests if the specified commands parameters should be interpreted as another command, which will be true if the command is either 'command', 'exec', 'if', 'while', or 'builtin'. This does not handle "else if" which is more complicated.
diff --git a/path.cpp b/path.cpp
index e61ae65..fb5a29a 100644
--- a/path.cpp
+++ b/path.cpp
@@ -1,22 +1,18 @@
-#include "config.h"
+#include "path.h"
-#include <stdlib.h>
+#include <assert.h>
+#include <errno.h>
#include <stdio.h>
-#include <wchar.h>
-#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
-#include <errno.h>
-#include <libgen.h>
-
-#include "fallback.h"
-#include "util.h"
+#include <wchar.h>
+#include <string>
+#include <vector>
#include "common.h"
#include "env.h"
-#include "wutil.h"
-#include "path.h"
#include "expand.h"
+#include "wutil.h"
/**
Unexpected error in path_get_path()
diff --git a/path.h b/path.h
index b822f6e..81b6b52 100644
--- a/path.h
+++ b/path.h
@@ -9,6 +9,9 @@
#ifndef FISH_PATH_H
#define FISH_PATH_H
+#include <stddef.h>
+
+#include "common.h"
#include "env.h"
/**
diff --git a/postfork.cpp b/postfork.cpp
index f47c2e1..a0fe276 100644
--- a/postfork.cpp
+++ b/postfork.cpp
@@ -3,11 +3,23 @@
Functions that we may safely call after fork().
*/
-#include <fcntl.h>
-#include "signal.h"
#include "postfork.h"
-#include "iothread.h"
+
+#include <errno.h>
+#include <fcntl.h>
+#include <signal.h>
+#include <stdio.h>
+#include <string.h>
+#include <time.h>
+#include <wchar.h>
+#include <tr1/memory>
+
+#include "common.h"
#include "exec.h"
+#include "iothread.h"
+#include "proc.h"
+#include "signal.h"
+#include "wutil.h"
#ifndef JOIN_THREADS_BEFORE_FORK
#define JOIN_THREADS_BEFORE_FORK 0
diff --git a/postfork.h b/postfork.h
index 439cedf..f88ab2a 100644
--- a/postfork.h
+++ b/postfork.h
@@ -6,18 +6,22 @@
#ifndef FISH_POSTFORK_H
#define FISH_POSTFORK_H
-#include <wchar.h>
#include <signal.h>
-#include <unistd.h>
+#include <stddef.h>
#include <sys/time.h>
+#include <unistd.h>
+#include <wchar.h>
#include <list>
-#include "config.h"
#include "common.h"
-#include "util.h"
+#include "config.h"
+#include "io.h"
#include "proc.h"
+#include "util.h"
#include "wutil.h"
-#include "io.h"
+
+class job_t;
+class process_t;
#if HAVE_SPAWN_H
#include <spawn.h>
diff --git a/print_help.cpp b/print_help.cpp
index 06bed30..b0e2866 100644
--- a/print_help.cpp
+++ b/print_help.cpp
@@ -3,11 +3,13 @@
Print help message for the specified command
*/
-#include <stdlib.h>
+#include "print_help.h"
+
+#include <stddef.h>
#include <stdio.h>
+#include <stdlib.h>
#include <string.h>
-
-#include "print_help.h"
+#include <sys/types.h>
#define CMD_LEN 1024
diff --git a/proc.cpp b/proc.cpp
index 7caf2d6..88d36b5 100644
--- a/proc.cpp
+++ b/proc.cpp
@@ -9,30 +9,25 @@ needed.
Some of the code in this file is based on code from the Glibc manual.
*/
-#include "config.h"
-
-#include <stdlib.h>
+#include <errno.h>
+#include <pthread.h>
+#include <signal.h>
#include <stdio.h>
-#include <sys/wait.h>
-#include <wchar.h>
+#include <stdlib.h>
#include <string.h>
-#include <errno.h>
+#include <sys/time.h>
+#include <sys/wait.h>
#include <termios.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+#include <unistd.h>
+#include <wchar.h>
+#include <wctype.h>
#include <algorithm>
+#include <tr1/memory>
+#include <vector>
-#ifdef HAVE_SYS_IOCTL_H
-#include <sys/ioctl.h>
-#endif
-
-#include <unistd.h>
-#include <signal.h>
-#include <dirent.h>
-#include <sys/time.h>
+#include "config.h"
#if HAVE_NCURSES_H
-#include <ncurses.h>
#elif HAVE_NCURSES_CURSES_H
#include <ncurses/curses.h>
#else
@@ -53,20 +48,17 @@ Some of the code in this file is based on code from the Glibc manual.
#include <sys/select.h>
#endif
-#include "fallback.h"
-#include "util.h"
-
-#include "wutil.h"
#include "proc.h"
+
#include "common.h"
+#include "event.h"
+#include "output.h"
+#include "parser.h"
#include "reader.h"
#include "sanity.h"
-#include "env.h"
-#include "parser.h"
#include "signal.h"
-#include "event.h"
-
-#include "output.h"
+#include "util.h"
+#include "wutil.h"
/**
Size of message buffer
diff --git a/proc.h b/proc.h
index 4bb6b39..4790637 100644
--- a/proc.h
+++ b/proc.h
@@ -11,16 +11,20 @@
#ifndef FISH_PROC_H
#define FISH_PROC_H
-#include <wchar.h>
+#include <assert.h>
#include <signal.h>
-#include <unistd.h>
+#include <stddef.h>
#include <sys/time.h>
+#include <termios.h>
+#include <unistd.h>
+#include <wchar.h>
#include <list>
-#include "util.h"
-#include "io.h"
#include "common.h"
+#include "config.h"
+#include "io.h"
#include "parse_tree.h"
+#include "util.h"
/**
The status code use when a command was not found
@@ -269,6 +273,7 @@ void release_job_id(job_id_t jobid);
or more processes and a couple of flags.
*/
class parser_t;
+
class job_t
{
/**
diff --git a/reader.cpp b/reader.cpp
index 5e386dc..6af157e 100644
--- a/reader.cpp
+++ b/reader.cpp
@@ -19,32 +19,25 @@ commence.
*/
-#include "config.h"
-#include <algorithm>
-
-#include <stdlib.h>
+#include <errno.h>
+#include <pthread.h>
+#include <stdint.h>
#include <stdio.h>
+#include <stdlib.h>
#include <string.h>
-#include <errno.h>
+#include <sys/time.h>
#include <termios.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-
-#ifdef HAVE_SYS_IOCTL_H
-#include <sys/ioctl.h>
-#endif
-
#include <time.h>
-#include <sys/time.h>
-#include <sys/wait.h>
-#include <sys/poll.h>
#include <unistd.h>
#include <wctype.h>
+#include <algorithm>
#include <stack>
-#include <pthread.h>
+
+#include "color.h"
+#include "config.h"
+#include "event.h"
#if HAVE_NCURSES_H
-#include <ncurses.h>
#elif HAVE_NCURSES_CURSES_H
#include <ncurses/curses.h>
#else
@@ -52,7 +45,6 @@ commence.
#endif
#if HAVE_TERM_H
-#include <term.h>
#elif HAVE_NCURSES_TERM_H
#include <ncurses/term.h>
#endif
@@ -65,44 +57,39 @@ commence.
#include <sys/select.h>
#endif
-#include <signal.h>
-#include <fcntl.h>
-#include <dirent.h>
-#include <wchar.h>
+#include "reader.h"
#include <assert.h>
+#include <fcntl.h>
+#include <signal.h>
+#include <wchar.h>
-
-#include "fallback.h"
-#include "util.h"
-
-#include "wutil.h"
-#include "highlight.h"
-#include "reader.h"
-#include "proc.h"
-#include "parser.h"
-#include "complete.h"
-#include "history.h"
#include "common.h"
-#include "sanity.h"
+#include "complete.h"
#include "env.h"
#include "exec.h"
#include "expand.h"
-#include "tokenizer.h"
-#include "kill.h"
-#include "input_common.h"
-#include "input.h"
+#include "fallback.h"
#include "function.h"
-#include "output.h"
-#include "signal.h"
-#include "screen.h"
-#include "iothread.h"
+#include "highlight.h"
+#include "history.h"
+#include "input.h"
+#include "input_common.h"
#include "intern.h"
-#include "path.h"
-#include "parse_util.h"
-#include "parser_keywords.h"
-#include "parse_tree.h"
+#include "iothread.h"
+#include "kill.h"
+#include "output.h"
#include "pager.h"
+#include "parse_tree.h"
+#include "parse_util.h"
+#include "parser.h"
+#include "proc.h"
+#include "sanity.h"
+#include "screen.h"
+#include "signal.h"
+#include "tokenizer.h"
+#include "util.h"
+#include "wutil.h"
/**
Maximum length of prefix string when printing completion
diff --git a/reader.h b/reader.h
index 744a360..9f94669 100644
--- a/reader.h
+++ b/reader.h
@@ -9,19 +9,21 @@
#ifndef FISH_READER_H
#define FISH_READER_H
-#include <vector>
+#include <stddef.h>
#include <wchar.h>
+#include <string>
+#include <vector>
-#include "util.h"
-#include "io.h"
#include "common.h"
#include "complete.h"
#include "highlight.h"
+#include "io.h"
#include "parse_constants.h"
+#include "util.h"
-class parser_t;
class completion_t;
class history_t;
+class parser_t;
/* Helper class for storing a command line */
class editable_line_t
@@ -232,6 +234,7 @@ void reader_set_complete_function(complete_function_t);
The type of a highlight function.
*/
class env_vars_snapshot_t;
+
typedef void (*highlight_function_t)(const wcstring &, std::vector<highlight_spec_t> &, size_t, wcstring_list_t *, const env_vars_snapshot_t &vars);
/**
diff --git a/sanity.cpp b/sanity.cpp
index f897694..f076aad 100644
--- a/sanity.cpp
+++ b/sanity.cpp
@@ -1,30 +1,15 @@
/** \file sanity.c
Functions for performing sanity checks on the program state
*/
-#include "config.h"
+#include "sanity.h"
-#include <stdlib.h>
-#include <wchar.h>
-#include <stdio.h>
-#include <errno.h>
-#include <termios.h>
#include <unistd.h>
-#include <signal.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <dirent.h>
-
-
-#include "fallback.h"
-#include "util.h"
#include "common.h"
-#include "sanity.h"
-#include "proc.h"
#include "history.h"
-#include "reader.h"
#include "kill.h"
-#include "wutil.h"
+#include "proc.h"
+#include "reader.h"
/**
diff --git a/screen.cpp b/screen.cpp
index 8eb514a..b848752 100644
--- a/screen.cpp
+++ b/screen.cpp
@@ -6,20 +6,15 @@ of the current screen contents and trying to find the most
efficient way for transforming that to the desired screen content.
*/
-#include "config.h"
-
-#include <stdlib.h>
+#include <curses.h>
#include <stdio.h>
+#include <stdlib.h>
#include <string.h>
-#include <errno.h>
-#include <termios.h>
-#include <sys/types.h>
-
#include <unistd.h>
-#include <wctype.h>
+
+#include "config.h"
#if HAVE_NCURSES_H
-#include <ncurses.h>
#elif HAVE_NCURSES_CURSES_H
#include <ncurses/curses.h>
#else
@@ -32,22 +27,22 @@ efficient way for transforming that to the desired screen content.
#include <ncurses/term.h>
#endif
-#include <wchar.h>
-#include <time.h>
+#include "screen.h"
#include <assert.h>
+#include <time.h>
+#include <wchar.h>
+#include <algorithm>
+#include <string>
#include <vector>
-
-#include "fallback.h"
#include "common.h"
-#include "util.h"
-#include "wutil.h"
-#include "output.h"
-#include "highlight.h"
-#include "screen.h"
#include "env.h"
+#include "fallback.h"
+#include "highlight.h"
+#include "output.h"
#include "pager.h"
+#include "util.h"
/** The number of characters to indent new blocks */
#define INDENT_STEP 4u
diff --git a/screen.h b/screen.h
index c9e4ac4..857bf43 100644
--- a/screen.h
+++ b/screen.h
@@ -12,8 +12,12 @@
#ifndef FISH_SCREEN_H
#define FISH_SCREEN_H
-#include <vector>
+#include <assert.h>
+#include <stddef.h>
#include <sys/stat.h>
+#include <vector>
+
+#include "common.h"
#include "highlight.h"
class page_rendering_t;
diff --git a/signal.cpp b/signal.cpp
index 8e62f78..a915f16 100644
--- a/signal.cpp
+++ b/signal.cpp
@@ -4,30 +4,22 @@ The library for various signal related issues
*/
-#include "config.h"
-
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <signal.h>
-#include <dirent.h>
-#include <unistd.h>
#include <errno.h>
+#include <signal.h>
+#include <stdio.h>
+#include <wchar.h>
#ifdef HAVE_SIGINFO_H
#include <siginfo.h>
#endif
-#include "common.h"
-#include "fallback.h"
-#include "util.h"
-
-#include "wutil.h"
#include "signal.h"
+
+#include "common.h"
#include "event.h"
-#include "reader.h"
#include "proc.h"
+#include "reader.h"
+#include "wutil.h"
/**
diff --git a/tokenizer.cpp b/tokenizer.cpp
index c491bd0..a3d2687 100644
--- a/tokenizer.cpp
+++ b/tokenizer.cpp
@@ -6,21 +6,16 @@ tokenizing multiple strings and disposing of unused string
segments.
*/
-#include "config.h"
+#include "tokenizer.h"
-#include <stdlib.h>
-#include <stdio.h>
+#include <assert.h>
+#include <fcntl.h>
+#include <limits.h>
+#include <unistd.h>
#include <wchar.h>
#include <wctype.h>
-#include <string.h>
-#include <unistd.h>
-#include <fcntl.h>
-
-#include "fallback.h"
-#include "util.h"
+#include <string>
-#include "wutil.h"
-#include "tokenizer.h"
#include "common.h"
/* Wow what a hack */
diff --git a/tokenizer.h b/tokenizer.h
index 954957c..8adb1c4 100644
--- a/tokenizer.h
+++ b/tokenizer.h
@@ -9,7 +9,9 @@
#ifndef FISH_TOKENIZER_H
#define FISH_TOKENIZER_H
+#include <stddef.h>
#include <wchar.h>
+
#include "common.h"
/**
diff --git a/utf8.cpp b/utf8.cpp
index 196b526..10b18c3 100644
--- a/utf8.cpp
+++ b/utf8.cpp
@@ -14,15 +14,14 @@
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-#include <sys/types.h>
-#include <stdint.h>
-#include <wchar.h>
-
#include "utf8.h"
-#include <string>
-#include <vector>
+#include <stdint.h>
+#include <sys/types.h>
+#include <wchar.h>
+#include <algorithm>
#include <limits>
+#include <string>
#define _NXT 0x80
#define _SEQ2 0xc0
diff --git a/utf8.h b/utf8.h
index a1f5015..202ab06 100644
--- a/utf8.h
+++ b/utf8.h
@@ -20,10 +20,10 @@
#ifndef _UTF8_H_
#define _UTF8_H_
+#include <stddef.h>
#include <sys/types.h>
-
-#include <string>
#include <wchar.h>
+#include <string>
#define UTF8_IGNORE_ERROR 0x01
#define UTF8_SKIP_BOM 0x02
diff --git a/wcstringutil.cpp b/wcstringutil.cpp
index 51ec1a1..e543634 100644
--- a/wcstringutil.cpp
+++ b/wcstringutil.cpp
@@ -3,8 +3,6 @@
Helper functions for working with wcstring
*/
-#include "config.h"
-
#include "wcstringutil.h"
typedef wcstring::size_type size_type;
diff --git a/wcstringutil.h b/wcstringutil.h
index 73ca7ac..670b557 100644
--- a/wcstringutil.h
+++ b/wcstringutil.h
@@ -6,7 +6,9 @@ Helper functions for working with wcstring
#ifndef FISH_WCSTRINGUTIL_H
#define FISH_WCSTRINGUTIL_H
+#include <string>
#include <utility>
+
#include "common.h"
/**
diff --git a/wgetopt.cpp b/wgetopt.cpp
index 2d2117f..c262b55 100644
--- a/wgetopt.cpp
+++ b/wgetopt.cpp
@@ -49,6 +49,7 @@
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
+#include "common.h"
#include "config.h"
#if !defined (__STDC__) || !__STDC__
@@ -62,11 +63,6 @@
#include <stdio.h>
#include <wchar.h>
-#include <unistd.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <dirent.h>
-
/* This needs to come after some library #include
to get __GNU_LIBRARY__ defined. */
@@ -91,8 +87,8 @@
they can distinguish the relative order of options and other arguments. */
#include "wgetopt.h"
+
#include "wutil.h"
-#include "fallback.h"
@@ -194,11 +190,6 @@ static char *posixly_correct;
#endif
#ifdef __GNU_LIBRARY__
-/* We want to avoid inclusion of string.h with non-GNU libraries
- because there are many ways it can cause trouble.
- On some systems, it contains special magic macros that don't work
- in GCC. */
-#include <string.h>
#define my_index wcschr
#else
diff --git a/wgetopt.h b/wgetopt.h
index 5a03ba3..358718b 100644
--- a/wgetopt.h
+++ b/wgetopt.h
@@ -47,6 +47,7 @@ Cambridge, MA 02139, USA. */
#ifndef FISH_WGETOPT_H
#define FISH_WGETOPT_H
+#include <features.h>
#include <wchar.h>
#ifdef __cplusplus
diff --git a/wildcard.cpp b/wildcard.cpp
index 24769e8..68eeee9 100644
--- a/wildcard.cpp
+++ b/wildcard.cpp
@@ -6,33 +6,29 @@ wildcards using **.
*/
-#include "config.h"
-#include <algorithm>
-#include <stdlib.h>
-#include <stdio.h>
-#include <limits.h>
-#include <wchar.h>
-#include <unistd.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+#include "wildcard.h"
+
+#include <assert.h>
#include <dirent.h>
#include <errno.h>
+#include <stddef.h>
+#include <stdlib.h>
#include <string.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <wchar.h>
+#include <wctype.h>
+#include <map>
#include <set>
+#include <string>
+#include <utility>
-
-#include "fallback.h"
-#include "util.h"
-
-#include "wutil.h"
-#include "complete.h"
#include "common.h"
-#include "wildcard.h"
#include "complete.h"
-#include "reader.h"
#include "expand.h"
-#include "exec.h"
-#include <map>
+#include "fallback.h"
+#include "reader.h"
+#include "wutil.h"
/**
This flag is set in the flags parameter of wildcard_expand if the
diff --git a/wildcard.h b/wildcard.h
index 8c54222..512b2ff 100644
--- a/wildcard.h
+++ b/wildcard.h
@@ -15,10 +15,10 @@
#include <wchar.h>
#include <vector>
-#include "util.h"
#include "common.h"
-#include "expand.h"
#include "complete.h"
+#include "expand.h"
+#include "util.h"
/*
Use unencoded private-use keycodes for internal characters
@@ -27,6 +27,7 @@
#define WILDCARD_RESERVED 0xf400
class completion_t;
+
/**
Enumeration of all wildcard types
*/
diff --git a/wutil.cpp b/wutil.cpp
index 2faec25..c3d8215 100644
--- a/wutil.cpp
+++ b/wutil.cpp
@@ -2,36 +2,29 @@
Wide character equivalents of various standard unix
functions.
*/
-#include "config.h"
+#include "wutil.h"
-#include <stdlib.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+#include <assert.h>
+#include <dirent.h>
#include <errno.h>
#include <fcntl.h>
-#include <wchar.h>
-#include <wctype.h>
-#include <string.h>
-#include <dirent.h>
-#include <stdarg.h>
-#include <limits.h>
+#include <features.h>
#include <libgen.h>
+#include <limits.h>
#include <pthread.h>
-#include <string>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <unistd.h>
+#include <wchar.h>
#include <map>
-
-
-#if HAVE_LIBINTL_H
-#include <libintl.h>
-#endif
-
-#include "fallback.h"
-#include "util.h"
+#include <string>
#include "common.h"
-#include "wutil.h"
+#include "config.h"
+#include "fallback.h"
typedef std::string cstring;
diff --git a/wutil.h b/wutil.h
index a1945c0..dfc9d79 100644
--- a/wutil.h
+++ b/wutil.h
@@ -6,17 +6,20 @@
#ifndef FISH_WUTIL_H
#define FISH_WUTIL_H
-#include <stdlib.h>
-#include <stdio.h>
-#include <wchar.h>
#include <dirent.h>
-#include <unistd.h>
+#include <stdarg.h>
+#include <stddef.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
#include <sys/stat.h>
#include <sys/types.h>
-#include <stdarg.h>
+#include <time.h>
+#include <unistd.h>
+#include <wchar.h>
#include <string>
#include <utility>
-#include <stdint.h>
+
#include "common.h"
/**
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment