blob: c9af1b0d617394d9622ddcf0ad23d82446e48946 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001/* charset.c */
Bram Moolenaaref269542016-01-19 13:22:12 +01002int init_chartab(void);
3int buf_init_chartab(buf_T *buf, int global);
Yegappan Lakshmanand2232d72025-03-24 20:36:14 +01004int check_isopt(char_u *var);
Bram Moolenaaref269542016-01-19 13:22:12 +01005void trans_characters(char_u *buf, int bufsize);
6char_u *transstr(char_u *s);
7char_u *str_foldcase(char_u *str, int orglen, char_u *buf, int buflen);
8char_u *transchar(int c);
Bram Moolenaar32ee6272020-06-10 14:16:49 +02009char_u *transchar_buf(buf_T *buf, int c);
Bram Moolenaaref269542016-01-19 13:22:12 +010010char_u *transchar_byte(int c);
cero19881d87e112023-02-16 15:03:12 +000011char_u *transchar_byte_buf(buf_T *buf, int c);
Bram Moolenaar32ee6272020-06-10 14:16:49 +020012void transchar_nonprint(buf_T *buf, char_u *charbuf, int c);
Bram Moolenaaref269542016-01-19 13:22:12 +010013void transchar_hex(char_u *buf, int c);
14int byte2cells(int b);
15int char2cells(int c);
16int ptr2cells(char_u *p);
17int vim_strsize(char_u *s);
18int vim_strnsize(char_u *s, int len);
19int chartabsize(char_u *p, colnr_T col);
zeertzjq61a6ac42024-09-07 11:23:54 +020020int win_chartabsize(win_T *wp, char_u *p, colnr_T col);
Bram Moolenaarc9121f72022-10-14 20:09:04 +010021int linetabsize_str(char_u *s);
Bram Moolenaaref269542016-01-19 13:22:12 +010022int linetabsize_col(int startcol, char_u *s);
Bram Moolenaar7f9969c2022-07-25 18:13:54 +010023int win_linetabsize(win_T *wp, linenr_T lnum, char_u *line, colnr_T len);
Bram Moolenaarc9121f72022-10-14 20:09:04 +010024int linetabsize(win_T *wp, linenr_T lnum);
zeertzjq2c47ab82025-02-13 20:34:34 +010025int linetabsize_eol(win_T *wp, linenr_T lnum);
Dylan Thacker-Smithb2d124c2024-03-24 09:43:25 +010026int linetabsize_no_outer(win_T *wp, linenr_T lnum);
Bram Moolenaar49a90792022-08-09 18:25:23 +010027void win_linetabsize_cts(chartabsize_T *cts, colnr_T len);
Bram Moolenaaref269542016-01-19 13:22:12 +010028int vim_isIDc(int c);
Bram Moolenaare3d1f4c2021-04-06 20:21:59 +020029int vim_isNormalIDc(int c);
Bram Moolenaaref269542016-01-19 13:22:12 +010030int vim_iswordc(int c);
31int vim_iswordc_buf(int c, buf_T *buf);
32int vim_iswordp(char_u *p);
33int vim_iswordp_buf(char_u *p, buf_T *buf);
34int vim_isfilec(int c);
Bram Moolenaarbc49c5f2022-08-04 13:01:48 +010035int vim_is_fname_char(int c);
Bram Moolenaaref269542016-01-19 13:22:12 +010036int vim_isfilec_or_wc(int c);
37int vim_isprintc(int c);
38int vim_isprintc_strict(int c);
Bram Moolenaar7f9969c2022-07-25 18:13:54 +010039void init_chartabsize_arg(chartabsize_T *cts, win_T *wp, linenr_T lnum, colnr_T col, char_u *line, char_u *ptr);
40void clear_chartabsize_arg(chartabsize_T *cts);
41int lbr_chartabsize(chartabsize_T *cts);
42int lbr_chartabsize_adv(chartabsize_T *cts);
43int win_lbr_chartabsize(chartabsize_T *cts, int *headp);
Bram Moolenaaref269542016-01-19 13:22:12 +010044void getvcol(win_T *wp, pos_T *pos, colnr_T *start, colnr_T *cursor, colnr_T *end);
45colnr_T getvcol_nolist(pos_T *posp);
46void getvvcol(win_T *wp, pos_T *pos, colnr_T *start, colnr_T *cursor, colnr_T *end);
47void getvcols(win_T *wp, pos_T *pos1, pos_T *pos2, colnr_T *left, colnr_T *right);
48char_u *skipwhite(char_u *q);
Bram Moolenaarce7eada2021-12-15 15:41:44 +000049char_u *skipwhite_and_nl(char_u *q);
Bram Moolenaare2e69e42017-09-02 20:30:35 +020050int getwhitecols_curline(void);
51int getwhitecols(char_u *p);
Bram Moolenaaref269542016-01-19 13:22:12 +010052char_u *skipdigits(char_u *q);
53char_u *skipbin(char_u *q);
54char_u *skiphex(char_u *q);
55char_u *skiptobin(char_u *q);
56char_u *skiptodigit(char_u *q);
57char_u *skiptohex(char_u *q);
58int vim_isdigit(int c);
59int vim_isxdigit(int c);
60int vim_isbdigit(int c);
61int vim_islower(int c);
62int vim_isupper(int c);
Bram Moolenaar5921aeb2022-02-19 11:20:12 +000063int vim_isalpha(int c);
Bram Moolenaaref269542016-01-19 13:22:12 +010064int vim_toupper(int c);
65int vim_tolower(int c);
66char_u *skiptowhite(char_u *p);
67char_u *skiptowhite_esc(char_u *p);
68long getdigits(char_u **pp);
Bram Moolenaaraf377e32021-11-29 12:12:43 +000069long getdigits_quoted(char_u **pp);
Bram Moolenaaref269542016-01-19 13:22:12 +010070int vim_isblankline(char_u *lbuf);
Bram Moolenaar5fb78c32023-03-04 20:47:39 +000071void vim_str2nr(char_u *start, int *prep, int *len, int what, varnumber_T *nptr, uvarnumber_T *unptr, int maxlen, int strict, int *overflow);
Bram Moolenaaref269542016-01-19 13:22:12 +010072int hex2nr(int c);
73int hexhex2nr(char_u *p);
74int rem_backslash(char_u *str);
75void backslash_halve(char_u *p);
76char_u *backslash_halve_save(char_u *p);
Bram Moolenaar071d4272004-06-13 20:20:40 +000077/* vim: set ft=c : */