Commit Graph

343 Commits

Author SHA1 Message Date
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
d049cc23c6 Notes on what e2e testing will look like. 2017-05-01 22:36:57 -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
e13d161c62 Experimental support for emitting compile_commands.json from waf 2017-04-25 19:57:36 -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
f3719de08c Add gitter badge to README 2017-04-25 18:47:10 -07:00
Jacob Dufault
9e24ea1f38 Update README.md 2017-04-25 17:59:27 -07:00
Jacob Dufault
4f6c659ccb Update README.md 2017-04-25 13:54:37 -07:00
Jacob Dufault
1b2219f509 Update README.md 2017-04-25 13:45:08 -07:00
Jacob Dufault
592ef1c3cf Better code completion trigger characters. 2017-04-23 18:52:38 -07:00
Jacob Dufault
370fbde288 Remove sparsehash (sparsepp is used instead). 2017-04-23 18:26:17 -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
f94d963c64 Update gitignore 2017-04-23 12:46:46 -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
5bc87b135e Readme update 2017-04-21 00:09:26 -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
Jacob Dufault
d1fe600fcf Better goto-definition on constructors. 2017-04-20 17:27:21 -07:00
Jacob Dufault
2f691e5365 Fix compile error 2017-04-20 17:16:54 -07:00