Mercurial > vim
annotate .appveyor.yml @ 33399:95db67c7b754 v9.0.1958
patch 9.0.1958: cannot complete option values
Commit: https://github.com/vim/vim/commit/900894b09a95398dfc75599e9f0aa2ea25723384
Author: Yee Cheng Chin <ychin.git@gmail.com>
Date: Fri Sep 29 20:42:32 2023 +0200
patch 9.0.1958: cannot complete option values
Problem: cannot complete option values
Solution: Add completion functions for several options
Add cmdline tab-completion for setting string options
Add tab-completion for setting string options on the cmdline using
`:set=` (along with `:set+=` and `:set-=`).
The existing tab completion for setting options currently only works
when nothing is typed yet, and it only fills in with the existing value,
e.g. when the user does `:set diffopt=<Tab>` it will be completed to
`set diffopt=internal,filler,closeoff` and nothing else. This isn't too
useful as a user usually wants auto-complete to suggest all the possible
values, such as 'iblank', or 'algorithm:patience'.
For set= and set+=, this adds a new optional callback function for each
option that can be invoked when doing completion. This allows for each
option to have control over how completion works. For example, in
'diffopt', it will suggest the default enumeration, but if `algorithm:`
is selected, it will further suggest different algorithm types like
'meyers' and 'patience'. When using set=, the existing option value will
be filled in as the first choice to preserve the existing behavior. When
using set+= this won't happen as it doesn't make sense.
For flag list options (e.g. 'mouse' and 'guioptions'), completion will
take into account existing typed values (and in the case of set+=, the
existing option value) to make sure it doesn't suggest duplicates.
For set-=, there is a new `ExpandSettingSubtract` function which will
handle flag list and comma-separated options smartly, by only suggesting
values that currently exist in the option.
Note that Vim has some existing code that adds special handling for
'filetype', 'syntax', and misc dir options like 'backupdir'. This change
preserves them as they already work, instead of converting to the new
callback API for each option.
closes: #13182
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Fri, 29 Sep 2023 20:45:04 +0200 |
parents | 0c7d833308c7 |
children | 93c715c63a4a |
rev | line source |
---|---|
7121
a497a9868255
commit https://github.com/vim/vim/commit/0600f3511c6018cbcdb170a904bcf6533a06bf2d
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1 version: "{build}" |
a497a9868255
commit https://github.com/vim/vim/commit/0600f3511c6018cbcdb170a904bcf6533a06bf2d
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
2 |
31716
9dd5bc4f2783
patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents:
31690
diff
changeset
|
3 image: Visual Studio 2015 |
31628
238f424acc6c
patch 9.0.1146: MS-Windows: various special keys/modifiers are not mappable
Bram Moolenaar <Bram@vim.org>
parents:
31561
diff
changeset
|
4 |
8244
acc8029e530f
commit https://github.com/vim/vim/commit/84f4996d2ab2982006d79ee69df4688c966bf8e8
Christian Brabandt <cb@256bit.org>
parents:
8242
diff
changeset
|
5 skip_tags: true |
acc8029e530f
commit https://github.com/vim/vim/commit/84f4996d2ab2982006d79ee69df4688c966bf8e8
Christian Brabandt <cb@256bit.org>
parents:
8242
diff
changeset
|
6 |
8242
1313d2e282dc
commit https://github.com/vim/vim/commit/81275ca9ce3059148fdb65dff29f7ecdbca446fb
Christian Brabandt <cb@256bit.org>
parents:
7370
diff
changeset
|
7 environment: |
1313d2e282dc
commit https://github.com/vim/vim/commit/81275ca9ce3059148fdb65dff29f7ecdbca446fb
Christian Brabandt <cb@256bit.org>
parents:
7370
diff
changeset
|
8 matrix: |
1313d2e282dc
commit https://github.com/vim/vim/commit/81275ca9ce3059148fdb65dff29f7ecdbca446fb
Christian Brabandt <cb@256bit.org>
parents:
7370
diff
changeset
|
9 - FEATURE: HUGE |
31716
9dd5bc4f2783
patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents:
31690
diff
changeset
|
10 |
9dd5bc4f2783
patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents:
31690
diff
changeset
|
11 # Alternate environments, not used right now. 2022 is a lot slower. |
9dd5bc4f2783
patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents:
31690
diff
changeset
|
12 # |
9dd5bc4f2783
patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents:
31690
diff
changeset
|
13 # - job_name: VS-2015 |
9dd5bc4f2783
patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents:
31690
diff
changeset
|
14 # appveyor_build_worker_image: Visual Studio 2015 |
9dd5bc4f2783
patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents:
31690
diff
changeset
|
15 # FEATURE: HUGE |
9dd5bc4f2783
patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents:
31690
diff
changeset
|
16 |
9dd5bc4f2783
patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents:
31690
diff
changeset
|
17 # - job_name: VS-2017 |
9dd5bc4f2783
patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents:
31690
diff
changeset
|
18 # appveyor_build_worker_image: Visual Studio 2017 |
9dd5bc4f2783
patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents:
31690
diff
changeset
|
19 # FEATURE: HUGE |
9dd5bc4f2783
patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents:
31690
diff
changeset
|
20 |
9dd5bc4f2783
patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents:
31690
diff
changeset
|
21 # - job_name: VS-2019 |
9dd5bc4f2783
patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents:
31690
diff
changeset
|
22 # appveyor_build_worker_image: Visual Studio 2019 |
9dd5bc4f2783
patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents:
31690
diff
changeset
|
23 # FEATURE: HUGE |
9dd5bc4f2783
patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents:
31690
diff
changeset
|
24 |
9dd5bc4f2783
patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents:
31690
diff
changeset
|
25 # - job_name: VS-2022 |
9dd5bc4f2783
patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents:
31690
diff
changeset
|
26 # appveyor_build_worker_image: Visual Studio 2022 |
9dd5bc4f2783
patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents:
31690
diff
changeset
|
27 # FEATURE: HUGE |
9dd5bc4f2783
patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents:
31690
diff
changeset
|
28 |
8242
1313d2e282dc
commit https://github.com/vim/vim/commit/81275ca9ce3059148fdb65dff29f7ecdbca446fb
Christian Brabandt <cb@256bit.org>
parents:
7370
diff
changeset
|
29 # disabled |
1313d2e282dc
commit https://github.com/vim/vim/commit/81275ca9ce3059148fdb65dff29f7ecdbca446fb
Christian Brabandt <cb@256bit.org>
parents:
7370
diff
changeset
|
30 # - FEATURE: TINY |
21534
69a59cc69519
patch 8.2.1317: MS-Windows tests on AppVeyor are slow
Bram Moolenaar <Bram@vim.org>
parents:
19663
diff
changeset
|
31 # - FEATURE: NORMAL |
8242
1313d2e282dc
commit https://github.com/vim/vim/commit/81275ca9ce3059148fdb65dff29f7ecdbca446fb
Christian Brabandt <cb@256bit.org>
parents:
7370
diff
changeset
|
32 # - FEATURE: BIG |
1313d2e282dc
commit https://github.com/vim/vim/commit/81275ca9ce3059148fdb65dff29f7ecdbca446fb
Christian Brabandt <cb@256bit.org>
parents:
7370
diff
changeset
|
33 |
1313d2e282dc
commit https://github.com/vim/vim/commit/81275ca9ce3059148fdb65dff29f7ecdbca446fb
Christian Brabandt <cb@256bit.org>
parents:
7370
diff
changeset
|
34 matrix: |
1313d2e282dc
commit https://github.com/vim/vim/commit/81275ca9ce3059148fdb65dff29f7ecdbca446fb
Christian Brabandt <cb@256bit.org>
parents:
7370
diff
changeset
|
35 fast_finish: true |
7252
1b591fcf2517
commit https://github.com/vim/vim/commit/7487792ab14c1fb8dbdb37bdd74265d8b1d3be50
Christian Brabandt <cb@256bit.org>
parents:
7121
diff
changeset
|
36 |
7121
a497a9868255
commit https://github.com/vim/vim/commit/0600f3511c6018cbcdb170a904bcf6533a06bf2d
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
37 before_build: |
31690
52232e3ff22f
patch 9.0.1177: AppVeyor uses some older tools
Bram Moolenaar <Bram@vim.org>
parents:
31628
diff
changeset
|
38 - call ver |
31748
0c7d833308c7
patch 9.0.1206: testing with Python on AppVeyor does not work properly
Bram Moolenaar <Bram@vim.org>
parents:
31716
diff
changeset
|
39 - ci\appveyor.bat install |
7121
a497a9868255
commit https://github.com/vim/vim/commit/0600f3511c6018cbcdb170a904bcf6533a06bf2d
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
40 |
a497a9868255
commit https://github.com/vim/vim/commit/0600f3511c6018cbcdb170a904bcf6533a06bf2d
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
41 build_script: |
31748
0c7d833308c7
patch 9.0.1206: testing with Python on AppVeyor does not work properly
Bram Moolenaar <Bram@vim.org>
parents:
31716
diff
changeset
|
42 - ci\appveyor.bat build |
7121
a497a9868255
commit https://github.com/vim/vim/commit/0600f3511c6018cbcdb170a904bcf6533a06bf2d
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
43 |
a497a9868255
commit https://github.com/vim/vim/commit/0600f3511c6018cbcdb170a904bcf6533a06bf2d
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
44 test_script: |
31748
0c7d833308c7
patch 9.0.1206: testing with Python on AppVeyor does not work properly
Bram Moolenaar <Bram@vim.org>
parents:
31716
diff
changeset
|
45 - ci\appveyor.bat test |
8242
1313d2e282dc
commit https://github.com/vim/vim/commit/81275ca9ce3059148fdb65dff29f7ecdbca446fb
Christian Brabandt <cb@256bit.org>
parents:
7370
diff
changeset
|
46 |
31561
e24772b8fbc9
patch 9.0.1113: users cannot easily try out a PR
Bram Moolenaar <Bram@vim.org>
parents:
30645
diff
changeset
|
47 artifacts: |
e24772b8fbc9
patch 9.0.1113: users cannot easily try out a PR
Bram Moolenaar <Bram@vim.org>
parents:
30645
diff
changeset
|
48 - path: src/vim.exe |
e24772b8fbc9
patch 9.0.1113: users cannot easily try out a PR
Bram Moolenaar <Bram@vim.org>
parents:
30645
diff
changeset
|
49 name: vim |
e24772b8fbc9
patch 9.0.1113: users cannot easily try out a PR
Bram Moolenaar <Bram@vim.org>
parents:
30645
diff
changeset
|
50 - path: src/gvim.exe |
e24772b8fbc9
patch 9.0.1113: users cannot easily try out a PR
Bram Moolenaar <Bram@vim.org>
parents:
30645
diff
changeset
|
51 name: gvim |
e24772b8fbc9
patch 9.0.1113: users cannot easily try out a PR
Bram Moolenaar <Bram@vim.org>
parents:
30645
diff
changeset
|
52 |
10080
e836872c2a4c
commit https://github.com/vim/vim/commit/dd905a2ae14bf2ee59a068f1c3acbca1ff0b7067
Christian Brabandt <cb@256bit.org>
parents:
8244
diff
changeset
|
53 # vim: sw=2 sts=2 et ts=8 sr |