Index: clang-tools-extra/branches/release_80/docs/ReleaseNotes.rst =================================================================== --- clang-tools-extra/branches/release_80/docs/ReleaseNotes.rst +++ clang-tools-extra/branches/release_80/docs/ReleaseNotes.rst @@ -32,7 +32,57 @@ Improvements to clangd ---------------------- -The improvements are... +- clangd now adds namespace qualifiers in code completion, for example, if you + type "``vec``", the list of completions will include "``std::vector``". + + See also: `r343248 `__. + +- When a :ref:`global index ` is available, clangd will use it to augment the + results of "go to definition" and "find references" queries. Global index + also enables global code completion, which suggests symbols that are not + imported in the current file and automatically inserts the missing + ``#include`` directives. + +- clangd stores the symbol index on disk in a new compact binary serialization + format. It is 10x more compact than YAML and 40% more compact than gzipped + YAML. + + See also: `r341375 `__. + +- clangd has a new efficient symbol index suitable for complex and fuzzy + queries and large code bases (e.g., LLVM, Chromium). This index is used for + code completion, go to definition, and cross-references. The architecture of + the index allows for complex and fuzzy retrieval criteria and sophisticated + scoring. + + See also: `discussion on the mailing list + `__, `design + doc + `__. + +- clangd has a new LSP extension that communicates information about activity + on clangd's per-file worker thread. This information can be displayed to + users to let them know that the language server is busy with something. For + example, in clangd, building the AST blocks many other operations. + + More info: :ref:`lsp-extension-file-status`. + +- clangd has a new LSP extension that allows the client to supply the + compilation commands over LSP, instead of finding compile_commands.json on + disk. + + More info: :ref:`lsp-extension-compilation-commands`. + +- clangd has a new LSP extension that allows the client to request fixes to be + sent together with diagnostics, instead of asynchronously. + + More info: :ref:`lsp-extension-code-actions-in-diagnostics`. + +- clangd has a new LSP extension that allows the client to resolve a symbol in + a light-weight manner, without retrieving further information (like + definition location, which may require consulting an index). + + More info: :ref:`lsp-extension-symbol-info`. Improvements to clang-query Index: clang-tools-extra/branches/release_80/docs/clangd/Extensions.rst =================================================================== --- clang-tools-extra/branches/release_80/docs/clangd/Extensions.rst +++ clang-tools-extra/branches/release_80/docs/clangd/Extensions.rst @@ -38,6 +38,8 @@ If the corresponding file can't be determined, ``""`` is returned. +.. _lsp-extension-file-status: + File status =========== @@ -64,6 +66,8 @@ Enables receiving ``textDocument/clangd.fileStatus`` notifications. +.. _lsp-extension-compilation-commands: + Compilation commands ==================== @@ -133,6 +137,8 @@ Requests that clangd send ``Diagnostic.category``. +.. _lsp-extension-code-actions-in-diagnostics: + Inline fixes for diagnostics ============================ @@ -150,6 +156,8 @@ Requests clangd to send ``Diagnostic.codeActions``. +.. _lsp-extension-symbol-info: + Symbol info request =================== Index: clang-tools-extra/branches/release_80/docs/clangd/Installation.rst =================================================================== --- clang-tools-extra/branches/release_80/docs/clangd/Installation.rst +++ clang-tools-extra/branches/release_80/docs/clangd/Installation.rst @@ -350,6 +350,8 @@ Creating this file by hand is a reasonable place to start if your project is quite simple. +.. _project-wide-index: + Project-wide Index ==================