Commit Graph

17 Commits

Author SHA1 Message Date
Fangrui Song
6ed201c42e Delay requests if the document has not not indexed (#176)
This fixes a plethora of "not indexed" errors when the document has not been indexed.

* Message handler throws NotIndexed
* The message is put into backlog and tagged with backlog_path
* path2backlog keeps backlog associated with a document and a merged index clears the backlog
* backlog[0] is forced to run if it becomes overdue
2018-12-28 12:35:34 -08:00
Fangrui Song
b53314c89c Refactor serializer
Delete virtual bases Reader & Writer
Delete unused MAKE_REFLECT_STRUCT_WRITER_AS_ARRAY
Merge serializers/{json,binary}.hh into serializer.{hh,cc}
MAKE_REFLECT_STRUCT => REFLECT_STRUCT
MAKE_REFLECT_TYPE_PROXY => REFLECT_UNDERLYING
2018-12-28 12:35:33 -08:00
Fangrui Song
16393025f2 Add ReplyOnce::NotReady and error if didOpen is not seen
Use IgnoringDiagConsumer to override default TextDiagnosticPrinter
2018-12-28 12:35:33 -08:00
Fangrui Song
c724779627 Refactor WorkingFiles and CompletionManager
* WorkingFiles::files : vector -> unordered_map
* Add timestamp to WorkingFile

* Rename "comp-preload" thread to "preamble"
* Rename CompletionManager to SemaManager as it is used by "diag" "comp" "preamble"
* Rename clang_complete.* to sema_manager.*
* Merge SemaManager::{preloads,sessions}
* Add initialization option session.maxNum
* In DiagnosticMain, if an included file was modified, cancel the DiagTask and create a PreambleTask instead. The task sets `from_diag` so as to trigger immediate DiagTask after the preamble is built.
2018-12-28 12:35:33 -08:00
Fangrui Song
935117af76 Merge query.hh and query_util.hh 2018-12-28 12:35:33 -08:00
Fangrui Song
301b5c32ce serializer: make visitor/vis value/v consistent 2018-12-20 00:28:12 -08:00
Fangrui Song
8a68dfbf8f Remove ls prefix from many LSP interfaces
Rename SymbolKind to Kind & lsSymbolKind to SymbolKind
Use textDocumentSync: TextDocumentSyncOptions
2018-12-11 15:04:00 -08:00
Fangrui Song
93371b9b3b Simplify and better compatibility with encodings retaining the feature of low bytes being 1-byte characters 2018-12-11 15:04:00 -08:00
Fangrui Song
7817821959 *.h -> *.hh 2018-12-11 15:04:00 -08:00
Fangrui Song
77e1f354fd Refactor message handler and namespace ccls 2018-12-11 15:03:56 -08:00
Fangrui Song
53632bd920 Add pipeline::{Notify,Reply,ReplyError} and simplify message handling
Delete method.{cc,h}
Rename $ccls/setSkippedRanges to $ccls/publishSkippedRanges
Rename $ccls/publishSemanticHighlighting to $ccls/publishSemanticHighlight; stableId -> id
2018-10-16 01:14:43 -07:00
Fangrui Song
705ed77a85 Misc changes to project
* Better LanguageId detection with clangDriver (e.g. .cu -> types::TY_CUDA)
* fallback when there is no .ccls or compile_commands.json

Also Hide clangTooling options from --help
2018-10-16 01:14:43 -07:00
Fangrui Song
b77fba6ea8 Improve hover and documentSymbol 2018-09-06 00:22:40 -07:00
Fangrui Song
f3490a3e6c Add license notice 2018-08-20 22:27:52 -07:00
Fangrui Song
431eef2167 textDocument/hover: prefer definitions in the same file 2018-08-19 13:11:47 -07:00
Fangrui Song
8cbb317dc2 clang-format
DEF CON 26 CTF
2018-08-09 10:13:54 -07:00
Fangrui Song
0df5a2cd66 rename 2018-07-03 11:19:01 -07:00