blob: fce9199188244b207cd1a8234d9601923f7c129f [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001/* option.c */
Bram Moolenaar07268702018-03-01 21:57:32 +01002void set_init_1(int clean_arg);
Bram Moolenaar5ffefbb2021-06-13 20:27:36 +02003void set_fencs_unicode(void);
Bram Moolenaaref269542016-01-19 13:22:12 +01004void set_string_default(char *name, char_u *val);
5void set_number_default(char *name, long val);
Bram Moolenaar46451042019-08-24 15:50:46 +02006void set_local_options_default(win_T *wp, int do_buffer);
Bram Moolenaaref269542016-01-19 13:22:12 +01007void free_all_options(void);
8void set_init_2(void);
9void set_init_3(void);
10void set_helplang_default(char_u *lang);
Bram Moolenaaref269542016-01-19 13:22:12 +010011void set_title_defaults(void);
Bram Moolenaar6b915c02020-01-18 15:53:19 +010012void ex_set(exarg_T *eap);
Yegappan Lakshmanan777175b2021-11-18 22:08:57 +000013int do_set(char_u *arg_start, int opt_flags);
Bram Moolenaardac13472019-09-16 21:06:21 +020014void did_set_option(int opt_idx, int opt_flags, int new_value, int value_checked);
Bram Moolenaardbe948d2017-07-23 22:50:51 +020015int string_to_key(char_u *arg, int multi_byte);
Bram Moolenaardac13472019-09-16 21:06:21 +020016void did_set_title(void);
Bram Moolenaaref269542016-01-19 13:22:12 +010017void set_options_bin(int oldval, int newval, int opt_flags);
Bram Moolenaaref269542016-01-19 13:22:12 +010018void check_options(void);
Bram Moolenaar35bc7d62018-10-02 14:45:10 +020019int get_term_opt_idx(char_u **p);
20int set_term_option_alloced(char_u **p);
Bram Moolenaaref269542016-01-19 13:22:12 +010021int was_set_insecurely(char_u *opt, int opt_flags);
Bram Moolenaardac13472019-09-16 21:06:21 +020022void redraw_titles(void);
Bram Moolenaare677df82019-09-02 22:31:11 +020023int valid_name(char_u *val, char *allowed);
Bram Moolenaardac13472019-09-16 21:06:21 +020024void set_option_sctx_idx(int opt_idx, int opt_flags, sctx_T script_ctx);
Bram Moolenaar5600a702022-01-22 15:09:36 +000025sctx_T *get_option_sctx(char *name);
Bram Moolenaar35bc7d62018-10-02 14:45:10 +020026void set_term_option_sctx_idx(char *name, int opt_idx);
Yegappan Lakshmanan5284b232023-03-04 19:57:32 +000027char *did_set_arabic(optset_T *args);
28char *did_set_autochdir(optset_T *args);
Yegappan Lakshmananaf936912023-02-20 12:16:39 +000029char *did_set_ballooneval(optset_T *args);
30char *did_set_balloonevalterm(optset_T *args);
Yegappan Lakshmanan5284b232023-03-04 19:57:32 +000031char *did_set_binary(optset_T *args);
Yegappan Lakshmanan5284b232023-03-04 19:57:32 +000032char *did_set_buflisted(optset_T *args);
33char *did_set_cmdheight(optset_T *args);
34char *did_set_compatible(optset_T *args);
35char *did_set_conceallevel(optset_T *args);
Yegappan Lakshmananaf936912023-02-20 12:16:39 +000036char *did_set_diff(optset_T *args);
Yegappan Lakshmanan5284b232023-03-04 19:57:32 +000037char *did_set_eof_eol_fixeol_bomb(optset_T *args);
38char *did_set_equalalways(optset_T *args);
39char *did_set_foldcolumn(optset_T *args);
Yegappan Lakshmananaf936912023-02-20 12:16:39 +000040char *did_set_foldlevel(optset_T *args);
41char *did_set_foldminlines(optset_T *args);
42char *did_set_foldnestmax(optset_T *args);
Yegappan Lakshmanan5284b232023-03-04 19:57:32 +000043char *did_set_hlsearch(optset_T *args);
44char *did_set_ignorecase(optset_T *args);
45char *did_set_imdisable(optset_T *args);
Yegappan Lakshmananaf936912023-02-20 12:16:39 +000046char *did_set_iminsert(optset_T *args);
Yegappan Lakshmananaf936912023-02-20 12:16:39 +000047char *did_set_imsearch(optset_T *args);
Yegappan Lakshmanan5284b232023-03-04 19:57:32 +000048char *did_set_imstyle(optset_T *args);
49char *did_set_insertmode(optset_T *args);
50char *did_set_langnoremap(optset_T *args);
51char *did_set_langremap(optset_T *args);
52char *did_set_laststatus(optset_T *args);
53char *did_set_linespace(optset_T *args);
54char *did_set_lisp(optset_T *args);
55char *did_set_maxcombine(optset_T *args);
56char *did_set_modifiable(optset_T *args);
57char *did_set_modified(optset_T *args);
58char *did_set_mousehide(optset_T *args);
59char *did_set_number_relativenumber(optset_T *args);
Yegappan Lakshmananaf936912023-02-20 12:16:39 +000060char *did_set_numberwidth(optset_T *args);
Yegappan Lakshmanan5284b232023-03-04 19:57:32 +000061char *did_set_paste(optset_T *args);
62char *did_set_previewwindow(optset_T *args);
63char *did_set_pyxversion(optset_T *args);
64char *did_set_readonly(optset_T *args);
65char *did_set_scrollbind(optset_T *args);
66char *did_set_shellslash(optset_T *args);
67char *did_set_shiftwidth_tabstop(optset_T *args);
68char *did_set_showtabline(optset_T *args);
69char *did_set_smoothscroll(optset_T *args);
70char *did_set_spell(optset_T *args);
71char *did_set_swapfile(optset_T *args);
LemonBoy5247b0b2024-07-12 19:30:58 +020072char *did_set_tabclose(optset_T *args);
Yegappan Lakshmanan5284b232023-03-04 19:57:32 +000073char *did_set_termguicolors(optset_T *args);
Milly6d5f4a02024-10-22 23:17:45 +020074char *did_set_termwinscroll(optset_T *args);
Yegappan Lakshmanan5284b232023-03-04 19:57:32 +000075char *did_set_terse(optset_T *args);
76char *did_set_textauto(optset_T *args);
77char *did_set_textmode(optset_T *args);
Yegappan Lakshmananaf936912023-02-20 12:16:39 +000078char *did_set_textwidth(optset_T *args);
Yegappan Lakshmanan5284b232023-03-04 19:57:32 +000079char *did_set_title_icon(optset_T *args);
80char *did_set_titlelen(optset_T *args);
81char *did_set_undofile(optset_T *args);
Yegappan Lakshmananaf936912023-02-20 12:16:39 +000082char *did_set_undolevels(optset_T *args);
Yegappan Lakshmanan5284b232023-03-04 19:57:32 +000083char *did_set_updatecount(optset_T *args);
84char *did_set_weirdinvert(optset_T *args);
Yee Cheng Chin8f4fb002023-10-17 10:06:56 +020085char *did_set_wildchar(optset_T *args);
Yegappan Lakshmanan5284b232023-03-04 19:57:32 +000086char *did_set_window(optset_T *args);
87char *did_set_winheight_helpheight(optset_T *args);
88char *did_set_winminheight(optset_T *args);
89char *did_set_winminwidth(optset_T *args);
90char *did_set_winwidth(optset_T *args);
91char *did_set_wrap(optset_T *args);
Bram Moolenaardac13472019-09-16 21:06:21 +020092void check_redraw(long_u flags);
93int findoption(char_u *arg);
Yegappan Lakshmanan64095532021-12-06 11:03:55 +000094getoption_T get_option_value(char_u *name, long *numval, char_u **stringval, int *flagsp, int scope);
Bram Moolenaaref269542016-01-19 13:22:12 +010095int get_option_value_strict(char_u *name, long *numval, char_u **stringval, int opt_type, void *from);
Bram Moolenaar010ee962019-09-25 20:37:36 +020096char_u *option_iter_next(void **option, int opt_type);
Bram Moolenaardac13472019-09-16 21:06:21 +020097long_u get_option_flags(int opt_idx);
98void set_option_flag(int opt_idx, long_u flag);
Bram Moolenaardac13472019-09-16 21:06:21 +020099int is_global_option(int opt_idx);
100int is_global_local_option(int opt_idx);
101int is_window_local_option(int opt_idx);
102int is_hidden_option(int opt_idx);
103int is_crypt_key_option(int opt_idx);
Bram Moolenaarf9e3e092019-01-13 23:38:42 +0100104char *set_option_value(char_u *name, long number, char_u *string, int opt_flags);
Bram Moolenaar31e5c602022-04-15 13:53:33 +0100105void set_option_value_give_err(char_u *name, long number, char_u *string, int opt_flags);
Bram Moolenaaref269542016-01-19 13:22:12 +0100106char_u *get_term_code(char_u *tname);
107char_u *get_highlight_default(void);
108char_u *get_encoding_default(void);
Bram Moolenaar4791fcd2022-02-23 12:06:00 +0000109int is_option_allocated(char *name);
Bram Moolenaaref269542016-01-19 13:22:12 +0100110int makeset(FILE *fd, int opt_flags, int local_only);
111int makefoldset(FILE *fd);
112void clear_termoptions(void);
113void free_termoptions(void);
114void free_one_termoption(char_u *var);
115void set_term_defaults(void);
Bram Moolenaardac13472019-09-16 21:06:21 +0200116int istermoption_idx(int opt_idx);
Bram Moolenaaref269542016-01-19 13:22:12 +0100117void unset_global_local_option(char_u *name, void *from);
Yegappan Lakshmanan64095532021-12-06 11:03:55 +0000118char_u *get_option_varp_scope(int opt_idx, int scope);
Bram Moolenaardac13472019-09-16 21:06:21 +0200119char_u *get_option_var(int opt_idx);
120char_u *get_option_fullname(int opt_idx);
Yegappan Lakshmananaf936912023-02-20 12:16:39 +0000121opt_did_set_cb_T get_option_did_set_cb(int opt_idx);
Bram Moolenaaref269542016-01-19 13:22:12 +0100122char_u *get_equalprg(void);
Yegappan Lakshmananaeb1c972024-10-22 23:42:20 +0200123char_u *get_findexpr(void);
Bram Moolenaaref269542016-01-19 13:22:12 +0100124void win_copy_options(win_T *wp_from, win_T *wp_to);
Bram Moolenaar010ee962019-09-25 20:37:36 +0200125void after_copy_winopt(win_T *wp);
Bram Moolenaaref269542016-01-19 13:22:12 +0100126void copy_winopt(winopt_T *from, winopt_T *to);
Bram Moolenaaref269542016-01-19 13:22:12 +0100127void clear_winopt(winopt_T *wop);
128void buf_copy_options(buf_T *buf, int flags);
129void reset_modifiable(void);
130void set_iminsert_global(void);
131void set_imsearch_global(void);
132void set_context_in_set_cmd(expand_T *xp, char_u *arg, int opt_flags);
Bram Moolenaard21e5bd2022-06-27 22:52:43 +0100133int ExpandSettings(expand_T *xp, regmatch_T *regmatch, char_u *fuzzystr, int *numMatches, char_u ***matches, int can_fuzzy);
zeertzjqb0d45ec2023-01-25 15:04:22 +0000134int ExpandOldSetting(int *numMatches, char_u ***matches);
Yee Cheng Chin900894b2023-09-29 20:42:32 +0200135int ExpandStringSetting(expand_T *xp, regmatch_T *regmatch, int *numMatches, char_u ***matches);
136int ExpandSettingSubtract(expand_T *xp, regmatch_T *regmatch, int *numMatches, char_u ***matches);
Bram Moolenaaref269542016-01-19 13:22:12 +0100137int shortmess(int x);
138void vimrc_found(char_u *fname, char_u *envname);
139void change_compatible(int on);
140int option_was_set(char_u *name);
Bram Moolenaarfe8ef982018-09-13 20:31:54 +0200141int reset_option_was_set(char_u *name);
Bram Moolenaaref269542016-01-19 13:22:12 +0100142int can_bs(int what);
Bram Moolenaar375e3392019-01-31 18:26:10 +0100143long get_scrolloff_value(void);
144long get_sidescrolloff_value(void);
zeertzjqaa925ee2024-06-09 18:24:05 +0200145unsigned int get_bkc_flags(buf_T *buf);
Christian Brabandtc53b4672022-01-15 10:01:05 +0000146char_u *get_flp_value(buf_T *buf);
Gary Johnson53ba05b2021-07-26 22:19:10 +0200147unsigned int get_ve_flags(void);
Bram Moolenaaree857022019-11-09 23:26:40 +0100148char_u *get_showbreak_value(win_T *win);
Bram Moolenaarb5ae48e2016-08-12 22:23:25 +0200149dict_T *get_winbuf_options(int bufopt);
Bram Moolenaardac13472019-09-16 21:06:21 +0200150int fill_culopt_flags(char_u *val, win_T *wp);
Bram Moolenaarf4e20992020-12-21 19:59:08 +0100151int magic_isset(void);
Yegappan Lakshmanan777175b2021-11-18 22:08:57 +0000152int option_set_callback_func(char_u *optval, callback_T *optcb);
Bram Moolenaar071d4272004-06-13 20:20:40 +0000153/* vim: set ft=c : */