Jacob Dufault
61aaf4509c
Fix PriorityEnqueue; use it when saving a file so index results come in faster for actively edited files.
2017-05-11 00:41:27 -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
74d67b0eb5
Update readme, add TODO
2017-05-10 23:36:34 -07:00
Jacob Dufault
4c487ab797
Reparse document after save for code completion, but don't drop existing completion state until after reparse is done.
2017-05-10 23:25:41 -07:00
Jacob Dufault
20429ed397
Clear diagnostics if previously reported
2017-05-10 18:44:39 -07:00
Jacob Dufault
202ab60ede
Added diagnostics.
2017-05-09 23:13:13 -07:00
Jacob Dufault
1083a10a66
Fix some threading bugs with code completion
2017-05-09 21:52:15 -07:00
Jacob Dufault
4a4315d7a1
Set code completion thread name
2017-05-09 21:00:05 -07:00
Jacob Dufault
6737599c11
Add CXTranslationUnit_CreatePreambleOnFirstParse for code completion on non-Windows machines.
2017-05-08 22:15:35 -07:00
Jacob Dufault
8ed20567a1
Only allow one active index request per file when actively editing.
2017-05-08 22:09:57 -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
629876007e
Fix clang compile
2017-05-08 18:21:21 -07:00
Jacob Dufault
d1287f8fc8
Fix crash when trying to load cache that does not exist
2017-05-08 18:21:21 -07:00
Jacob Dufault
a97bd9d1c4
WIP better command line parsing
2017-05-08 18:21:21 -07:00
Jacob Dufault
9ffed9a253
Add assert when updating test expectations
2017-05-08 18:21:21 -07:00
Jacob Dufault
4efb4dbf25
Make querydb import more robust to usr changes
2017-05-08 18:21:21 -07:00
Jacob Dufault
5524abdaa7
Support keyboard shortcuts for vars, callers, base, and derived.
2017-05-06 23:56:04 -07:00
Jacob Dufault
fc55589ed3
Infer arguments for files not in the project.
2017-05-06 22:36:29 -07:00
Jacob Dufault
e1e45b6dc5
Emit warning for bad working file index instead of crashing.
2017-05-06 22:34:43 -07:00
Jacob Dufault
1b4f377682
WIP but basic test e2e test running
2017-05-02 23:45:10 -07:00
Jacob Dufault
bf21cde14a
Remove default platform arguments for linux.
2017-04-25 21:13:04 -07:00
Jacob Dufault
49c687663e
Rework some of the command line flag parsing logic. Hopefully make it more robust.
2017-04-25 21:03:22 -07:00
Jacob Dufault
839f3d9968
Try parsing with full argv. Also hide system diagnostics.
2017-04-25 19:57:36 -07:00
Jacob Dufault
c77531a432
Log initialization options, reactivate working file asserts.
2017-04-25 19:57:36 -07:00
Jacob Dufault
592ef1c3cf
Better code completion trigger characters.
2017-04-23 18:52:38 -07:00
Jacob Dufault
526fefaf09
Don't rename '.' to '_' in cache files.
...
This makes it easier to browse cached cc/etc files.
Also clean up logging a bit.
2017-04-23 18:24:09 -07:00
Jacob Dufault
91b5614c7e
Optimize import pipeline.
...
Previous implementation was slower at reindexing if loading from cache because primary cc files would be reindexed for every dependency that changed.
2017-04-23 18:01:51 -07:00
Jacob Dufault
1b2f5896dc
Use condition variables instead of sleeping.
...
While tricky to do because we have multiple queues, this reduces a lot of unnecessary delay. e2e time goes down from 10-15ms on average to 0-3ms on average. Loading from cache is also nearly instant on the cquery codebase.
2017-04-23 15:45:40 -07:00
Jacob Dufault
63908e3aa0
Renames
2017-04-23 14:24:06 -07:00
Jacob Dufault
7741991b72
Simplify threading model a bit.
2017-04-23 13:19:09 -07:00
Jacob Dufault
4f57b711bb
Remove some unused code
2017-04-23 13:02:41 -07:00
Jacob Dufault
967529f6ee
Remove support for out of process.
...
Eventually out of process will be reintroduced, but at a different level. The actual indexer/querydb will all run in-process. We will run the clang index out of process (and block the indexer thread while running).
2017-04-23 12:45:58 -07:00
Jacob Dufault
14aa4b77e4
Some formatting changes
2017-04-22 00:43:48 -07:00
Jacob Dufault
489f54e538
Remove most of libclangmm
2017-04-22 00:43:48 -07:00
Jacob Dufault
278eb0cd77
Better support for removing data from querydb
2017-04-22 00:43:48 -07:00
Jacob Dufault
44296471b9
Fix indexerCount evaluation
2017-04-22 00:43:48 -07:00
Jacob Dufault
734511f562
Compile fix
2017-04-21 10:00:36 -07:00
Jacob Dufault
406a2ec3fd
Add end-to-end performance reporting.
...
This lets us know exactly how long it took to run a particular request method, including internal message queue delays, etc.
2017-04-21 00:46:51 -07:00
Jacob Dufault
89e6b3cd43
Rename serialized output, update tests.
2017-04-21 00:04:56 -07:00
Jacob Dufault
bb25640d91
Rename instantiations to instances.
2017-04-21 00:03:33 -07:00
Jacob Dufault
bdd433abd4
Fix vscode complaining about overlapping text edits for rename
2017-04-20 23:56:42 -07:00
Jacob Dufault
1fcefb5262
Misc changes
2017-04-20 23:47:17 -07:00
Jacob Dufault
5ef4f55053
Fix code lens for variable instantiations
2017-04-20 23:46:53 -07:00
Jacob Dufault
11d6623938
Update WorkingFile indexed content correctly.
...
We copy the file contents we indexed over to the index cache folder. Then we load those file contents into the WorkingFile instance as needed.
This means code lens should never get out of sync, as the index buffer cache will always be correct.
2017-04-20 23:32:18 -07:00
Jacob Dufault
16dc2971a6
Automatically compute a good value for number of indexer threads to start.
2017-04-20 22:16:52 -07:00
Jacob Dufault
145bf87d70
Add 'cquery: Freshen Index' command.
...
This validates every file is indexed to its current state. It is very useful after, ie, a git checkout.
2017-04-20 21:50:31 -07:00
Jacob Dufault
ead75bb7a3
Force ctor usage on Index_DoIndex
2017-04-20 21:09:54 -07:00
Jacob Dufault
14b47de1db
Cleanup import pipeline, store arguments in indexed file.
...
We no longer store any runtime state (ie, file arguments) in project.cc; we store it and then query it from the cached index file.
2017-04-20 21:06:15 -07:00