1#ifndef DEFINE_FUNC_ATTRIBUTES
2# define DEFINE_FUNC_ATTRIBUTES
3#endif
4#include "nvim/func_attr.h"
5#undef DEFINE_FUNC_ATTRIBUTES
6int get_op_type(int char1, int char2);
7int op_on_lines(int op);
8int get_op_char(int optype);
9int get_extra_op_char(int optype);
10void op_shift(oparg_T *oap, int curs_top, int amount);
11void shift_line(int left, int round, int amount, int call_changed_bytes );
12void op_reindent(oparg_T *oap, Indenter how);
13int get_expr_register(void);
14void set_expr_line(char_u *new_line);
15char_u *get_expr_line(void);
16char_u *get_expr_line_src(void);
17_Bool valid_yank_reg(int regname, _Bool writing);
18yankreg_T *get_yank_register(int regname, int mode);
19yankreg_T *copy_register(int name) FUNC_ATTR_NONNULL_RET;
20_Bool yank_register_mline(int regname);
21int do_record(int c);
22int do_execreg(int regname, int colon, int addcr, int silent );
23int insert_reg(int regname, int literally );
24_Bool get_spec_reg(int regname, char_u **argp, _Bool *allocated, _Bool errmsg );
25_Bool cmdline_paste_reg(int regname, _Bool literally, _Bool remcr);
26int op_delete(oparg_T *oap);
27int op_replace(oparg_T *oap, int c);
28void op_tilde(oparg_T *oap);
29_Bool swapchar(int op_type, pos_T *pos) FUNC_ATTR_NONNULL_ARG(2);
30void op_insert(oparg_T *oap, long count1);
31int op_change(oparg_T *oap);
32void init_yank(void);
33void free_register(yankreg_T *reg) FUNC_ATTR_NONNULL_ALL;
34_Bool op_yank(oparg_T *oap, _Bool message, int deleting) FUNC_ATTR_NONNULL_ALL;
35void do_put(int regname, yankreg_T *reg, int dir, long count, int flags);
36void adjust_cursor_eol(void);
37int preprocs_left(void);
38int get_register_name(int num);
39void ex_display(exarg_T *eap);
40char_u *skip_comment(char_u *line, _Bool process, _Bool include_space, _Bool *is_comment );
41int do_join(size_t count, int insert_space, int save_undo, int use_formatoptions, _Bool setmark);
42void op_format(oparg_T *oap, int keep_cursor );
43void op_formatexpr(oparg_T *oap);
44int fex_format(linenr_T lnum, long count, int c );
45void format_lines(linenr_T line_count, int avoid_fex );
46int paragraph_start(linenr_T lnum);
47void op_addsub(oparg_T *oap, linenr_T Prenum1, _Bool g_cmd);
48int do_addsub(int op_type, pos_T *pos, int length, linenr_T Prenum1);
49MotionType get_reg_type(int regname, colnr_T *reg_width);
50void format_reg_type(MotionType reg_type, colnr_T reg_width, char *buf, size_t buf_len) FUNC_ATTR_NONNULL_ALL;
51void *get_reg_contents(int regname, int flags);
52void write_reg_contents(int name, const char_u *str, ssize_t len, int must_append);
53void write_reg_contents_lst(int name, char_u **strings, _Bool must_append, MotionType yank_type, colnr_T block_len);
54void write_reg_contents_ex(int name, const char_u *str, ssize_t len, _Bool must_append, MotionType yank_type, colnr_T block_len);
55void clear_oparg(oparg_T *oap);
56void cursor_pos_info(dict_T *dict);
57int get_default_register_name(void);
58_Bool prepare_yankreg_from_object(yankreg_T *reg, String regtype, size_t lines);
59void finish_yankreg_from_object(yankreg_T *reg, _Bool clipboard_adjust);
60void start_batch_changes(void);
61void end_batch_changes(void);
62int save_batch_count(void);
63void restore_batch_count(int save_count);
64const void *op_global_reg_iter(const void *const iter, char *const name, yankreg_T *const reg, _Bool *is_unnamed) FUNC_ATTR_NONNULL_ARG(2, 3, 4) FUNC_ATTR_WARN_UNUSED_RESULT;
65const void *op_reg_iter(const void *const iter, const yankreg_T *const regs, char *const name, yankreg_T *const reg, _Bool *is_unnamed) FUNC_ATTR_NONNULL_ARG(3, 4, 5) FUNC_ATTR_WARN_UNUSED_RESULT;
66size_t op_reg_amount(void) FUNC_ATTR_WARN_UNUSED_RESULT;
67_Bool op_reg_set(const char name, const yankreg_T reg, _Bool is_unnamed);
68const yankreg_T *op_reg_get(const char name);
69_Bool op_reg_set_previous(const char name) FUNC_ATTR_WARN_UNUSED_RESULT;
70#include "nvim/func_attr.h"
71