diff options
Diffstat (limited to 'src/nvim/buffer.h')
-rw-r--r-- | src/nvim/buffer.h | 64 |
1 files changed, 8 insertions, 56 deletions
diff --git a/src/nvim/buffer.h b/src/nvim/buffer.h index 36e70d1927..4c5023d39a 100644 --- a/src/nvim/buffer.h +++ b/src/nvim/buffer.h @@ -1,18 +1,15 @@ #pragma once -#include <assert.h> -#include <stdbool.h> -#include <stddef.h> +#include <stdint.h> -#include "nvim/buffer_defs.h" // IWYU pragma: export -#include "nvim/eval/typval.h" +#include "nvim/buffer_defs.h" // IWYU pragma: keep #include "nvim/eval/typval_defs.h" -#include "nvim/ex_cmds_defs.h" +#include "nvim/ex_cmds_defs.h" // IWYU pragma: keep #include "nvim/func_attr.h" +#include "nvim/gettext_defs.h" // IWYU pragma: keep #include "nvim/macros_defs.h" -#include "nvim/memline.h" -#include "nvim/memline_defs.h" -#include "nvim/pos_defs.h" +#include "nvim/marktree_defs.h" +#include "nvim/types_defs.h" /// Values for buflist_getfile() enum getf_values { @@ -74,38 +71,6 @@ EXTERN char *msg_qflist INIT( = N_("[Quickfix List]")); # include "buffer.h.generated.h" #endif -static inline void buf_set_changedtick(buf_T *buf, varnumber_T changedtick) - REAL_FATTR_NONNULL_ALL REAL_FATTR_ALWAYS_INLINE; - -/// Set b:changedtick, also checking b: for consistency in debug build -/// -/// @param[out] buf Buffer to set changedtick in. -/// @param[in] changedtick New value. -static inline void buf_set_changedtick(buf_T *const buf, const varnumber_T changedtick) -{ - typval_T old_val = buf->changedtick_di.di_tv; - -#ifndef NDEBUG - dictitem_T *const changedtick_di = tv_dict_find(buf->b_vars, S_LEN("changedtick")); - assert(changedtick_di != NULL); - assert(changedtick_di->di_tv.v_type == VAR_NUMBER); - assert(changedtick_di->di_tv.v_lock == VAR_FIXED); - // For some reason formatc does not like the below. -# ifndef UNIT_TESTING_LUA_PREPROCESSING - assert(changedtick_di->di_flags == (DI_FLAGS_RO|DI_FLAGS_FIX)); -# endif - assert(changedtick_di == (dictitem_T *)&buf->changedtick_di); -#endif - buf->changedtick_di.di_tv.vval.v_number = changedtick; - - if (tv_dict_is_watched(buf->b_vars)) { - tv_dict_watcher_notify(buf->b_vars, - (char *)buf->changedtick_di.di_key, - &buf->changedtick_di.di_tv, - &old_val); - } -} - static inline varnumber_T buf_get_changedtick(const buf_T *buf) REAL_FATTR_NONNULL_ALL REAL_FATTR_ALWAYS_INLINE REAL_FATTR_PURE REAL_FATTR_WARN_UNUSED_RESULT; @@ -120,20 +85,7 @@ static inline varnumber_T buf_get_changedtick(const buf_T *const buf) return buf->changedtick_di.di_tv.vval.v_number; } -static inline void buf_inc_changedtick(buf_T *buf) - REAL_FATTR_NONNULL_ALL REAL_FATTR_ALWAYS_INLINE; - -/// Increment b:changedtick value -/// -/// Also checks b: for consistency in case of debug build. -/// -/// @param[in,out] buf Buffer to increment value in. -static inline void buf_inc_changedtick(buf_T *const buf) -{ - buf_set_changedtick(buf, buf_get_changedtick(buf) + 1); -} - -static inline bool buf_is_empty(buf_T *buf) +static inline uint32_t buf_meta_total(const buf_T *b, MetaIndex m) { - return buf->b_ml.ml_line_count == 1 && *ml_get_buf(buf, 1) == '\0'; + return b->b_marktree->meta_root[m]; } |