Commit Graph

101 Commits

Author SHA1 Message Date
firstlove
74790e2421 fix clang_tu.h && clang_complete.cc (#61) 2018-08-29 20:52:44 -07:00
Fangrui Song
87c5491536 New diagnostics 2018-08-29 20:52:44 -07:00
Fangrui Song
f808dd8f8a Use StoreInMemory Preamble for CodeComplete 2018-08-29 20:52:32 -07:00
Fangrui Song
f3490a3e6c Add license notice 2018-08-20 22:27:52 -07:00
Fangrui Song
8cbb317dc2 clang-format
DEF CON 26 CTF
2018-08-09 10:13:54 -07:00
Fangrui Song
0bb311ac56 Add textDocument/codeAction for clang FixIt
What do you think of the challenge ccls-fringe in Real World CTF?
2018-07-29 01:03:30 -07:00
Chao Shen
ff102c9b7e Fix preload completion session. 2018-07-24 20:48:41 -07:00
Fangrui Song
0732d37817 Better bases/derived and initializer 2018-07-17 21:13:56 -07:00
Fangrui Song
344f00fbb2 CrashRecoveryContext 2018-07-15 23:06:27 -07:00
Fangrui Song
814f054e6e Misc improvement to indexer
* Make CXXConstructor span one more column to left/right
* Use OrigD to collect Decl::Record members
* Better comment parsing
* Limit lines of initializers and macro definition to 3
* Attribute macro arg uses to spelling loc
* Remove FuncDef::declaring_type
2018-07-15 16:51:20 -07:00
Fangrui Song
dd05ad9f65 Diagnostics 2018-07-15 13:29:47 -07:00
Fangrui Song
eea1b92825 Enable clangDriver in project.cc
https://bugs.llvm.org/show_bug.cgi?id=37695 is not fixed. But since we have eliminated libclang for indexing and completion the bug no longer bothers us.
2018-07-15 01:22:02 -07:00
Fangrui Song
5dcccea285 Use Clang C++ for completion and diagnostics 2018-07-15 00:15:31 -07:00
Fangrui Song
d604fc38dc Use Sema/CodeCompleteConsumer 2018-07-14 11:41:16 -07:00
Fangrui Song
559a68a261 Display diagnostics from header files 2018-06-23 10:50:15 -07:00
Fangrui Song
a36e548e03 Remove Timer and PerformanceImportFile 2018-05-31 23:52:51 -07:00
Fangrui Song
c9f0b65062 Simplify pipeline 2018-05-28 16:13:44 -07:00
Fangrui Song
8fabe3d1ae Replace loguru with a custom logger 2018-05-27 15:14:33 -07:00
Fangrui Song
19d0aad2ca clean up clang_complete found by scturtle; clean up project 2018-05-14 10:02:37 -07:00
Fangrui Song
f145c4422f experimental/filesystem -> LLVM/Support/FileSystem.h; sparsepp -> DenseMap 2018-05-13 15:24:04 -07:00
Fangrui Song
bac704f17b Backport and cleanup 2018-05-09 22:55:40 -07:00
Fangrui Song
984c6367d1 Redesign import_pipeline.cc and mitigate race (duplicate Query*::uses for initial indexing) 2018-05-06 21:56:14 -07:00
Fangrui Song
fa9df5bcef Remove variant and clean up 2018-04-17 00:12:59 -07:00
Fangrui Song
d45c057dd4 Backport recent update of completion 2018-04-14 11:38:06 -07:00
Fangrui Song
6e68e9edbd Simplify 2018-04-07 21:04:20 -07:00
Fangrui Song
d9bcaecf25 Use global config. 2018-04-04 00:29:27 -07:00
Fangrui Song
f8a816d110 . 2018-03-31 09:07:53 -07:00
Fangrui Song
da649891ae Resurrection of ccls 2018-03-30 22:02:26 -07:00
Elliot Berman
f17196e3da Flush all clang-complete sessions on workspace/didChangeConfiguration 2018-03-20 16:48:44 -07:00
Jacob Dufault
c7e5299bee Reformat 2018-03-19 19:51:42 -07:00
Fangrui Song
640f548e7c Use std::index_sequence and std::make_unique 2018-03-10 15:57:02 -08:00
Fangrui Song
df55e79e4e Add DiagnosticsEngine and add config->diagnostics.frequencyMs to allow reducing textDocument/publishDiagnostics frequency 2018-03-05 17:53:38 -08:00
Fangrui Song
56f57fc38e Add missing GetCompletionKind branches 2018-02-28 21:49:44 -08:00
Jacob Dufault
01fe19f280 Format code 2018-02-21 23:34:32 -08:00
Jacob Dufault
fae959e0ee Drop old completion requests.
Also increase xref limit.
2018-02-21 23:13:42 -08:00
Fangrui Song
20d1636024 Support clang-cl and cl.exe 2018-02-21 00:24:34 -08:00
Fangrui Song
f3134d564c Simplify Index* Query* 2018-02-18 10:43:27 -08:00
Patil Arpith
afdde4d59f Making completion_request_ ThreadedQueue from AtomicObject (#459) 2018-02-18 09:15:39 -08:00
Chao Shen
8bee5c6ccf Disable limiting completion result.
Because vscode cache the include completion results.
But for emacs, the json is too large to load.
TODO Make some fields optional.
2018-02-08 00:28:35 +08:00
Fangrui Song
cd96cb9570 threaded_queue: queue -> deque
IndexMergeIndexUpdates: use TryPopBack() and see
2018-02-04 22:15:48 -08:00
Guillaume Papin
24702a25b0 add detailedLabel completion style
Some completion UI, such as Emacs' completion-at-point and company-lsp,
display completion item label and detail side by side.
This does not look right, when you see things like:
    "foo" "int foo()"
    "bar" "void bar(int i = 0)"
When this option is enabled, the completion item label is very detailed,
it shows the full signature of the candidate.
The detail just contains the completion item parent context.
Also, in this mode, functions with default arguments,
generates one more item per default argument
so that the right function call can be selected.
That is, you get something like:
    "int foo()" "Foo"
    "void bar()" "Foo"
    "void bar(int i = 0)" "Foo"
Be wary, this is quickly quite verbose,
items can end up truncated by the UIs.
2018-02-03 20:56:14 -08:00
Fangrui Song
0d715e7bcf Handle int8_t int16_t uint8_t uint16_t enum constants
Clean up clang_complete
2018-02-01 12:21:58 -08:00
Jacob Dufault
a392301be3 Format 2018-01-29 16:27:43 -08:00
Fangrui Song
ce49a5c8d9 Stop appending to insert after a placeholder if snippetSupport is false 2018-01-22 22:21:32 -08:00
Fangrui Song
d4a4e15976 Store client capability snippetSupport into config
Rename filterAndSortCompletionResponse to completion.filterAndSort
Rename index.builtin_types to index.buitinTypes
2018-01-21 10:09:09 -08:00
Fangrui Song
76c38787df CXCursor_OverloadCandidate is lsCompletionItemKind::Text
See clang/test/Index for some OverloadCandidate cases, they all start with Text.
2018-01-20 10:07:52 -08:00
Jacob Dufault
71ae137393 Add ScopedPerfTimer 2018-01-18 08:25:47 -08:00
Jacob Dufault
93ba0c532b For completion, only tell clang about relevant dirty working files.
The heuristic may not be perfect, but it is probably good enough.
clang_codeCompleteAt seems to get slower as more and more CXUnsavedFile
instances are uploaded.
2018-01-12 09:39:05 -08:00
Jacob Dufault
54394ed868 Format 2018-01-10 18:43:01 -08:00
Joel Hock
0c9f572637 freeze state of WorkingFiles to insulate them from async changes
before shipping unsaved state off to clang
2018-01-06 11:26:09 -08:00