Fangrui Song
3c6f3f661f
Use Maybe<Id<T>> for {Func,Type,Var}DefDefinitionData
...
sizeof(db->funcs[0].def) 224 (-24)
sizeof(db->types[0].def) 248 (-24)
sizeof(db->vars[0].def) 160 (-24)
2018-02-01 22:31:43 -08:00
Fangrui Song
392cd79d04
Add Maybe<T> and change definition_{spelling,extent} from optional to Maybe
...
sizeof(db->funcs[0].def) decreases from 248 to 232
sizeof(db->types[0].def) decreases from 272 to 256
sizeof(db->vars[0].def) decreases from 184 to 168
2018-02-01 21:39:23 -08:00
Fangrui Song
ce6f1c7294
QueryDatabase::{detailed_names,short_names} -> GetSymbol{DetailedName,ShortName}
2018-02-01 18:15:22 -08:00
Fangrui Song
2fb85732c0
Add RemoveSymbol
2018-02-01 17:25:06 -08:00
Fangrui Song
642975ea17
Reflect string_view and fix workspace/symbol
2018-02-01 13:48:41 -08:00
Fangrui Song
8108de0cfa
Change short_names/detailed_names from const std::string& to std::string_view
2018-01-31 19:53:50 -08:00
Jacob Dufault
f6a2a55209
Import pipeline improvements
...
- Cache manager is created by request
- Index is always associated with its contents
- Reduced frequently of file reads
2018-01-29 21:34:36 -08:00
Jacob Dufault
0eb7d415d7
usr_to_file uses new NormalizedPath type
2018-01-29 16:56:00 -08:00
Jacob Dufault
a392301be3
Format
2018-01-29 16:27:43 -08:00
Fangrui Song
16bf3158c5
Add SymbolRole to SymbolRef and fix $cquery/{base,derived} by ordering definitions before uses
2018-01-28 20:39:41 -08:00
Fangrui Song
5763201838
Remove is_type_member & VarDefDefinitionData::declaring_type
...
Rename ClangStorageClass to StorageClass
Add semantic_parent & semantic_parent_kind (but not serialized yet)
Move query.h SymbolKind to indexer.h SymbolKind and make it uint8_t
2018-01-27 20:46:06 -08:00
Fangrui Song
d605217c1a
matcher.cc: use std::regex_search instead of std::regex_match
...
Prototype of non-working `dependencies` parameter of $cquery/freshenIndex
2018-01-27 10:42:18 -08:00
Fangrui Song
0bbabbcbd2
Move IndexVar::def::declarations to IndexVar::declarations
2018-01-26 21:50:17 -08:00
Fangrui Song
1aec53621f
Use std::vector<std::string> files_removed;
...
It turns out this field is not used.
2018-01-25 22:42:58 -08:00
Fangrui Song
273af8306f
Move GetQueryFileIdFromPath to unnamed namespace, make them inline and optional
2018-01-20 10:44:30 -08:00
Fangrui Song
c5bb14e86b
Use INVALID_ID instead of optional and clean up
2018-01-20 09:59:12 -08:00
khng300
427f7b79e3
Use GetQuery{Type,Func,Var}IdFromUsr for querying QueryDatabase::usr_to_{type,func_var} ( #315 )
...
* Use GetQuery{Type,Func,Var}IdFromUsr for querying usr_to_{type,func_var}
Instead of directly touching usr_to_{type,func_var}, use dedicated
methods to touch them for more abstraction around QueryDatabase.
* Use `Usr` as parameter for GetQueryVarIdFromUsr()
To maintain code consistency with other similar helpers.
2018-01-20 08:57:41 -08:00
Fangrui Song
c3136122ad
Add optional<IndexFuncId> semantic_container to VarDefDefinitionData and cleanup
2018-01-15 10:08:03 -08:00
Fangrui Song
da2cbe4152
USR -> Usr
2018-01-13 00:10:39 -08:00
Fangrui Song
14a213d407
Change std::string USR to uint64_t pseudorandom function (SipHash 64-bit)
2018-01-12 23:47:24 -08:00
Fangrui Song
11436c1f0d
Flatten msgpack by replacing pack_array() with pack()
...
msgpack::unpacker is not a complete streaming deserializer. It returns maps/arrays as a whole but does not allow us to step into individual elements. There is some memory overhead and it is also likely less efficient. By flattening maps, we also no longer need to track how many fields a struct has, which is less error-prone.
2018-01-07 20:52:16 -08:00
Fangrui Song
fe0313f0b5
Add a parameter (number of __VA_ARGS__) to REFLECT_MEMBER_START
...
rapidjson StartArray StartObject do not need the number of fields, but msgpack-c does.
2018-01-06 16:42:22 -08:00
Fangrui Song
b52ec9070c
[workspace/symbol] Use short_name for sorting and detailed_name for displaying results
2017-12-23 21:27:01 -08:00
Jacob Dufault
fb491e6c6d
Format using clang format 4.0.0
2017-12-23 08:33:26 -08:00
Fangrui Song
ef7215cd7f
textDocument/definition: find macro definition instead of Type definition if the macro expands to tokens led by a SymbolKind::Type
2017-12-17 21:14:57 -08:00
Jacob Dufault
9b909b3a13
Move usr out of *Def and into Query*/Index* types.
...
I'd like to make the *Def structures optional in the future, and usr is always non-optional.
2017-12-11 23:57:44 -08:00
topisani
28ad5b1ed1
Index file language and send it on hover
2017-11-30 14:12:41 -08:00
Jacob Dufault
aeab1a0b79
Fix MSVC builds
2017-11-29 19:18:58 -08:00
Peter Goodman
3f45c05476
This commit fixes severak compiler errors when trying to build cquery. I gave up after a bit and didn't fix them all though, there are a ton of signed to unsigned comparisons.
2017-11-18 16:09:14 -05:00
Jacob Dufault
6a50c48aaa
Formatting and a TODO
2017-11-18 09:29:48 -08:00
Christian Pehle
c7c6a8ed39
Fix build on macOS #20
2017-11-17 07:34:09 -08:00
Jacob Dufault
8145a06534
First pass at semantic highlighting.
...
It is disabled by default.
2017-11-08 23:06:32 -08:00
Jacob Dufault
4156be09c1
Fix inactive region after closing/reopening a document.
...
Also make it a bit more robust.
2017-10-28 15:09:14 -07:00
Jacob Dufault
809a55a351
When erasing a USR only erase def data.
...
This should hopefully fix some bad indexes. It is possible that a def is temporarily deleted. In that case, we don't want to nuke all of the callers/etc so that if the def is restored we still have that information.
If the def is actually erased it the normal IndexUpdate remove logic will eventually purge the extra state outside of just the def (ie, callers).
2017-10-16 22:45:26 -07:00
Jacob Dufault
f5314b62b1
Reformat to Chromium style.
2017-09-21 18:14:57 -07:00
Jacob Dufault
79ec5a749a
Improve tree view
...
- Show base/derived callers ([B] and [D] prefix)
- Show call position information
- Temporarily prevent duplicate calls from appearing, needs a proper fix.
2017-07-19 00:12:29 -07:00
Jacob Dufault
3d0b8fd807
Fix call tree when function ref does not refer to a function.
2017-06-13 23:50:30 -07:00
Jacob Dufault
3469850c98
Change how function declarations are serialized so parameter info can be added.
2017-05-27 14:09:20 -07:00
Jacob Dufault
ee90938b28
Fix goto def when implicit functions are called.
...
Don't import the implicit functions into the 'all symbols' structure. This fixes symbol lookup.
2017-05-22 23:57:46 -07:00
Jacob Dufault
1598129d8b
Fix file finding on windows when path case changes.
2017-05-22 00:14:11 -07:00
Jacob Dufault
8910d0a13e
Fix warnings (almost all numeric cast-related)
2017-05-21 16:22:00 -07:00
Jacob Dufault
41e1dff4c9
Goto definition for includes
2017-05-20 20:47:20 -07:00
Jacob Dufault
00143bef8e
Log index updates before applying them
2017-05-19 00:02:01 -07:00
Jacob Dufault
ff421723a5
Renames and fix some operator < implementations
2017-05-11 23:08:15 -07:00
Jacob Dufault
a587022643
Fix some more operator< implementations. This may fix some of the IndexUpdate diff issues.
2017-05-11 00:38:57 -07:00
Jacob Dufault
57da6a81ab
Make update delta work a bit better. Still buggy though.
2017-05-11 00:20:00 -07:00
Jacob Dufault
ad0a03b0da
Split global usr lookup into separate lookups for file/type/func/var.
...
This eliminates problems when actively editing code, ie, a USR can change from being a variable to being a type.
2017-05-08 21:20:28 -07:00
Jacob Dufault
ea5400a633
Add todo; use clang_parseTranslationUnit2
2017-05-08 18:21:21 -07:00
Jacob Dufault
278eb0cd77
Better support for removing data from querydb
2017-04-22 00:43:48 -07:00
Jacob Dufault
bb25640d91
Rename instantiations to instances.
2017-04-21 00:03:33 -07:00