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
Fangrui Song
4c66fdf09d
Resolve "directory" in compile_commands.json in case CWD is not the project root
...
Also delete an unneeded chdir hack.
Close #703
2020-12-19 21:42:21 -08:00
Fangrui Song
feb153a843
Adapt llvmorg-12-init-11522-g4c55c3b66de: change ComputePreambleBounds
2020-11-18 22:33:04 -08:00
Fangrui Song
68d6e4122d
project: fix initial directory list for recursive .ccls
...
Fix #717
2020-11-06 18:55:01 -08:00
Fangrui Song
a3c5d4a1eb
Adapt llvmorg-12-init-5498-g257b29715bb: add an argument to the ctor of clang::driver::Driver
2020-09-23 16:06:49 -07:00
Fangrui Song
20a9f7b5f4
clang_tu: set RecoveryAST & RecoveryASTType
2020-08-30 10:21:58 -07:00
Fangrui Song
55c0d5b4eb
project: override the compdb entry with .ccls if compile_commands.json is not used
...
Note: `exact_match` should be false if the entry is an synthetic one, instead
of an explicit entry in compile_commands.json
2020-08-26 11:36:55 -07:00
Fangrui Song
aa4d2d1b43
If clang >= 10, don't crash on #pragma clang __debug
2020-08-22 10:29:39 -07:00
Fangrui Song
125915e254
Adapt llvmorg-12-init-946-g10b1b4a231a: add find_package(ZLIB)
2020-07-25 08:30:18 -07:00
Fangrui Song
ca95f48a53
Support workspaces as symlinks and symlinks within a workspace
...
Fix #639
2020-07-19 17:03:16 -07:00
Fangrui Song
5108cfafcb
Report index status via $/progress
...
Add WorkDoneProgress to represent WorkDoneProgressBegin/WorkDoneProgressReport/WorkDoneProgressEnd.
2020-07-04 10:05:26 -07:00
Ernest Borowski
468258d641
cmake: Fix rapidJSON version detection
2020-06-29 22:46:00 -07:00
Fangrui Song
6244594d71
indexer: log the number of errors and the first diagnostic
...
Example log:
```
15:47:45 indexer1 pipeline.cc:379 I parse /tmp/d/a.c error:1 use of undeclared identifier 'arg'
clang /tmp/d/a.c --gcc-toolchain=/usr -working-directory=/tmp/d/
```
2020-06-28 17:16:35 -07:00
Fangrui Song
8cf8a3c4a4
Disable PCH reading/writing
2020-06-14 23:16:13 -07:00
Victor Sui
7a05f1ed06
cmake: Fail loudly when found rapidjson is too old ( #646 )
...
When the rapidjson found by cmake is an older version it defines a
variable RAPIDJSON_INCLUDE_DIRS instead of RapidJSON_INCLUDE_DIRS (#455 ).
According to #383 we do not want to make these older version work with
ccls. However currently if the rapidjson found by cmake is an older
version that defined RAPIDJSON_INCLUDE_DIRS, then the cmake invocation
still succeeds but any build command will fail because
RapidJSON_INCLUDE_DIRS was never set properly. This makes the cmake
invocation fail with a relevant error message in this event.
2020-06-14 23:15:48 -07:00
Ludovic Jozeau
c5acf62060
indexer: set the kind of static data members to Field instead of Var
...
Otherwise it is impossible to distinguish a static variable from a
static member variable.
Close #593
2020-04-22 09:08:20 -07:00
Fangrui Song
de800ebb70
sema_manager: report diagnostics in macro expansions
...
Fix #608
2020-04-19 11:27:57 -07:00
Fangrui Song
c10642d29b
Delete ci/ and use .gitignore whitelist
2020-03-22 09:50:48 -07:00
Evan Klitzke
386f714f5e
Set indexer threads' priority to ThreadPriority::Background ( #538 )
2019-12-02 19:20:39 -08:00
Fangrui Song
6c87a4656c
project: decrease score if .c is matched against .hh ( #549 )
2019-12-22 10:06:34 -08:00
akocis
e373f9ed97
position: support line numbers larger than INT16_MAX (but <= UINT16_MAX) ( #553 )
2019-12-27 20:56:50 +01:00
Jan Lahoda
a2ecd9a8f0
textDocument/documentSymbol: support unopened files ( #548 )
2019-12-22 09:26:23 +01:00
xVan Turing
06a04d5102
indexer: add name for anonymous Enum
2019-11-16 05:42:51 +08:00
Felicián Németh
760f5e57ff
initialize: implement serverInfo (LSP 3.15.0)
...
Return serverInfo for an initialize request. This helps clients to
identify ccls even when they just connect to a TCP port and allows them
to easily implement server specific functionalities like $ccls/navigate.
2019-11-11 10:19:24 +01:00
Fangrui Song
0a1e08a8ca
indexer: fix getAdjustedDecl for explicit instantiations; fix incorrect short_offset_size=1 when name is empty
...
Fix #516
2019-11-09 13:27:09 -08:00
Fangrui Song
7e795e9b9e
cmake: support CLANG_LINK_CLANG_DYLIB
2019-11-01 10:36:38 -07:00
Fangrui Song
0fe8a16504
Infer -target and --driver-mode from argv[0]
...
Fix #511
2019-10-31 22:31:03 -07:00
Fangrui Song
5935db10fd
Fix some clang-tidy warnings
...
Incorporated some fixes by Daniel Chabrowski (#467 )
2019-10-10 19:24:44 -07:00
Fangrui Song
2bffff7b0b
Add initialization option completion.placeholder; change client.snippetSupport: false to drop ( and <
...
* client.snippetSupport: false => `foo`
* client.snippetSupport: true
+ completion.placeholder: false => `foo($1)$0` `bar<$1>()$0`
+ completion.placeholder: true => `foo(${1:int a}, ${2:int b})$0` `bar<${1:typename T}>()$0`
Note, client.snippetSupport is always false if the client does not support snippets.
Close #412
2019-10-06 23:54:45 -07:00
Fangrui Song
aa9668a8fc
completion: don't reuse cache if the buffer line has changed
...
Fix emacs-ccls#54
2019-09-26 23:25:09 -07:00
Fangrui Song
0c6be472ce
project: strip -Xclang <arg>
2019-09-11 19:05:04 -07:00
Fangrui Song
b3d694b8bd
indexer: disable warnings and skip processed function bodies
...
Adapt clang rC370337: removal of createIndexingAction and WrappingIndexAction
2019-08-21 18:59:41 -07:00
Fangrui Song
65f86d0498
indexer: llvm::sys::fs::UniqueID -> clang::FileID
...
Fix a minor issue that an empty included file is not recorded.
Note, we need to skip invalid uid2lid_and_path because
otherwise lid2path may contain invalid entries with lid: 0,
which will cause the file entry with file_id 0 to have an empty path.
2019-08-21 23:46:02 -07:00
Fangrui Song
0f0e679edb
indexer: delete redundant consumeFile
2020-04-21 21:43:56 -07:00
Fangrui Song
6717986541
Adapt llvmorg-11-init-1314-g777180a32b6: StringRef's conversion to std::string is now explicit
...
For compatibility with LLVM 7, the call sites have to be a bit verbose.
2020-01-29 00:29:06 -08:00
Fangrui Song
61a1071634
💥 Rename FunctionName -> functionName, VarName -> var_name
2019-08-22 10:12:03 -07:00
Fangrui Song
62fbde7873
textDocument/definition: don't jump to the type definition
2019-08-22 02:24:20 -07:00
Fangrui Song
50d7fbc235
project: allow absolute compilationDatabaseDirectory
...
Fix #466
2019-08-16 19:34:11 -07:00
Shengjing Zhu
0eebe0c1a9
Support override CLANG_RESOURCE_DIR
...
The result from clang commandline is something like
/usr/lib/llvm-7/lib/clang/7.0.1
Which means I need to recompile when the clang is upgraded to newer 7.x.x
However the system has a convenient symlink, which is
/usr/include/clang/7.
2019-08-11 18:06:47 +08:00
Fangrui Song
17dc4a6ecc
Construct SourceManager with UserFilesAreVolatile
...
Fix #235 . Close #453
In clang, it may be worth generalizing UserFilesAreVolatile (introduced in rC160074) to FilesAreVolatile.
2019-07-30 21:18:34 -07:00
Fangrui Song
a43e51f3bf
project: improve ComputeGuessScore heuristics
2019-07-20 06:13:53 -07:00