1
0
forked from aniani/vim

runtime(vim): Improve heredoc handling for all embedded scripts

* Improve heredoc handling
  - Support "trim" for all the embedded scripts.
  - Check the indent of "trim" for "let" and all the embedded scripts.
* Update missing part of vim.vim.base in the commit
  d164f2a521.
* Update gen_syntax_vim.vim to catch up with 9.1.0685's source code.

closes: #15542

Signed-off-by: K.Takata <kentkt@csc.jp>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Ken Takata
2024-08-22 21:29:39 +02:00
committed by Christian Brabandt
parent 25618fc9ea
commit 95e90781a4
3 changed files with 126 additions and 79 deletions

View File

@@ -2,7 +2,7 @@
" Language: Vim script
" Maintainer: Hirohito Higashi (h_east)
" URL: https://github.com/vim-jp/syntax-vim-ex
" Last Change: 2024 Jul 18
" Last Change: 2024 Aug 21
" Version: 2.1.1
let s:keepcpo= &cpo
@@ -526,15 +526,15 @@ function! s:parse_vim_complete_name(li)
new
exec 'read ' . file_name
norm! gg
exec '/^}\s*command_complete\[\]\s*=\s*$/+1;/^};/-1yank'
exec '/^static keyvalue_T command_complete_tab\[] =$/+1;/^};$/-1yank'
%delete _
put
g!/^\s*{.*"\w\+"\s*}\s*,.*$/d
g!/^\s*KEYVALUE_ENTRY(/d
g/"custom\(list\)\?"/d
for line in getline(1, line('$'))
let list = matchlist(line, '^\s*{.*"\(\w\+\)"\s*}\s*,')
let list = matchlist(line, '^\s*KEYVALUE_ENTRY(EXPAND_\w\+,\s*"\(\w\+\)"')
let item.name = list[1]
call add(a:li, copy(item))
endfor