Fangrui Song 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							e2ad01eaa3 
							
						 
					 
					
						
						
							
							Merge  9a90b44b17 into  5660367c77 
						
						 
						
						
						
					 
					
						2025-08-19 00:57:16 +08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fangrui Song 
							
						 
					 
					
						
						
						
						
							
						
						
							5660367c77 
							
						 
					 
					
						
						
							
							Add clang.prependArgs option  
						
						 
						
						... 
						
						
						
						To specify arguments that are inserted immediately after the compiler
driver name. For example, initialization options
`{"clang":{"prependArgs":["--gcc-install-dir=/usr/lib/gcc/x86_64-linux-gnu/13"]}}`
transforms `clang -c a.cc` into `clang --gcc-install-dir=/usr/lib/gcc/x86_64-linux-gnu/13 -c a.cc`.
This allows users to provide default arguments that can be overridden as
needed. 
						
					 
					
						2025-08-15 00:02:14 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fangrui Song 
							
						 
					 
					
						
						
						
						
							
						
						
							cfc7c0208f 
							
						 
					 
					
						
						
							
							indexer: Support Decl::Concept  
						
						 
						
						... 
						
						
						
						Fix indexer.cc:802 "Unhandled 72" when compiling `#include <chrono>`
functions with -std=c++20. 
						
					 
					
						2025-08-14 23:43:49 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fangrui Song 
							
						 
					 
					
						
						
						
						
							
						
						
							536033c204 
							
						 
					 
					
						
						
							
							Adapt llvmorg-22-init-3166-g91cdd35008e9: getOriginalDecl  
						
						 
						
						
						
					 
					
						2025-08-14 23:42:26 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fangrui Song 
							
						 
					 
					
						
						
						
						
							
						
						
							2b6d3753f7 
							
						 
					 
					
						
						
							
							index_tests: Test 22.0.0git  
						
						 
						
						... 
						
						
						
						Build llvm-project
