From 7fd13f8bce4c07eb9168cf75d0e3a270747118de Mon Sep 17 00:00:00 2001 From: Sam McCall Date: Thu, 2 Jul 2020 23:51:26 +0200 Subject: [PATCH] [clangd] Store index in '.cache/clangd/index' instead of '.clangd/index' Summary: .clangd/index was well-intentioned in 2754942cbaef, but `.clangd` is the best filename for the clangd config file (matching .clang-format and .clang-tidy). And of course we can't have both .clangd/index and .clangd... There are a few overlapping goals to satisfy: - it should be clear from the directory name that this is transient data that is safe to delete at the cost of recomputation, i.e. a cache - it should be easy and self-documenting to blacklist these files in .gitignore - we should have some consistency between filenames in-tree and corresponding files in user storage (e.g. under XDG's ~/.cache/) - we should be consistent across platforms (including windows, which doesn't have distinct cache vs config directories) So the plan is: $PROJECT/.clangd (project config) $PROJECT/.cache/clangd/index/ (project index) $PROJECT/.cache/clangd/modules/ (maybe in future) $XDG_CONFIG_HOME/clangd/config.yaml (user config) $XDG_CACHE_HOME/clangd/index/ (index of non-project files) $XDG_CACHE_HOME/clangd/modules/ (maybe in future) This is sensible if XDG_{CONFIG,CACHE}_HOME coincide, and has a simple .gitignore rule going forward: `.cache/`. The monorepo gitignore is updated to reflect the backwards-compatible practice: ignore .clangd/ (with trailing slash) matching index files from clangd 9/10 ignore .cache matching index from clangd 11+, and potentially other tools. The entries from llvm-project/llvm gitignore are removed (obsolete). Reviewers: kadircet, hokein Subscribers: ilya-biryukov, MaskRay, jkorous, omtcyfz, arphaman, usaxena95, cfe-commits, llvm-commits Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D83099 --- .gitignore | 2 -- 1 file changed, 2 deletions(-) diff --git a/.gitignore b/.gitignore index f2b343ade4f..d6021ff18e1 100644 --- a/.gitignore +++ b/.gitignore @@ -59,8 +59,6 @@ docs/_build # VS2017 and VSCode config files. .vscode .vs -# clangd index -.clangd #==============================================================================# # Files created in tree by the Go bindings.