Fangrui Song
24dd3bd4c2
sema_manager: report diagnostics in macro expansions
...
Fix #608
2020-04-19 11:29:28 -07:00
Fangrui Song
db12223081
Delete ci/ and use .gitignore whitelist
2020-03-22 09:56:58 -07:00
Fangrui Song
5a08ff99e6
Add missing headers to adapt llvmorg-11-init-5501-g213aea4c583 and llvmorg-11-init-5528-gd7c5037e6b9
2020-03-12 08:35:59 -07:00
condy
41e7d6a79c
Simplify: hide unrelated options
2020-02-10 20:41:42 +08:00
Fangrui Song
b4af654e77
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-30 22:37:20 -08:00
Fangrui Song
1834f8195b
Adapt D73392 - split of llvm/Support/Allocator.h
2020-01-25 09:57:16 -08:00
Evan Klitzke
64e3e8f250
Set indexer threads' priority to ThreadPriority::Background ( #538 )
2019-12-27 22:31:13 -08:00
Fangrui Song
e2284a3c62
project: decrease score if .c is matched against .hh ( #549 )
2019-12-27 22:23:43 -08:00
akocis
ed64919fc4
position: support line numbers larger than INT16_MAX (but <= UINT16_MAX) ( #553 )
2019-12-27 22:21:40 -08:00
Jan Lahoda
98f25b52ff
textDocument/documentSymbol: support unopened files ( #548 )
2019-12-22 22:53:40 -08:00
Fangrui Song
86e340caf0
Adapt llvmorg-10-init-12036-g3b9715cb2193: handleDeclOccurence -> handleDeclOccurrence
2019-12-16 22:12:23 -08:00
xVan Turing
cef0203484
indexer: add name for anonymous Enum
2019-11-16 09:34:59 -08:00
Felicián Németh
bd609e89a2
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 09:33:54 -08:00
Fangrui Song
468a2fb6ca
indexer: fix getAdjustedDecl for explicit instantiations; fix incorrect short_offset_size=1 when name is empty
...
Fix #516
2019-11-09 20:09:13 -08:00
Fangrui Song
a7a982ab92
cmake: support CLANG_LINK_CLANG_DYLIB
2019-11-09 20:09:13 -08:00
Fangrui Song
464ccd60df
Infer -target and --driver-mode from argv[0]
...
Fix #511
2019-11-09 20:09:13 -08:00
Fangrui Song
050a16c3d7
Fix some clang-tidy warnings
...
Incorporated some fixes by Daniel Chabrowski (#467 )
2019-11-09 20:09:13 -08:00
Fangrui Song
eabce35f9c
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-11-09 20:09:13 -08:00
Fangrui Song
330e633f86
completion: don't reuse cache if the buffer line has changed
...
Fix emacs-ccls#54
2019-11-09 20:09:13 -08:00
Fangrui Song
718e2be171
project: strip -Xclang <arg>
2019-11-09 20:09:13 -08:00
Fangrui Song
a655ca966d
indexer: disable warnings and skip processed function bodies
...
Adapt clang rC370337: removal of createIndexingAction and WrappingIndexAction
2019-11-09 20:09:13 -08:00
Fangrui Song
d2b904a514
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-11-09 20:09:13 -08:00
Fangrui Song
91abea080b
💥 Rename FunctionName -> functionName, VarName -> var_name
2019-11-09 20:09:13 -08:00
Fangrui Song
1ca8d45914
textDocument/definition: don't jump to the type definition
2019-11-09 20:09:13 -08:00
Fangrui Song
373e502dd3
project: allow absolute compilationDatabaseDirectory
...
Fix #466
2019-11-09 20:09:13 -08:00
Shengjing Zhu
5200f431f1
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-11-09 20:09:13 -08:00
Fangrui Song
6528dcb81d
Construct SourceManager with UserFilesAreVolatile
...
Fix #235 . Close #453
In clang, it may be worth generalizing UserFilesAreVolatile (introduced in rC160074) to FilesAreVolatile.
2019-11-09 20:09:13 -08:00
Fangrui Song
9ff1897dfb
project: improve ComputeGuessScore heuristics
2019-11-09 20:09:13 -08:00
Fangrui Song
d965bcdb1d
Support indexing non-existent files in index.onChange:true mode
2019-11-09 20:09:13 -08:00
Fangrui Song
7e7a120c48
$ccls/fileInfo: optionally dump dependencies, includes and skipped_ranges
2019-11-09 20:09:13 -08:00
Riatre Foo
034bd1615f
Change RequestId::value from int to std::string to allow non-numeric IDs.
2019-11-09 20:09:13 -08:00
Dan Čermák
0ca7d350cf
Only add include directories for LLVM, clang & rapidjson if they are not in CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES
...
/usr/include/c++/9 comes before /usr/include in `{clang,gcc} -v -fsyntax-only -xc++ /dev/null`.
target_include_directories(ccls SYSTEM PRIVATE ${RapidJSON_INCLUDE_DIRS})
If ${RapidJSON_INCLUDE_DIRS} resolves to /usr/include, /usr/include will
be shuffled before /usr/include/c++/9 and will cause `#include_next <stdlib.h>`
issues (see https://github.com/MaskRay/ccls/pull/417 ).
Check if the include directories are already in CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES.
2019-11-09 20:09:13 -08:00
Fangrui Song
e89e3105b7
project: support %cu directive and strip -M* options
2019-11-09 20:09:13 -08:00
Fangrui Song
73b75a2869
pipeline: report changed arg
2019-11-09 20:09:13 -08:00
Fangrui Song
6d0a096272
Adapt rL364464: clang::FrontendAction::Execute returns llvm::Error instead of bool
2019-11-09 20:09:13 -08:00
TÖRÖK Attila
2d11cc25c1
threaded_queue.hh: fix -Wpessimizing-move ( #409 )
2019-11-09 20:09:13 -08:00
Fangrui Song
d55fd001bc
utils.hh: work around MSVC STL bug
2019-11-09 20:09:13 -08:00
Fangrui Song
7f291c6dd5
Set Diag::concerned if any of its Notes is concerned
2019-11-09 20:09:13 -08:00
Fangrui Song
d472ffc46b
Adapt llvm rL360179: Option may have multiple OptionCategory's
2019-11-09 20:09:13 -08:00
Fangrui Song
4dd97d4e27
Refactor FindEntry and use best-fit .ccls
...
Fixes an issue with hierarchical .ccls found by Riatre in #384
2019-11-09 20:09:13 -08:00
Fangrui Song
bd0006a8f0
JsonWriter: write "null" if VersionedTextDocumentIdentifier.version is null
...
Fix #387
2019-11-09 20:09:13 -08:00
Riatre Foo
137a9cd638
Append '/' before populating folder.dot_ccls
2019-11-09 20:09:13 -08:00
Fangrui Song
ea8baa68db
Adapt clang rC358696: removal of OutputIsBinary
2019-11-09 20:09:13 -08:00
Fangrui Song
b1bcd0e0a2
Set RetainCommentsFromSystemHeaders to true
...
Note with -fretain-comments-from-system-headers, the .gch of bits/stdc++.h becomes larger by 1%, but that is fine.
And improve comment handling in textDocument/hover
Fix #373
2019-11-09 20:09:13 -08:00
Fangrui Song
1d3fba276f
Set RetainRemappedFileBuffers to true
...
Reported by David Welch in #350 .
This fixes double-free of llvm::MemoryBuffer when parsing fails.
2019-11-09 20:09:13 -08:00
Fangrui Song
539ca22e5e
Add error checking of object deserialization; ignore non-object initializationOptions
2019-11-09 20:09:13 -08:00
Fangrui Song
193eacc837
Adapt clang rC357037: removal of setVirtualFileSystem
2019-11-09 20:09:13 -08:00
Fangrui Song
752012fa19
Add initialization option index.initialNoLinkage: false
...
By default, the background indexer doesn't handle names of no linkage.
They are indexed when their files are opened. This saves memory and
makes cache files smaller.
2019-11-09 20:09:13 -08:00
Paul Smith
58530719f1
Enhance the output of --version with Git describe results. ( #342 )
2019-11-09 20:09:13 -08:00
Fangrui Song
4d68101d0a
Change containers of Query*::Def fields from std::vector to ccls::Vec
...
Query*::Def contain several immutable std::vector fields. Change them to
ccls::Vec to save bytes which were wasted by `capacity`.
2019-11-09 20:09:13 -08:00