This was added from the beginning to submit_pr in 775a16b0b, but I
cannot see why that is useful - in contrast, it will mess with the local
branch in case "origin" cannot be pushed to (i.e. when it points to
neovim/neovim itself).
Needed as argument list is growing large and I absolutely do not find short
options provided by getopts being particularly readable for unfamiliar commands.
[ci skip]
Contains unfinished attempt to integrate IWYU (ref #549). To finish it different
job should be done, specifically:
- Instead of feeding IWYU with modified file a mirror source tree should be
created with the help of CMake which will contain modified sources. This
solves the problem with IWYU thinking that `*.generated.h` headers should be
included in place of `*` headers.
- Build IWYU as all other third-party utilities.
- Make modified sources avoid problems with `nvim/func_attr.h` includes and
various related tricks.
Current script may only be used for manual checks like this:
./scripts/check-includes.py \
--generated-includes-dir build/include \
--generated-includes-dir build/src/nvim/auto \
--file src/nvim/eval/typval.c \
-- -Isrc -Ibuild/include -Ibuild/src/nvim/auto \
-DINCLUDE_GENERATED_DECLARATIONS
(it is also somewhat fine with `--file src/nvim/eval/typval.h`). I have no idea
why (I mean, why developer think that these lines are needed, why they are
suggested is pretty obvious: because there is typedef which mentions them before
structs are defined), but for typval.h it reports, among other things, that it
should add lines
struct dictvar_S;
struct listitem_S;
struct listvar_S;
struct listwatch_S;
Now it checks functions also after every semicolon and closing figure brace,
possibly preceded by whitespaces (tabs and spaces). This should make messing
with declarations in macros not needed.