mirror of
https://github.com/vim/vim.git
synced 2025-09-27 04:14:06 -04: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
@@ -3302,6 +3302,7 @@ struct file_buffer
|
||||
char_u *b_p_fo; // 'formatoptions'
|
||||
char_u *b_p_flp; // 'formatlistpat'
|
||||
int b_p_inf; // 'infercase'
|
||||
char_u *b_p_ise; // 'isexpand' local value
|
||||
char_u *b_p_isk; // 'iskeyword'
|
||||
#ifdef FEAT_FIND_ID
|
||||
char_u *b_p_def; // 'define' local value
|
||||
|
Reference in New Issue
Block a user