[all-commits] [llvm/llvm-project] 359e2f: [clangd] Introduce config parsing for External blocks

kadir çetinkaya via All-commits all-commits at lists.llvm.org
Sun Nov 22 12:13:25 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 359e2f988dc560d519c91d3ee96a2ea99983f5d4
      https://github.com/llvm/llvm-project/commit/359e2f988dc560d519c91d3ee96a2ea99983f5d4
  Author: Kadir Cetinkaya <kadircet at google.com>
  Date:   2020-11-22 (Sun, 22 Nov 2020)

  Changed paths:
    M clang-tools-extra/clangd/ConfigFragment.h
    M clang-tools-extra/clangd/ConfigYAML.cpp
    M clang-tools-extra/clangd/unittests/ConfigYAMLTests.cpp

  Log Message:
  -----------
  [clangd] Introduce config parsing for External blocks

Enable configuration of remote and static indexes through config files
in addition to command line arguments.

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


  Commit: c9776c8d4ef7c1d69b6d74b81627c4028396e7c1
      https://github.com/llvm/llvm-project/commit/c9776c8d4ef7c1d69b6d74b81627c4028396e7c1
  Author: Kadir Cetinkaya <kadircet at google.com>
  Date:   2020-11-22 (Sun, 22 Nov 2020)

  Changed paths:
    M clang-tools-extra/clangd/Config.h
    M clang-tools-extra/clangd/ConfigCompile.cpp
    M clang-tools-extra/clangd/unittests/ConfigCompileTests.cpp

  Log Message:
  -----------
  [clangd] Introduce config compilation for External blocks

Compilation logic for External blocks. A few of the high level points:
- Requires exactly one-of File/Server at a time:
  - Server is ignored in case of both, with a warning.
  - Having none is an error, would render ExternalBlock void.
- Ensures mountpoint is an absolute path:
  - Interprets it as relative to FragmentDirectory.
  - Defaults to FragmentDirectory when empty.
- Marks Background as Skip.

Depends on D90748.

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


  Commit: 067ffbfe60180aa7b1fdd87b2b6e8ccc67a43a76
      https://github.com/llvm/llvm-project/commit/067ffbfe60180aa7b1fdd87b2b6e8ccc67a43a76
  Author: Kadir Cetinkaya <kadircet at google.com>
  Date:   2020-11-22 (Sun, 22 Nov 2020)

  Changed paths:
    M clang-tools-extra/clangd/CMakeLists.txt
    M clang-tools-extra/clangd/Config.h
    A clang-tools-extra/clangd/index/ProjectAware.cpp
    A clang-tools-extra/clangd/index/ProjectAware.h
    M clang-tools-extra/clangd/unittests/CMakeLists.txt
    A clang-tools-extra/clangd/unittests/ProjectAwareIndexTests.cpp

  Log Message:
  -----------
  [clangd] Introduce ProjectAwareIndex

An index implementation that can dispatch to a variety of indexes
depending on the file path. Enables clangd to work with multiple indexes in the
same instance, configured via config files.

Depends on D90749, D90746

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


  Commit: cab313680703097f5f4642b348c43018f55a5a4f
      https://github.com/llvm/llvm-project/commit/cab313680703097f5f4642b348c43018f55a5a4f
  Author: Kadir Cetinkaya <kadircet at google.com>
  Date:   2020-11-22 (Sun, 22 Nov 2020)

  Changed paths:
    M clang-tools-extra/clangd/CMakeLists.txt
    M clang-tools-extra/clangd/index/ProjectAware.cpp
    M clang-tools-extra/clangd/index/ProjectAware.h
    M clang-tools-extra/clangd/tool/ClangdMain.cpp

  Log Message:
  -----------
  [clangd] Use ProjectAwareIndex in ClangdMain

Put project-aware-index between command-line specified static index and
ClangdServer indexes.

This also moves remote-index dependency from clangDaemon to ClangdMain
in an attempt to prevent cyclic dependency between clangDaemon and
remote-index-marshalling.

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


Compare: https://github.com/llvm/llvm-project/compare/1a009296a4e9...cab313680703


More information about the All-commits mailing list