mirror of
https://github.com/neovim/neovim.git
synced 2025-09-27 05:28:33 +00:00
feat: get/set namespace properties #28728
ref https://github.com/neovim/neovim/pull/28432 ref https://github.com/neovim/neovim/issues/28469
This commit is contained in:
@@ -4,14 +4,29 @@
|
||||
|
||||
#include "nvim/api/keysets_defs.h" // IWYU pragma: keep
|
||||
#include "nvim/api/private/defs.h" // IWYU pragma: keep
|
||||
#include "nvim/buffer_defs.h"
|
||||
#include "nvim/decoration_defs.h" // IWYU pragma: keep
|
||||
#include "nvim/macros_defs.h"
|
||||
#include "nvim/map_defs.h"
|
||||
#include "nvim/types_defs.h"
|
||||
|
||||
EXTERN Map(String, int) namespace_ids INIT( = MAP_INIT);
|
||||
/// Non-global namespaces. A locally-scoped namespace may be "orphaned" if all
|
||||
/// window(s) it was scoped to, are destroyed. Such orphans are tracked here to
|
||||
/// avoid being mistaken as "global scope".
|
||||
EXTERN Set(uint32_t) namespace_localscope INIT( = SET_INIT);
|
||||
EXTERN handle_T next_namespace_id INIT( = 1);
|
||||
|
||||
/// Returns true if the namespace is global or scoped in the given window.
|
||||
static inline bool ns_in_win(uint32_t ns_id, win_T *wp)
|
||||
{
|
||||
if (!set_has(uint32_t, &namespace_localscope, ns_id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return set_has(uint32_t, &wp->w_ns_set, ns_id);
|
||||
}
|
||||
|
||||
#ifdef INCLUDE_GENERATED_DECLARATIONS
|
||||
# include "api/extmark.h.generated.h"
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user