Walter Erquinigo
5238c50027
objc
2017-12-15 12:02:32 -08:00
Chen
f3f7bc26cd
Better default resource dir heuristics: use system resource dir with system clang and relative path to resource dir with bundled clang ( #137 )
2017-12-14 14:35:21 -08:00
Fangrui Song
17cac3d30a
[indexer] Change macro's IndexVar::def::detail_name to its approximate definition
...
For `#define foo 3`,
Before this commit, `detail_name` was `foo` (displayed for textDocument/hover reqeusts).
It is now shown as `#define foo 3`
2017-12-13 09:35:44 -08:00
Jacob Dufault
a1fd516788
Log stack trace when there is bad index/buffer lines
2017-12-12 09:50:12 -08:00
Jacob Dufault
1467526bad
Be less aggressive about indexing potential lambdas
2017-12-12 09:49:52 -08:00
Fangrui Song
17f23bf3bf
In OnIndexDeclaration, get_type_description() may return the name of a typedef and there is no (, causing insert
failing
2017-12-12 00:14:25 -08:00
Jacob Dufault
9b909b3a13
Move usr out of *Def and into Query*/Index* types.
...
I'd like to make the *Def structures optional in the future, and usr is always non-optional.
2017-12-11 23:57:44 -08:00
Jacob Dufault
2751f51956
Format
2017-12-11 21:21:03 -08:00
Jacob Dufault
12bfabf9c2
No more NonElidedVector
2017-12-11 21:20:29 -08:00
Jacob Dufault
e535fab581
Do not elide vector in serialization
2017-12-11 21:15:37 -08:00
Fangrui Song
fb902a29b7
Add missing definition and reference info to lambda paramaters. fix #120
2017-12-11 21:06:55 -08:00
Fangrui Song
c6135f5de0
Reflect empty string
...
MarkedString::value is a mandatory field and the client may complain if `value` does not exist.
2017-12-11 21:03:30 -08:00
Fangrui Song
86cc50e27f
Implement diagnostic range as per clang_formatDiagnostic
2017-12-11 13:34:37 -08:00
Peter Elmers
177e4cd224
Escape more symbols in path handling.
2017-12-11 11:11:02 -08:00
Fangrui Song
479c0c59bc
More idiomatic
2017-12-10 19:53:17 -08:00
Jacob Dufault
4a7ca6168f
Reformat
2017-12-07 11:54:51 -08:00
Yuxuan Shui
93fb746992
Convert priority to a string properly for sortText
...
Cast the number to a char directly sometimes results in a invalid UTF-8
string, which is not good for some clients.
2017-12-07 10:38:43 -08:00
Fangrui Song
77ccee10ce
Serialize clang_createIndex to prevent race condition (concurrent modify/read to FirstTarget defined in lib/Support/TargetRegistry.cpp)
2017-12-07 10:29:42 -08:00
Jacob Dufault
ae8cae5ba6
Do not index files starting with git:
2017-12-06 17:00:19 -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
0e4148518a
Fix clang 3.8 build
2017-12-06 09:10:58 -08:00
Jacob Dufault
ae40bfa208
Add override
2017-12-06 07:10:19 -08:00
Jacob Dufault
7a5eb3c4d5
Move src/messages/*.cc to anonymous namespace
2017-12-05 21:03:38 -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
9a3e040bf8
Fix clang build
2017-12-05 19:49:16 -08:00
Jacob Dufault
b441a90e0d
Finish migrating to messages/
2017-12-05 19:46:36 -08:00
Yuxuan Shui
2bd4671ddd
Only set insertTextFormat to Snippet when we have placeholders
2017-12-05 09:47:33 -08:00
Jacob Dufault
dbeb4eb511
Reformat
2017-12-05 08:24:37 -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
Fangrui Song
8b5d9d33ab
Fix LruCache when next_score overflows
2017-12-04 14:47:14 -08:00
Jacob Dufault
4a7194d2df
Remove unused variable
2017-12-04 09:18:29 -08:00
Jacob Dufault
eb8a1ee570
Fix clang build
2017-12-04 07:13:33 -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
b64b8b5493
Fix clang build
2017-12-03 22:49:50 -08:00
Jacob Dufault
9a64fb0747
Fix broken build (add lru_cache.h)
2017-12-03 19:24:42 -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
9e6d33689f
Trim lines when reading from .cquery file.
...
Otherwise there may be newlines and the like.
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
Josh Elsasser
82643dc79d
Ensure that paths passed to libclang are fully expanded
...
- "-include" arguments must have their paths resolved
- clang_resource_dir must have its path resolved
2017-12-03 12:53:05 -08:00
Jacob Dufault
ee5ea91c1f
Reduce test clang arg set.
2017-12-01 17:11:27 -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
cf5f465e9e
Add -Wno-unknown-warning-option
2017-12-01 10:11:09 -08:00
Jacob Dufault
b727e36afc
Move cleanup_maybe_relative_path to top of func in project.cc
2017-12-01 09:59:28 -08:00
Jacob Dufault
fa240e3132
Small code cleanup in src/indexer.cc.
2017-12-01 09:57:03 -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
Jacob Dufault
2a2794da23
Also log arguments when failing to create a translation unit
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
63d2b5fa10
nitpick fixing
2017-11-30 14:12:41 -08:00
topisani
4e153784f6
Index language as enum instead of string
2017-11-30 14:12:41 -08:00
topisani
e6bcd05a7e
markdown compliant language identifiers
2017-11-30 14:12:41 -08:00
topisani
28ad5b1ed1
Index file language and send it on hover
2017-11-30 14:12:41 -08:00
Fangrui Song
eac644d81a
On *nix, use a realpath(3) variant (which does not expand symlinks) in NormalizePath
...
Before this commit, when a source file is a symlink, cquery is not able to serve LSP requests for it.
2017-11-30 11:27:26 -08:00
Jacob Dufault
38ff70ebc3
Disable serialization of clang_parseTranslationUnit2FullArgv
2017-11-29 20:23:34 -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
f1f2cc3bd1
Serialize clang_parseTranslationUnit2FullArgv requests.
...
Also try to emit diagnostics when translation unit creation fails.
2017-11-29 19:53:07 -08:00
Jacob Dufault
aeab1a0b79
Fix MSVC builds
2017-11-29 19:18:58 -08:00
Jacob Dufault
e421f86bfa
Try to make index tests more platform independent
2017-11-29 19:18:25 -08:00
Jacob Dufault
76c07f3cc6
Additional improvements to automatic index test updates.
2017-11-29 19:09:11 -08:00
Jacob Dufault
68f6d34693
Only wait when running index tests on windows.
2017-11-29 19:09:10 -08:00
Jacob Dufault
f6f88cc788
Better logging in when iterating files.
2017-11-29 19:09:10 -08:00
Jacob Dufault
f84945fb51
Make SafeGetLine work the same across different file-ending styles.
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
Jacob Dufault
d5951c0e69
Revert "Specify nullptr for source_filename in clang_parseTranslationUnit2 so that we do not need to strip main source filename from args"
...
This reverts commit 6adc3a28c39a5f6b58a0a57bfae83916051c19f8.
2017-11-27 08:20:42 -08:00
Fangrui Song
2b54296992
Specify nullptr for source_filename in clang_parseTranslationUnit2 so that we do not need to strip main source filename from args
2017-11-27 11:13:07 -05:00
Fangrui Song
bf2aaf470e
Use clang_getCursorKindSpelling
2017-11-27 11:11:21 -05:00
Josh Elsasser
76785105ed
Add an option to disable EmitProgress methods during indexing
2017-11-26 19:50:57 -05:00
Peter Elmers
750cc4ea30
Respond to comment
2017-11-26 12:12:59 -05:00
Peter Elmers
3341b1f13d
Only replace text if both rangeLength and range are not set
2017-11-26 12:12:59 -05:00
Walter Erquinigo
31d7423490
Rebuild vscode plugin and fix some naming
2017-11-26 12:11:09 -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
Fangrui Song
dba27c3d34
Catch ios_base::failure exceptions in ReadContent
...
`filename` may be a directory (the latest Emacs lsp-mode sometimes sends a `textDocument/didOpen` message with an empty filename) or the file cannot be read.
2017-11-22 11:35:46 -05:00
Jacob Dufault
626f7bc736
Use compile_commands.json in root directory in favor of clang_args
2017-11-19 18:52:09 -08:00
Jacob Dufault
6a23c5bace
Enable path in args test
2017-11-19 15:46:02 -08:00
Fangrui Song
fb38537f20
Strip main source filename if it is a relative path in GetCompilationEntryFromCompileCommandEntry
2017-11-19 18:30:27 -05:00
Daan De Meyer
de1de3e51a
Remove .vscode directories from the repository and add .vscode
...
to the .gitignore
2017-11-19 18:09:32 -05:00
Jacob Dufault
261b04a131
Update test once more
2017-11-19 14:48:26 -08:00
Jacob Dufault
475cd6b668
Add failing test for issue #42
2017-11-19 14:46:05 -08:00
Jacob Dufault
5f73c7efac
Allow running unit and index tests separately
2017-11-19 14:35:16 -08:00
Jacob Dufault
97417ecc93
Reformat code
2017-11-19 14:11:54 -08:00
Fangrui Song
297ed1d13e
Use indented TEST_SUITE
2017-11-19 14:13:11 -05:00
Daan De Meyer
5842dd5d60
Add option to disable insertion of snippets when completing a method/function call.
2017-11-19 10:30:29 -05:00
Fangrui Song
49559402cf
Add a virtual destructor for ThreadedQueue
2017-11-19 01:16:32 -05:00
Peter Goodman
3f45c05476
This commit fixes severak compiler errors when trying to build cquery. I gave up after a bit and didn't fix them all though, there are a ton of signed to unsigned comparisons.
2017-11-18 16:09:14 -05:00
Jacob Dufault
0376da015f
Try to always log when exiting.
2017-11-18 11:02:09 -08:00
Jacob Dufault
6a50c48aaa
Formatting and a TODO
2017-11-18 09:29:48 -08:00
Jacob Dufault
eea8a1b07a
Try to avoid crashing when deserializing JSON
2017-11-18 09:27:37 -08:00
Jacob Dufault
7b0d2d7bf2
Make sure to send initialize response before status updates
2017-11-17 13:31:48 -08:00
Abhinav Gauniyal
27a00d7ad3
Update command_line.cc, fixes #14
...
- error: lambda capture 'working_files' is not used
- error: lambda capture 'config' is not used
2017-11-17 07:35:15 -08:00
Christian Pehle
c7c6a8ed39
Fix build on macOS #20
2017-11-17 07:34:09 -08:00