Skip to content

Commit c02a4bf

Browse files
authored
Update vim docs
1 parent 8ff409b commit c02a4bf

File tree

1 file changed

+60
-79
lines changed

1 file changed

+60
-79
lines changed

doc/youcompleteme.txt

Lines changed: 60 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -1874,33 +1874,12 @@ be:
18741874
\ }
18751875
\ ]
18761876
<
1877-
Each dictionary contains the following keys:
1877+
Each dictionary contains the following keys: 'name', 'cmdline', 'port',
1878+
'filetypes', 'capabilities', 'project_root_files', 'additional_workspace_dirs',
1879+
'triggerCharacters', and 'settings'. The full description of each key can be
1880+
found in the ycmd [79] repository.
18781881

1879-
- 'name' (string, mandatory): When configuring a LSP server the value of the
1880-
'name' key will be used as the "kwargs[ 'language' ]". Can be anything you
1881-
like.
1882-
1883-
- 'filetypes' (list of string, mandatory): List of Vim filetypes this server
1884-
should be used for.
1885-
1886-
- 'project_root_files' (list of string, optional): List of filenames to
1887-
search for when trying to determine the project's root. Uses python's
1888-
pathlib for glob matching.
1889-
1890-
- 'cmdline' (list of strings, optional): If supplied, the server is started
1891-
with this command line (each list element is a command line word).
1892-
Typically, the server should be started with STDIO communication. If not
1893-
supplied, 'port' must be supplied.
1894-
1895-
- 'port' (number, optional): If supplied, ycmd will connect to the server at
1896-
'localhost:<port>' using TCP (remote servers are not supported).
1897-
1898-
- 'capabilities' (dict, optional): If supplied, this is a dictionary that is
1899-
merged with the LSP client capabilities reported to the language server.
1900-
This can be used to enable or disable certain features, such as the support
1901-
for configuration sections ('workspace/configuration').
1902-
1903-
See the LSP Examples [79] project for more examples of configuring the likes of
1882+
See the LSP Examples [80] project for more examples of configuring the likes of
19041883
PHP, Ruby, Kotlin, and D.
19051884

19061885
-------------------------------------------------------------------------------
@@ -1952,7 +1931,7 @@ semantic completions if it does not have a native semantic completion engine
19521931
for your file's filetype. Vim comes with rudimentary omnifuncs for various
19531932
languages like Ruby, PHP, etc. It depends on the language.
19541933

1955-
You can get a stellar omnifunc for Ruby with Eclim [80]. Just make sure you
1934+
You can get a stellar omnifunc for Ruby with Eclim [81]. Just make sure you
19561935
have the _latest_ Eclim installed and configured (this means Eclim '>= 2.2.*'
19571936
and Eclipse '>= 4.2.*').
19581937

@@ -1969,7 +1948,7 @@ Writing New Semantic Completers ~
19691948

19701949
You have two options here: writing an 'omnifunc' for Vim's omnicomplete system
19711950
that YCM will then use through its omni-completer, or a custom completer for
1972-
YCM using the Completer API [81].
1951+
YCM using the Completer API [82].
19731952

19741953
Here are the differences between the two approaches:
19751954

@@ -1988,7 +1967,7 @@ Here are the differences between the two approaches:
19881967
than VimScript.
19891968

19901969
If you want to use the 'omnifunc' system, see the relevant Vim docs with ':h
1991-
complete-functions'. For the Completer API, see the API docs [81].
1970+
complete-functions'. For the Completer API, see the API docs [82].
19921971

