[all-commits] [llvm/llvm-project] ecea72: [clangd] Treat paths case-insensitively depending ...

kadir çetinkaya via All-commits all-commits at lists.llvm.org
Tue Feb 16 11:21:17 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ecea7218fb9b994b26471e9877851cdb51a5f1d4
      https://github.com/llvm/llvm-project/commit/ecea7218fb9b994b26471e9877851cdb51a5f1d4
  Author: Kadir Cetinkaya <kadircet at google.com>
  Date:   2021-02-16 (Tue, 16 Feb 2021)

  Changed paths:
    M clang-tools-extra/clangd/ConfigCompile.cpp
    M clang-tools-extra/clangd/support/Path.cpp
    M clang-tools-extra/clangd/support/Path.h
    M clang-tools-extra/clangd/unittests/CMakeLists.txt
    M clang-tools-extra/clangd/unittests/ConfigCompileTests.cpp
    M clang-tools-extra/clangd/unittests/RenameTests.cpp
    A clang-tools-extra/clangd/unittests/support/PathTests.cpp

  Log Message:
  -----------
  [clangd] Treat paths case-insensitively depending on the platform

Path{Match,Exclude} and MountPoint were checking paths case-sensitively
on all platforms, as with other features, this was causing problems on
windows. Since users can have capital drive letters on config files, but
editors might lower-case them.

This patch addresses that issue by:
- Creating regexes with case-insensitive matching on those platforms.
- Introducing a new pathIsAncestor helper, which performs checks in a
  case-correct manner where needed.

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




More information about the All-commits mailing list