Commit Graph

146 Commits

Author SHA1 Message Date
Jacob Dufault
8910d0a13e Fix warnings (almost all numeric cast-related) 2017-05-21 16:22:00 -07:00
Jacob Dufault
e182ac12ae Elide long include path proposals 2017-05-21 14:01:52 -07:00
Jacob Dufault
864ff122d8 Scan include directories for include completion candidates. 2017-05-21 12:51:15 -07:00
Jacob Dufault
94bd6fc301 Add #include auto-complete. 2017-05-21 00:37:53 -07:00
Jacob Dufault
7a79532fff Report document links on includes 2017-05-20 21:30:59 -07:00
Jacob Dufault
41e1dff4c9 Goto definition for includes 2017-05-20 20:47:20 -07:00
Jacob Dufault
d3bd31604e Code lens improvements
- Hide declaration from list of refs on types and variables (so now they will show as '0 refs')
- Let the user hide code lens on parameter and function-local variables
2017-05-20 18:26:50 -07:00
Jacob Dufault
b79b98f464 Darken/fade code disabled by preprocessor. 2017-05-20 14:45:46 -07:00
Jacob Dufault
f3d00dea23 Implement code actions using clang FixIts
- Also make server check client version and show an error message if they do not match.
2017-05-20 12:31:07 -07:00
Jacob Dufault
440c6c5325 Small code cleanup 2017-05-20 01:23:01 -07:00
Jacob Dufault
b258f2dd0b Cache signature completion as well.
- Also check file path when validating completion cache.
2017-05-20 01:20:37 -07:00
Jacob Dufault
9d3187a06c Don't bother saving if we reported diagnostics.
Always report if file has diagnostics, always report if file is interactive.
2017-05-20 01:07:54 -07:00
Jacob Dufault
29845cc1e3 Cache code completion results for backspace character. 2017-05-20 01:07:29 -07:00
Jacob Dufault
b3d5327342 Real-time diagnostics via clang_codeCompleteAt 2017-05-19 23:35:14 -07:00
Jacob Dufault
00143bef8e Log index updates before applying them 2017-05-19 00:02:01 -07:00
Jacob Dufault
f9787f83d8 Don't serialize diagnostics 2017-05-18 22:44:23 -07:00
Jacob Dufault
2b407e0bce Basic performance data tracking during indexing 2017-05-17 00:08:45 -07:00
Jacob Dufault
59a077d8a9 Fix race condition when saving indexed file contents to cache. 2017-05-16 23:01:51 -07:00
Jacob Dufault
671a54c7af Move most of the information in document outline to containerName. This makes searching nicer. 2017-05-16 00:45:46 -07:00
Jacob Dufault
f907d1d1b9 When indexing make sure we use the correct contents.
Hopefully this will make overlapping saves more robust.
2017-05-16 00:38:15 -07:00
Jacob Dufault
d8567c75cc More robust approach for tracking indexed file. 2017-05-16 00:26:26 -07:00
Jacob Dufault
b727fc5a36 Fix signature help for calls prefixed by a namespace 2017-05-15 00:37:47 -07:00
Jacob Dufault
3001faf9a8 Signature help and snippets for code completion 2017-05-15 00:29:22 -07:00
Jacob Dufault
ff421723a5 Renames and fix some operator < implementations 2017-05-11 23:08:15 -07:00
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
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
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
d1287f8fc8 Fix crash when trying to load cache that does not exist 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
1b4f377682 WIP but basic test e2e test running 2017-05-02 23:45:10 -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
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
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
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
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