Commit Graph

1487 Commits

Author SHA1 Message Date
Fangrui Song
39a17a9fd7 Remove WithFileContent & lex_utils.{cc,h} 2018-05-31 21:07:59 -07:00
Fangrui Song
ec00f854a0 $ccls/vars: differentiate local/field/parameter 2018-05-31 19:51:58 -07:00
Fangrui Song
b35d3c8fa8 Remove $ccls/random; remove DB::symbols; decrease DB::entities grow rate 2018-05-31 12:55:13 -07:00
Fangrui Song
23c9c3a061 $ccls/memberHierarchy: add field offset 2018-05-28 21:24:42 -07:00
Fangrui Song
c9f0b65062 Simplify pipeline 2018-05-28 16:13:44 -07:00
Fangrui Song
8fabe3d1ae Replace loguru with a custom logger 2018-05-27 15:14:33 -07:00
Fangrui Song
07f0cdbf38 Simplify; improve $ccls/inheritanceHierarchy 2018-05-26 15:17:26 -07:00
Fangrui Song
32bde07df6 filesystem.cc: deduplicate with UniqueID 2018-05-20 00:42:35 -07:00
Fangrui Song
4e2f64893c textDocument/references: include base references by default 2018-05-18 08:53:50 -07:00
Fangrui Song
ba45e7ca63 cmake: link against zlib; use StringMap 2018-05-16 00:51:07 -07:00
Fangrui Song
19d0aad2ca clean up clang_complete found by scturtle; clean up project 2018-05-14 10:02:37 -07:00
Fangrui Song
576959e460 Congratulations to Tea Deliverers 2018-05-14 09:47:21 -07:00
Fangrui Song
f145c4422f experimental/filesystem -> LLVM/Support/FileSystem.h; sparsepp -> DenseMap 2018-05-13 15:24:04 -07:00
Fangrui Song
d3a36a4ae6 Use llvm::cl and simplify main.cc import_pipeline.cc 2018-05-13 12:08:33 -07:00
Fangrui Song
224ba97f27 Use clang+llvm C++ in cmake; parse args with clang driver 2018-05-13 01:13:14 -07:00
Fangrui Song
99e7c56956 cmake: make FreeBSD 11,12 build 2018-05-12 11:45:21 -07:00
Fangrui Song
bac704f17b Backport and cleanup 2018-05-09 22:55:40 -07:00
scturtle
72433643bf Fix file_id. (#8) 2018-05-08 08:56:20 -07:00
scturtle
b55819a8a1 Random changes. (#6) 2018-05-08 00:35:32 -07:00
Fangrui Song
a4a07120a1 Reflect optional by Brandon Tolsch 2018-05-07 20:59:08 -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
86efddf032 README 2018-05-05 15:25:43 -07:00
Fangrui Song
ccb5cba720 . 2018-05-04 09:45:35 -07:00
Fangrui Song
d337d9bff7 . 2018-05-03 00:32:21 -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
01f1064576 Improve workspace/symbol sorting heuristic 2018-04-29 20:20:20 -07:00
Fangrui Song
d821ac34d8 Merge {timestamp_manager,iindexer}.{cc,h}; remove standard_includes.*; use last_write_time 2018-04-28 23:37:55 -07:00
Amos Bird
b4cca890c6 using SIGSTOP (avoid interactive signal blocking) (#2) 2018-04-18 00:17:24 -07:00
Fangrui Song
fa9df5bcef Remove variant and clean up 2018-04-17 00:12:59 -07:00
Fangrui Song
4d519dcbcb Update loguru 2018-04-16 00:14:54 -07:00
Fangrui Song
2c4d387222 MessagePack -> custom binary format 2018-04-15 00:40:19 -07:00
Fangrui Song
f8752cdca0 Add caseSensitivity to config->{completion,workspaceSymbol} 2018-04-14 12:38:58 -07:00
Fangrui Song
d45c057dd4 Backport recent update of completion 2018-04-14 11:38:06 -07:00
Fangrui Song
a7c89fbe21 Catch filesystem_error 2018-04-10 23:32:53 -07:00
Fangrui Song
236e7c1393 Simplify indexer and query 2018-04-09 00:52:04 -07:00
Fangrui Song
97b1592475 Simplify lsp.h and fix qual_name_offset when SetVarDetail is called on an existing variable 2018-04-09 00:31:34 -07:00
Fangrui Song
2a06fb55dd Better definition/references on #include lines 2018-04-08 10:25:50 -07:00
Fangrui Song
75638b5387 Simplify Position & Range; prettify Maybe; remove file_contents.{h,cc} 2018-04-08 01:10:56 -07:00
Fangrui Song
8d19e0a4f1 Remove import_manager.cc 2018-04-07 22:01:41 -07:00
Fangrui Song
6e68e9edbd Simplify 2018-04-07 21:04:20 -07:00
Fangrui Song
992b3cce16 Use clang_File_tryGetRealPathName 2018-04-07 16:46:22 -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
9f9420519e Set typeDefinitionProvider 2018-04-05 00:15:21 -07:00
Fangrui Song
1dc55843e7 Remove unused fs code. 2018-04-04 10:48:13 -07:00
Fangrui Song
d9bcaecf25 Use global config. 2018-04-04 00:29:27 -07:00
Fangrui Song
c0b4d69268 Simplify optional. 2018-04-02 00:28:18 -07:00
Fangrui Song
78250bde34 Fuzzy 2018-04-01 23:38:35 -07:00
Fangrui Song
d8fbc752d0 . 2018-03-31 17:49:32 -07:00
Fangrui Song
46fc3b8323 . 2018-03-31 16:30:53 -07:00
Fangrui Song
d83be5adcc . 2018-03-31 13:54:19 -07:00
Fangrui Song
9aca6119ed . 2018-03-31 13:38:43 -07:00
Fangrui Song
233e377137 . 2018-03-31 11:27:28 -07:00
Fangrui Song
6c8fee4141 . 2018-03-31 09:47:27 -07:00
Fangrui Song
f8a816d110 . 2018-03-31 09:07:53 -07:00
Fangrui Song
89dd4b066b . 2018-03-31 00:53:39 -07:00
Fangrui Song
da649891ae Resurrection of ccls 2018-03-30 22:02:26 -07:00
Fangrui Song
512cd8cbd3 Better textDocument/definition heuristic for T::name style dependent names 2018-03-29 22:36:54 -07:00
Fangrui Song
7e80959ce1 Improve fuzzy matching heuristics. 2018-03-27 13:33:14 -07:00
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
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