@@ -32,7 +32,57 @@ infrastructure are described first, followed by tool-specific sections.
32
32
Improvements to clangd
33
33
----------------------
34
34
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 `.
36
86
37
87
38
88
Improvements to clang-query
0 commit comments