Commit Graph

581 Commits

Author SHA1 Message Date
Jacob Dufault
61b0cfb114 Don't emit ipc timings for cout messages. 2017-10-28 14:33:33 -07:00
Jacob Dufault
b9f72377dd Fix inactive region publishing when editing a file. 2017-10-28 14:31:54 -07:00
Jacob Dufault
235987bb58 Show progress indicator in status area 2017-10-25 00:12:11 -07:00
Jacob Dufault
39de197e8a Only target 80% of threads for indexers by default.
Using 100% - 1 tended to cause too much resource contention.
2017-10-24 19:18:47 -07:00
Jacob Dufault
37ab94e7b4 Add GetWorkingDirectory for linux 2017-10-24 19:11:11 -07:00
Jacob Dufault
ccff74a79c Fix performance regression in loading compile_commands.json
Regression was caused by accidental copying.
2017-10-24 19:00:29 -07:00
Jacob Dufault
738b338d47 Emit timings for project loading 2017-10-24 18:39:44 -07:00
Jacob Dufault
f698a3451f Update comment in utils.cc 2017-10-24 18:28:23 -07:00
Jacob Dufault
93d3b2b3cb Change whitelist behavior so it is more likely what the user wants. 2017-10-24 18:09:02 -07:00
Jacob Dufault
58f2107714 Inject -resource-dir automatically. 2017-10-24 18:02:15 -07:00
Jacob Dufault
0d091b69cf Minor style fix 2017-10-23 08:39:33 -07:00
Jacob Dufault
d145bcebc5 Fix completion issue where completing dropped completion session. 2017-10-23 08:38:01 -07:00
Jacob Dufault
f0e9434163 Add start/pause to Timer 2017-10-23 08:04:43 -07:00
Jacob Dufault
76cc110cc2 Simplify completion session management code. 2017-10-23 00:28:21 -07:00
Jacob Dufault
3e9cffcc62 Cleanup clang::TranslationUnit API so callers have to handle failures. 2017-10-22 22:07:50 -07:00
Jacob Dufault
9429dff63a Try to only ever have one completion session per file. 2017-10-22 21:49:17 -07:00
Jacob Dufault
a155f5b686 Fix a bunch of bugs in argument handling and address some TODOs 2017-10-18 01:24:52 -07:00
Jacob Dufault
0e7c8bdf05 Fix argument handling for chrome 2017-10-18 00:02:33 -07:00
Jacob Dufault
3003385d76 Update clang argument parsing 2017-10-17 23:23:07 -07:00
Jacob Dufault
a6807dcb8c Remove issue where diagnostics would disappear file saves.
Also allow rebuilding of completion session by closing and reopening a
file.
2017-10-17 11:43:33 -07:00
Jacob Dufault
809a55a351 When erasing a USR only erase def data.
This should hopefully fix some bad indexes. It is possible that a def is temporarily deleted. In that case, we don't want to nuke all of the callers/etc so that if the def is restored we still have that information.

