Fangrui Song
c728fe9795
project: support %cu directive and strip -M* options
2019-06-27 19:11:38 -07:00
Fangrui Song
ab4b4efcaf
pipeline: report changed arg
2019-06-27 01:41:25 -07:00
TÖRÖK Attila
b7027f89e5
threaded_queue.hh: fix -Wpessimizing-move ( #409 )
2019-06-18 08:45:20 +02:00
Fangrui Song
20883c047c
utils.hh: work around MSVC STL bug
2019-06-17 23:42:48 -07:00
Fangrui Song
0d911077f4
Set Diag::concerned if any of its Notes is concerned
2019-05-12 09:03:58 -07:00
Fangrui Song
fd3e82b682
Refactor FindEntry and use best-fit .ccls
...
Fixes an issue with hierarchical .ccls found by Riatre in #384
2019-04-29 08:44:52 -07:00
Fangrui Song
94727b7eae
JsonWriter: write "null" if VersionedTextDocumentIdentifier.version is null
...
Fix #387
2019-04-30 06:22:32 -07:00
Riatre Foo
aa2f55eb2b
Append '/' before populating folder.dot_ccls
2019-04-28 19:11:10 +08:00
Fangrui Song
0951004370
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-04-11 22:26:07 -07:00
Fangrui Song
3a364c868b
Set RetainRemappedFileBuffers to true
...
Reported by David Welch in #350 .
This fixes double-free of llvm::MemoryBuffer when parsing fails.
2019-03-29 07:48:58 -07:00
Fangrui Song
4c871d9783
Add error checking of object deserialization; ignore non-object initializationOptions
2019-03-29 06:54:41 -07:00
Fangrui Song
4808ccb32c
Add missing headers to adapt llvmorg-11-init-5501-g213aea4c583 and llvmorg-11-init-5528-gd7c5037e6b9
2020-03-12 08:35:59 -07:00
Fangrui Song
b0d42ad8f2
Adapt llvmorg-10-init-12036-g3b9715cb2193: handleDeclOccurence -> handleDeclOccurrence
2019-12-16 22:11:31 -08:00
Fangrui Song
a858567686
Adapt rL364464: clang::FrontendAction::Execute returns llvm::Error instead of bool
2019-06-27 01:10:04 -07:00
Fangrui Song
aab9dd6642
Simplify: hide unrelated options
2019-05-08 07:45:17 -07:00
Fangrui Song
34c5954420
Adapt clang rC358696: removal of OutputIsBinary
2019-04-18 19:16:24 -07:00
Fangrui Song
1066548dba
Adapt D73392 - split of llvm/Support/Allocator.h
2020-01-25 09:57:16 -08:00
Fangrui Song
f1cbf8d550
Adapt clang rC357037: removal of setVirtualFileSystem
2019-03-26 18:42:48 -07:00
Fangrui Song
17eaca8a02
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-03-24 23:42:00 -07:00
Paul Smith
b6155ddf73
Enhance the output of --version with Git describe results. ( #342 )
2019-03-23 20:24:10 -04:00
Fangrui Song
7bee63d0e0
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-03-15 09:33:44 -07:00
Fangrui Song
e576df4f6f
Add initialization option index.name.suppressUnwrittenScope (default: false)
2019-03-10 08:55:01 -07:00
Fangrui Song
dbf7d8eb41
If the workspace folder is a symlink, convert paths relative to it ( #314 )
...
If the workspace folder is a symlink and the client doesn't follow it.
Treat /tmp/symlink/ as canonical and convert every /tmp/real/ path to
/tmp/symlink/.
2019-03-10 00:27:50 -08:00
Fangrui Song
7c70c0662f
cmake: use {LLVM,Clang}Config.cmake
...
Combined Daan De Meyer's #227 with other simplification
* USE_SHARED_LLVM is deleted in favor of LLVM_LINK_LLVM_DYLIB
* LLVM_ENABLE_RTTI is deleted as it is provided by LLVMConfig.cmake
* Only direct Clang/LLVM dependencies are required in target_link_libraries
* Restrict -DCLANG_RESOURCE_DIRECTORY= to src/utils.cc
2019-03-09 19:45:37 -08:00
Fangrui Song
5d27ac9f34
Add excludeRole to documentSymbol and override declaration's range/selectionRange with definition's
2019-03-08 23:37:08 -08:00
Fangrui Song
478f849ada
cmake: add option to use system rapidjson if exists
2019-03-08 22:46:43 -08:00
Fangrui Song
9ca095f49e
Misc
2019-03-02 18:18:02 -08:00
Fangrui Song
6a3cff6e50
Make clang.excludeArgs accept glob patterns
2019-03-04 18:21:53 -08:00
Fangrui Song
6c7b868556
stdin: synthesize an "exit" NotificationMessage in abnormal termination
2019-03-04 06:52:07 -08:00
Fangrui Song
beff1f6e89
textDocument/rename: mitigate edits in the same place and edits in macro replacement
...
Mitigate edits in the same place (#294 ) and:
// textDocument/rename on `f`
void f();
void g() { m(); } // incorrectly rewrote m() before
2019-03-01 18:35:13 -08:00
Fangrui Song
4047db2669
Add .github/ISSUE_TEMPLATE
...
Adapted from https://github.com/hlissner/doom-emacs
2019-03-01 17:37:37 -08:00
Fangrui Song
74432a641d
working_files: normalize \r\n and \n to \n
...
Clients may normalize end-of-line sequences, thus cause a mismatch
between index_lines and buffer_lines.
Thanks to CXuesong for reporting this issue!
2019-03-01 17:30:53 -08:00
Fangrui Song
dcaa5a07af
Change Pos::line from int16_t to uint16_t
...
This allows representing line 0 ~ 65535.
2019-02-23 19:17:26 +08:00
Fangrui Song
9dea14e783
Make hover more detailed (e.g. include inheritance info)
2019-02-22 23:49:37 +08:00
Fangrui Song
f35883f9b4
indexer: index TemplateTypeParmDecl and ParmVarDecl in declarations for clang >= 9
...
Index ParmVarDecl in declarations if index.parametersInDeclarations is true
And support some unhandled Decl::Kind
2019-02-22 10:59:05 +08:00
Fangrui Song
0c04c27e59
Add cache.{hierarchicalPath,retainInMemory}
...
cache.hierarchicalPath: store cache files as $directory/a/b/c.cc.blob to
work around NAME_MAX limitation.
cache.retainInMemory: after this number of loads, keep a copy of file
index in memory. If set to 1, it avoids cache corruption if the index
file is changed after the initial load, which may happen if several
language clients open the same project and share the same cache
directory.
Also rename cacheDirectory cacheFormat to cache.{directory,format}
2019-02-21 23:46:20 +08:00
Leszek Swirski
633d8936a8
Use DiagnosticRelatedInformation if client supports publishDiagnostics.relatedInformation ( #276 )
...
In clients that support DiagnosticRelatedInformation, display
clang notes as these nested diagnostics rather than appending
them to the parent diagnostic's message. Behaviour for clients
that don't support related information should be unchanged.
2019-02-21 02:23:21 +01:00
Fangrui Song
66e9cbd9a6
indexer: change Pos computation from byte offset to UTF-8 encoded code point offset
2019-02-16 17:23:47 +08:00
Fangrui Song
3bf921b3bd
Add initialization option capabilities.*
and index.maxInitializerLines
...
indexer.cc: use index.maxInitializerLines instead of kInitializerMaxLines
messages/initialize.cc: some ServerCapabilities are toggable:
documentOnTypeFormattingProvider.firstTriggerCharacter
foldingRangeProvider
workspace.workspaceFolders.supported
2019-02-10 18:17:07 +08:00
Fangrui Song
aaa97fe8df
GetFallback: append clang.extraArgs
...
When compile_commands.json is absent, GetFallback is called to get
default clang command line when there is no .ccls or .ccls is empty.
2019-02-10 11:58:18 +08:00
Fangrui Song
03f91f0681
Compute CompletionItemKind from Declaration instead of CursorKind
2019-02-02 14:14:23 +08:00
Riatre Foo
2db67f6edb
Fix is_local for vars with non-auto storage period
2018-10-15 23:25:46 +08:00
Riatre Foo
cd0f204349
textDocument/signatureHelp: enable documentation
2018-10-14 07:58:08 +08:00
Fangrui Song
716bc01322
Log {Request,Notification}Message, and timestamp change due to dependency
2019-01-29 15:47:03 +08:00
Riatre Foo
84f7d5081f
Fix completion result sorting in VSCode ( #210 )
...
Fix #207
2019-01-30 23:21:40 +08:00
Fangrui Song
9bbb288b57
cmake: delete SYSTEM_CLANG and auto-download mechanism
2019-01-22 22:44:13 +08:00
Fangrui Song
343fa74dc1
Implement initialization option compilationDatabaseCommand on Windows
2019-01-21 12:15:28 +08:00
Fangrui Song
c6d56519e3
Drop support for clang 6
2019-01-21 10:44:44 +08:00
Fangrui Song
f496580081
Add -log-file=stderr and make it default
...
Change -log-file-append to a boolean flag
2019-01-21 10:20:07 +08:00
Fangrui Song
c592f95be0
completion: if preamble size changes, rebuild it
...
Fix #190
If a new header is added, the preamble size changes. Language clients may cache completion results, thus we rebuild preamble to avoid inaccurate results.
2019-01-13 18:33:18 +08:00