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
Jacob Dufault
f4acde7588
Add --log-stdin-stdout-to-stderr
...
Prints messages received and stdin/stdout to stderr. Useful when developing a new client that uses cquery as the backend.
2017-11-29 20:22:10 -08:00
Jacob Dufault
68f6d34693
Only wait when running index tests on windows.
2017-11-29 19:09:10 -08:00
nobody
c7ef44ad53
Fix hang during reading from stdin
...
I experienced this hang problem when using cquery with
LanguageClient-neovim.
Sometimes std::cout would hang because the pipe is full, which would
normally be fine, since the client would read from the pipe soon.
However, in this case the client is blocking on a write(). This
shouldn't happen, because cquery has a stdin thread which constantly
reads from stdin. But, in C++, cin and cout are tied streams. Reading
from cin would cause cout to flush, which cause the read to block.
So, cquery can't write because the client doesn't read, the client won't
read before it finishes writing. It can't finish writing because cquery
can't read, and cquery can't read because cquery can't write. Which is a
deadlock.
The solution is to simply untie cin and cout.
2017-11-28 13:58:11 -05:00
Fangrui Song
87f6452b5d
Rename clang_args to .cquery
2017-11-27 12:31:54 -05:00
Josh Elsasser
76785105ed
Add an option to disable EmitProgress methods during indexing
2017-11-26 19:50:57 -05:00
Walter Erquinigo
3cee3cb775
Support an optional compilation database dir at initialization
2017-11-26 12:11:09 -05:00
Peter Elmers
6f6cd4ea7f
Give default value to compileCommandsDirectory
2017-11-26 12:11:09 -05:00
Peter Elmers
b7059e69d7
Add compileCommandsDirectory to config struct
2017-11-26 12:11:09 -05:00