Mercurial > vim
comparison src/evalfunc.c @ 29318:fcf524e1e97e v9.0.0002
patch 9.0.0002: map functionality outside of map.c
Commit: https://github.com/vim/vim/commit/c207fd2535717030d78f9b92839e5f2ac004cc78
Author: zeertzjq <zeertzjq@outlook.com>
Date: Wed Jun 29 10:37:40 2022 +0100
patch 9.0.0002: map functionality outside of map.c
Problem: Map functionality outside of map.c.
Solution: Move f_hasmapto() to map.c. Rename a function. (closes https://github.com/vim/vim/issues/10611)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 29 Jun 2022 11:45:04 +0200 |
parents | fb375f0c6ea7 |
children | 60977de70684 |
comparison
equal
deleted
inserted
replaced
29317:01ef523fec06 | 29318:fcf524e1e97e |
---|---|
73 static void f_getreginfo(typval_T *argvars, typval_T *rettv); | 73 static void f_getreginfo(typval_T *argvars, typval_T *rettv); |
74 static void f_getregtype(typval_T *argvars, typval_T *rettv); | 74 static void f_getregtype(typval_T *argvars, typval_T *rettv); |
75 static void f_gettagstack(typval_T *argvars, typval_T *rettv); | 75 static void f_gettagstack(typval_T *argvars, typval_T *rettv); |
76 static void f_gettext(typval_T *argvars, typval_T *rettv); | 76 static void f_gettext(typval_T *argvars, typval_T *rettv); |
77 static void f_haslocaldir(typval_T *argvars, typval_T *rettv); | 77 static void f_haslocaldir(typval_T *argvars, typval_T *rettv); |
78 static void f_hasmapto(typval_T *argvars, typval_T *rettv); | |
79 static void f_hlID(typval_T *argvars, typval_T *rettv); | 78 static void f_hlID(typval_T *argvars, typval_T *rettv); |
80 static void f_hlexists(typval_T *argvars, typval_T *rettv); | 79 static void f_hlexists(typval_T *argvars, typval_T *rettv); |
81 static void f_hostname(typval_T *argvars, typval_T *rettv); | 80 static void f_hostname(typval_T *argvars, typval_T *rettv); |
82 static void f_index(typval_T *argvars, typval_T *rettv); | 81 static void f_index(typval_T *argvars, typval_T *rettv); |
83 static void f_input(typval_T *argvars, typval_T *rettv); | 82 static void f_input(typval_T *argvars, typval_T *rettv); |
6652 else | 6651 else |
6653 rettv->vval.v_number = 0; | 6652 rettv->vval.v_number = 0; |
6654 } | 6653 } |
6655 | 6654 |
6656 /* | 6655 /* |
6657 * "hasmapto()" function | |
6658 */ | |
6659 static void | |
6660 f_hasmapto(typval_T *argvars, typval_T *rettv) | |
6661 { | |
6662 char_u *name; | |
6663 char_u *mode; | |
6664 char_u buf[NUMBUFLEN]; | |
6665 int abbr = FALSE; | |
6666 | |
6667 if (in_vim9script() | |
6668 && (check_for_string_arg(argvars, 0) == FAIL | |
6669 || check_for_opt_string_arg(argvars, 1) == FAIL | |
6670 || (argvars[1].v_type != VAR_UNKNOWN | |
6671 && check_for_opt_bool_arg(argvars, 2) == FAIL))) | |
6672 return; | |
6673 | |
6674 name = tv_get_string(&argvars[0]); | |
6675 if (argvars[1].v_type == VAR_UNKNOWN) | |
6676 mode = (char_u *)"nvo"; | |
6677 else | |
6678 { | |
6679 mode = tv_get_string_buf(&argvars[1], buf); | |
6680 if (argvars[2].v_type != VAR_UNKNOWN) | |
6681 abbr = (int)tv_get_bool(&argvars[2]); | |
6682 } | |
6683 | |
6684 if (map_to_exists(name, mode, abbr)) | |
6685 rettv->vval.v_number = TRUE; | |
6686 else | |
6687 rettv->vval.v_number = FALSE; | |
6688 } | |
6689 | |
6690 /* | |
6691 * "highlightID(name)" function | 6656 * "highlightID(name)" function |
6692 */ | 6657 */ |
6693 static void | 6658 static void |
6694 f_hlID(typval_T *argvars, typval_T *rettv) | 6659 f_hlID(typval_T *argvars, typval_T *rettv) |
6695 { | 6660 { |