[all-commits] [llvm/llvm-project] 1d7b32: [clangd] Introduce client state invalidation

kadir çetinkaya via All-commits all-commits at lists.llvm.org
Thu Mar 4 02:15:34 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 1d7b328198a7dd1e26ffd76256a3427134d39951
      https://github.com/llvm/llvm-project/commit/1d7b328198a7dd1e26ffd76256a3427134d39951
  Author: Kadir Cetinkaya <kadircet at google.com>
  Date:   2021-03-04 (Thu, 04 Mar 2021)

  Changed paths:
    M clang-tools-extra/clangd/ClangdLSPServer.cpp
    M clang-tools-extra/clangd/ClangdLSPServer.h
    M clang-tools-extra/clangd/ClangdServer.cpp
    M clang-tools-extra/clangd/ClangdServer.h
    M clang-tools-extra/clangd/Protocol.cpp
    M clang-tools-extra/clangd/Protocol.h
    A clang-tools-extra/clangd/test/semantic-tokens-refresh.test

  Log Message:
  -----------
  [clangd] Introduce client state invalidation

Clangd can invalidate client state of features like semantic higlighting
without client explicitly triggering, for example after a preamble build
caused by an onSave notification on a different file.

This patch introduces a mechanism to let client know of such actions,
and also calls the workspace/semanticTokens/refresh request to
demonstrate the situation after each preamble build.

Fixes https://github.com/clangd/clangd/issues/699.

Differential Revision: https://reviews.llvm.org/D97548




More information about the All-commits mailing list