aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/viml/parser
diff options
context:
space:
mode:
authordundargoc <gocdundar@gmail.com>2022-09-11 17:12:44 +0200
committerdundargoc <gocdundar@gmail.com>2022-11-15 10:30:03 +0100
commit66360675cf4d091b7460e4a8e1435c13216c1929 (patch)
treeaf3a60083c23986c15b62b51aa0224d6c20f1aac /src/nvim/viml/parser
parent9d2a6cd11e092de838939ce993e8d18f5c9584b7 (diff)
downloadrneovim-66360675cf4d091b7460e4a8e1435c13216c1929.tar.gz
rneovim-66360675cf4d091b7460e4a8e1435c13216c1929.tar.bz2
rneovim-66360675cf4d091b7460e4a8e1435c13216c1929.zip
build: allow IWYU to fix includes for all .c files
Allow Include What You Use to remove unnecessary includes and only include what is necessary. This helps with reducing compilation times and makes it easier to visualise which dependencies are actually required. Work on https://github.com/neovim/neovim/issues/549, but doesn't close it since this only works fully for .c files and not headers.
Diffstat (limited to 'src/nvim/viml/parser')
-rw-r--r--src/nvim/viml/parser/expressions.c6
-rw-r--r--src/nvim/viml/parser/expressions.h3
-rw-r--r--src/nvim/viml/parser/parser.c2
-rw-r--r--src/nvim/viml/parser/parser.h1
4 files changed, 11 insertions, 1 deletions
diff --git a/src/nvim/viml/parser/expressions.c b/src/nvim/viml/parser/expressions.c
index 77f85b5d2d..24dfb38ae0 100644
--- a/src/nvim/viml/parser/expressions.c
+++ b/src/nvim/viml/parser/expressions.c
@@ -53,6 +53,8 @@
#include <assert.h>
#include <stdbool.h>
#include <stddef.h>
+#include <stdio.h>
+#include <stdlib.h>
#include <string.h>
#include "klib/kvec.h"
@@ -60,6 +62,10 @@
#include "nvim/assert.h"
#include "nvim/charset.h"
#include "nvim/eval/typval.h"
+#include "nvim/gettext.h"
+#include "nvim/keycodes.h"
+#include "nvim/macros.h"
+#include "nvim/mbyte.h"
#include "nvim/memory.h"
#include "nvim/types.h"
#include "nvim/vim.h"
diff --git a/src/nvim/viml/parser/expressions.h b/src/nvim/viml/parser/expressions.h
index 77fbfa615f..6fe6a784a0 100644
--- a/src/nvim/viml/parser/expressions.h
+++ b/src/nvim/viml/parser/expressions.h
@@ -6,9 +6,12 @@
#include <stdint.h>
#include "nvim/eval/typval.h"
+#include "nvim/eval/typval_defs.h"
#include "nvim/types.h"
#include "nvim/viml/parser/parser.h"
+struct expr_ast_node;
+
// Defines whether to ignore case:
// == kCCStrategyUseOption
// ==# kCCStrategyMatchCase
diff --git a/src/nvim/viml/parser/parser.c b/src/nvim/viml/parser/parser.c
index a41b750e76..1547feba90 100644
--- a/src/nvim/viml/parser/parser.c
+++ b/src/nvim/viml/parser/parser.c
@@ -4,7 +4,7 @@
#include "nvim/viml/parser/parser.h"
#ifdef INCLUDE_GENERATED_DECLARATIONS
-# include "viml/parser/parser.c.generated.h"
+# include "viml/parser/parser.c.generated.h" // IWYU pragma: export
#endif
void parser_simple_get_line(void *cookie, ParserLine *ret_pline)
diff --git a/src/nvim/viml/parser/parser.h b/src/nvim/viml/parser/parser.h
index 56e8b2d32b..f387301c2d 100644
--- a/src/nvim/viml/parser/parser.h
+++ b/src/nvim/viml/parser/parser.h
@@ -8,6 +8,7 @@
#include "klib/kvec.h"
#include "nvim/func_attr.h"
#include "nvim/mbyte.h"
+#include "nvim/mbyte_defs.h"
#include "nvim/memory.h"
/// One parsed line