From 38f5240332fb94c7428ff9404ef7bd5bf344557d Mon Sep 17 00:00:00 2001 From: Boyang Du Date: Tue, 14 Feb 2023 14:25:40 +0000 Subject: [PATCH 1/2] ignore compile_commands.json which is unreasonably small in size --- ycmd/completers/cpp/clangd_completer.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ycmd/completers/cpp/clangd_completer.py b/ycmd/completers/cpp/clangd_completer.py index 2cfc3c33d9..34e1729f6b 100644 --- a/ycmd/completers/cpp/clangd_completer.py +++ b/ycmd/completers/cpp/clangd_completer.py @@ -427,6 +427,9 @@ def ExtraDebugItems( self, request_data ): def CompilationDatabaseExists( file_dir ): for folder in PathsToAllParentFolders( file_dir ): if os.path.exists( os.path.join( folder, 'compile_commands.json' ) ): - return True + if os.path.getsize( os.path.join( folder, 'compile_commands.json' ) ) < 32: + return False + else: + return True return False From f7383c6a8be576320df7891e2f2ed595651a9d95 Mon Sep 17 00:00:00 2001 From: Boyang Du Date: Wed, 25 Feb 2026 13:49:18 +0000 Subject: [PATCH 2/2] if compile_commands.json not writable, treat it as not exists --- ycmd/completers/cpp/clangd_completer.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/ycmd/completers/cpp/clangd_completer.py b/ycmd/completers/cpp/clangd_completer.py index d486aaf2cb..cc714e2fa6 100644 --- a/ycmd/completers/cpp/clangd_completer.py +++ b/ycmd/completers/cpp/clangd_completer.py @@ -429,10 +429,8 @@ def ExtraDebugItems( self, request_data ): def CompilationDatabaseExists( file_dir ): for folder in PathsToAllParentFolders( file_dir ): - if os.path.exists( os.path.join( folder, 'compile_commands.json' ) ): - if os.path.getsize( os.path.join( folder, 'compile_commands.json' ) ) < 32: - return False - else: - return True + compile_db = os.path.join( folder, 'compile_commands.json' ) + if os.path.exists( compile_db ) and os.access( compile_db, os.W_OK ): + return True return False