Jacob Dufault
78fe0c7ebe
Better comment in project.cc
2018-02-27 23:08:23 -08:00
Jacob Dufault
c43b197b99
[[noreturn]] on cquery_unreachable_internal
2018-02-27 23:08:06 -08:00
Jacob Dufault
e44109aee9
Reorder some IPC members
2018-02-27 23:07:53 -08:00
Jacob Dufault
7a81a5dbc5
Better error message for issue #478
2018-02-27 23:07:40 -08:00
Fangrui Song
ba87714e92
Merge $cquery/*Hierarchy{Initial,Expand}
2018-02-27 22:25:16 -08:00
Fangrui Song
214eded2cb
Support listing local variables in memberHierarchy and better handling of locations for typedef; remove cquery_call_tree.cc
2018-02-26 21:32:58 -08:00
Fangrui Song
60c0267432
Var DetailedName
2018-02-26 18:29:37 -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
7743480b13
Use clang_getTypedefDeclUnderlyingType and expand alias_of in memberHierarchy
2018-02-26 00:31:16 -08:00
Fangrui Song
eee785569f
memberHierarchy
2018-02-25 23:14:03 -08:00
Fangrui Song
42825d022b
memberHierarchy
2018-02-25 22:55:17 -08:00
Fangrui Song
c166f3bca8
Simplify hierarchies
2018-02-25 19:44:43 -08:00
Fangrui Song
95797be730
Rename *DefDefinitionData::{base,parents} to bases and add inheritanceHierarchy{Initial,Expand}
2018-02-25 18:52:30 -08:00
Fangrui Song
dc18f04759
Strip scope qualifiers of detailed_name in $cquery/memberHierarchy{Initial,Expand}
2018-02-25 17:03:24 -08:00
Fangrui Song
bfcab88090
memberHierarchy
2018-02-25 16:24:53 -08:00
Fangrui Song
8c32839362
$cquery/{call,member}Hierarchy{Initial,Expand} work
2018-02-25 16:13:29 -08:00
Fangrui Song
eda5782aa6
hierarchies
2018-02-25 15:39:27 -08:00
Fangrui Song
968c15a2ca
Add detailed_name to hierarchies
2018-02-25 15:24:51 -08:00
Fangrui Song
f84cb1c85f
Add field_name to $cquery/memberHierarchy{Initial,Expand} and untested call hierarchy
2018-02-25 14:53:57 -08:00
Fangrui Song
cd3da90152
Re-design $cquery/memberHierarchy{Initial,Expand}
2018-02-25 09:23:38 -08:00
Fangrui Song
8a427dfa9e
Add role to lsLocationEx
2018-02-24 21:47:51 -08:00
Fangrui Song
1469723c3c
Don't show references (e.g. there are references to classes in constructor positions) in textDocument/documentSymbol
2018-02-24 17:30:29 -08:00
Fangrui Song
b53c41408e
Support %c %cpp %clang in clang command line and remove -std=gnu11 -std=gnu++14 defaults
...
If you want to mix C/C++ source files in a `.cquery` project:
echo -e '%clang\n%cpp -std=gnu++14' > .cquery
2018-02-24 15:21:32 -08:00
Fangrui Song
62e6f91808
Don't include rapidjson in indexer.h
2018-02-23 18:30:06 -08:00
Fangrui Song
bee8bacefd
Speed up build
2018-02-23 18:24:54 -08:00
Fangrui Song
c68548a2ca
Remove <regex> from lex_utils.h and separate language_server_api.h
...
% time clang++ -fsyntax-only -std=c++11 a.cc
<iostream> => 0.35s
<regex> => 0.68s
2018-02-23 16:33:48 -08:00
Fangrui Song
411d49951d
Reduce structs in language_server_api.h and clarify query_utils.h
2018-02-23 15:57:11 -08:00
Fangrui Song
b98c9a4575
Remove UniqueAdd* and uniquify uses
after libclang callbacks.
...
This removes some duplication in `uses`.
2018-02-23 15:08:19 -08:00
Nathan Ridge
9f4b30ca8c
Fix semantic highlighting regressions from switch from ClangSymbolKind to lsSymbolKind ( fixes #469 )
2018-02-22 16:11:35 -08:00
Fangrui Song
d4c49730fd
Better :: lexing and fix ci
2018-02-22 15:52:49 -08:00
Fangrui Song
61b5ef4fa0
Reduce <iostream>; don't include rapidjson in language_server_api.h; add role to lsReferenceContext
2018-02-22 14:39:46 -08:00
Fangrui Song
d2bc737068
Semantic highlighting of macros
2018-02-22 09:43:53 -08:00
Fangrui Song
cfa0308ff6
Update tests
2018-02-22 08:54:05 -08:00
Fangrui Song
b9fcbddc6d
Use -working-directory=
2018-02-22 08:50:49 -08:00
scturtle
319cec6e0a
fix ci
2018-02-22 17:02:00 +08:00
Fangrui Song
892f2ebfc7
Deduplicate Query*; add local variables to outline but not in documentSymbol
2018-02-21 23:49:52 -08:00
Jacob Dufault
01fe19f280
Format code
2018-02-21 23:34:32 -08:00
Jacob Dufault
566b508b8e
Fix regressions in completion filtering. Also improve performance slightly.
...
If there was no filter then we would return all results - this caused huge delays for #include completion.
2018-02-21 23:30:35 -08:00
Jacob Dufault
fae959e0ee
Drop old completion requests.
...
Also increase xref limit.
2018-02-21 23:13:42 -08:00
Fangrui Song
e785d3f477
Keep a list of QueryType
2018-02-21 23:02:28 -08:00
Fangrui Song
702cdbe9bb
Group initialization options and rename $cquery/typeHierarchyTree to $cquery/inheritanceHierarchy
2018-02-21 21:57:15 -08:00
Fangrui Song
20d1636024
Support clang-cl and cl.exe
2018-02-21 00:24:34 -08:00
Fangrui Song
1a4da727da
Index namespace alias and MSVC __interface; add --enable-assert to waf; add lexical container to xref requests
2018-02-20 22:13:58 -08:00
Fangrui Song
909c2e247a
Simplify query_utils
2018-02-20 18:30:58 -08:00
Fangrui Song
65ba98c3f8
Add Config::maxXrefResults and improve textDocument/definition
...
-std=c++11 => -std=c++14 for generic lambda
2018-02-20 16:19:26 -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
9f3e0ce0dc
Improve finding definition/declaration and work around #463
2018-02-20 12:46:52 -08:00
Fangrui Song
40233104a6
Fix GCC __wur
2018-02-19 19:06:48 -08:00
Fangrui Song
3f4b727b4b
Remove -xc -xc++; add -std=gnu11 -std=gnu++14 only in .cquery mode and when --driver-mode is unspecified
2018-02-19 18:23:30 -08:00
Fangrui Song
e83fce65c2
Add loose mode in project.cc
2018-02-19 17:19:50 -08:00
Fangrui Song
f9d7361953
Add Config::compilationDatabaseCommand
...
If specified, this is an external command that provides the JSON compilation database, instead of compile_commands.json
2018-02-19 16:20:02 -08:00
Fangrui Song
d33bf50181
Order SymbolRef by size first, Role::Definition second
2018-02-18 19:46:22 -08:00
Fangrui Song
5164c4b2f6
Fix GetCallersForAllBaseFunctions found by romix
2018-02-18 19:08:04 -08:00
Fangrui Song
488f6cc962
Add lsSymbolKind::StaticMethod (extension) and set parentKind
2018-02-18 19:01:22 -08:00
Fangrui Song
9217393a78
Add semantic highlighting test file
...
Don't mark destructors as type references.
2018-02-18 14:50:11 -08:00
Fangrui Song
bfd4edf177
Remove local variables from documentSymbol
2018-02-18 12:07:40 -08:00
Fangrui Song
58d6547411
Remove ClangSymbolKind in favor of lsSymbolKind
2018-02-18 11:43:28 -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
Boris Staletic
be4d37dac3
Fix integer sign comparison
2018-02-18 09:10:27 -08:00
Fangrui Song
015195036c
Maintain a list of Def in Query{Func,Var}::Def
2018-02-18 00:42:04 -08:00
Fangrui Song
0f03146daa
Change optional<...> Query{Func,Type}::Def to forward_list
2018-02-17 23:24:09 -08:00
Fangrui Song
cfdb6bf422
Change optional<...> QueryVar::Def to forward_list
...
Related to #403
2018-02-17 22:09:03 -08:00
Fangrui Song
7e45983d6d
Don't store -fsyntax-only in compilation entries
...
There is a FIXME about the usage of -fsyntax-only in clang::createInvocationFromCommandLine
2018-02-14 23:02:37 -08:00
Fangrui Song
5bbd3f4a29
Add $cquery/fileInfo
2018-02-14 22:47:55 -08:00
Fangrui Song
afe86ef146
Use def.spell for semantic parent and def.extent for lexical parent
...
Use language identifier in the spec
Remove unreliable Boltzmann distribution
2018-02-14 21:54:57 -08:00
Jacob Dufault
3d3b5dfeb3
Objective-c test failures should no longer bring down CI
2018-02-13 23:30:11 -08:00
Fangrui Song
9fddd5173e
Fix #452
2018-02-13 22:24:36 -08:00
Jacob Dufault
aba38a9da1
Ask user for relevant diagnostics when clang translation unit creation fails.
...
Closes issue #450 .
2018-02-13 21:23:35 -08:00
Jacob Dufault
71a55ce46b
Fix querydb corruption/invalid references accumulating over time.
...
Hopefully this catches all of the issues. We will see in time.
This resolves issue #443
2018-02-13 21:13:59 -08:00
Fangrui Song
0c4d82667f
Clean up some -Wcovered-switch-default default labels
2018-02-13 13:03:31 -08:00
Fangrui Song
a1e1d115bf
Simplify GetDefinitionSpellingOfSymbol
2018-02-13 12:15:31 -08:00
Fangrui Song
273b670c0d
Jump to the closest symbol and add more lsSymbolKind constants
2018-02-13 12:00:43 -08:00
Jacob Dufault
2fab426369
Optimize textDocument/definition for comments
2018-02-13 10:24:43 -08:00
Jacob Dufault
aae6f456de
Fix crash in ClangCursor::get_arguments
2018-02-13 10:23:58 -08:00
Fangrui Song
72e654ffed
Fix default -resource-dir when clang -print-resource-dir contains ..
...
Also makes textDocument/definition in comments takes scope resolution
into account, and use detailed names (for Func, without parameters) for workspace/symbol
2018-02-12 23:54:50 -08:00
Fangrui Song
10437aa642
Disable variable PrettyPrint #if CINDEX_VERSION >= 47 and allow trunk libclang in tests
2018-02-12 19:15:39 -08:00
Fangrui Song
ef5db9b3fe
Move symbol related structs to symbol.h and add kind/role to textDocument/documentHighlight
2018-02-12 17:15:19 -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
Fangrui Song
8a939389d8
Add fuzzy_match.h and let textDocument/definition search for the identifier at point (e.g. in comments)
2018-02-12 08:09:18 -08:00
Fangrui Song
afd38cbce9
Add Id<QueryFile> file; to Use and simplify query.cc
2018-02-11 20:43:54 -08:00
Fangrui Song
2d6fd4e240
Add UseWithFileId to work around textDocument/definition targets that reside in unnamed namespaces
2018-02-11 18:09:28 -08:00
Jacob Dufault
a90dc25c5a
Add failing test for issue #443
2018-02-11 17:15:56 -08:00
Jacob Dufault
699cf4b506
Fix IndexUpdate::ToString
2018-02-11 17:15:08 -08:00
Jacob Dufault
886f6f4a2c
Show doctest help if requested.
2018-02-11 17:14:45 -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
1d98797f26
Remove QueryDb_Handle
...
Code is harder to read and it doesn't belong in import_pipeline.cc.
2018-02-11 14:31:24 -08:00
Jacob Dufault
95872d36fd
Remove some unused declarations
2018-02-11 14:17:03 -08:00
Jacob Dufault
079adea8ee
NTString -> nt_string
2018-02-11 14:08:05 -08:00
Jacob Dufault
593ecd8f53
Rename Maybe::has_value to Maybe::HasValue to follow naming conventions
2018-02-11 13:56:34 -08:00
Jacob Dufault
95f6460e6e
HasValue -> HasValueForMaybe_
2018-02-11 13:49:44 -08:00
Jacob Dufault
b71cf25186
Query GetFileId returns Maybe<QueryFileId>
2018-02-11 13:42:48 -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
0f8734c416
Make NTString nullable
2018-02-11 09:12:22 -08:00
Fangrui Song
68c5c317f0
Fix build on MSVC
...
WIP $cquery/random
2018-02-11 01:17:03 -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
e019968f51
Add lexical parent to Func
2018-02-10 20:30:27 -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
Fangrui Song
3ba9209eea
Add config->extension.referenceContainer
2018-02-10 18:34:34 -08:00
Manny Schneck
d79a7a3fa1
Use MAKE_ENUM_HASHABLE to hash SymbolKind
2018-02-11 10:15:28 +08:00
Fangrui Song
420e84329b
Derive SymbolRef,Use from Reference and add lexical container to func/var/type uses
2018-02-10 17:33:56 -08:00
scturtle
a50bff0b24
Make gcc happy.
2018-02-10 19:50:39 +08:00
Fangrui Song
bd4482df5e
GetDefinitionSpellingOfSymbol: optional -> Maybe
2018-02-10 00:19:17 -08:00
Fangrui Song
749ecf0faa
Add {Index,Query}Family to simplify template parameters
2018-02-10 00:06:45 -08:00
Fangrui Song
e7c90b62b5
$cquery/base for virtual void f() = 0
2018-02-09 23:12:34 -08:00
scturtle
1342522f2a
Make CI happy.
2018-02-10 12:43:48 +08:00
Fangrui Song
c28426bbb4
Remove QueryLocation and clean up
2018-02-09 19:13:50 -08:00
Fangrui Song
50cf05763b
Query* structs: QueryLocation -> Reference
2018-02-09 17:50:47 -08:00
Fangrui Song
aa125e34f3
Work around SIGSEGV and simplify SymbolIdx
2018-02-09 17:05:17 -08:00
Fangrui Song
95515643d8
Remove ToSymbol
2018-02-09 15:39:55 -08:00
Fangrui Song
c4bd7ef44b
Rename Reference members
2018-02-09 14:12:35 -08:00
Chao Shen
c5f08c5eb8
Fix a bunch of stuffs in completion.
2018-02-09 20:51:59 +08:00
Fangrui Song
a131ccdcb4
Remove ToQueryLocation
2018-02-08 23:43:18 -08:00
Fangrui Song
67e8132dbe
struct QueryFuncRef : Reference {};
2018-02-08 23:10:54 -08:00
Fangrui Song
4bfb5a3586
struct IndexFuncRef : Reference {};
2018-02-08 22:06:09 -08:00
Fangrui Song
82b429bfbc
QueryLocation -> Reference
2018-02-08 21:26:34 -08:00
Fangrui Song
2d255da07b
{Index,Query}Type::uses: Range/QueryLocation -> Reference
...
And add serialization for Reference
2018-02-08 18:26:09 -08:00
Jacob Dufault
5f85867f88
Scan root directory for includes
2018-02-08 15:27:53 -08:00
Fangrui Song
48a6f836ca
Fix SymbolRole serialization and make it hashable
2018-02-08 12:24:48 -08:00
Fangrui Song
715fece4dd
QueryLocation and QueryRef
2018-02-08 10:15:55 -08:00
scturtle
be1ed58fc5
Reuse isIncomplete.
...
Add -fno-limit-debug-info for debugging.
2018-02-09 00:55:39 +08:00
Fangrui Song
dbdab02ff4
Change is_implicit to role in {Index,Query}FuncRef
...
Add `FileId file` to *DefDefinitionData::Def
2018-02-07 23:27:35 -08:00
Fangrui Song
10c2843846
Add IndexLocation and add role to QueryLocation
...
IndexFuncRef should be deprecated in favor of IndexLocation
2018-02-07 19:10:39 -08:00
Fangrui Song
9b0256355e
Address ODR violation spot by @Riatre and work around .o .a in compile_commands.json
2018-02-07 10:27:30 -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
scturtle
2e6d596a5a
Speedup sorting and limit number of completion results.
2018-02-07 16:15:29 +08:00
Fangrui Song
e76a336f19
Remove --debug in favor of LIBCLANG_DISABLE_CRASH_RECOVERY=1
...
ci/before_deploy.sh: Use the latest libclang.so
2018-02-07 00:00:04 -08:00
Fangrui Song
9e730aacd4
Make before_deploy.sh work on FreeBSD
2018-02-06 22:46:05 -08:00
Fangrui Song
e440a7c52f
Convert some copy constructors to move constructors in query.cc
2018-02-06 21:45:58 -08:00
Fangrui Song
55c7519e93
Move ImportOrUpdate and header cleanup
2018-02-06 21:27:07 -08:00
Fangrui Song
0016d214c3
Convert copy constructor to move constructors piecemeal
...
If I replace all the important constructors used in query.cc, there will be a weird issue that strings following "Applying index update for " are empty.
2018-02-06 20:54:17 -08:00
Jacob Dufault
0cfb5391d1
Add --record in favor of --log-stdin-stdout-to-stderr.
...
This should be more useful and can hopefully be adapted to writing tests.
2018-02-06 20:27:35 -08:00
Peter Elmers
47a8f20b20
Match directory before looking at included files.
2018-02-06 15:05:30 -08:00
Chao Shen
1e3815db2d
Fix include completion with filterText.
...
Fix #423
2018-02-06 16:14:05 +08:00
Fangrui Song
1a82f1f113
We may should represent Query{Func,Type,Var} as a bag of definitions and references
2018-02-05 10:16:43 -08:00
Fangrui Song
cd96cb9570
threaded_queue: queue -> deque
...
IndexMergeIndexUpdates: use TryPopBack() and see
2018-02-04 22:15:48 -08:00
Fangrui Song
3839d1e5ab
Decouple QueryDb_ImportMain
2018-02-04 21:22:21 -08:00
Fangrui Song
a8fb2264a9
Reflect IndexFuncRef
2018-02-04 17:49:00 -08:00
Chao Shen
093dbac30c
Fix compilation.
2018-02-05 09:34:39 +08:00
Fangrui Song
217d238c78
Use clang_getCursorPrettyPrinted if CINDEX_VERSION >= 47
...
Closes #366
2018-02-04 15:23:23 -08:00
Fangrui Song
1349cbfde3
Simplify EachWithGen
2018-02-04 13:43:29 -08:00
Fangrui Song
d573a68130
Simplify operator==
2018-02-04 10:09:58 -08:00
Guillaume Papin
65d7edd9b9
refactor CompareLsCompletionItem ( #412 )
...
Since not everything is a reference,
std::make_tuple() seems more appropriate than std::tie().
For heavy types, std::cref() can be used to preserve the reference.
2018-02-04 09:31:23 -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
7a1464cadb
Fix #410
2018-02-03 20:37:39 -08:00
Fangrui Song
985dec101d
Generation
2018-02-03 19:51:30 -08:00
Fangrui Song
0a721ff247
Simplify query.h
2018-02-03 18:16:30 -08:00
scturtle
15dd552610
Complex include completion.
2018-02-04 09:45:58 +08:00
Chao Shen
e16753d261
Improve completion.
2018-02-04 09:45:58 +08:00
Fangrui Song
e5128d3db9
Wrap Query* references with WithGen
2018-02-03 17:44:20 -08:00
Fangrui Song
3d6d000297
Add Generation gen;
to Query{Func,Type,Var} and corresponding ToQueryLocation
2018-02-03 14:52:26 -08:00
Riatre Foo
54c587a700
Look for .cquery in any directory above the source file in the hierarchy. ( #409 )
...
* Look for .cquery in any directory above the source file in the hierarchy.
Currently cquery only reads compiler arguments (.cquery) from project
root. Under some circumstances (e.g. remote compiling), generating a
compilation database with correct path in it is non-trivial, and
allowing per directory compile arguments usually helps.
* unused var buf
2018-02-03 13:16:38 -08:00
Fangrui Song
6933870962
Change symbol id from size_t to RawId (uint32_t currently)
2018-02-03 10:35:17 -08:00
Riatre Foo
b145243a64
Fix #393 again. ( #402 )
...
28cd33e actually changed the behaviour of GetFilesInFolderHelper.
2018-02-02 10:51:14 -08:00
Fangrui Song
12e41c609e
Fix #393
2018-02-01 23:35:34 -08:00
Fangrui Song
e42f6b6191
optional<...> GetQuery*IdFromUsr -> Maybe
2018-02-01 23:17:34 -08:00
Fangrui Song
ae999f9c92
size_t Query*::symbol_idx -> Maybe<Id<void>>
2018-02-01 22:52:03 -08:00
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
Nathan Ridge
74f9be1d6f
Use symbol kind 'Parameter' for template parameters
...
Clients can distinguish between function and template parameters based
on storage class.
2018-02-01 20:07:11 -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
0d715e7bcf
Handle int8_t int16_t uint8_t uint16_t enum constants
...
Clean up clang_complete
2018-02-01 12:21:58 -08:00
Chao Shen
5b6945d909
Remove last CR.
2018-02-01 17:12:36 +08:00
Fangrui Song
490f52205f
Clean serializer
2018-02-01 00:39:31 -08:00
Chao Shen
57ea5f7cb9
Check the function name appearance before publish semantic highlight.
2018-02-01 16:27:31 +08:00
Jacob Dufault
e0e3a39d5d
Fix clang 3.5 compile error
2018-01-31 21:49:56 -08:00
Jacob Dufault
c98d53cfe2
Indexer now has access to |config|
2018-01-31 21:48:49 -08:00
Fangrui Song
e259bb91d3
Use string_view for lsSymbolInformation
2018-01-31 21:40:40 -08:00
Fangrui Song
6d6c1639d0
Type-dependent member access expressions
2018-01-31 21:23:00 -08:00
Jacob Dufault
b02c92e335
Reduce file reads in import_pipeline
2018-01-31 21:20:38 -08:00
Jacob Dufault
301d295f79
Remove std::experimental uses
2018-01-31 21:18:32 -08:00
Jacob Dufault
a2c1cb4a83
Enable make* indexing by default
2018-01-31 20:21:16 -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
Fangrui Song
c33aa113db
Use short_name for tests but short_name_{offset,size} for lang server
2018-01-31 17:22:30 -08:00
Fangrui Song
9944617df6
Fix #385
2018-01-31 16:48:26 -08:00
Fangrui Song
768f4ecb6e
Enable "Make" hack only if config->index.make_unique is true.
2018-01-31 11:10:20 -08:00
Fangrui Song
871ae34a1b
Hotfix of stale file contents in 186898
2018-01-31 08:42:25 -08:00
Fangrui Song
3e16055b31
Change some API const std::string& -> std::string_view
2018-01-31 00:35:04 -08:00
Fangrui Song
4c895bef0b
Make optional<string> {hover,comments} non-optional
2018-01-30 23:48:34 -08:00
Fangrui Song
77dca1936b
Change TypeDefDefinition::short_name from string to string_view
2018-01-30 23:01:59 -08:00
Fangrui Song
93269ecfd4
Change std::string FuncDefDefinition::short_name to ShortName()
2018-01-30 22:40:02 -08:00
Fangrui Song
41f87887bb
Change std::string VarDefDefinition::short_name to ShortName()
2018-01-30 22:04:55 -08:00
scturtle
699d2f3655
Fix completion of headers.
2018-01-31 09:59:51 +08:00
Fangrui Song
5d88eb959d
Remove index.builtinTypes and fix doc
2018-01-30 09:16:20 -08:00
Riatre Foo
ab2a836d57
Remove unused variable ex
in initialize.cc ( #376 )
2018-01-30 09:03:46 -08:00
Fangrui Song
c8605dc4a9
Group source files outside of the project by a cache sub-directory
2018-01-29 23:53:32 -08:00
Jacob Dufault
fe3b9c4a8a
Revert "Fix completion of headers."
...
This reverts commit ce0aab3afa4b7d80d46c901d1bb8234ac18fa70b.
2018-01-29 21:52:38 -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
a8b68d21d7
Fix potential crash
2018-01-29 21:34:36 -08:00
scturtle
e145f77996
Fix completion of headers.
2018-01-30 13:11:56 +08:00
Fangrui Song
5bd466ab17
Fix #372
2018-01-29 19:08:19 -08:00
Jacob Dufault
0eb7d415d7
usr_to_file uses new NormalizedPath type
2018-01-29 16:56:00 -08:00
Jacob Dufault
7579d71b85
Simplify MAKE_REFLECT_TYPE_PROXY
2018-01-29 16:35:01 -08:00
Jacob Dufault
a392301be3
Format
2018-01-29 16:27:43 -08:00
Jacob Dufault
233a108814
Add docs to config.h, remove enableCacheRead/enableCacheWrite.
2018-01-29 16:14:23 -08:00
Jacob Dufault
55338e7481
Simplify, readd --wait-for-input
2018-01-29 15:43:22 -08:00
Fangrui Song
09d7da2893
Don't emit semantic highlight for operators or lambda ( #369 )
...
Fixes #368
2018-01-29 09:28:17 -08:00
Fangrui Song
795dfc670c
Update tests after specialization handling
2018-01-28 23:40:57 -08:00
Fangrui Song
b7ce3dd60a
Better template specialization
2018-01-28 23:05:51 -08:00
Fangrui Song
dc1c72ce30
Remove definition from uses for TemplateVisitor
2018-01-28 22:41:53 -08:00
Fangrui Song
535c2c20a3
Escape more characters in ECMA-262 uriReserved
...
Fixes #248
2018-01-28 22:11:53 -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
777193d02f
Better template specialization
2018-01-28 18:31:11 -08:00
Fangrui Song
fb3cd89b05
Move language_server_api.h structs to initialize.cc
2018-01-28 14:39:48 -08:00
Fangrui Song
640d72f85c
Check --init and remove --wait-for-input
2018-01-28 14:06:35 -08:00
Fangrui Song
1e7727f75a
Allow empty initializationOptions or cacheDirectory (which disables cache read/write)
2018-01-28 13:52:04 -08:00
Fangrui Song
80213e8a23
Complete with empty context
2018-01-28 13:26:34 -08:00
Fangrui Song
bdb880e0a5
Serialize VarDefDefinitionData::{parent_kind,parent_id}
2018-01-28 12:34:31 -08:00
Fangrui Song
79b60561d1
Remove CXCursor_MacroDefinition from uses
2018-01-28 11:42:40 -08:00
Fangrui Song
818ef8a834
-h --help for help. --language-server is the default mode
2018-01-28 10:53:17 -08:00
Fangrui Song
45b57bd729
[test] Use system 'diff' on POSIX.
2018-01-27 22:31:17 -08:00
Fangrui Song
70bbe6c64c
Use major/minor versions for IndexFile
...
Fixes #364
2018-01-27 21:47:37 -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
aeb63ce3ad
Add magic/version to "cacheFormat": "msgpack"
2018-01-27 19:21:35 -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
Jacob Dufault
e3d3a492d0
Return default value
2018-01-27 10:20:54 -08:00
Phil Wise
74a39e7ea8
Fix build on Ubuntu 16.04
...
On Ubuntu 16.04 I get the following compile error in release mode:
../../src/indexer.cc: In function ‘ClangStorageClass {anonymous}::GetStorageClass(CX_StorageClass)’:
../../src/indexer.cc:130:1: error: control reaches end of non-void function [-Werror=return-type]
cc1plus: all warnings being treated as errors
2018-01-27 09:03:08 -08:00
Fangrui Song
d6003e1991
workspace/didChangeWatchedFiles
2018-01-26 23:17:49 -08:00
Fangrui Song
0bbabbcbd2
Move IndexVar::def::declarations to IndexVar::declarations
2018-01-26 21:50:17 -08:00
Fangrui Song
e892c23955
Change declaration to declarations in IndexVar
2018-01-26 18:21:15 -08:00
Fangrui Song
6b3673a438
Remove definition_spelling from uses in IndexVar
...
Instead, specify `include_decl = true` in GetUsesOfSymbol
2018-01-26 18:01:14 -08:00
Fangrui Song
37809def7c
Add bool include_decl
parameter to GetUsesOfSymbol
...
Fixes #350
Function declarations/definitions are not counted if include_decl is
false.
We should do similar thing to Var and Type.
2018-01-26 17:31:50 -08:00
Fangrui Song
723c78409f
Move is_operator from indexer to semantic highlighting
2018-01-26 10:08:56 -08:00
Fangrui Song
351e7b6c95
Add ClangStorageClass storage; to {Func,Var}DefDefinitionData and semantic highlighting.
...
This can be used to differentiate local/global variables, template parameters.
Also make msgpack deserialization robust.
2018-01-26 09:47:42 -08:00
Fangrui Song
3ef0abec14
WIP DidChangeWatchedFiles
2018-01-25 23:04:07 -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
50c6ed1dd3
Clean up SetTypeName
2018-01-25 22:25:19 -08:00
Fangrui Song
63b793619d
Set names in ResolveToDeclarationType and type declarations.
2018-01-25 21:38:39 -08:00
Fangrui Song
7aea052f09
Re-pick "Handle template <class T> class A" but does not assign names to templates without body
2018-01-25 12:35:59 -08:00
Jacob Dufault
7f9f6e0c6b
Revert "Handle template <class T> class A; and attribute variable uses to specialized template if exists"
...
This reverts commit 8da62430e575022e206b66bad58b376002422f32.
2018-01-25 11:46:03 -08:00
Jacob Dufault
d14f17212d
Do not show code lens on namespaces.
...
There are too many references for editors to handle well.
2018-01-25 11:22:55 -08:00
Fangrui Song
684ad961ad
Handle template <class T> class A; and attribute variable uses to specialized template if exists
2018-01-25 01:13:07 -08:00
Fangrui Song
403c892838
--debug disables libclang crash recovery
2018-01-25 00:01:30 -08:00
Fangrui Song
db1f707027
Add --debug to disable libclang crash recovery
...
We can add more debug facility later.
2018-01-24 23:32:42 -08:00
Fangrui Song
706a3d0017
Attribute enum to its underlying type's uses
2018-01-24 21:55:59 -08:00
Fangrui Song
d2c4c34bc0
Replace std::cin.get with getchar. Fix #334
...
To avoid C++ iostream headache:
std::cin has a bad() state
std::{cin,cout} are also tied by default, reading from cin will cause a flush of cout, which may deadlock
2018-01-24 21:32:07 -08:00
Jacob Dufault
61efdcc721
Better inline code lens location for functions
2018-01-24 19:15:18 -08:00
Jacob Dufault
3f4866208f
Fix unit tests properly
2018-01-24 10:42:09 -08:00
Fangrui Song
549f4f3674
Fix --test-unit
2018-01-24 10:26:01 -08:00
Fangrui Song
c4e8db2964
Index namespaces as Type
2018-01-24 00:57:50 -08:00
Fangrui Song
b4e1e4fd3a
Remove enableComments
, make index.comments
default to 2, and index builtin types
2018-01-23 22:56:13 -08:00
Jan Niklas Hasse
358c001d3c
Don't use MSVC specific exception handler for MinGW
2018-01-23 10:01:10 -08:00
Fangrui Song
8ef2b95a45
Fix lsDocumentUri::GetPath on Windows
2018-01-23 09:02:36 -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
Snibod
69d439ae8d
Detect Windows absolute paths in LoadCompilationEntriesFromDirectory
2018-01-21 07:44:35 -08:00
Fangrui Song
e4d4c7b139
Better $cquery/vars
2018-01-20 23:42:11 -08:00
Fangrui Song
bf7ffb3c9d
Strip CXType_RValueReference
2018-01-20 23:12:23 -08:00