Fangrui Song
fc6e2af66f
Uniquify textDocument/references
...
There can be duplicates with template instantiation.
2019-10-24 01:01:21 -07:00
Fangrui Song
1c0bf0af65
Add textDocument/codeAction for clang FixIt
...
What do you think of the challenge ccls-fringe in Real World CTF?
2019-10-24 01:01:21 -07:00
Chao Shen
0dae2c4a39
Fix preload completion session.
2019-10-24 01:01:20 -07:00
Fangrui Song
3b997b12ad
Use ContainerDC for extent, index callees, set StaticMethod
2019-10-24 01:01:20 -07:00
Fangrui Song
c50f0c5900
Add Query*::file_id to allow textDocument/hover on declarations
...
Also change StorageClass storage to uint8_t
2019-10-24 01:01:20 -07:00
Fangrui Song
d13586ac4d
--init
2019-10-24 01:01:20 -07:00
Fangrui Song
b3d5ea8be5
Simplify
2019-10-24 01:01:20 -07:00
Fangrui Song
c4e22bde23
Use Clang C++ for completion and diagnostics
2019-10-24 01:01:20 -07:00
Fangrui Song
a4dd5d0c44
Use Sema/CodeCompleteConsumer
2019-10-24 01:01:20 -07:00
Fangrui Song
548f44dd79
Fix memberHierarchy
2019-10-24 01:01:20 -07:00
Fangrui Song
103aa711d3
First draft: replace libclang indexer with clangIndex
2019-10-24 00:53:16 -07:00
Fangrui Song
a94788b89f
textDocument/references: add excludeRole
2019-10-24 00:18:13 -07:00
Fangrui Song
b784685c61
diagnostics
2019-10-24 00:18:13 -07:00
Fangrui Song
2682964039
Rename message files (e.g. ccls_call_hierarchy.cc -> ccls_callHierarchy.cc)
2019-10-24 00:17:28 -07:00
Fangrui Song
9852e618cd
Add all to textDocument/documentSymbol
2019-10-24 00:17:28 -07:00
Fangrui Song
1830103ec6
Internalize strings & remove diagnostics_publisher.cc
2019-10-24 00:17:28 -07:00
Fangrui Song
732e002b13
Infer system include paths from CompilerInvocation
2019-10-24 00:17:28 -07:00
Fangrui Song
18fa5efa2a
Add Config->reparseForDependency
...
Specify 1 if for large projects you don't want to reparse dependents at load time when a common .h changes.
2019-10-24 00:17:28 -07:00
Fangrui Song
806a05b234
Add Config->largeFileSize; pure virtual or defaulted methods are definitions; fix $ccls/callHierarchy
2019-10-24 00:17:28 -07:00
Fangrui Song
f0559bba54
Remove Timer and PerformanceImportFile
2019-10-24 00:17:28 -07:00
Fangrui Song
34dc1e93e9
Remove WithFileContent & lex_utils.{cc,h}
2019-10-24 00:17:28 -07:00
Fangrui Song
da545f1139
$ccls/vars: differentiate local/field/parameter
2019-10-24 00:17:28 -07:00
Fangrui Song
bb08fdfa02
Remove $ccls/random; remove DB::symbols; decrease DB::entities grow rate
2019-10-24 00:17:25 -07:00
Fangrui Song
42bcf2b58f
$ccls/memberHierarchy: add field offset
2019-10-23 21:56:51 -07:00
Fangrui Song
a962061698
Simplify pipeline
2019-10-23 21:56:51 -07:00
Fangrui Song
cf0d16fa0c
Replace loguru with a custom logger
2019-10-23 21:56:51 -07:00
Fangrui Song
a6094ef714
Simplify; improve $ccls/inheritanceHierarchy
2019-10-23 21:56:51 -07:00
Fangrui Song
6d96d9dce2
textDocument/references: include base references by default
2019-10-23 21:56:51 -07:00
Fangrui Song
c279090ac5
cmake: link against zlib; use StringMap
2019-10-23 21:56:51 -07:00
Fangrui Song
36729818c3
experimental/filesystem -> LLVM/Support/FileSystem.h; sparsepp -> DenseMap
2019-10-23 21:56:51 -07:00
Fangrui Song
c81ca26a2e
Use llvm::cl and simplify main.cc import_pipeline.cc
2019-10-23 21:56:51 -07:00
Fangrui Song
c269876593
Use clang+llvm C++ in cmake; parse args with clang driver
2019-10-23 21:56:51 -07:00
Fangrui Song
a385bffcbd
Backport and cleanup
2019-10-23 21:56:51 -07:00
scturtle
888a870c0d
Random changes. ( #6 )
2019-10-23 21:56:51 -07:00
Fangrui Song
ba56663055
Reflect optional by Brandon Tolsch
2019-10-23 21:56:51 -07:00
Fangrui Song
49e042e070
Redesign import_pipeline.cc and mitigate race (duplicate Query*::uses for initial indexing)
2019-10-23 21:56:51 -07:00
Fangrui Song
aba672203f
README
2019-10-23 21:56:51 -07:00
Fangrui Song
eb057c7acd
Use usr as primary key and remove id; simplify import pipeline
...
Remove on_id_map, IndexMergeIndexUpdates
2019-10-23 21:56:51 -07:00
Fangrui Song
5ef801662b
Improve workspace/symbol sorting heuristic
2019-10-23 21:56:51 -07:00
Fangrui Song
f73100adf3
Merge {timestamp_manager,iindexer}.{cc,h}; remove standard_includes.*; use last_write_time
2019-10-23 21:56:51 -07:00
Fangrui Song
ebaf168e16
Remove variant and clean up
2019-10-23 21:56:51 -07:00
Fangrui Song
73bd987b1a
Add caseSensitivity to config->{completion,workspaceSymbol}
2019-10-23 21:56:51 -07:00
Fangrui Song
e522ce8179
Backport recent update of completion
2019-10-23 21:56:51 -07:00
Fangrui Song
662933e64c
Simplify indexer and query
2019-10-23 21:56:51 -07:00
Fangrui Song
9ed024f5cc
Simplify lsp.h and fix qual_name_offset when SetVarDetail is called on an existing variable
2019-10-23 21:56:51 -07:00
Fangrui Song
cdc7544471
Better definition/references on #include lines
2019-10-23 21:56:50 -07:00
Fangrui Song
5fb88749a9
Simplify Position & Range; prettify Maybe; remove file_contents.{h,cc}
2019-10-23 21:56:50 -07:00
Fangrui Song
b872faa160
Simplify
2019-10-23 21:56:50 -07:00
Fangrui Song
a52d56a453
Add qual_name_offset to Index* structs; improve workspace/symbol and documentSymbol
2019-10-23 21:56:50 -07:00
Fangrui Song
2035a24c74
Set typeDefinitionProvider
2019-10-23 21:56:50 -07:00
Fangrui Song
96bba583c9
Remove unused fs code.
2019-10-23 21:56:50 -07:00
Fangrui Song
fdb562bb42
Use global config.
2019-10-23 21:56:50 -07:00
Fangrui Song
daf7a41278
.
2019-10-23 21:56:50 -07:00
Fangrui Song
c96631d1ee
.
2019-10-23 21:56:50 -07:00
Fangrui Song
a58a38c32d
.
2019-10-23 21:56:50 -07:00
Fangrui Song
22a7bcb47f
.
2019-10-23 21:56:50 -07:00
Fangrui Song
ce33cc86d4
.
2019-10-23 21:56:50 -07:00
Fangrui Song
e1398ff319
.
2019-10-23 21:56:50 -07:00
Fangrui Song
f7872d143d
.
2019-10-23 21:56:50 -07:00
Fangrui Song
b839389f77
Resurrection of ccls
2019-10-23 21:56:50 -07:00
Fangrui Song
39dfe052f5
Better textDocument/definition heuristic for T::name style dependent names
2019-10-23 21:56:50 -07:00
Chao Shen
eefaad79f2
Preprocessor keyword completion.
2019-10-23 21:56:50 -07:00
Chao Shen
8da0172955
Fix missing include completions.
2019-10-23 21:56:50 -07:00
Jacob Dufault
2fc731c856
ipc.h -> method.h, rename some types
2019-10-23 21:56:50 -07:00
Jacob Dufault
e37a6c814b
Remove global list of message ids.
...
Also do some naming cleanup. Also remove xmacros.
2019-10-23 21:56:50 -07:00
Boris Staletic
39fbd1a2d5
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.
2019-10-23 21:56:50 -07:00
Elliot Berman
23bf95b5e3
Flush sessions on textDocument/didOpen
2019-10-23 21:56:50 -07:00
Elliot Berman
c636eae680
Flush all clang-complete sessions on workspace/didChangeConfiguration
2019-10-23 21:56:50 -07:00
Boris Staletic
bf011fef71
Conditionally allow reindex on didChange
2019-10-23 21:56:50 -07:00
Jacob Dufault
db7e25c542
Reformat
2019-10-23 21:56:50 -07:00
Jacob Dufault
af3c09d00d
Restore include completion on #
2019-10-23 21:56:50 -07:00
Fangrui Song
2d1c990f1a
Don't include system header files for #include "
(#i"
) completion
2019-10-23 21:56:50 -07:00
Fangrui Song
ad88f707f7
Simplify and optimize completion.
2019-10-23 21:56:50 -07:00
Fangrui Song
02542b1e69
Optimize FuzzyMatcher and add tests.
2019-10-23 21:56:50 -07:00
Fangrui Song
11293722cc
textDocument/didOpen: add args to override project entry
2019-10-23 21:56:50 -07:00
Fangrui Song
b2b5e57761
Variant of clangd fuzzy matcher
2019-10-23 21:55:32 -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
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
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
6815f1312f
Add semantic parent to textDocument/references
2018-03-06 20:05:32 -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
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
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
8e70a1078e
Use call sites for callHierarchy
2018-02-28 17:56:49 -08:00
Jacob Dufault
d1fdf231c8
Make all call type default in $cquery/callHierarchy
2018-02-27 23:08:39 -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
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
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
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
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
d33bf50181
Order SymbolRef by size first, Role::Definition second
2018-02-18 19:46:22 -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
Boris Staletic
be4d37dac3
Fix integer sign comparison
2018-02-18 09:10:27 -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
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
Fangrui Song
9fddd5173e
Fix #452
2018-02-13 22:24:36 -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
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
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
Jacob Dufault
593ecd8f53
Rename Maybe::has_value to Maybe::HasValue to follow naming conventions
2018-02-11 13:56:34 -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
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