rherilier
66e8264729
Merge 84b3c69ff5
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
Rémi Hérilier
84b3c69ff5
cmake: Make sure to get the resource directory from the right clang compiler
...
The resource directory was always retrieved from the system's default clang
compiler instead of the targeted one.
2024-12-06 17:08:30 +01: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
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