Commit Graph

61 Commits

Author SHA1 Message Date
Fangrui Song
541f65f8cb Make -v=1 work and log cflags for SemaManager session and Indexer 2018-12-25 13:18:29 -08:00
Fangrui Song
d9edf62e7d Rendezvous after receiving "exit" notification (#159) 2018-12-25 09:44:33 -08:00
Fangrui Song
42915c8e71 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-25 09:44:33 -08:00
Fangrui Song
da63a5dd6d 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-25 09:44:31 -08:00
Fangrui Song
c73dfddbed Merge query.hh and query_util.hh 2018-12-20 00:28:12 -08:00
Fangrui Song
be7c1c93b0 Refactor Matcher to use pimpl and merge match.hh into utils.hh 2018-12-20 00:28:12 -08:00
Fangrui Song
b5ea331921 Make EmptyParam empty & rewrite LruCache 2018-12-20 00:28:12 -08:00
Fangrui Song
4592145f55 constexpr std::string_view -> const std::string_view
This works around gcc 7.2/clang rC347417 which have a bad interaction with libstdc++'s implementation of P0426
constexpr std::string_view also emits a string_view object in .rodata that cannot be optimized out by clang (which means larger object file size)

So use good old const.
2018-12-20 00:28:12 -08:00
Fangrui Song
f348186615 Use clang::isIdentifierBody and clean up utils/working_files 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
f5df8bee42 Misc 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
e101e4782d Add command line option -index=root to index without starting language server 2018-10-22 22:34:49 -07: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
31921a90b0 Support workspace folders 2018-10-08 12:46:30 -07:00
Fangrui Song
84984c6c27 Use non-inferred entries and build preamble for .h; index on didOpen if no pending requests; documentHighlight 2018-10-01 16:56:50 -07:00
Fangrui Song
79373ba486 Rename some initialization options
* Delete index.enabled which can be achieved with index.blacklist: ['.']
* Move completion.include* to completion.include.*
* move largeFileSize to highlight.largeFileSize
2018-09-30 11:46:34 -07:00
Fangrui Song
d4871207ed Construct SourceManager with UserFilesAreVolatile
Prettify pipeline
2018-09-28 14:06:01 -07:00
Fangrui Song
41fcc0272c Simplify semantic highlighting; improve hover of auto && 2018-09-25 11:57:42 -07:00
Fangrui Song
0eb9428a32 Add index.trackDependency and improve pipeline 2018-09-24 00:38:56 -07:00
Fangrui Song
854225bd30 Misc
Move using below #include to make preamble happy
textDocument/references: if no references, first line or last line => list where this file is included
malloc_trim() only if files have been indexed in last cycle
Intern: use CachedHashStringRef
2018-09-23 20:34:38 -07:00
Fangrui Song
6ea399559d Fix spurious "Failed to index" errors 2018-09-23 10:40:41 -07:00
Fangrui Song
28d33324b1 Publish diagnostics of inferred files and change diagnostics.{onChange,onOpen,onSave} from bool to debounce time 2018-09-23 10:40:39 -07:00
Fangrui Song
4d76108d6b Delete file_consumer.* 2018-09-20 19:48:20 -07:00
Fangrui Song
41756297ef Simplify semantic highlighting 2018-09-20 17:49:39 -07:00
Fangrui Song
f9bd84a975 Clean up FileConsumer and improve pipeline 2018-09-20 09:20:07 -07:00
Fangrui Song
08645d64c1 intern args 2018-09-20 01:08:33 -07:00
Fangrui Song
525b6da1ac intern strings in dependencies and IndexInclude::resolved_path 2018-09-20 01:08:33 -07:00
Fangrui Song
763106c3d4 Simplify pipeline and fix race 2018-09-20 01:08:31 -07:00
Fangrui Song
a18977b9fc Add clang.pathMappings to reuse cache files with differect source paths 2018-09-16 20:53:52 -07:00
Fangrui Song
e2f29d7b1b pipeline improvement for files not having a project entry (e.g. .h) 2018-09-12 17:01:52 -07:00
Fangrui Song
c7a6c5cd12 Make $ccls/reload reset DB and reload cached index files
$ccls/reload is renamed from $ccls/freshenIndex

This is useful when DB (merged index) diverges from backing IndexFile.

Also fix a semantic highlighting bug.
2018-09-12 17:01:52 -07:00
Fangrui Song
c9e6b31dd0 Revamp completion and signatureHelp, set completion.detailedLabel: true and add completion.duplicateOptional 2018-09-12 17:01:48 -07:00
Fangrui Song
a7c1633b51 Misc 2018-09-11 20:22:49 -07:00
Fangrui Song
92ee7f3e0f Add diagnostics.onSave 2018-09-11 16:21:42 -07:00
Fangrui Song
da982a6506 Reuse preamble (built by "comp-preload") in indexer 2018-09-10 00:45:56 -07:00
Fangrui Song
58191fd335 Support empty cacheDirectory and fix cache load 2018-09-08 15:46:52 -07:00
Fangrui Song
82d31a2012 Implement index.onChange: true; enable spell checking for diagnostics 2018-09-08 14:27:49 -07:00
Fangrui Song
11e92d52a8 README 2018-09-02 14:01:28 -07:00
Fangrui Song
407c7cc29d Remove ASTUnit from indexer and clean up 2018-08-31 09:47:37 -07:00
scturtle
5cc3006a3a Filter deps with index.blacklist. (#64) 2018-08-30 09:46:03 -07:00
Fangrui Song
f3490a3e6c Add license notice 2018-08-20 22:27:52 -07:00
Amos Bird
66b027910a correctly grabbing the ownership of index files. (#54) 2018-08-20 09:58:27 -07:00
Fangrui Song
8cbb317dc2 clang-format
DEF CON 26 CTF
2018-08-09 10:13:54 -07:00
Fangrui Song
c6553c79ab clangIndex 2018-07-08 20:38:16 -07:00
Fangrui Song
eb8acf9cdb pipeline 2018-07-08 13:40:19 -07:00
Fangrui Song
cc65ea94ed Misc changes to clangIndex 2018-07-08 12:24:42 -07:00
Fangrui Song
7dd0241a4c First draft: replace libclang indexer with clangIndex 2018-07-07 15:43:05 -07:00