Skip to content

Commit 95e1c29

Browse files
committed
Added release notes for clangd 8
By Dmitri Gribenko! Differential revision: https://reviews.llvm.org/D58721 llvm-svn: 355004
1 parent f7be79e commit 95e1c29

File tree

3 files changed

+61
-1
lines changed

3 files changed

+61
-1
lines changed

clang-tools-extra/docs/ReleaseNotes.rst

Lines changed: 51 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,57 @@ infrastructure are described first, followed by tool-specific sections.
3232
Improvements to clangd
3333
----------------------
3434

35-
The improvements are...
35+
- clangd now adds namespace qualifiers in code completion, for example, if you
36+
type "``vec``", the list of completions will include "``std::vector``".
37+
38+
See also: `r343248 <https://reviews.llvm.org/rL343248>`__.
39+
40+
- When a :ref:`global index <project-wide-index>` is available, clangd will use it to augment the
41+
results of "go to definition" and "find references" queries. Global index
42+
also enables global code completion, which suggests symbols that are not
43+
imported in the current file and automatically inserts the missing
44+
``#include`` directives.
45+
46+
- clangd stores the symbol index on disk in a new compact binary serialization
47+
format. It is 10x more compact than YAML and 40% more compact than gzipped
48+
YAML.
49+
50+
See also: `r341375 <https://reviews.llvm.org/rL341375>`__.
51+
52+
- clangd has a new efficient symbol index suitable for complex and fuzzy
53+
queries and large code bases (e.g., LLVM, Chromium). This index is used for
54+
code completion, go to definition, and cross-references. The architecture of
55+
the index allows for complex and fuzzy retrieval criteria and sophisticated
56+
scoring.
57+
58+
See also: `discussion on the mailing list
59+
<http://lists.llvm.org/pipermail/cfe-dev/2018-July/058487.html>`__, `design
60+
doc
61+
<https://docs.google.com/document/d/1C-A6PGT6TynyaX4PXyExNMiGmJ2jL1UwV91Kyx11gOI/edit>`__.
62+
63+
- clangd has a new LSP extension that communicates information about activity
64+
on clangd's per-file worker thread. This information can be displayed to
65+
users to let them know that the language server is busy with something. For
66+
example, in clangd, building the AST blocks many other operations.
67+
68+
More info: :ref:`lsp-extension-file-status`.
69+
70+
- clangd has a new LSP extension that allows the client to supply the
71+
compilation commands over LSP, instead of finding compile_commands.json on
72+
disk.
73+
74+
More info: :ref:`lsp-extension-compilation-commands`.
75+
76+
- clangd has a new LSP extension that allows the client to request fixes to be
77+
sent together with diagnostics, instead of asynchronously.
78+
79+
More info: :ref:`lsp-extension-code-actions-in-diagnostics`.
80+
81+
- clangd has a new LSP extension that allows the client to resolve a symbol in
82+
a light-weight manner, without retrieving further information (like
83+
definition location, which may require consulting an index).
84+
85+
More info: :ref:`lsp-extension-symbol-info`.
3686

3787

3888
Improvements to clang-query

clang-tools-extra/docs/clangd/Extensions.rst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@ provided) or source file (if a header was provided).
3838

3939
If the corresponding file can't be determined, ``""`` is returned.
4040

41+
.. _lsp-extension-file-status:
42+
4143
File status
4244
===========
4345

@@ -64,6 +66,8 @@ Parameter: ``FileStatus`` object with properties:
6466

6567
Enables receiving ``textDocument/clangd.fileStatus`` notifications.
6668

69+
.. _lsp-extension-compilation-commands:
70+
6771
Compilation commands
6872
====================
6973

@@ -133,6 +137,8 @@ same code will always have the same category.
133137

134138
Requests that clangd send ``Diagnostic.category``.
135139

140+
.. _lsp-extension-code-actions-in-diagnostics:
141+
136142
Inline fixes for diagnostics
137143
============================
138144

@@ -150,6 +156,8 @@ All the code actions that address this diagnostic.
150156

151157
Requests clangd to send ``Diagnostic.codeActions``.
152158

159+
.. _lsp-extension-symbol-info:
160+
153161
Symbol info request
154162
===================
155163

clang-tools-extra/docs/clangd/Installation.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -350,6 +350,8 @@ Clangd will assume the compile command is ``clang $FLAGS some_file.cc``.
350350
Creating this file by hand is a reasonable place to start if your project is
351351
quite simple.
352352

353+
.. _project-wide-index:
354+
353355
Project-wide Index
354356
==================
355357

0 commit comments

Comments
 (0)