Mercurial > vim
annotate runtime/plugin/rrhelper.vim @ 33591:288da62613ba v9.0.2040
patch 9.0.2040: trim(): hard to use default mask
Commit: https://github.com/vim/vim/commit/6e6386716f9494ae86027c6d34f657fd03dfec42
Author: Illia Bobyr <illia.bobyr@gmail.com>
Date: Tue Oct 17 11:09:45 2023 +0200
patch 9.0.2040: trim(): hard to use default mask
Problem: trim(): hard to use default mask
Solution: Use default 'mask' when it is v:none
The default 'mask' value is pretty complex, as it includes many
characters. Yet, if one needs to specify the trimming direction, the
third argument, 'trim()' currently requires the 'mask' value to be
provided explicitly.
'v:none' is already used to mean "use the default argument value" in
user defined functions. See |none-function_argument| in help.
closes: #13363
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Illia Bobyr <illia.bobyr@gmail.com>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 17 Oct 2023 11:15:09 +0200 |
parents | f177a6431514 |
children |
rev | line source |
---|---|
7 | 1 " Vim plugin with helper function(s) for --remote-wait |
2 " Maintainer: Flemming Madsen <fma@cci.dk> | |
1623 | 3 " Last Change: 2008 May 29 |
7 | 4 |
5 " Has this already been loaded? | |
2325
f177a6431514
Better implementation of creating the Color Scheme menu. (Juergen Kraemer)
Bram Moolenaar <bram@vim.org>
parents:
1623
diff
changeset
|
6 if exists("loaded_rrhelper") || !has("clientserver") |
7 | 7 finish |
8 endif | |
9 let loaded_rrhelper = 1 | |
10 | |
11 " Setup answers for a --remote-wait client who will assume | |
12 " a SetupRemoteReplies() function in the command server | |
13 | |
2325
f177a6431514
Better implementation of creating the Color Scheme menu. (Juergen Kraemer)
Bram Moolenaar <bram@vim.org>
parents:
1623
diff
changeset
|
14 function SetupRemoteReplies() |
f177a6431514
Better implementation of creating the Color Scheme menu. (Juergen Kraemer)
Bram Moolenaar <bram@vim.org>
parents:
1623
diff
changeset
|
15 let cnt = 0 |
f177a6431514
Better implementation of creating the Color Scheme menu. (Juergen Kraemer)
Bram Moolenaar <bram@vim.org>
parents:
1623
diff
changeset
|
16 let max = argc() |
7 | 17 |
2325
f177a6431514
Better implementation of creating the Color Scheme menu. (Juergen Kraemer)
Bram Moolenaar <bram@vim.org>
parents:
1623
diff
changeset
|
18 let id = expand("<client>") |
f177a6431514
Better implementation of creating the Color Scheme menu. (Juergen Kraemer)
Bram Moolenaar <bram@vim.org>
parents:
1623
diff
changeset
|
19 if id == 0 |
f177a6431514
Better implementation of creating the Color Scheme menu. (Juergen Kraemer)
Bram Moolenaar <bram@vim.org>
parents:
1623
diff
changeset
|
20 return |
f177a6431514
Better implementation of creating the Color Scheme menu. (Juergen Kraemer)
Bram Moolenaar <bram@vim.org>
parents:
1623
diff
changeset
|
21 endif |
f177a6431514
Better implementation of creating the Color Scheme menu. (Juergen Kraemer)
Bram Moolenaar <bram@vim.org>
parents:
1623
diff
changeset
|
22 while cnt < max |
f177a6431514
Better implementation of creating the Color Scheme menu. (Juergen Kraemer)
Bram Moolenaar <bram@vim.org>
parents:
1623
diff
changeset
|
23 " Handle same file from more clients and file being more than once |
f177a6431514
Better implementation of creating the Color Scheme menu. (Juergen Kraemer)
Bram Moolenaar <bram@vim.org>
parents:
1623
diff
changeset
|
24 " on the command line by encoding this stuff in the group name |
f177a6431514
Better implementation of creating the Color Scheme menu. (Juergen Kraemer)
Bram Moolenaar <bram@vim.org>
parents:
1623
diff
changeset
|
25 let uniqueGroup = "RemoteReply_".id."_".cnt |
7 | 26 |
2325
f177a6431514
Better implementation of creating the Color Scheme menu. (Juergen Kraemer)
Bram Moolenaar <bram@vim.org>
parents:
1623
diff
changeset
|
27 " Path separators are always forward slashes for the autocommand pattern. |
f177a6431514
Better implementation of creating the Color Scheme menu. (Juergen Kraemer)
Bram Moolenaar <bram@vim.org>
parents:
1623
diff
changeset
|
28 " Escape special characters with a backslash. |
f177a6431514
Better implementation of creating the Color Scheme menu. (Juergen Kraemer)
Bram Moolenaar <bram@vim.org>
parents:
1623
diff
changeset
|
29 let f = substitute(argv(cnt), '\\', '/', "g") |
f177a6431514
Better implementation of creating the Color Scheme menu. (Juergen Kraemer)
Bram Moolenaar <bram@vim.org>
parents:
1623
diff
changeset
|
30 if exists('*fnameescape') |
f177a6431514
Better implementation of creating the Color Scheme menu. (Juergen Kraemer)
Bram Moolenaar <bram@vim.org>
parents:
1623
diff
changeset
|
31 let f = fnameescape(f) |
f177a6431514
Better implementation of creating the Color Scheme menu. (Juergen Kraemer)
Bram Moolenaar <bram@vim.org>
parents:
1623
diff
changeset
|
32 else |
f177a6431514
Better implementation of creating the Color Scheme menu. (Juergen Kraemer)
Bram Moolenaar <bram@vim.org>
parents:
1623
diff
changeset
|
33 let f = escape(f, " \t\n*?[{`$\\%#'\"|!<") |
f177a6431514
Better implementation of creating the Color Scheme menu. (Juergen Kraemer)
Bram Moolenaar <bram@vim.org>
parents:
1623
diff
changeset
|
34 endif |
f177a6431514
Better implementation of creating the Color Scheme menu. (Juergen Kraemer)
Bram Moolenaar <bram@vim.org>
parents:
1623
diff
changeset
|
35 execute "augroup ".uniqueGroup |
f177a6431514
Better implementation of creating the Color Scheme menu. (Juergen Kraemer)
Bram Moolenaar <bram@vim.org>
parents:
1623
diff
changeset
|
36 execute "autocmd ".uniqueGroup." BufUnload ". f ." call DoRemoteReply('".id."', '".cnt."', '".uniqueGroup."', '". f ."')" |
f177a6431514
Better implementation of creating the Color Scheme menu. (Juergen Kraemer)
Bram Moolenaar <bram@vim.org>
parents:
1623
diff
changeset
|
37 let cnt = cnt + 1 |
f177a6431514
Better implementation of creating the Color Scheme menu. (Juergen Kraemer)
Bram Moolenaar <bram@vim.org>
parents:
1623
diff
changeset
|
38 endwhile |
f177a6431514
Better implementation of creating the Color Scheme menu. (Juergen Kraemer)
Bram Moolenaar <bram@vim.org>
parents:
1623
diff
changeset
|
39 augroup END |
f177a6431514
Better implementation of creating the Color Scheme menu. (Juergen Kraemer)
Bram Moolenaar <bram@vim.org>
parents:
1623
diff
changeset
|
40 endfunc |
7 | 41 |
2325
f177a6431514
Better implementation of creating the Color Scheme menu. (Juergen Kraemer)
Bram Moolenaar <bram@vim.org>
parents:
1623
diff
changeset
|
42 function DoRemoteReply(id, cnt, group, file) |
f177a6431514
Better implementation of creating the Color Scheme menu. (Juergen Kraemer)
Bram Moolenaar <bram@vim.org>
parents:
1623
diff
changeset
|
43 call server2client(a:id, a:cnt) |
f177a6431514
Better implementation of creating the Color Scheme menu. (Juergen Kraemer)
Bram Moolenaar <bram@vim.org>
parents:
1623
diff
changeset
|
44 execute 'autocmd! '.a:group.' BufUnload '.a:file |
f177a6431514
Better implementation of creating the Color Scheme menu. (Juergen Kraemer)
Bram Moolenaar <bram@vim.org>
parents:
1623
diff
changeset
|
45 execute 'augroup! '.a:group |
f177a6431514
Better implementation of creating the Color Scheme menu. (Juergen Kraemer)
Bram Moolenaar <bram@vim.org>
parents:
1623
diff
changeset
|
46 endfunc |
7 | 47 |
48 " vim: set sw=2 sts=2 : |