1#ifndef DEFINE_FUNC_ATTRIBUTES
2# define DEFINE_FUNC_ATTRIBUTES
3#endif
4#include "nvim/func_attr.h"
5#undef DEFINE_FUNC_ATTRIBUTES
6static void shift_block(oparg_T *oap, int amount);
7static void block_insert(oparg_T *oap, char_u *s, int b_insert, struct block_def *bdp);
8static _Bool is_append_register(int regname);
9static void set_yreg_additional_data(yankreg_T *reg, dict_T *additional_data) FUNC_ATTR_NONNULL_ARG(1);
10static int stuff_yank(int regname, char_u *p);
11static void put_reedit_in_typebuf(int silent);
12static int put_in_typebuf(char_u *s, _Bool esc, _Bool colon, int silent );
13static void stuffescaped(const char *arg, int literally);
14static void shift_delete_registers(_Bool y_append);
15static void mb_adjust_opend(oparg_T *oap);
16static inline void pbyte(pos_T lp, int c);
17static void replace_character(int c);
18static int swapchars(int op_type, pos_T *pos, int length);
19static void op_yank_reg(oparg_T *oap, _Bool message, yankreg_T *reg, _Bool append);
20static void yank_copy_line(yankreg_T *reg, struct block_def *bd, size_t y_idx);
21static void do_autocmd_textyankpost(oparg_T *oap, yankreg_T *reg) FUNC_ATTR_NONNULL_ALL;
22static void dis_msg(char_u *p, int skip_esc );
23static int same_leader(linenr_T lnum, int leader1_len, char_u *leader1_flags, int leader2_len, char_u *leader2_flags);
24static int ends_in_white(linenr_T lnum);
25static int fmt_check_par(linenr_T lnum, int *leader_len, char_u **leader_flags, int do_comments);
26static void block_prep(oparg_T *oap, struct block_def *bdp, linenr_T lnum, _Bool is_del);
27static void *get_reg_wrap_one_line(char_u *s, int flags);
28static yankreg_T *init_write_reg(int name, yankreg_T **old_y_previous, _Bool must_append);
29static void finish_write_reg(int name, yankreg_T *reg, yankreg_T *old_y_previous);
30static void str_to_reg(yankreg_T *y_ptr, MotionType yank_type, const char_u *str, size_t len, colnr_T blocklen, _Bool str_list) FUNC_ATTR_NONNULL_ALL;
31static varnumber_T line_count_info(char_u *line, varnumber_T *wc, varnumber_T *cc, varnumber_T limit, int eol_size);
32static yankreg_T *adjust_clipboard_name(int *name, _Bool quiet, _Bool writing);
33static _Bool get_clipboard(int name, yankreg_T **target, _Bool quiet);
34static void set_clipboard(int name, yankreg_T *reg);
35static inline _Bool reg_empty(const yankreg_T *const reg) FUNC_ATTR_PURE;
36#include "nvim/func_attr.h"
37