DanielChabrowski
85b31f7c1e
clang-tidy performance fixes
2019-10-07 22:55:19 +02:00
Fangrui Song
b804a04380
💥 Rename FunctionName -> functionName, VarName -> var_name
2019-09-23 22:24:18 -07:00
Fangrui Song
aded3faf97
Add error checking of object deserialization; ignore non-object initializationOptions
2019-05-13 00:26:55 -07:00
Fangrui Song
0846c12e89
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-05-13 00:26:55 -07:00
Fangrui Song
cbd36aeedb
Handle file deletion and register workspace/didChangeWatchedFiles
...
* In the "initialized" callback, send client/registerCapability with DidChangeWatchedFilesRegistrationOptions
* In workspace/didChangeWatchedFiles callback, call pipeline::Index
* In pipeline::Index, add a `deleted` status
2019-03-17 18:50:25 -07:00
Fangrui Song
04e80544b9
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
2019-01-12 00:40:49 +08:00
Fangrui Song
3bcb5f23a4
serializer: make visitor/vis value/v consistent
2019-01-12 00:40:49 +08:00
Fangrui Song
8c73bbc3c7
Use clang::isIdentifierBody and clean up utils/working_files
2019-01-09 15:19:23 +08:00
Fangrui Song
e0e00cb48a
Reduce MAKE_REFLECT_STRUCT in lsp.hh
...
Position -> Pos; lsPosition -> Position
2019-01-09 15:19:23 +08:00
Fangrui Song
df20969788
*.h -> *.hh
2019-01-09 15:19:23 +08:00
Fangrui Song
ea1271a84e
Refactor message handler and namespace ccls
2019-01-09 15:19:23 +08:00
Fangrui Song
fc1db06538
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
2019-01-09 15:19:17 +08:00
Fangrui Song
8c2170172d
Use DeclRef spell to represent Use spell + Use extent
2018-10-04 17:16:39 -07:00
Fangrui Song
6ec032c2a0
Redesign SymbolRef, Ref, Use
...
Remove lsLocationEx
2018-10-04 17:16:34 -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
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
a18977b9fc
Add clang.pathMappings to reuse cache files with differect source paths
2018-09-16 20:53:52 -07:00
Fangrui Song
58191fd335
Support empty cacheDirectory and fix cache load
2018-09-08 15:46:52 -07:00
Fangrui Song
11e92d52a8
README
2018-09-02 14:01:28 -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
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
3737d4c60f
Support uses from other files and improve references in macro replacement-list
2018-07-13 16:44:48 -07:00
Fangrui Song
df02c29a7d
clangIndex
2018-07-08 00:34:31 -07:00
Fangrui Song
7dd0241a4c
First draft: replace libclang indexer with clangIndex
2018-07-07 15:43:05 -07:00
Fangrui Song
e5d8153d4b
Internalize strings & remove diagnostics_publisher.cc
2018-06-08 10:39:38 -07:00
Fangrui Song
8fabe3d1ae
Replace loguru with a custom logger
2018-05-27 15:14:33 -07:00
Fangrui Song
ba45e7ca63
cmake: link against zlib; use StringMap
2018-05-16 00:51:07 -07:00
Fangrui Song
f145c4422f
experimental/filesystem -> LLVM/Support/FileSystem.h; sparsepp -> DenseMap
2018-05-13 15:24:04 -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
fac5c56682
Use usr as primary key and remove id; simplify import pipeline
...
Remove on_id_map, IndexMergeIndexUpdates
2018-05-01 22:45:01 -07:00
Fangrui Song
fa9df5bcef
Remove variant and clean up
2018-04-17 00:12:59 -07:00
Fangrui Song
2c4d387222
MessagePack -> custom binary format
2018-04-15 00:40:19 -07:00
Fangrui Song
6e68e9edbd
Simplify
2018-04-07 21:04:20 -07:00
Fangrui Song
348240b44f
Add qual_name_offset to Index* structs; improve workspace/symbol and documentSymbol
2018-04-06 00:18:02 -07:00
Fangrui Song
9aca6119ed
.
2018-03-31 13:38:43 -07:00
Fangrui Song
da649891ae
Resurrection of ccls
2018-03-30 22:02:26 -07:00
Fangrui Song
3a752a3c8f
Adjust order of GetPlatformClangArguments
2018-03-11 22:13:17 -07:00
Fangrui Song
640f548e7c
Use std::index_sequence and std::make_unique
2018-03-10 15:57:02 -08:00
Fangrui Song
09dd20226f
Rename FuncDefDefinitionData::locals to vars, remove constants from EnumDecl's vars
2018-02-26 17:53:37 -08:00
Fangrui Song
95797be730
Rename *DefDefinitionData::{base,parents} to bases and add inheritanceHierarchy{Initial,Expand}
2018-02-25 18:52:30 -08:00
Jacob Dufault
01fe19f280
Format code
2018-02-21 23:34:32 -08:00
Fangrui Song
40ab5900de
Add TypeDefDefinitionData::declarations
...
Constructors and destructors are also included in declarations. But this is not necessarily bad, as textDocument/definition on class spelling names can jump to constructors as well as declarations.
2018-02-20 14:52:32 -08:00
Fangrui Song
de1e350c59
Role : uint8_t -> uint16_t; Add Read,Write to Role (#if CINDEX_VERSION >= 48)
...
Fix textDocument/documentSymbol
2018-02-12 10:15:43 -08:00
Jacob Dufault
35c407b2ac
Don't parse version for json if there is no expected version.
2018-02-11 17:14:27 -08:00
Jacob Dufault
079adea8ee
NTString -> nt_string
2018-02-11 14:08:05 -08:00
Fangrui Song
aee79b3617
variable_type -> type; remove parent_{id,kind} (they should be inferred from Def::spell; clean up SymbolIdx, Reference, SymbolRef
2018-02-11 10:28:26 -08:00
Fangrui Song
8ab45cb43d
std::string {hover,comments} -> NTString (null-terminated string)
...
Typically, sizeof(std::string) = 32, sizeof(NTString) = 8
hover and comments are usually empty and thus wasteful to spend 24*2 bytes for them
2018-02-10 22:53:35 -08:00
Fangrui Song
9a6cbafa04
Add lexical parent to Type/Var and definition_spelling->spell, definition_extent->extent
2018-02-10 20:23:46 -08:00