19931972
If you want to upstream your completer into YCM's source, you should use the
19941973
Completer API.
@@ -2039,7 +2018,7 @@ current file in Vim's 'locationlist', which can be opened with the ':lopen' and
20392018
':lclose' commands (make sure you have set 'let
20402019
g:ycm_always_populate_location_list = 1' in your vimrc). A good way to toggle
20412020
the display of the 'locationlist' with a single key mapping is provided by
2042-
another (very small) Vim plugin called ListToggle [82] (which also makes it
2021+
another (very small) Vim plugin called ListToggle [83] (which also makes it
20432022
possible to change the height of the 'locationlist' window), also written by
20442023
yours truly.
20452024

@@ -2097,7 +2076,7 @@ supported.
20972076

20982077
Here's a quick demo:
20992078

2100-
Image: asciicast [83]
2079+
Image: asciicast [84]
21012080

21022081
As you can see, you can type and YCM filters down the list as you type. The
21032082
current set of matches are displayed in a popup window in the centre of the
@@ -2163,7 +2142,7 @@ are supported:
21632142
- Call hierarchy '<Plug>(YCMCallHierarchy)': Display callees and callers of
21642143
the symbol under cursor. Expand down to callers and up to callees.
21652144

2166-
Take a look at this Image: asciicast [85] for brief demo.
2145+
Take a look at this Image: asciicast [86] for brief demo.
21672146

21682147
Hierarchy UI can be initiated by mapping something to the indicated plug
21692148
mappings, for example:
@@ -2173,7 +2152,8 @@ mappings, for example:
21732152
<
21742153
This opens a "modal" popup showing the current element in the hierarchy tree.
21752154
The current tree root is aligned to the left and child and parent nodes are
2176-
expanded to the right. Expand the tree "down" with '<Tab> and "up" with'`.
2155+
expanded to the right. Expand the tree "down" with '<Tab>' and "up" with
2156+
'<S-Tab>'.
21772157

21782158
The "root" of the tree can be re-focused to the selected item with '<S-Tab>'
21792159
and further '<S-Tab>' will show the parents of the selected item. This can take
@@ -2591,7 +2571,7 @@ such as missing trailing semi-colons, spurious characters, or other errors
25912571
which the semantic engine can deterministically suggest corrections. A small
25922572
demo presenting how diagnostics can be fixed with clangd:
25932573

2594-
Image: YcmCompleter-FixIt-OnDiagnostic (see reference [87])
2574+
Image: YcmCompleter-FixIt-OnDiagnostic (see reference [88])
25952575

25962576
Completers (LSPs) may also provide refactoring tweaks, which may be available
25972577
even when no diagnostic is presented for the current line. These include
@@ -2600,7 +2580,7 @@ generation, ... The tweaks work for a selection as well. Consult your LSP for
26002580
available refactorings. A demonstration of refactoring capabilities with
26012581
clangd:
26022582

2603-
Image: YouCompleter-FixIt-Refactoring (see reference [88])
2583+
Image: YouCompleter-FixIt-Refactoring (see reference [89])
26042584

26052585
If no fix-it is available for the current line, or there is no diagnostic on
26062586
the current line, this command has no effect on the current buffer. If any
@@ -2646,7 +2626,7 @@ The following additional commands are supported for Python:
26462626
- 'RefactorExtractVariable'
26472627
- 'RefactorExtractFunction'
26482628

2649-
See the jedi docs [89] for what they do.
2629+
See the jedi docs [90] for what they do.
26502630

26512631
Supported in filetypes: 'python'
26522632

@@ -2721,7 +2701,7 @@ server-specific commands. Consult the jdt.ls [17] documentation to find out
27212701
what commands are supported and which arguments are expected.
27222702

27232703
The support for 'ExecuteCommand' was implemented to support plugins like
2724-
Vimspector [90] to debug java, but isn't limited to that specific use case.
2704+
Vimspector [91] to debug java, but isn't limited to that specific use case.
27252705

27262706
-------------------------------------------------------------------------------
27272707
The *RestartServer* subcommand
@@ -2757,7 +2737,7 @@ For example:
27572737
call youcompleteme#GetErrorCount()
27582738
<
27592739
Both this function and |youcompleteme#GetWarningCount| can be useful when
2760-
integrating YCM with other Vim plugins. For example, a lightline [91] user
2740+
integrating YCM with other Vim plugins. For example, a lightline [92] user
27612741
could add a diagnostics section to their statusline which would display the
27622742
number of errors and warnings.
27632743

@@ -3258,10 +3238,10 @@ string 'virtual-text', and the diagnostic will be displayed inline with the
32583238
text, right aligned in the window and wrapping to the next line if there is not
32593239
enough space, for example:
32603240

3261-
Image: Virtual text diagnostic demo (see reference [92])
3262-
32633241
Image: Virtual text diagnostic demo (see reference [93])
32643242

3243+
Image: Virtual text diagnostic demo (see reference [94])
3244+
32653245
**NOTE**: It's _strongly_ recommended to also set
32663246
|g:ycm_update_diagnostics_in_insert_mode| to '0' when using 'virtual-text' for
32673247
diagnostics. This is due to the increased amount of distraction provided by
@@ -3368,15 +3348,15 @@ YCM will not render it.
33683348

33693349
The following filter types are supported:
33703350

3371-
- "regex": Accepts a string regular expression [94]. This type matches when
3351+
- "regex": Accepts a string regular expression [95]. This type matches when
33723352
the regex (treated as case-insensitive) is found anywhere in the diagnostic
33733353
text ('re.search', not 're.match')
33743354

33753355
- "level": Accepts a string level, either "warning" or "error." This type
33763356
matches when the diagnostic has the same level, that is, specifying 'level:
33773357
"error"' will remove **all** errors from the diagnostics.
33783358

3379-
**NOTE:** The regex syntax is **NOT** Vim's, it's Python's [94].
3359+
**NOTE:** The regex syntax is **NOT** Vim's, it's Python's [95].
33803360

33813361
Default: '{}'
33823362

@@ -3471,7 +3451,7 @@ from the 'tagfiles()' Vim function which examines the 'tags' Vim option. See
34713451

34723452
YCM will re-index your tags files if it detects that they have been modified.
34733453

3474-
The only supported tag format is the Exuberant Ctags format [95]. The format
3454+
The only supported tag format is the Exuberant Ctags format [96]. The format
34753455
from "plain" ctags is NOT supported. Ctags needs to be called with the
34763456
'--fields=+l' option (that's a lowercase 'L', not a one) because YCM needs the
34773457
'language:<lang>' field in the tags output.
@@ -3875,7 +3855,7 @@ It's also possible to use a regular expression as a trigger. You have to prefix
38753855
your trigger with 're!' to signify it's a regex trigger. For instance,
38763856
're!\w+\.' would only trigger after the '\w+\.' regex matches.
38773857

3878-
**NOTE:** The regex syntax is **NOT** Vim's, it's Python's [94].
3858+
**NOTE:** The regex syntax is **NOT** Vim's, it's Python's [95].
38793859

38803860
Default: '[see next line]'
38813861
>
@@ -4015,7 +3995,7 @@ first making sure YCM won't choose that existing completer in the first place.
40153995
A simple working example of this option can be found in the section called
40163996
"Semantic Completion for Other Languages".
40173997

4018-
Many working examples can be found in the YCM lsp-examples [79] repo.
3998+
Many working examples can be found in the YCM lsp-examples [80] repository.
40193999

40204000
Default: '[]'
40214001
>
@@ -4119,17 +4099,17 @@ The FAQ section has been moved to the wiki [8].
41194099
Contributor Code of Conduct ~
41204100

41214101
Please note that this project is released with a Contributor Code of Conduct
4122-
[96]. By participating in this project you agree to abide by its terms.
4102+
[97]. By participating in this project you agree to abide by its terms.
41234103

41244104
-------------------------------------------------------------------------------
41254105
*youcompleteme-contact*
41264106
Contact ~
41274107

41284108
If you have questions about the plugin or need help, please join the Gitter
4129-
room [1] or use the ycm-users [97] mailing list.
4109+
room [1] or use the ycm-users [98] mailing list.
41304110

41314111
If you have bug reports or feature suggestions, please use the issue tracker
4132-
[98]. Before you do, please carefully read CONTRIBUTING.md [99] as this asks
4112+
[99]. Before you do, please carefully read CONTRIBUTING.md [100] as this asks
41334113
for important diagnostics which the team will use to help get you going.
41344114

41354115
The latest version of the plugin is available at
@@ -4144,7 +4124,7 @@ contact the YouCompleteMe maintainers directly using the contact details.
41444124
*youcompleteme-license*
41454125
License ~
41464126

4147-
This software is licensed under the GPL v3 license [100]. © 2015-2018
4127+
This software is licensed under the GPL v3 license [101]. © 2015-2018
41484128
YouCompleteMe contributors
41494129

41504130
-------------------------------------------------------------------------------
@@ -4155,10 +4135,10 @@ If you like YCM so much that you're willing to part with your hard-earned cash,
41554135
please consider donating to one of the following charities, which are
41564136
meaningful to the current maintainers (in no particular order):
41574137

4158-
- Hector's Greyhound Rescue [101]
4159-
- Be Humane [102]
4160-
- Cancer Research UK [103]
4161-
- ICCF Holland [104]
4138+
- Hector's Greyhound Rescue [102]
4139+
- Be Humane [103]
4140+
- Cancer Research UK [104]
4141+
- ICCF Holland [105]
41624142
- Any charity of your choosing.
41634143

41644144
Please note: The YCM maintainers do not specifically endorse nor necessarily
@@ -4247,31 +4227,32 @@ References ~
42474227
[76] https://code.visualstudio.com/docs/languages/jsconfig
42484228
[77] https://www.typescriptlang.org/docs/handbook/tsconfig-json.html
42494229
[78] https://clang.llvm.org/
4250-
[79] https://github.com/ycm-core/lsp-examples
4251-
[80] http://eclim.org/
4252-
[81] https://github.com/ycm-core/ycmd/blob/master/ycmd/completers/completer.py
4253-
[82] https://github.com/Valloric/ListToggle
4254-
[83] https://asciinema.org/a/4JmYLAaz5hOHbZDD0hbsQpY8C
4255-
[84] https://asciinema.org/a/4JmYLAaz5hOHbZDD0hbsQpY8C.svg
4256-
[85] https://asciinema.org/a/659925
4257-
[86] https://asciinema.org/a/659925.svg
4258-
[87] https://user-images.githubusercontent.com/17928698/206855014-9131a49b-87e8-4ed4-8d91-f2fe7808a0b9.gif
4259-
[88] https://user-images.githubusercontent.com/17928698/206855713-3588c8de-d0f5-4725-b65e-bc51110252cc.gif
4260-
[89] https://jedi.readthedocs.io/en/latest/docs/api.html#jedi.Script.extract_variable
4261-
[90] https://github.com/puremourning/vimspector
4262-
[91] https://github.com/itchyny/lightline.vim
4263-
[92] https://user-images.githubusercontent.com/10584846/185707973-39703699-0263-47d3-82ac-639d52259bea.png
4264-
[93] https://user-images.githubusercontent.com/10584846/185707993-14ff5fd7-c082-4e5a-b825-f1364e619b6a.png
4265-
[94] https://docs.python.org/2/library/re.html#regular-expression-syntax
4266-
[95] http://ctags.sourceforge.net/FORMAT
4267-
[96] https://github.com/ycm-core/YouCompleteMe/blob/master/CODE_OF_CONDUCT.md
4268-
[97] https://groups.google.com/forum/?hl=en#!forum/ycm-users
4269-
[98] https://github.com/ycm-core/YouCompleteMe/issues?state=open
4270-
[99] https://github.com/ycm-core/YouCompleteMe/blob/master/CONTRIBUTING.md
4271-
[100] https://www.gnu.org/copyleft/gpl.html
4272-
[101] https://www.hectorsgreyhoundrescue.org
4273-
[102] https://www.budihuman.rs/en
4274-
[103] https://www.cancerresearchuk.org
4275-
[104] https://iccf.nl
4230+
[79] https://github.com/ycm-core/ycmd#language_server-configuration
4231+
[80] https://github.com/ycm-core/lsp-examples
4232+
[81] http://eclim.org/
4233+
[82] https://github.com/ycm-core/ycmd/blob/master/ycmd/completers/completer.py
4234+
[83] https://github.com/Valloric/ListToggle
4235+
[84] https://asciinema.org/a/4JmYLAaz5hOHbZDD0hbsQpY8C
4236+
[85] https://asciinema.org/a/4JmYLAaz5hOHbZDD0hbsQpY8C.svg
4237+
[86] https://asciinema.org/a/659925
4238+
[87] https://asciinema.org/a/659925.svg
4239+
[88] https://user-images.githubusercontent.com/17928698/206855014-9131a49b-87e8-4ed4-8d91-f2fe7808a0b9.gif
4240+
[89] https://user-images.githubusercontent.com/17928698/206855713-3588c8de-d0f5-4725-b65e-bc51110252cc.gif
4241+
[90] https://jedi.readthedocs.io/en/latest/docs/api.html#jedi.Script.extract_variable
4242+
[91] https://github.com/puremourning/vimspector
4243+
[92] https://github.com/itchyny/lightline.vim
4244+
[93] https://user-images.githubusercontent.com/10584846/185707973-39703699-0263-47d3-82ac-639d52259bea.png
4245+
[94] https://user-images.githubusercontent.com/10584846/185707993-14ff5fd7-c082-4e5a-b825-f1364e619b6a.png
4246+
[95] https://docs.python.org/2/library/re.html#regular-expression-syntax
4247+
[96] http://ctags.sourceforge.net/FORMAT
4248+
[97] https://github.com/ycm-core/YouCompleteMe/blob/master/CODE_OF_CONDUCT.md
4249+
[98] https://groups.google.com/forum/?hl=en#!forum/ycm-users
4250+
[99] https://github.com/ycm-core/YouCompleteMe/issues?state=open
4251+
[100] https://github.com/ycm-core/YouCompleteMe/blob/master/CONTRIBUTING.md
4252+
[101] https://www.gnu.org/copyleft/gpl.html
4253+
[102] https://www.hectorsgreyhoundrescue.org
4254+
[103] https://www.budihuman.rs/en
4255+
[104] https://www.cancerresearchuk.org
4256+
[105] https://iccf.nl
42764257

42774258
vim: ft=help

0 commit comments

Comments
 (0)