```
ninja -C out/stable clang clangFormat clangIndex clangTooling
```
Then build ccls against the just-built llvm-project.
```
cmake -S. -Bout/debug -G Ninja -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_COMPILER=$HOME/Stable/bin/clang++ -DCMAKE_EXPORT_COMPILE_COMMANDS=On -DCMAKE_PREFIX_PATH="$HOME/llvm/out/stable;$HOME/llvm/out/stable/tools/clang" -DCLANG_EXECUTABLE=$HOME/Stable/bin/clang++
```
Finally, run `ccls -test-index` 
						
					 
					
						2025-08-14 23:42:18 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fangrui Song 
							
						 
					 
					
						
						
						
						
							
						
						
							e0a6ee33cc 
							
						 
					 
					
						
						
							
							index: remove unused SemaManager parameter  
						
						 
						
						
						
					 
					
						2025-08-14 21:45:02 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Stephen Senran Zhang 
							
						 
					 
					
						
						
						
						
							
						
						
							4427527ed8 
							
						 
					 
					
						
						
							
							Accommodate changes of LLVM 21 & 22 to fix builds ( #985 )  
						
						 
						
						
						
					 
					
						2025-08-07 00:54:25 +08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fangrui Song 
							
						 
					 
					
						
						
						
						
							
						
						
							44fb405d00 
							
						 
					 
					
						
						
							
							Adapt llvmorg-21 changes: clang::CompilerInstance and llvm::PointerUnion  
						
						 
						
						
						
					 
					
						2025-05-11 23:01:55 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fangrui Song 
							
						 
					 
					
						
						
						
						
							
						
						
							962c0e72b4 
							
						 
					 
					
						
						
							
							Clear index requests upon "exit"  
						
						 
						
						... 
						
						
						
						to make indexers stop in time. This is especially relevant when there
are many initial index requests. 
						
					 
					
						2025-01-28 10:34:19 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Ka Ho Ng 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							48f1a006b7 
							
						 
					 
					
						
						
							
							Reformat all the files after  192a82b ( #979 )  
						
						 
						
						... 
						
						
						
						Since the introduction of "ColumnLimit: 120" in .clang-format, the
column limit has become 120 characters instead of 80 characters.
This prevents clang-format from generating too much changes even if just
a small portion of a source file or header file is modified. 
						
					 
					
						2024-12-06 17:58:19 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fangrui Song 
							
						 
					 
					
						
						
						
						
							
						
						
							4331c89586 
							
						 
					 
					
						
						
							
							Adapt llvmorg-20-init-12964-gdf9a14d7bbf1: createDiagnostics  
						
						 
						
						
						
					 
					
						2024-11-23 18:33:49 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fangrui Song 
							
						 
					 
					
						
						
						
						
							
						
						
							3640f899f1 
							
						 
					 
					
						
						
							
							textDocument/signatureHelp: add trigger character {  
						
						 
						
						... 
						
						
						
						to enable https://reviews.llvm.org/D116317  
						
					 
					
						2024-11-09 23:10:55 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fangrui Song 
							
						 
					 
					
						
						
						
						
							
						
						
							664f952f38 
							
						 
					 
					
						
						
							
							Implement textDocument/switchSourceheader  
						
						 
						
						... 
						
						
						
						When the current file is X.cc, there might be multiple X.h.
Use a heuristic to find the best X.h.
Vote for each interesting symbol's definitions (for header) or
declarations (for non-header). Select the file with the most votes.
If `file_id2cnt` is empty, use a simpler heuristic. 
						
					 
					
						2024-11-08 20:56:30 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fangrui Song 
							
						 
					 
					
						
						
						
						
							
						
						
							cc13ced659 
							
						 
					 
					
						
						
							
							Support LSP semantic tokens  
						
						 
						
						... 
						
						
						
						This patch implements `textDocument/semanticTokens/{full,range}`. If the
client supports semantic tokens, $ccls/publishSemanticHighlight (now
deprecated) is disabled.
These token modifiers are mostly useful to emphasize certain symbols:
`static, classScope, globalScope, namespaceScope`.
To enable a colorful syntax highlighting scheme, set the
highlight.rainbow initialization option to 10.
https://maskray.me/blog/2024-10-20-ccls-and-lsp-semantic-tokens 
Note that the older $ccls/publishSemanticHighlight protocol with
highlight.lsRanges==true (used by vscode-ccls) is no longer supported. 
						
					 
					
						2024-11-05 21:57:24 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fangrui Song 
							
						 
					 
					
						
						
						
						
							
						
						
							50fd8d069e 
							
						 
					 
					
						
						
							
							Drop support for LLVM 7, 8, and 9  
						
						 
						
						
						
					 
					
						2024-11-01 23:50:25 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fangrui Song 
							
						 
					 
					
						
						
						
						
							
						
						
							192a82ba85 
							
						 
					 
					
						
						
							
							.clang-format: ColumnLimit: 120  
						
						 
						
						
						
					 
					
						2024-10-21 17:52:44 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fangrui Song 
							
						 
					 
					
						
						
						
						
							
						
						
							349cdc471b 
							
						 
					 
					
						
						
							
							didOpen: Sort index requests by approximity to working files  
						
						 
						
						... 
						
						
						
						For a large project, it is preferable to prioritize indexing files
neighboring working files. 
						
					 
					
						2024-10-21 17:49:54 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Sam James 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							ddbe41300f 
							
						 
					 
					
						
						
							
							utils: Add <cstdint> ( #968 )  
						
						 
						
						... 
						
						
						
						utils uses `uint64_t` without including `<cstdint>`
which fails to build w/ GCC 15 after a change in libstdc++ [0]
[0] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=3a817a4a5a6d94da9127af3be9f84a74e3076ee2  
						
					 
					
						2024-10-02 17:36:02 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fangrui Song 
							
						 
					 
					
						
						
						
						
							
						
						
							e5e101253a 
							
						 
					 
					
						
						
							
							Adapt llvmorg-19-init-9465-g39adc8f42329: BuiltinType::ArraySection  
						
						 
						
						
						
					 
					
						2024-05-05 17:49:30 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fangrui Song 
							
						 
					 
					
						
						
						
						
							
						
						
							559b416409 
							
						 
					 
					
						
						
							
							Adapt llvmorg-19-init-9119-g4ec9a662d388: startswith/endswith removal  
						
						 
						
						
						
					 
					
						2024-05-05 17:49:30 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fangrui Song 
							
						 
					 
					
						
						
						
						
							
						
						
							88e382f8a3 
							
						 
					 
					
						
						
							
							Adapt llvmorg-19-init-1720-gda95d926f6fc: InclusionDirective  
						
						 
						
						
						
					 
					
						2024-05-05 17:44:13 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fangrui Song 
							
						 
					 
					
						
						
						
						
							
						
						
							f8d2778b65 
							
						 
					 
					
						
						
							
							Adapt  llvm/llvm-project#74910 : FileEntry::getName  
						
						 
						
						... 
						
						
						
						Based on a patch by @zsrkmyn 
						
					 
					
						2024-02-02 00:05:55 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fangrui Song 
							
						 
					 
					
						
						
						
						
							
						
						
							f36ecb0c0e 
							
						 
					 
					
						
						
							
							Adapt llvmorg-18-init-13684-ge1e34cc2a17c: llvm/Support/Host.h  
						
						 
						
						
						
					 
					
						2023-12-14 22:08:17 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fangrui Song 
							
						 
					 
					
						
						
						
						
							
						
						
							490edc1e02 
							
						 
					 
					
						
						
							
							Adapt llvmorg-18-init-10631-gedd690b02e16: TTK_*  
						
						 
						
						
						
					 
					
						2023-11-15 16:01:09 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fangrui Song 
							
						 
					 
					
						
						
						
						
							
						
						
							7b17426b9f 
							
						 
					 
					
						
						
							
							Adapt llvmorg-18-init-4877-g62e576b454e1: getLangOpts  
						
						 
						
						
						
					 
					
						2023-09-09 19:43:27 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fangrui Song 
							
						 
					 
					
						
						
						
						
							
						
						
							ee2d4f5b9a 
							
						 
					 
					
						
						
							
							Disable -include b.hh => -include b.hh.{gch,pch} transition  
						
						 
						
						... 
						
						
						
						See https://maskray.me/blog/2023-07-16-precompiled-headers  for the
behavior. 
						
					 
					
						2023-07-17 16:06:49 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fangrui Song 
							
						 
					 
					
						
						
						
						
							
						
						
							ba38e13b93 
							
						 
					 
					
						
						
							
							Adapt llvmorg-17-init-4072-gcc929590ad30: PrecompiledPreamble::Build  
						
						 
						
						
						
					 
					
						2023-04-11 11:04:01 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fangrui Song 
							
						 
					 
					
						
						
						
						
							
						
						
							8bc3959537 
							
						 
					 
					
						
						
							
							Use raw module format to fix -gmodules crash  
						
						 
						
						... 
						
						
						
						To avoid `llvm::report_fatal_error("unknown module format")` in getPCHContainerWriter.
See a3e2ff19e5 
						
					 
					
						2023-01-15 12:14:42 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fangrui Song 
							
						 
					 
					
						
						
						
						
							
						
						
							2468edc0b3 
							
						 
					 
					
						
						
							
							cmake: Adapt llvmorg-16-init-15123-gf09cf34d0062 (LLVMTargetParser)  
						
						 
						
						
						
					 
					
						2023-01-14 21:37:52 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fangrui Song 
							
						 
					 
					
						
						
						
						
							
						
						
							6dc564f2a8 
							
						 
					 
					
						
						
							
							Adapt llvm::Optional deprecation  
						
						 
						
						
						
					 
					
						2023-01-09 16:03:16 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fangrui Song 
							
						 
					 
					
						
						
						
						
							
						
						
							8a93950fb9 
							
						 
					 
					
						
						
							
							Add callHierarchy  
						
						 
						
						
						
					 
					
						2022-11-03 00:20:22 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fangrui Song 
							
						 
					 
					
						
						
						
						
							
						
						
							74458915b3 
							
						 
					 
					
						
						
							
							Adapt llvmorg-15-init-7692-gd79ad2f1dbc2: PPCallbacks::InclusionDirective parameter  
						
						 
						
						
						
					 
					
						2022-04-16 22:29:03 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fangrui Song 
							
						 
					 
					
						
						
						
						
							
						
						
							790daca4b2 
							
						 
					 
					
						
						
							
							query: include llvm/ADT/STLExtras.h  
						
						 
						
						... 
						
						
						
						The header is no longer transitively included in 2022-01. 
						
					 
					
						2022-01-30 11:17:32 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								augiedoggie 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							b28cec1872 
							
						 
					 
					
						
						
							
							platform_posix: add support for Haiku ( #863 )  
						
						 
						
						
						
					 
					
						2022-01-23 00:22:29 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fangrui Song 
							
						 
					 
					
						
						
						
						
							
						
						
							9a90b44b17 
							
						 
					 
					
						
						
							
							project: Expand response files  
						
						 
						
						
						
					 
					
						2022-01-17 21:09:36 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fangrui Song 
							
						 
					 
					
						
						
						
						
							
						
						
							c7596e3712 
							
						 
					 
					
						
						
							
							initialize: Add offsetEncoding to InitializeResult  
						
						 
						
						
						
					 
					
						2022-01-11 19:25:21 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fangrui Song 
							
						 
					 
					
						
						
						
						
							
						
						
							8422f0a522 
							
						 
					 
					
						
						
							
							Adapt llvmorg-14-init-13600-g92417eaf3329: braced constructor call  
						
						 
						
						
						
					 
					
						2022-01-09 12:25:07 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fangrui Song 
							
						 
					 
					
						
						
						
						
							
						
						
							dce86b1362 
							
						 
					 
					
						
						
							
							cmake: Add LANGUAGE C to fix find_package(Clang REQUIRED) error  
						
						 
						
						
						
					 
					
						2021-12-15 10:14:34 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fangrui Song 
							
						 
					 
					
						
						
						
						
							
						
						
							5a48e6c419 
							
						 
					 
					
						
						
							
							sema_manager: only keep latest session.maxNum sessions in case of a surge of textDocument/didChange  
						
						 
						
						
						
					 
					
						2021-09-23 14:41:51 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fangrui Song 
							
						 
					 
					
						
						
						
						
							
						
						
							3ce756e39a 
							
						 
					 
					
						
						
							
							Adaopt llvmorg-14-init-3863-g601102d282d5: refactor clang::isIdentifierBody  
						
						 
						
						
						
					 
					
						2021-09-23 13:36:01 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fangrui Song 
							
						 
					 
					
						
						
						
						
							
						
						
							f21fd7e5a2 
							
						 
					 
					
						
						
							
							pipeline: Avoid Twine  
						
						 
						
						... 
						
						
						
						For some reason, Twine(int), when concatenated, may incorrectly become Twine(const unsigned long&) and cause a dereference crash. 
						
					 
					
						2021-06-26 12:07:41 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fangrui Song 
							
						 
					 
					
						
						
						
						
							
						
						
							80d06eb476 
							
						 
					 
					
						
						
							
							sema_manager: Use llvm::CrashRecoveryContext  
						
						 
						
						
						
					 
					
						2021-05-18 21:01:50 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Ludovic J 
							
						 
					 
					
						
						
						
						
							
						
						
							c018bce9af 
							
						 
					 
					
						
						
							
							hierarchicalDocumentSymbol: use a range based method to support  
						
						 
						
						... 
						
						
						
						out-of-line class members (#674 ) 
						
					 
					
						2021-05-09 11:33:34 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fangrui Song 
							
						 
					 
					
						
						
						
						
							
						
						
							c6686be382 
							
						 
					 
					
						
						
							
							ccls_lsp  
						
						 
						
						... 
						
						
						
						The old name was somehow taken. 
						
					 
					
						2021-04-05 18:04:57 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								zhangjunphy 
							
						 
					 
					
						
						
						
						
							
						
						
							0ada56ef3b 
							
						 
					 
					
						
						
							
							Fix short_name_size when getNameAsString does not return a prefix ( #784 )  
						
						 
						
						
						
					 
					
						2021-03-30 23:33:43 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fangrui Song 
							
						 
					 
					
						
						
						
						
							
						
						
							4cd308d7fd 
							
						 
					 
					
						
						
							
							Adapt llvmorg-12-init-17739-gf4d02fbe418d: change CanReuse  
						
						 
						
						
						
					 
					
						2021-01-28 00:18:27 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Yu Zeng 
							
						 
					 
					
						
						
						
						
							
						
						
							aca02d209b 
							
						 
					 
					
						
						
							
							Fix compile error when use msvc 2019 ( #754 )  
						
						 
						
						... 
						
						
						
						See https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-__cplusplus/  
						
					 
					
						2021-01-18 19:05:28 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fangrui Song 
							
						 
					 
					
						
						
						
						
							
						
						
							40145807d5 
							
						 
					 
					
						
						
							
							completion: Don't overwrite the following identifier ( #749 )  
						
						 
						
						
						
					 
					
						2021-01-09 11:12:33 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fangrui Song 
							
						 
					 
					
						
						
						
						
							
						
						
							a2d2fd8167 
							
						 
					 
					
						
						
							
							diagnosticMain: Rebuild preamble for bounds change  
						
						 
						
						
						
					 
					
						2020-12-26 12:31:41 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jan Lahoda 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							4ff22e6603 
							
						 
					 
					
						
						
							
							Making the progress an integer, as per the specification ( #739 )  
						
						 
						
						
						
					 
					
						2020-12-26 12:30:53 -08:00