From efb0896f21e03f64e3a14e7c09994e81956f47b9 Mon Sep 17 00:00:00 2001 From: bfredl Date: Mon, 3 Apr 2023 15:21:24 +0200 Subject: refactor(api): make typed dicts appear as types in the source code problem: can we have Serde? solution: we have Serde at home This by itself is just a change of notation, that could be quickly merged to avoid messy merge conflicts, but upcoming changes are planned: - keysets no longer need to be defined in one single file. `keysets.h` is just the initial automatic conversion of the previous `keysets.lua`. keysets just used in a single api/{scope}.h can be moved to that file, later on. - Typed dicts will have more specific types than Object. this will enable most of the existing manual typechecking boilerplate to be eliminated. We will need some annotation for missing value, i e a boolean will need to be represented as a TriState (none/false/true) in some cases. - Eventually: optional parameters in form of a `Dict opts` final parameter will get added in some form to metadata. this will require a discussion/desicion about type forward compatibility. --- src/nvim/api/options.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/nvim/api/options.h') diff --git a/src/nvim/api/options.h b/src/nvim/api/options.h index efbfec3a6c..869826e443 100644 --- a/src/nvim/api/options.h +++ b/src/nvim/api/options.h @@ -1,7 +1,9 @@ #ifndef NVIM_API_OPTIONS_H #define NVIM_API_OPTIONS_H +#include "nvim/api/keysets.h" #include "nvim/api/private/defs.h" + #ifdef INCLUDE_GENERATED_DECLARATIONS # include "api/options.h.generated.h" #endif -- cgit From 1fe1bb084d0099fc4f9bfdc11189485d0f74b75a Mon Sep 17 00:00:00 2001 From: Lewis Russell Date: Mon, 19 Dec 2022 16:37:45 +0000 Subject: refactor(options): deprecate nvim[_buf|_win]_[gs]et_option Co-authored-by: zeertzjq Co-authored-by: famiu --- src/nvim/api/options.h | 1 + 1 file changed, 1 insertion(+) (limited to 'src/nvim/api/options.h') diff --git a/src/nvim/api/options.h b/src/nvim/api/options.h index 869826e443..7be72d3708 100644 --- a/src/nvim/api/options.h +++ b/src/nvim/api/options.h @@ -3,6 +3,7 @@ #include "nvim/api/keysets.h" #include "nvim/api/private/defs.h" +#include "nvim/option.h" #ifdef INCLUDE_GENERATED_DECLARATIONS # include "api/options.h.generated.h" -- cgit From 4f8941c1a5f1ef6caa410feeb52e343db22763ce Mon Sep 17 00:00:00 2001 From: dundargoc Date: Fri, 10 Nov 2023 12:23:42 +0100 Subject: refactor: replace manual header guards with #pragma once It is less error-prone than manually defining header guards. Pretty much all compilers support it even if it's not part of the C standard. --- src/nvim/api/options.h | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'src/nvim/api/options.h') diff --git a/src/nvim/api/options.h b/src/nvim/api/options.h index 7be72d3708..79aeead205 100644 --- a/src/nvim/api/options.h +++ b/src/nvim/api/options.h @@ -1,5 +1,4 @@ -#ifndef NVIM_API_OPTIONS_H -#define NVIM_API_OPTIONS_H +#pragma once #include "nvim/api/keysets.h" #include "nvim/api/private/defs.h" @@ -8,5 +7,3 @@ #ifdef INCLUDE_GENERATED_DECLARATIONS # include "api/options.h.generated.h" #endif - -#endif // NVIM_API_OPTIONS_H -- cgit From 574d25642fc9ca65b396633aeab6e2d32778b642 Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Mon, 27 Nov 2023 17:21:58 +0800 Subject: refactor: move Arena and ArenaMem to memory_defs.h (#26240) --- src/nvim/api/options.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/nvim/api/options.h') diff --git a/src/nvim/api/options.h b/src/nvim/api/options.h index 79aeead205..2a7385eb56 100644 --- a/src/nvim/api/options.h +++ b/src/nvim/api/options.h @@ -1,8 +1,10 @@ #pragma once +#include // IWYU pragma: keep + #include "nvim/api/keysets.h" -#include "nvim/api/private/defs.h" -#include "nvim/option.h" +#include "nvim/api/private/defs.h" // IWYU pragma: keep +#include "nvim/option_defs.h" // IWYU pragma: keep #ifdef INCLUDE_GENERATED_DECLARATIONS # include "api/options.h.generated.h" -- cgit From e3f735ef101d670555f44226614a5c3557053b1f Mon Sep 17 00:00:00 2001 From: dundargoc Date: Mon, 27 Nov 2023 20:13:32 +0100 Subject: refactor: fix includes for api/autocmd.h --- src/nvim/api/options.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/nvim/api/options.h') diff --git a/src/nvim/api/options.h b/src/nvim/api/options.h index 2a7385eb56..e44ed44c80 100644 --- a/src/nvim/api/options.h +++ b/src/nvim/api/options.h @@ -2,7 +2,7 @@ #include // IWYU pragma: keep -#include "nvim/api/keysets.h" +#include "nvim/api/keysets_defs.h" #include "nvim/api/private/defs.h" // IWYU pragma: keep #include "nvim/option_defs.h" // IWYU pragma: keep -- cgit From 718053b7a97c4e2fbaa6077d3c9f4dc7012c8aad Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Tue, 28 Nov 2023 07:47:36 +0800 Subject: refactor: fix runtime_defs.h (#26259) --- src/nvim/api/options.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/nvim/api/options.h') diff --git a/src/nvim/api/options.h b/src/nvim/api/options.h index e44ed44c80..c16c6088b3 100644 --- a/src/nvim/api/options.h +++ b/src/nvim/api/options.h @@ -2,7 +2,7 @@ #include // IWYU pragma: keep -#include "nvim/api/keysets_defs.h" +#include "nvim/api/keysets_defs.h" // IWYU pragma: keep #include "nvim/api/private/defs.h" // IWYU pragma: keep #include "nvim/option_defs.h" // IWYU pragma: keep -- cgit