neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

extmark.h (1036B)


      1 #pragma once
      2 
      3 #include <stdbool.h>
      4 #include <stdint.h>  // IWYU pragma: keep
      5 
      6 #include "nvim/api/keysets_defs.h"  // IWYU pragma: keep
      7 #include "nvim/api/private/defs.h"  // IWYU pragma: keep
      8 #include "nvim/buffer_defs.h"
      9 #include "nvim/decoration_defs.h"  // IWYU pragma: keep
     10 #include "nvim/macros_defs.h"
     11 #include "nvim/map_defs.h"
     12 #include "nvim/types_defs.h"
     13 
     14 EXTERN Map(String, int) namespace_ids INIT( = MAP_INIT);
     15 /// Non-global namespaces. A locally-scoped namespace may be "orphaned" if all
     16 /// window(s) it was scoped to, are destroyed. Such orphans are tracked here to
     17 /// avoid being mistaken as "global scope".
     18 EXTERN Set(uint32_t) namespace_localscope INIT( = SET_INIT);
     19 EXTERN handle_T next_namespace_id INIT( = 1);
     20 
     21 /// Returns true if the namespace is global or scoped in the given window.
     22 static inline bool ns_in_win(uint32_t ns_id, win_T *wp)
     23 {
     24  if (!set_has(uint32_t, &namespace_localscope, ns_id)) {
     25    return true;
     26  }
     27 
     28  return set_has(uint32_t, &wp->w_ns_set, ns_id);
     29 }
     30 
     31 #include "api/extmark.h.generated.h"