1#ifndef DEFINE_FUNC_ATTRIBUTES
2# define DEFINE_FUNC_ATTRIBUTES
3#endif
4#include "nvim/func_attr.h"
5#undef DEFINE_FUNC_ATTRIBUTES
6int open_buffer(int read_stdin, exarg_T *eap, int flags );
7void set_bufref(bufref_T *bufref, buf_T *buf);
8_Bool bufref_valid(bufref_T *bufref);
9_Bool buf_valid(buf_T *buf) FUNC_ATTR_PURE FUNC_ATTR_WARN_UNUSED_RESULT;
10void close_buffer(win_T *win, buf_T *buf, int action, int abort_if_last);
11void buf_clear_file(buf_T *buf);
12void buf_clear(void);
13void buf_freeall(buf_T *buf, int flags);
14void goto_buffer(exarg_T *eap, int start, int dir, int count);
15void handle_swap_exists(bufref_T *old_curbuf);
16char_u *do_bufdel(int command, char_u *arg, int addr_count, int start_bnr, int end_bnr, int forceit );
17int do_buffer(int action, int start, int dir, int count, int forceit );
18void set_curbuf(buf_T *buf, int action);
19void enter_buffer(buf_T *buf);
20void do_autochdir(void);
21void no_write_message(void);
22void no_write_message_nobang(void);
23buf_T *buflist_new(char_u *ffname, char_u *sfname, linenr_T lnum, int flags);
24_Bool curbuf_reusable(void);
25void free_buf_options(buf_T *buf, int free_p_ff);
26int buflist_getfile(int n, linenr_T lnum, int options, int forceit);
27void buflist_getfpos(void);
28buf_T *buflist_findname_exp(char_u *fname);
29buf_T *buflist_findname(char_u *ffname);
30int buflist_findpat(const char_u *pattern, const char_u *pattern_end, int unlisted, int diffmode, int curtab_only );
31int ExpandBufnames(char_u *pat, int *num_file, char_u ***file, int options);
32buf_T *buflist_findnr(int nr);
33char_u *buflist_nr2name(int n, int fullname, int helptail );
34void buflist_setfpos(buf_T *const buf, win_T *const win, linenr_T lnum, colnr_T col, _Bool copy_options) FUNC_ATTR_NONNULL_ALL;
35void get_winopts(buf_T *buf);
36pos_T *buflist_findfpos(buf_T *buf);
37linenr_T buflist_findlnum(buf_T *buf);
38void buflist_list(exarg_T *eap);
39int buflist_name_nr(int fnum, char_u **fname, linenr_T *lnum);
40int setfname(buf_T *buf, char_u *ffname, char_u *sfname, int message );
41void buf_set_name(int fnum, char_u *name);
42void buf_name_changed(buf_T *buf);
43buf_T *setaltfname(char_u *ffname, char_u *sfname, linenr_T lnum);
44char_u *getaltfname(_Bool errmsg );
45int buflist_add(char_u *fname, int flags);
46void buflist_altfpos(win_T *win);
47_Bool otherfile(char_u *ffname) FUNC_ATTR_PURE FUNC_ATTR_WARN_UNUSED_RESULT FUNC_ATTR_NONNULL_ALL;
48void buf_set_file_id(buf_T *buf);
49void fileinfo(int fullname, int shorthelp, int dont_truncate );
50void col_print(char_u *buf, size_t buflen, int col, int vcol);
51void maketitle(void);
52void resettitle(void);
53int build_stl_str_hl(win_T *wp, char_u *out, size_t outlen, char_u *fmt, int use_sandbox, char_u fillchar, int maxwidth, struct stl_hlrec *hltab, StlClickRecord *tabtab );
54void get_rel_pos(win_T *wp, char_u *buf, int buflen);
55void fname_expand(buf_T *buf, char_u **ffname, char_u **sfname);
56char_u *alist_name(aentry_T *aep);
57void do_arg_all(int count, int forceit, int keep_tabs );
58void ex_buffer_all(exarg_T *eap);
59void do_modelines(int flags);
60_Bool bt_help(const buf_T *const buf) FUNC_ATTR_PURE FUNC_ATTR_WARN_UNUSED_RESULT;
61_Bool bt_quickfix(const buf_T *const buf) FUNC_ATTR_PURE FUNC_ATTR_WARN_UNUSED_RESULT;
62_Bool bt_terminal(const buf_T *const buf) FUNC_ATTR_PURE FUNC_ATTR_WARN_UNUSED_RESULT;
63_Bool bt_nofile(const buf_T *const buf) FUNC_ATTR_PURE FUNC_ATTR_WARN_UNUSED_RESULT;
64_Bool bt_dontwrite(const buf_T *const buf) FUNC_ATTR_PURE FUNC_ATTR_WARN_UNUSED_RESULT;
65_Bool bt_dontwrite_msg(const buf_T *const buf) FUNC_ATTR_PURE FUNC_ATTR_WARN_UNUSED_RESULT;
66_Bool buf_hide(const buf_T *const buf);
67char_u *buf_spname(buf_T *buf);
68_Bool find_win_for_buf(buf_T *buf, win_T **wp, tabpage_T **tp);
69int buf_signcols(buf_T *buf);
70BufhlLine *bufhl_tree_ref(BufhlInfo *b, linenr_T line, _Bool put);
71int bufhl_add_hl(buf_T *buf, int src_id, int hl_id, linenr_T lnum, colnr_T col_start, colnr_T col_end);
72void bufhl_add_hl_pos_offset(buf_T *buf, int src_id, int hl_id, lpos_T pos_start, lpos_T pos_end, colnr_T offset);
73int bufhl_add_virt_text(buf_T *buf, int src_id, linenr_T lnum, VirtText virt_text);
74void bufhl_clear_line_range(buf_T *buf, int src_id, linenr_T line_start, linenr_T line_end);
75void bufhl_clear_all(buf_T *buf);
76void bufhl_mark_adjust(buf_T *buf, linenr_T line1, linenr_T line2, long amount, long amount_after, _Bool end_temp);
77_Bool bufhl_start_line(buf_T *buf, linenr_T lnum, BufhlLineInfo *info);
78int bufhl_get_attr(BufhlLineInfo *info, colnr_T col);
79void set_buflisted(int on);
80_Bool buf_contents_changed(buf_T *buf) FUNC_ATTR_NONNULL_ALL;
81void wipe_buffer(buf_T *buf, int aucmd );
82void buf_open_scratch(handle_T bufnr, char *bufname);
83#include "nvim/func_attr.h"
84