mirror of
https://github.com/vim/vim
synced 2025-07-16 01:01:58 +00:00
patch 9.1.1341: cannot define completion triggers
Problem: Cannot define completion triggers and act upon it Solution: add the new option 'isexpand' and add the complete_match() function to return the completion matches according to the 'isexpand' setting (glepnir) Currently, completion trigger position is determined solely by the 'iskeyword' pattern (\k\+$), which causes issues when users need different completion behaviors - such as triggering after '/' for comments or '.' for methods. Modifying 'iskeyword' to include these characters has undesirable side effects on other Vim functionality that relies on keyword definitions. Introduce a new buffer-local option 'isexpand' that allows specifying different completion triggers and add the complete_match() function that finds the appropriate start column for completion based on these triggers, scanning backwards from cursor position. This separation of concerns allows customized completion behavior without affecting iskeyword-dependent features. The option's buffer-local nature enables per-filetype completion triggers. closes: #16716 Signed-off-by: glepnir <glephunter@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
32f49738d1
commit
bcd5995b40
@ -2104,6 +2104,8 @@ static funcentry_T global_functions[] =
|
||||
ret_number_bool, f_complete_check},
|
||||
{"complete_info", 0, 1, FEARG_1, arg1_list_string,
|
||||
ret_dict_any, f_complete_info},
|
||||
{"complete_match", 0, 2, 0, NULL,
|
||||
ret_list_any, f_complete_match},
|
||||
{"confirm", 1, 4, FEARG_1, arg4_string_string_number_string,
|
||||
ret_number, f_confirm},
|
||||
{"copy", 1, 1, FEARG_1, NULL,
|
||||
|
Reference in New Issue
Block a user