If the def is actually erased it the normal IndexUpdate remove logic will eventually purge the extra state outside of just the def (ie, callers).
2017-10-16 22:45:26 -07:00
Jacob Dufault
272e23901c Handle missing cached dependencies better 2017-10-12 08:41:03 -07:00
Jacob Dufault
4364a37d76 Increase max completion sessions 2017-10-12 08:41:03 -07:00
Jacob Dufault
6704049e13 Disable real-time indexing.
It adds a bit too much latency to code completion. I suspect this can
be removed by running real-time indexing in a separate thread (though
this will require a dedicated CXTranslationUnit instance).
2017-09-27 13:44:54 -07:00
Jacob Dufault
7531a0b4e5 Real-time indexing as you type. 2017-09-26 23:03:43 -07:00
Jacob Dufault
80df5beee5 Fix code completion isIncomplete handling.
isIncomplete would not be set to true when there was no filter text but we elided entries.
2017-09-26 21:44:56 -07:00
Jacob Dufault
084d5c8d91 Fix two TODOs 2017-09-26 21:40:47 -07:00
Jacob Dufault
d57ecff497 Disable not sending isIncomplete optimization 2017-09-25 14:33:28 -07:00
Jacob Dufault
145975df6b Fix some issues in import pipeline. 2017-09-23 17:36:28 -07:00
Jacob Dufault
87394de1cf Handle error condition instead of asserting, since it is occassionaly hit.
This needs to be debugged later.
2017-09-22 00:39:59 -07:00
Jacob Dufault
6b0c3831fa Add project parsing test 2017-09-21 23:50:27 -07:00
Jacob Dufault
511bbbe391 Add TODO 2017-09-21 23:48:05 -07:00
Jacob Dufault
bd8582e718 A bit more code cleanup in project.cc 2017-09-21 20:09:11 -07:00
Jacob Dufault
a96be1d6e5 Cleanup how include directories are passed around in project. 2017-09-21 20:02:48 -07:00
Jacob Dufault
5704ef5077 Cleanup completion logging. Also don't mark isIncomplete for completion results as aggressively. 2017-09-21 19:45:17 -07:00
Jacob Dufault
772f547065 Update diagnostics on document change, not code completion.
This also changes the API used for reporting diagnostics, which will hopefully be more reliable. This requires reparsing the document, though, so it is much slower. We do this after reporting code completion though, so hopefully the performance delay is not too noticable.
2017-09-21 19:25:33 -07:00
Jacob Dufault
1df8fd7c7a Remove some static_casts. 2017-09-21 18:32:55 -07:00
Jacob Dufault
772df3e92a Move InsertSymbolIntoResult into query_utils.cc 2017-09-21 18:18:24 -07:00
Jacob Dufault
f5314b62b1 Reformat to Chromium style. 2017-09-21 18:14:57 -07:00
Jacob Dufault
1b1be28be4 Log files joined in IndexFile merges. 2017-09-21 17:59:46 -07:00
Jacob Dufault
ba7461fc24 Fix dependency scanning on import.
The same dependency would cause multiple translation units to get reindexed.
2017-09-19 22:08:17 -07:00
Jacob Dufault
a06f730958 Better logging, add notes about a bug. 2017-09-14 00:22:06 -07:00
Jacob Dufault
d6a8071da4 Be more aggressive about only indexing files once.
This should help fix perf regressions with long import times after syncing.
2017-09-13 23:39:32 -07:00
Jacob Dufault
036c2819f1 Add some whitespace 2017-09-13 22:18:15 -07:00
Jacob Dufault
cd58eafd90 Simplify import dedup by allowing indexer to reparse the same document concurrently. Removes a critical section simplifies the code.
Instead we dedup the imports between creating an id map and applying the update.
2017-09-13 21:51:39 -07:00
Jacob Dufault
104cfd167c Fix linux build 2017-09-13 10:53:13 -07:00
Jacob Dufault
d9143f065d Fix indexer crash when indexing MSVC STL. 2017-09-12 22:51:13 -07:00
Jacob Dufault
17565f9a14 Make some good progress on e2e tests. 2017-09-12 20:35:53 -07:00
Jacob Dufault
6cdb7c66e1 Remove unused function 2017-08-18 10:26:05 -07:00
Jacob Dufault
3f44307268 Call malloc_trim(0) on Linux 2017-08-17 11:02:47 -07:00
Jacob Dufault
2328141d98 Fix clang compile 2017-08-16 22:17:24 -07:00
Jacob Dufault
b1d9602682 Dedup import requests, show diagnostics on interactive indexes, priority index file when opening it 2017-08-16 20:39:00 -07:00
Jacob Dufault
58fbd04142 Add ThreadedQueue::EnqueueAll to reduce lock contention. 2017-08-16 19:14:54 -07:00
Jacob Dufault
28ddc9f346 Re-enable anonymous namespace in command_line.cc 2017-08-16 19:08:00 -07:00
Jacob Dufault
4245bac1db Make import pipeline a bit more flexible w.r.t. writing indexed content to disk. 2017-08-16 19:06:28 -07:00
Jacob Dufault
d5bdf8ce0a Rename/cleanups 2017-08-15 22:45:42 -07:00
Jacob Dufault
7901653698 Make sure file exists before importing it. 2017-08-15 22:39:50 -07:00
Jacob Dufault
49aca3038b Cache timestamps when importing, which improves import time by 5x on windows.
cquery import goes from 2.5s to 0.5s
2017-08-15 20:54:59 -07:00
Jacob Dufault
274c98f032 Fix import pipeline stall due to blocking Deqeue call. 2017-08-15 20:29:49 -07:00
Jacob Dufault
81594a1497 Fix LoadCachedIndex crash if deserialization failed. 2017-08-15 20:29:09 -07:00
Jacob Dufault
7faedfdf00 Do not import empty dependencies 2017-08-15 20:28:52 -07:00
Jacob Dufault
3ab4d0455d Fix delta update.
Previous file was being loaded after the current file is written to disk.
2017-08-15 00:46:21 -07:00
Jacob Dufault
59851c06e0 More import pipeline simplifications.
Move already-import dependency checking to a separate stage.
2017-08-15 00:22:13 -07:00
Jacob Dufault
5a451d3ad1 Remove some additional overhead created for out of process 2017-08-14 22:53:44 -07:00
Jacob Dufault
db9a97d586 Remove out of process indexer support.
malloc_trim does a good enough job that we don't need it anymore.
2017-08-14 19:07:46 -07:00
Jacob Dufault
ee003a2cf0 Log when we are doing delta updates 2017-08-05 15:44:44 -07:00
Jacob Dufault
5b69c5bfc5 Small cleanup 2017-08-01 20:40:30 -07:00
Jacob Dufault
cac5dcaf8f Simplify queue management 2017-08-01 20:23:37 -07:00
Jacob Dufault
c89f651cd8 More iteration on task system 2017-08-01 20:23:06 -07:00
Jacob Dufault
b9061ccc07 WIP task system 2017-08-01 01:24:06 -07:00
Jacob Dufault
50a726f59e Simplify Index_OnIdMapped 2017-07-30 11:49:24 -07:00
Jacob Dufault
1f3f69b221 Reuse loaded file contents in indexer; clear large state before caching. 2017-07-30 11:31:41 -07:00
Jacob Dufault
85f3c00376 Some more small cleanup 2017-07-30 00:16:08 -07:00
Jacob Dufault
6d9e4242d1 Use shared_ptr, try to fix a crash. 2017-07-29 23:51:32 -07:00
Jacob Dufault
e771f05f3f Linux build fixes 2017-07-29 21:46:21 -07:00
Jacob Dufault
ee20d79dcc wip 2017-07-29 21:24:02 -07:00
Jacob Dufault
c83b9eab77 Fix issue when buffer contents do not get synced properly near start of file 2017-07-29 21:13:22 -07:00
Jacob Dufault
2a1ce80b4d Change perf logs to use LOG_S 2017-07-29 17:45:00 -07:00
Jacob Dufault
6518f8b79a Add tiny-process-library 2017-07-29 17:44:32 -07:00
Jacob Dufault
a9bac06b83 Add MoveFileTo 2017-07-28 17:08:18 -07:00
Jacob Dufault
ea5508a699 Perf can now be serialized 2017-07-28 17:08:04 -07:00
Jacob Dufault
cf8b95809f Hide error messages when scanning a directory and file open fails 2017-07-28 17:07:50 -07:00
Jacob Dufault
7b052d887d Add DequeuePlusAction 2017-07-28 17:07:27 -07:00
Jacob Dufault
c37396a36d First pass at logging using loguru 2017-07-27 19:14:46 -07:00
Jacob Dufault
1e995dc30e Cleanup call tree appearance
- Use up/down icons instead of [B] and [D]
- Don't show column number
- Show declaring type instead of path if applicable
2017-07-20 23:16:27 -07:00
Jacob Dufault
475afc77a5 Support functions in type hierarchy. 2017-07-20 19:53:08 -07:00
Jacob Dufault
a046f89650 Do not show base calls in tree view that come from derived function. 2017-07-20 19:42:56 -07:00
Jacob Dufault
64580decab Push cursor position to end when updating delayed diagnostics 2017-07-19 00:20:19 -07:00
Jacob Dufault
08fb60a675 Show call tree expand button if function has base or derived callers. 2017-07-19 00:17:38 -07:00
Jacob Dufault
79ec5a749a Improve tree view
- Show base/derived callers ([B] and [D] prefix)
- Show call position information
- Temporarily prevent duplicate calls from appearing, needs a proper fix.
2017-07-19 00:12:29 -07:00
Jacob Dufault
f4db0967b2 Show based/derived callers in callers keyboard shortcut. 2017-07-19 00:12:29 -07:00
Jacob Dufault
57e5fe1814 Fix crash 2017-07-17 13:03:42 -07:00
Jacob Dufault
ba973ba1bf Remove unused variables 2017-07-17 10:41:59 -07:00
Jacob Dufault
22bb89fca1 Add options to turn off diagnostics.
diagnostics.onParse: semi-real time diagnostics that reported when a file is indexed or prepared for code completion
diagnostics.onCodeComplete: real time diagnostics that are reported as you type
2017-07-15 17:25:52 -07:00
Jacob Dufault
152e98363f Refresh diagnostics 5 seconds after the last code completion. 2017-07-15 17:08:07 -07:00
Jacob Dufault
00e452272f Do not use clang_Location_isInSystemHeader for diagnostics; causes crashes 2017-07-12 15:02:48 -07:00
Jacob Dufault
aae126f899 Disable diagnostics during code completion (causes crashes) 2017-07-12 11:34:05 -07:00
Jacob Dufault
dde1c687ec Build diagnostics during code completion 2017-07-12 11:26:08 -07:00
Jacob Dufault
d1cbc32c81 Hopefully fix completion crashes.
It was caused due to a multithreading race. A vector was assigned to twice at the same time, which caused a crash in the destructor.
2017-06-29 23:51:22 -07:00
Jacob Dufault
b683c863e3 Add enable_shared_from_this to CompletionSession 2017-06-29 23:19:16 -07:00
Jacob Dufault
808e0f5277 Fix clang build 2017-06-29 10:30:22 -07:00
Jacob Dufault
f498f0ccb1 Fix showing duplicate completion entries, always provide insertText. 2017-06-28 23:59:38 -07:00
Jacob Dufault
b4000fa956 Don't show code lens on include/header guards. 2017-06-28 23:34:04 -07:00
Jacob Dufault
6ab8a27313 Mark macros in index. 2017-06-28 23:28:29 -07:00
Jacob Dufault
b5305e14f2 Add |is_macro| state to IndexVar.
This does not handle setting |is_macro|, this CL is about updating the
tests.
2017-06-28 23:25:29 -07:00
Jacob Dufault
85ec4b9843 Use shared_ptr in command_line for completion data.
Also add thread exit logs so to check if the stack has gone away.
2017-06-28 21:59:16 -07:00
Jacob Dufault
3228619414 Small fixes to auto-include and auto-implement fixits. 2017-06-28 21:40:30 -07:00
Jacob Dufault
25d450cf8b Always include literal completions 2017-06-28 21:33:52 -07:00
Jacob Dufault
706479aded Completion changes (maybe fix some crashes) 2017-06-28 19:50:30 -07:00
James Cook
0876886c60 Fix build error on Linux for INT_MIN (#10)
* Fix compiler warnings and turn on warnings as errors

* Fix build error on Linux for INT_MIN
2017-06-20 08:17:23 -07:00
Jacob Dufault
8dd751a70f Fix completion for items with underscores. 2017-06-19 23:31:34 -07:00
Jacob Dufault
36ee8bec47 Consider filename ending when guessing arguments.
This should improve guessing for, ie, test files, like foo_test.cc.
2017-06-19 19:09:15 -07:00
Jacob Dufault
a005cc627d Generate diagnostics when indexing a file, even if non-interactive. 2017-06-19 18:52:25 -07:00
Jacob Dufault
ced7c878b7 Don't show unique file id warning if there is no file name 2017-06-19 18:51:56 -07:00
Jacob Dufault
491e7b4625 Prefer literal string matches in global symbol search 2017-06-19 18:32:19 -07:00
James Cook
5b4986f04b Fix compiler warnings and turn on warnings as errors 2017-06-19 18:30:44 -07:00
Jacob Dufault
61f023fec8 clang build fix 2017-06-16 10:14:09 -07:00
Jacob Dufault
11af3986ba Better symbol resolution (ie, goto definition) for macro arguments. 2017-06-15 23:43:02 -07:00
Jacob Dufault
f8f4c06c20 Better error message when getting a unique file id fails. 2017-06-15 23:07:03 -07:00
Jacob Dufault
b04ce0c503 Auto-index file on open 2017-06-15 22:56:07 -07:00
Jacob Dufault
bb46b38b1c Make global symbol search a bit more fuzzy 2017-06-15 19:30:00 -07:00
Jacob Dufault
9d1369786f Pre-filter completion results before sending to vscode.
This results in a less laggy completion experience. Before, vscode would
drop frames if handed too many completions (ie, by typing #include in a
very large project).
2017-06-15 19:28:49 -07:00
Jacob Dufault
1ade2e5ca1 Show more variables in global symbol search 2017-06-15 19:28:07 -07:00
Jacob Dufault
99db0a1596 Add some additional code completion logging. 2017-06-14 22:47:41 -07:00
Jacob Dufault
7a71447273 Move some code out of command_line.cc 2017-06-14 22:47:41 -07:00
Jacob Dufault
7328d138e3 Fix linker error on clang (issue #2) 2017-06-14 20:12:52 -07:00
Jacob Dufault
053aa549f0 Bump extension version. 2017-06-14 00:13:26 -07:00
Jacob Dufault
14009293ba Fix IPC message e2e hiding 2017-06-13 23:59:40 -07:00
Jacob Dufault
3d0b8fd807 Fix call tree when function ref does not refer to a function. 2017-06-13 23:50:30 -07:00
Jacob Dufault
4bddc95908 Fix possible race when setting diagnostics. 2017-06-13 23:29:41 -07:00
Jacob Dufault
84b7ec930b Log completion session creation/destruction. Ensure $0 is at end of insert text for final tab stop. 2017-06-13 23:15:18 -07:00
Jacob Dufault
584f7b45b9 Uniqueify include string proposals 2017-06-13 23:09:25 -07:00
Jacob Dufault
511f6c5248 Fix crash when loading old cache when file format changed.
Also eliminate an unnecessary copy after finishing deserialization.
2017-06-13 21:00:51 -07:00
Jacob Dufault
8fece6c252 Remove some extra logging 2017-06-13 20:41:30 -07:00
Jacob Dufault
0e5312790e Add more detailed logging for failed unique file id 2017-06-13 20:08:31 -07:00
Jacob Dufault
64253ec174 Use shared_ptr in a couple more spots. 2017-06-09 21:15:33 -07:00
Jacob Dufault
dec484ed0d Only report diagnostics from code completion document parse.
Also use shared_ptr, hopefully fix memory crashes.
2017-06-09 21:13:16 -07:00
Jacob Dufault
c262e1674d Misc fixes 2017-06-09 18:02:48 -07:00
Jacob Dufault
f0fb8db3e5 Update clang args again 2017-06-09 00:14:36 -07:00
Jacob Dufault
db60b72e3b Update clang_arg on windows 2017-06-09 00:08:14 -07:00
Jacob Dufault
767b4ac0e1 Small code cleanup 2017-06-09 00:08:06 -07:00
Jacob Dufault
1fc2d2756e Don't show output when there is an error. Force extension update. 2017-06-08 23:26:04 -07:00
Jacob Dufault
3358e6afd3 Update settings.json paths 2017-06-08 23:22:00 -07:00
Jacob Dufault
41d8cd9a0c Fix memory leaks 2017-06-08 23:22:00 -07:00
Jacob Dufault
598b53efff Show diagnostics for tests, update absolute paths 2017-06-08 23:22:00 -07:00
Jacob Dufault
8c50324576 Small fixes for osx 2017-05-30 17:54:19 -07:00
Jacob Dufault
c40df5c0e5 Provide code action to auto-include an undefined symbol. 2017-05-29 16:57:19 -07:00
Jacob Dufault
80e78831d4 Small formatting change in clang_utils 2017-05-29 16:34:11 -07:00
Jacob Dufault
f5efa02448 Clear diagnostics for open files. 2017-05-29 16:33:57 -07:00
Jacob Dufault
7b790e7da3 Fix file name typo 2017-05-29 14:21:08 -07:00
Jacob Dufault
d834d4db08 Provide code action to auto-implement methods (useful for classes or function declarations). 2017-05-29 14:18:35 -07:00
Jacob Dufault
1d67d1ee37 Add additional metadata to function declarations. 2017-05-27 18:53:22 -07:00
Jacob Dufault
3469850c98 Change how function declarations are serialized so parameter info can be added. 2017-05-27 14:09:20 -07:00
Jacob Dufault
b7f7987cb8 Use cached location 2017-05-27 13:10:06 -07:00
Jacob Dufault
5415f4be50 Don't count the '~' in type usages for destructors. 2017-05-27 13:02:49 -07:00
Jacob Dufault
dcc71f2470 More cleanup in indexer 2017-05-27 12:56:39 -07:00
Jacob Dufault
e431dbd793 Some renames in indexer. Fix warning for namespace alias. 2017-05-27 12:33:18 -07:00
Jacob Dufault
e9025104cb Rename some variables in the indexer. 2017-05-27 10:03:49 -07:00
Jacob Dufault
b66f015a4a Some small cleanup when indexing function declaration/definition. 2017-05-27 09:57:52 -07:00
Jacob Dufault
968b6c0966 Remove HasInterestingState().
These don't serve any real purpose since the multi-file indexer tests.
2017-05-27 00:47:03 -07:00
Jacob Dufault
79a4d8ad79 Proper error reporting when request fails due to missing file. 2017-05-27 00:10:21 -07:00
Jacob Dufault
385531521f Harden against bad language server method call in completion. 2017-05-26 23:51:32 -07:00
Jacob Dufault
d816e2618a Some renames, promote view completion sessions to edit sessions 2017-05-26 21:21:00 -07:00
Jacob Dufault
7840b7a015 Cache global completion results. 2017-05-26 00:10:55 -07:00
Jacob Dufault
cdc268d549 Preload code completion, maintain LRU cache for multiple completion files. 2017-05-25 23:40:38 -07:00
Jacob Dufault
2e3e1e0427 Refactor quote extraction 2017-05-25 21:26:35 -07:00
Jacob Dufault
f5ed2828c3 Fix code lens sometimes appearing on "};" 2017-05-25 21:09:10 -07:00
Jacob Dufault
8bbd9b7694 Revert change to use CXTranslationUnit_Incomplete when indexing. It broke tests. 2017-05-24 20:06:05 -07:00
Jacob Dufault
32940e2c88 Experiment with caching CXIndex across multiple sessions 2017-05-24 19:04:19 -07:00
Jacob Dufault
d47869ad0f Do not remove querydb defined type/func/var if the final reference is removed from a file.
We still remove the defined type/func/var if it was defined in that file, though.
2017-05-24 17:45:33 -07:00
Jacob Dufault
97832f2a73 Add call tree and full type hierarchy using upcoming vscode tree API 2017-05-24 00:17:29 -07:00
Jacob Dufault
6c66beb0fa Increment index version 2017-05-23 00:52:20 -07:00
Jacob Dufault
37787290cb Make sure every include candidate is unique w.r.t. absolute path.
Also do not follow symlinks when iterating a directory.
2017-05-23 00:24:14 -07:00
Jacob Dufault
ee90938b28 Fix goto def when implicit functions are called.
Don't import the implicit functions into the 'all symbols' structure. This fixes symbol lookup.
2017-05-22 23:57:46 -07:00
Jacob Dufault
2e4c5474da Index implicit function calls. 2017-05-22 23:47:27 -07:00
Jacob Dufault
1598129d8b Fix file finding on windows when path case changes. 2017-05-22 00:14:11 -07:00
Jacob Dufault
8d9374ee59 Disable logging of filtered project paths, but let user enable it in config. 2017-05-21 23:45:47 -07:00
Jacob Dufault
da6a8f335f Only delta update on file save if the file is already imported. 2017-05-21 23:18:38 -07:00
Jacob Dufault
dc605bc5c3 Don't import defs without definition information into querydb 2017-05-21 23:09:09 -07:00
Jacob Dufault
440fa950a0 Use -xc (instead of -xc++) for files ending with .c.
A good chunk of c files will fail to compile under c++ mode.
2017-05-21 23:06:30 -07:00
Jacob Dufault
639bf8a431 Show error message when regex parsing fails. 2017-05-21 22:54:27 -07:00
Jacob Dufault
c66c927c1f Fix some more warnings from clang 2017-05-21 16:48:21 -07:00
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
89b34a359c Log message if creating regex fails 2017-05-21 14:00:48 -07:00
Jacob Dufault
864ff122d8 Scan include directories for include completion candidates. 2017-05-21 12:51:15 -07:00
Jacob Dufault
a058eb8e95 Small nits 2017-05-21 00:56:21 -07:00
Jacob Dufault
3fe824e208 Fix clang compile 2017-05-21 00:43:10 -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
529f309c45 Index macros (treat them like variables) 2017-05-20 18:58:54 -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
44153f94e8 Fix auto variable type deduction when auto is a pointer. 2017-05-20 17:19:32 -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