Commit Graph

314 Commits

Author SHA1 Message Date
Fangrui Song
819f5198de Add $cquery/memberHierarchy{Initial,Expand} to list member variables of a type 2018-01-17 23:51:19 -08:00
Fangrui Song
96a23bc573 Better shutdown 2018-01-14 22:53:51 -08:00
Fangrui Song
865d567c10 Ignore stdout SIGPIPE 2018-01-14 10:05:29 -08:00
Jacob Dufault
54394ed868 Format 2018-01-10 18:43:01 -08:00
Fangrui Song
0e5e2a6ca5 Fix build 2018-01-10 00:21:55 -08:00
Fangrui Song
3e076b4111 workspace/didChangeWatchedFiles placeholder 2018-01-09 23:11:20 -08:00
Fangrui Song
a99fd7c444 Add IpcId::Shutdown 2018-01-09 22:05:09 -08:00
Fangrui Song
c0a9b7189f Use --init='{"enableComments": true}' to index comments and display them on hover 2018-01-08 21:41:46 -08:00
Jacob Dufault
09d9d5eedc Progress output improvements
- Don't emit so many progress messages
- Allow user to control how often progress is emitted
- Include number of active threads in progress
2018-01-07 13:08:48 -08:00
Fangrui Song
0a7b9209df Add TraceMe() to main()
On POSIX systems, you may set CQUERY_TRACEME=1 before running your editor.
cquery will inherit that environment variable and stop itself at the start of main().
2018-01-06 23:42:45 -08:00
Jacob Dufault
0c839d19fc [ci]: Do not wait for input after failing a test.
This adds --ci command line flag which disables waiting for user input when running an index test (ie, test expectations are not updated).
2018-01-03 18:43:58 -08:00
Fangrui Song
a14ddc69ac Split MultiQueueWaiter into {querydb,indexer,stdout}waiter to solve thundering herd problem (#217)
See https://github.com/jacobdufault/cquery/pull/213#issuecomment-354706992
2018-01-01 23:40:36 -08:00
Fangrui Song
f68e70f5b7 Replace MultiQueueWaiter timeout with condition_variable_any on multiple mutexes
Inspired by https://github.com/jacobdufault/cquery/pull/213
2018-01-01 16:19:58 -08:00
Fangrui Song
c97bc5dbac [formatting] Add missing cases 2017-12-31 14:52:06 -08:00
Jacob Dufault
a10bb50f51 Begin cache restructure so it can be tested 2017-12-29 12:00:52 -06:00
Jacob Dufault
c596e55dcc Cleanup some includes. 2017-12-29 12:00:52 -06:00
Jacob Dufault
719c6c9ae9 Enhance index test selection filtering 2017-12-28 09:55:17 -08:00
Jacob Dufault
7939aec743 Remove WorkThread::Result.
WorkThread::StartThread is now a more typical main function.
2017-12-28 09:20:21 -08:00
Jacob Dufault
243630ca2e wip 2017-12-28 08:55:46 -08:00
Jacob Dufault
ef4af128fc Exit early if unit tests fail 2017-12-27 07:54:46 -08:00
Fangrui Song
bfccac525c Add experimental command line option --enable-comments to index comments and display them on textDocument/hover (#188) 2017-12-24 18:47:39 -08:00
Jacob Dufault
dce1365eb6 Move import pipeline into import_pipeline.cc 2017-12-23 17:30:55 -08:00
Jacob Dufault
f6d84cd68c Merge IpcManager and QueueManager 2017-12-23 16:25:18 -08:00
Jacob Dufault
27b5816a7f Small doc updates 2017-12-23 15:42:54 -08:00
Jacob Dufault
2bc44d59f2 Add --wait-for-input.
Previous on Windows when running index tests cquery would wait for the user to
press enter. This breaks AppVeyor CI.
2017-12-23 17:25:18 -06:00
Jacob Dufault
fb491e6c6d Format using clang format 4.0.0 2017-12-23 08:33:26 -08:00
Jacob Dufault
e26f1caaba Some changes to index tests:
- Add EXTRA_FLAGS: which lets a test specify additional command line
flags to pass to clang.
- Show diagnostics in the terminal after indexing the file.
- Allow the user to pass a test filter/file on the command line (ie,
cquery --test-index foo.cc)
2017-12-20 09:12:22 -08:00
Jacob Dufault
4bf8dbe3ea Move std::cin.tie to main 2017-12-20 09:12:22 -08:00
Walter Erquinigo
5238c50027 objc 2017-12-15 12:02:32 -08:00
Jacob Dufault
12bfabf9c2 No more NonElidedVector 2017-12-11 21:20:29 -08:00
Jacob Dufault
3b9371f4b5 Reduce STDERR logging to only WARNING and above.
INFO logs are now only viewable in the log file, which is not written
by default. A new command line option --log-file can be used to control
where the log file is written.

INFO logs can be written to STDERR if --log-all-to-stderr is passed.
2017-12-06 10:58:30 -08:00
Jacob Dufault
b65a30c3f7 Move Ipc_* types into messages/ 2017-12-05 20:41:44 -08:00
Jacob Dufault
5093863b33 Move initialization Ipc structures into messages/ 2017-12-05 20:09:12 -08:00
Jacob Dufault
ad550f3f2c Enable global/static registration for IpcMessage. 2017-12-05 20:09:12 -08:00
Jacob Dufault
b441a90e0d Finish migrating to messages/ 2017-12-05 19:46:36 -08:00
Jacob Dufault
905a4ab2b1 Make IpcId::Exit handled as a message. 2017-12-05 00:21:19 -08:00
Jacob Dufault
3599a831b1 Introduce MessageHandler abstraction. Mainly just code reorg.
Only the initialize request uses it so far, but this will enable pulling
quite a bit of code out of command_line.cc.
2017-12-04 23:57:41 -08:00
Jacob Dufault
4a7194d2df Remove unused variable 2017-12-04 09:18:29 -08:00
Jacob Dufault
0f3680866e Make missing clientVersion skip check 2017-12-04 00:29:38 -08:00
Jacob Dufault
670c925204 Remove Ipc_Cout; rename IpcId::Cout to IpcId::Unknown. 2017-12-04 00:16:19 -08:00
Jacob Dufault
6c5f1d9c88 Simplify IpcManager.
It no longer supports multi-process IPC; remove some of the extra code that was used to support that.
2017-12-04 00:13:35 -08:00
Jacob Dufault
b2736f8822 Semantic highlighting improvements.
- Semantic highlighting no longer disappears when switching between
files.
- Semantic highlighting for a symbol will remain stable as the file is
edited.
- Improved semantic highlighting colors.

Progress indicator also now shows the number of remaining index jobs
(not the total number).
2017-12-03 18:25:21 -08:00
Jacob Dufault
ab7ffa302a Add $cquery/textDocumentDidView.
This allows for more stable semantic highlighting, among other potential features. Requires custom support from the client, though.
2017-12-03 18:25:21 -08:00
Fangrui Song
697968b15f Group cache files by projectRoot 2017-12-03 16:00:49 -08:00
Jacob Dufault
5d1fd4ce4d Remove a bunch of std::cerr in favor of LOG_S 2017-12-01 17:04:39 -08:00
Jacob Dufault
9b44bf7901 Run ./format.sh 2017-12-01 09:55:41 -08:00
Jacob Dufault
066166ba40 Add --clang-sanity-check.
Does a simple index test to verify expected libclang API behavior.
2017-12-01 09:46:40 -08:00
topisani
ab6c5f0515 Emit semantic highlighting for types 2017-12-01 09:42:22 -08:00
topisani
c4ada3e9df Don't highlight operators as functions (#104)
* Don't highlight operators as functions

* address comments
2017-12-01 17:08:19 +01:00
topisani
28ad5b1ed1 Index file language and send it on hover 2017-11-30 14:12:41 -08:00