mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
refactor(api): make export of functions opt-in, not opt-out
This commit is contained in:
parent
3beea1fe1b
commit
310d53e5d0
@ -165,6 +165,7 @@ Integer nvim_buf_set_virtual_text(Buffer buffer, Integer src_id, Integer line, A
|
||||
/// @param lines Array of lines
|
||||
/// @param[out] err Error details, if any
|
||||
void buffer_insert(Buffer buffer, Integer lnum, ArrayOf(String) lines, Error *err)
|
||||
FUNC_API_DEPRECATED_SINCE(1)
|
||||
{
|
||||
// "lnum" will be the index of the line after inserting,
|
||||
// no matter if it is negative or not
|
||||
@ -184,6 +185,7 @@ void buffer_insert(Buffer buffer, Integer lnum, ArrayOf(String) lines, Error *er
|
||||
/// @param[out] err Error details, if any
|
||||
/// @return Line string
|
||||
String buffer_get_line(Buffer buffer, Integer index, Error *err)
|
||||
FUNC_API_DEPRECATED_SINCE(1)
|
||||
{
|
||||
String rv = { .size = 0 };
|
||||
|
||||
@ -212,6 +214,7 @@ String buffer_get_line(Buffer buffer, Integer index, Error *err)
|
||||
/// @param line Contents of the new line
|
||||
/// @param[out] err Error details, if any
|
||||
void buffer_set_line(Buffer buffer, Integer index, String line, Error *err)
|
||||
FUNC_API_DEPRECATED_SINCE(1)
|
||||
{
|
||||
Object l = STRING_OBJ(line);
|
||||
Array array = { .items = &l, .size = 1 };
|
||||
@ -230,6 +233,7 @@ void buffer_set_line(Buffer buffer, Integer index, String line, Error *err)
|
||||
/// @param index line index
|
||||
/// @param[out] err Error details, if any
|
||||
void buffer_del_line(Buffer buffer, Integer index, Error *err)
|
||||
FUNC_API_DEPRECATED_SINCE(1)
|
||||
{
|
||||
Array array = ARRAY_DICT_INIT;
|
||||
index = convert_index(index);
|
||||
@ -255,6 +259,7 @@ ArrayOf(String) buffer_get_line_slice(Buffer buffer,
|
||||
Boolean include_start,
|
||||
Boolean include_end,
|
||||
Error *err)
|
||||
FUNC_API_DEPRECATED_SINCE(1)
|
||||
{
|
||||
start = convert_index(start) + !include_start;
|
||||
end = convert_index(end) + include_end;
|
||||
@ -278,6 +283,7 @@ ArrayOf(String) buffer_get_line_slice(Buffer buffer,
|
||||
/// @param[out] err Error details, if any
|
||||
void buffer_set_line_slice(Buffer buffer, Integer start, Integer end, Boolean include_start,
|
||||
Boolean include_end, ArrayOf(String) replacement, Error *err)
|
||||
FUNC_API_DEPRECATED_SINCE(1)
|
||||
{
|
||||
start = convert_index(start) + !include_start;
|
||||
end = convert_index(end) + include_end;
|
||||
@ -298,6 +304,7 @@ void buffer_set_line_slice(Buffer buffer, Integer start, Integer end, Boolean in
|
||||
/// @warning It may return nil if there was no previous value
|
||||
/// or if previous value was `v:null`.
|
||||
Object buffer_set_var(Buffer buffer, String name, Object value, Error *err)
|
||||
FUNC_API_DEPRECATED_SINCE(1)
|
||||
{
|
||||
buf_T *buf = find_buffer_by_handle(buffer, err);
|
||||
|
||||
@ -317,6 +324,7 @@ Object buffer_set_var(Buffer buffer, String name, Object value, Error *err)
|
||||
/// @param[out] err Error details, if any
|
||||
/// @return Old value
|
||||
Object buffer_del_var(Buffer buffer, String name, Error *err)
|
||||
FUNC_API_DEPRECATED_SINCE(1)
|
||||
{
|
||||
buf_T *buf = find_buffer_by_handle(buffer, err);
|
||||
|
||||
@ -340,6 +348,7 @@ Object buffer_del_var(Buffer buffer, String name, Error *err)
|
||||
/// @warning It may return nil if there was no previous value
|
||||
/// or if previous value was `v:null`.
|
||||
Object window_set_var(Window window, String name, Object value, Error *err)
|
||||
FUNC_API_DEPRECATED_SINCE(1)
|
||||
{
|
||||
win_T *win = find_window_by_handle(window, err);
|
||||
|
||||
@ -359,6 +368,7 @@ Object window_set_var(Window window, String name, Object value, Error *err)
|
||||
/// @param[out] err Error details, if any
|
||||
/// @return Old value
|
||||
Object window_del_var(Window window, String name, Error *err)
|
||||
FUNC_API_DEPRECATED_SINCE(1)
|
||||
{
|
||||
win_T *win = find_window_by_handle(window, err);
|
||||
|
||||
@ -382,6 +392,7 @@ Object window_del_var(Window window, String name, Error *err)
|
||||
/// @warning It may return nil if there was no previous value
|
||||
/// or if previous value was `v:null`.
|
||||
Object tabpage_set_var(Tabpage tabpage, String name, Object value, Error *err)
|
||||
FUNC_API_DEPRECATED_SINCE(1)
|
||||
{
|
||||
tabpage_T *tab = find_tab_by_handle(tabpage, err);
|
||||
|
||||
@ -401,6 +412,7 @@ Object tabpage_set_var(Tabpage tabpage, String name, Object value, Error *err)
|
||||
/// @param[out] err Error details, if any
|
||||
/// @return Old value
|
||||
Object tabpage_del_var(Tabpage tabpage, String name, Error *err)
|
||||
FUNC_API_DEPRECATED_SINCE(1)
|
||||
{
|
||||
tabpage_T *tab = find_tab_by_handle(tabpage, err);
|
||||
|
||||
@ -417,6 +429,7 @@ Object tabpage_del_var(Tabpage tabpage, String name, Error *err)
|
||||
/// OR if previous value was `v:null`.
|
||||
/// @return Old value or nil if there was no previous value.
|
||||
Object vim_set_var(String name, Object value, Error *err)
|
||||
FUNC_API_DEPRECATED_SINCE(1)
|
||||
{
|
||||
return dict_set_var(&globvardict, name, value, false, true, err);
|
||||
}
|
||||
@ -424,6 +437,7 @@ Object vim_set_var(String name, Object value, Error *err)
|
||||
/// @deprecated
|
||||
/// @see nvim_del_var
|
||||
Object vim_del_var(String name, Error *err)
|
||||
FUNC_API_DEPRECATED_SINCE(1)
|
||||
{
|
||||
return dict_set_var(&globvardict, name, NIL, true, true, err);
|
||||
}
|
||||
|
@ -40,7 +40,6 @@ typedef struct {
|
||||
static PMap(uint64_t) connected_uis = MAP_INIT;
|
||||
|
||||
void remote_ui_disconnect(uint64_t channel_id)
|
||||
FUNC_API_NOEXPORT
|
||||
{
|
||||
UI *ui = pmap_get(uint64_t)(&connected_uis, channel_id);
|
||||
if (!ui) {
|
||||
@ -57,7 +56,6 @@ void remote_ui_disconnect(uint64_t channel_id)
|
||||
|
||||
/// Wait until ui has connected on stdio channel.
|
||||
void remote_ui_wait_for_attach(void)
|
||||
FUNC_API_NOEXPORT
|
||||
{
|
||||
Channel *channel = find_channel(CHAN_STDIO);
|
||||
if (!channel) {
|
||||
@ -172,6 +170,7 @@ void nvim_ui_attach(uint64_t channel_id, Integer width, Integer height, Dictiona
|
||||
|
||||
/// @deprecated
|
||||
void ui_attach(uint64_t channel_id, Integer width, Integer height, Boolean enable_rgb, Error *err)
|
||||
FUNC_API_DEPRECATED_SINCE(1)
|
||||
{
|
||||
Dictionary opts = ARRAY_DICT_INIT;
|
||||
PUT(opts, "rgb", BOOLEAN_OBJ(enable_rgb));
|
||||
|
@ -59,7 +59,6 @@
|
||||
#endif
|
||||
|
||||
void api_vim_free_all_mem(void)
|
||||
FUNC_API_NOEXPORT
|
||||
{
|
||||
String name;
|
||||
handle_T id;
|
||||
@ -264,7 +263,6 @@ void nvim__set_hl_ns(Integer ns_id, Error *err)
|
||||
}
|
||||
|
||||
static void on_redraw_event(void **argv)
|
||||
FUNC_API_NOEXPORT
|
||||
{
|
||||
redraw_all_later(NOT_VALID);
|
||||
}
|
||||
|
@ -33,6 +33,10 @@ local function_names = {}
|
||||
|
||||
local c_grammar = require('generators.c_grammar')
|
||||
|
||||
local function startswith(String,Start)
|
||||
return string.sub(String,1,string.len(Start))==Start
|
||||
end
|
||||
|
||||
-- read each input file, parse and append to the api metadata
|
||||
for i = 6, #arg do
|
||||
local full_path = arg[i]
|
||||
@ -47,7 +51,8 @@ for i = 6, #arg do
|
||||
local tmp = c_grammar.grammar:match(input:read('*all'))
|
||||
for j = 1, #tmp do
|
||||
local fn = tmp[j]
|
||||
if not fn.noexport then
|
||||
local public = startswith(fn.name, "nvim_") or fn.deprecated_since
|
||||
if public and not fn.noexport then
|
||||
functions[#functions + 1] = tmp[j]
|
||||
function_names[fn.name] = true
|
||||
if #fn.parameters ~= 0 and fn.parameters[1][2] == 'channel_id' then
|
||||
@ -76,10 +81,6 @@ local function shallowcopy(orig)
|
||||
return copy
|
||||
end
|
||||
|
||||
local function startswith(String,Start)
|
||||
return string.sub(String,1,string.len(Start))==Start
|
||||
end
|
||||
|
||||
-- Export functions under older deprecated names.
|
||||
-- These will be removed eventually.
|
||||
local deprecated_aliases = require("api.dispatch_deprecated")
|
||||
@ -108,9 +109,10 @@ for _,f in ipairs(shallowcopy(functions)) do
|
||||
f.lua = f.lua_only or not f.remote_only
|
||||
f.eval = (not f.lua_only) and (not f.remote_only)
|
||||
else
|
||||
f.deprecated_since = tonumber(f.deprecated_since)
|
||||
assert(f.deprecated_since == 1)
|
||||
f.remote = true
|
||||
f.since = 0
|
||||
f.deprecated_since = 1
|
||||
end
|
||||
f.method = ismethod
|
||||
local newname = deprecated_aliases[f.name]
|
||||
|
Loading…
Reference in New Issue
Block a user