View | Details | Raw Unified | Return to bug 269137
Collapse All | Expand All

(-)b/documentation/content/en/articles/freebsd-src-lsp/_index.adoc (-7 / +25 lines)
Lines 46-58 toc::[] Link Here
46
[[intro]]
46
[[intro]]
47
== Introduction
47
== Introduction
48
48
49
This guide is about setting up a FreeBSD src tree with language servers performing source code indexing.
49
This guide is about setting up a FreeBSD src tree with language servers performing source code indexing. The guide describes the steps for Vim/NeoVim and VSCode. If you use a different text editor you can use this guide as a reference and search the equivalent commands for your preferred editor.
50
50
51
[[ports-required]]
51
[[requirements]]
52
== Required Ports
52
== Requirements
53
53
54
Some ports are required throughout the guide.
54
In order to follow this guide we need to install certain requirements. We need a Language server, `ccls` or `clangd`, and optionally a compilation database.
55
Choose a favorite combination of tools from each category below:
55
56
The installation of the Language server can be performed via `pkg` or via ports. If we chose `clangd` we need to install `llvm`.
57
58
Using `pkg` to install `ccls`:
59
60
[source,shell]
61
....
62
# pkg install ccls
63
....
64
65
If we want to use `clangd` we need to install `llvm` (The example command uses `llvm15` but choose the version you desire):
66
67
[source,shell]
68
....
69
# pkg install llvm15
70
....
71
72
To install via ports choose a favorite combination of tools from each category below:
56
73
57
* Language server implementations
74
* Language server implementations
58
** package:devel/ccls[]
75
** package:devel/ccls[]
Lines 114-125 au User lsp_setup call lsp#register_server({ Link Here
114
....
131
....
115
au User lsp_setup call lsp#register_server({
132
au User lsp_setup call lsp#register_server({
116
    \ 'name': 'clangd',
133
    \ 'name': 'clangd',
117
    \ 'cmd': {server_info->['clangd12', '--background-index', '--header-insertion=never']},
134
    \ 'cmd': {server_info->['clangd15', '--background-index', '--header-insertion=never']},
118
    \ 'allowlist': ['c', 'cpp', 'objc'],
135
    \ 'allowlist': ['c', 'cpp', 'objc'],
119
    \ 'initialization_options': {},
136
    \ 'initialization_options': {},
120
    \ })
137
    \ })
121
....
138
....
122
139
140
Depending on the version that you installed for `clangd` you might need to update the `server-info` to point to the correct binary.
141
123
Please refer to link:https://github.com/prabirshrestha/vim-lsp/blob/master/README.md#registering-servers[] to learn about setting up key bindings and code completion.
142
Please refer to link:https://github.com/prabirshrestha/vim-lsp/blob/master/README.md#registering-servers[] to learn about setting up key bindings and code completion.
124
The official site of clangd is link:https://clangd.llvm.org[], and the repository link of ccls is link:https://github.com/MaskRay/ccls/[].
143
The official site of clangd is link:https://clangd.llvm.org[], and the repository link of ccls is link:https://github.com/MaskRay/ccls/[].
125
144
126
- 

Return to bug 269137