Add automatic generation of headers

- The 'stripdecls.py' script replaces declarations in all headers by includes to
  generated headers.
  `ag '#\s*if(?!ndef NEOVIM_).*((?!#\s*endif).*\n)*#ifdef INCLUDE_GENERATED'`
  was used for this.
- Add and integrate gendeclarations.lua into the build system to generate the
  required includes.
- Add -Wno-unused-function
- Made a bunch of old-style definitions ANSI

This adds a requirement: all type and structure definitions must be present
before INCLUDE_GENERATED_DECLARATIONS-protected include.

Warning: mch_expandpath (path.h.generated.h) was moved manually. So far it is
the only exception.
This commit is contained in:
ZyX
2014-05-10 17:24:13 +04:00
committed by Thiago de Arruda
parent 880957ad4e
commit 70929f7e16
154 changed files with 2190 additions and 6184 deletions

View File

@@ -6,59 +6,7 @@
#include "nvim/api/private/defs.h"
void vim_push_keys(String str);
void vim_command(String str, Error *err);
Object vim_eval(String str, Error *err);
Integer vim_strwidth(String str, Error *err);
StringArray vim_list_runtime_paths(void);
void vim_change_directory(String dir, Error *err);
String vim_get_current_line(Error *err);
void vim_del_current_line(Error *err);
void vim_set_current_line(String line, Error *err);
Object vim_get_var(String name, Error *err);
Object vim_set_var(String name, Object value, Error *err);
Object vim_get_vvar(String name, Error *err);
Object vim_get_option(String name, Error *err);
void vim_set_option(String name, Object value, Error *err);
void vim_out_write(String str);
void vim_err_write(String str);
BufferArray vim_get_buffers(void);
Buffer vim_get_current_buffer(void);
void vim_set_current_buffer(Buffer buffer, Error *err);
WindowArray vim_get_windows(void);
Window vim_get_current_window(void);
void vim_set_current_window(Window window, Error *err);
TabpageArray vim_get_tabpages(void);
Tabpage vim_get_current_tabpage(void);
void vim_set_current_tabpage(Tabpage tabpage, Error *err);
void vim_subscribe(uint64_t channel_id, String event);
void vim_unsubscribe(uint64_t channel_id, String event);
#ifdef INCLUDE_GENERATED_DECLARATIONS
# include "api/vim.h.generated.h"
#endif
#endif // NVIM_API_VIM_H