Chao Shen
5ef55f993f
Fix lost index update.
2018-03-27 13:29:48 -07:00
Pavel Davydov
410fb69e25
Add comment with short issue description. ( #545 )
2018-03-26 08:09:19 -07:00
Pavel Davydov
59769df8b5
Blacklist '-include' and '-include-pch' flags. ( #545 )
2018-03-26 08:09:19 -07:00
Maxim Kot
9c729e1937
UB fixed.
...
Forgotten return was removed.
2018-03-26 08:06:04 -07:00
Jacob Dufault
33bd27b913
Work on e2e tests
2018-03-24 10:26:17 -07:00
Jacob Dufault
4270b4fdef
Minor type cleanup
2018-03-24 10:26:17 -07:00
Chao Shen
ddc318eef3
Preprocessor keyword completion.
2018-03-23 21:26:07 -07:00
Patrick Reisert
d87afce1fc
Ignore cl's -showIncludes
2018-03-23 10:44:48 -07:00
Chao Shen
e235dbedfe
Fix missing include completions.
2018-03-23 10:42:26 -07:00
Jacob Dufault
7ff4a9aac9
ipc.h -> method.h, rename some types
2018-03-21 22:01:21 -07:00
Jacob Dufault
cad6dcda0c
Remove global list of message ids.
...
Also do some naming cleanup. Also remove xmacros.
2018-03-21 21:05:25 -07:00
Jacob Dufault
5f085729bd
Fix some warnings due to missing returns
2018-03-21 21:04:41 -07:00
Boris Staletic
bdabb7596c
Make overridden flags persistent
...
didOpen can override flags from compilation database.
didSave was able to reset the flags back.
This makes sure that the overridden flags persist.
2018-03-21 18:50:42 -07:00
Jacob Dufault
7e6965afe3
Don't use an IterationLoop for main indexer.
...
This causes the indexer to exit.
2018-03-21 11:57:09 -07:00
Elliot Berman
1afb6c3988
Flush sessions on textDocument/didOpen
2018-03-20 16:48:44 -07:00
Elliot Berman
958422e77f
Undo changes to diagnostics engine and import pipeline
...
They didn't seem necessary
2018-03-20 16:48:44 -07:00
Elliot Berman
f17196e3da
Flush all clang-complete sessions on workspace/didChangeConfiguration
2018-03-20 16:48:44 -07:00
Jacob Dufault
f137ec6a6d
Reduce queue lengths by running index updates as iteration loop
...
A single translation unit can create many index updates, so give
IndexMain_DoCreateIndexUpdate a chance to run a few times. This should also be
faster as it is more icache friendly.
2018-03-20 11:55:40 -07:00
Jacob Dufault
07b3208cb4
Ensure IndexMergeIndexUpdates always returns a bool
2018-03-20 10:12:52 -07:00
Boris Staletic
c6ea1f1946
Conditionally allow reindex on didChange
2018-03-20 00:09:40 -07:00
Jacob Dufault
7c1155392a
Try to prevent long queue lengths.
2018-03-19 20:01:23 -07:00
Jacob Dufault
c7e5299bee
Reformat
2018-03-19 19:51:42 -07:00
Jacob Dufault
3f5e34ef20
Restore include completion on #
2018-03-19 19:50:22 -07:00
Jacob Dufault
6d42b40319
Fix crash when dynamically adding completion item
2018-03-19 17:30:21 -07:00
Jacob Dufault
0dbe8a9171
Don't use std::mismatch. Unit tests crash on Windows.
2018-03-19 17:25:00 -07:00
Jacob Dufault
b272fc427c
Restore call to GetPlatformClangArguments
2018-03-19 16:48:07 -07:00
Jacob Dufault
b5bd29b702
Restore platform arguments
2018-03-19 16:25:35 -07:00
Fangrui Song
a3f66468ab
Simplify ComputeGuessScore
2018-03-19 01:05:29 -07:00
Boris Staletic
0b087421a7
Make CL mode detection fool-proof ( #528 )
2018-03-18 15:52:01 -07:00
Fangrui Song
b9c3af0be9
Don't include system header files for #include "
(#i"
) completion
2018-03-18 14:56:30 -07:00
Fangrui Song
1e019f4984
Simplify and optimize completion.
2018-03-18 13:06:40 -07:00
Fangrui Song
639f587e01
Optimize FuzzyMatcher and add tests.
2018-03-18 12:18:16 -07:00
Boris Staletic
42b47ae77b
Add -idirafter ot kPathArgs ( #529 )
2018-03-18 09:15:32 -07:00
Fangrui Song
55bfe58fea
textDocument/didOpen: add args to override project entry
2018-03-17 13:24:21 -07:00
Fangrui Song
1d6c718bae
Fix skipped region in clang 6.0.0; add repology badge; remove -latomic
2018-03-17 10:07:05 -07:00
Fangrui Song
4e8d21e306
Fix g++ build
2018-03-16 08:30:31 -07:00
Fangrui Song
552658f967
Variant of clangd fuzzy matcher
2018-03-16 00:41:58 -07:00
Rian Neogi
bcdb8690f0
Remove unneeded code
2018-03-15 11:53:27 -07:00
Rian Neogi
26584cac81
Fix completion on semicolon
2018-03-15 11:53:27 -07:00
Fangrui Song
6cd339059f
Fix #518
2018-03-14 21:12:55 -07:00
Fangrui Song
cebd6bb7c7
Remove platform arguments, update Travis & AppVeyor to use clang+llvm 6.0.0
...
Close #509
2018-03-13 17:39:06 -07:00
Fangrui Song
3a752a3c8f
Adjust order of GetPlatformClangArguments
2018-03-11 22:13:17 -07:00
Fangrui Song
89d45fb48a
Reload .cquery compile_commands.json upon workspace/didChangeConfiguration. fix #378
...
And backport https://github.com/waf-project/waf/pull/2127
2018-03-11 15:15:15 -07:00
DaanDeMeyer
9b3ec699e0
fix windows relative path include dirs ( #501 )
...
* Only do path normalization on clang-cl + clang-format
* Improve clang-cl checking + add /I to args that could be followed by a relative path + add two test cases
2018-03-11 10:08:41 -07:00
Fangrui Song
2a7117e6e5
Fix hierarchical .cquery
2018-03-10 19:51:08 -08:00
Fangrui Song
640f548e7c
Use std::index_sequence and std::make_unique
2018-03-10 15:57:02 -08:00
Fangrui Song
3995a9d5b8
Add initialization options highlight.{blacklist,whitelist}
2018-03-09 00:23:32 -08:00
Fangrui Song
ce6b7363c6
Upgrade to --bundled-clang=6.0.0
2018-03-08 20:04:05 -08:00
Fangrui Song
f9f8429c74
Uniquify {func,type}.derived
2018-03-07 15:08:50 -08:00
Fangrui Song
478e542e8a
Move lsSymbolKind to lsp.h
2018-03-07 13:20:31 -08:00
Fangrui Song
15ec6036e7
Set parentKind of Func/Var from declarations if they have no definition
2018-03-07 00:56:47 -08:00
Fangrui Song
57f2c325f0
parentKind in semantic highlighting: SymbolKind -> lsSymbolKind
2018-03-07 00:34:20 -08:00
Fangrui Song
6815f1312f
Add semantic parent to textDocument/references
2018-03-06 20:05:32 -08:00
Fangrui Song
a1210db985
Add --log-file-append
2018-03-06 17:58:29 -08:00
Daan De Meyer
6b167e7773
remove unnecessary include
2018-03-06 13:15:37 -08:00
Daan De Meyer
46bc43acc4
Add unit test for IsWindowsAbsolutePath and remove explitic true/false checks (! instead)
2018-03-06 13:15:37 -08:00
Daan De Meyer
26e50e695d
Add unit test for IsWindowsAbsolutePath
2018-03-06 13:15:37 -08:00
Daan De Meyer
99904874ca
Fix libclang generic error on Windows
2018-03-06 13:15:37 -08:00
Fangrui Song
e5a904f9c7
Fix --test-unit
2018-03-05 20:46:45 -08:00
Fangrui Song
e6c4d32a6b
Add config->diagnostics.{blacklist,whitelist}
2018-03-05 19:03:39 -08:00
Fangrui Song
df55e79e4e
Add DiagnosticsEngine and add config->diagnostics.frequencyMs to allow reducing textDocument/publishDiagnostics frequency
2018-03-05 17:53:38 -08:00
Fangrui Song
df95cd4780
Fix #487 dead loop in hierarchical .cquery
2018-03-03 14:43:51 -08:00
Fangrui Song
68b7ed5852
Simplify clang_indexer.cc
2018-03-02 10:19:19 -08:00
Fangrui Song
d8b9acc790
[waf] Remove -Werror and reorder some libclang labels
2018-03-02 10:01:49 -08:00
Fangrui Song
8de44e3b95
Add workspace/executeCommand
2018-03-01 21:26:14 -08:00
Fangrui Song
8fcf60e3bc
Add textDocument/typeDefinition
2018-03-01 20:19:38 -08:00
Chao Shen
e03a3a8e7c
Add dummy compiler argument.
2018-03-01 19:12:59 -08:00
Fangrui Song
3e3bf885eb
Use X macros
2018-03-01 19:09:35 -08:00
Fangrui Song
0ba8f2a42c
Remove atomic_object.h and add workspace/didChangeConfiguration placeholder
2018-03-01 18:15:33 -08:00
Fangrui Song
56f57fc38e
Add missing GetCompletionKind branches
2018-02-28 21:49:44 -08:00
Fangrui Song
8e70a1078e
Use call sites for callHierarchy
2018-02-28 17:56:49 -08:00
Fangrui Song
1cc5b85ef4
Fix -Wunused-variable when CINDEX_VERSION >= 47
2018-02-28 08:35:06 -08:00
Jacob Dufault
ab508bb12e
Revert "[[noreturn]] on cquery_unreachable_internal"
...
This reverts commit 5db4314a5e3b3010bc5883e8d775e396164d7d85.
2018-02-27 23:23:07 -08:00
Jacob Dufault
d1fdf231c8
Make all call type default in $cquery/callHierarchy
2018-02-27 23:08:39 -08:00
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