Commit Graph

50 Commits

Author SHA1 Message Date
Jacob Dufault
93ba0c532b For completion, only tell clang about relevant dirty working files.
The heuristic may not be perfect, but it is probably good enough.
clang_codeCompleteAt seems to get slower as more and more CXUnsavedFile
instances are uploaded.
2018-01-12 09:39:05 -08:00
Fangrui Song
6fb1798692 Use @ as escape character of cache filenames
Fixes #112
2018-01-10 23:57:42 -08:00
Jacob Dufault
54394ed868 Format 2018-01-10 18:43:01 -08:00
Jacob Dufault
5605dfbb00 Always normalize project file entry when passing it to clang.
This makes clang_codeCompleteAt much faster.
2018-01-10 18:33:36 -08:00
Joel Hock
9d64a76fec fix logic in GetFilesInFolderHelper from DFS-ification in 96f4ffc4b 2018-01-08 19:38:37 -08:00
yshui
b644b54614 Convert GetFilesInFolderHelper to use BFS (#268)
This function has a huge stack frame (> 8k, thanks to tinydir), and is
called recursively. I have seen this function causing some stack
overflows. So convert it to BFS to avoid that.
2018-01-08 09:09:19 -08:00
Jacob Dufault
a4496b7430 Do not try to load compile_commands.json if there is a .cquery file.
Also give some better diagnostics for .cquery.
2018-01-06 20:27:50 -08:00
Jacob Dufault
bbe11e32eb Prefer WriteToFile over manual std;:ofstream usage. 2018-01-05 10:02:53 -08:00
Jacob Dufault
327958dbe0 Log error instead of asserting if writing file fails.
Also remove some unused code.
2018-01-05 09:58:38 -08:00
Jacob Dufault
22ef88045f Write cache to disk in binary format. Otherwise some escaping may occur. 2018-01-03 22:13:33 -08:00
Jacob Dufault
31c7fddf3d More work to fix AppVeyor 2018-01-03 18:32:15 -08:00
Jacob Dufault
2a17f66792 Write test using binary, otherwise \n will become \r\n leading to double \r\r\n. 2018-01-03 18:12:39 -08:00
Chao Shen
d9b9e5e227 fix appveyor 2018-01-03 18:12:21 -08:00
Jacob Dufault
4aeb6acf04 Test improvements:
- Update files with \r\n newlines.
- Require clang 4.0.0 for running tests.
2017-12-23 07:51:34 -08:00
Jacob Dufault
e1ac3103a8 Add TEXT_REPLACE in index tests.
This allows USRs to vary across platforms in index tests, which is required to
make them pass on all platforms.
2017-12-22 08:48:12 -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
1fd50b4dea Fix MSVC build. 2017-12-18 16:35:43 -08:00
Jacob Dufault
002d32c8a0 Fix broken auto-resource-dir detection 2017-12-18 11:47:58 -08:00
Jacob Dufault
d23de3a9fb Move default resource directory computation to utils.
This will be used by the test system as well.
2017-12-15 21:18:49 -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
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
76c07f3cc6 Additional improvements to automatic index test updates. 2017-11-29 19:09:11 -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
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
0376da015f Try to always log when exiting. 2017-11-18 11:02:09 -08:00
Jacob Dufault
f698a3451f Update comment in utils.cc 2017-10-24 18:28:23 -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
f5314b62b1 Reformat to Chromium style. 2017-09-21 18:14:57 -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
14009293ba Fix IPC message e2e hiding 2017-06-13 23:59:40 -07:00
Jacob Dufault
8c50324576 Small fixes for osx 2017-05-30 17:54:19 -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
32940e2c88 Experiment with caching CXIndex across multiple sessions 2017-05-24 19:04:19 -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
1598129d8b Fix file finding on windows when path case changes. 2017-05-22 00:14:11 -07:00
Jacob Dufault
864ff122d8 Scan include directories for include completion candidates. 2017-05-21 12:51:15 -07:00
Jacob Dufault
cf45c91bcd A bit more work on making a faster compile_commands.json loader 2017-05-18 18:14:53 -07:00
Jacob Dufault
9ffed9a253 Add assert when updating test expectations 2017-05-08 18:21:21 -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
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
7f4d902dcf Add alternative compile_commands.json loader using rapidjson.
It may be faster than clang. I haven't tested it yet.
2017-04-17 00:06:01 -07:00
Jacob Dufault
04a855ebc7 Much better algorithm to sync code lens index locations to the right buffer location 2017-04-16 01:09:12 -07:00
Jacob Dufault
07c984d6c7 - Add type information to qualified_name, remove hover.
- Allow tests to automatically update their expecatations
2017-04-14 21:53:10 -07:00
Jacob Dufault
d5e5d96a9e - Slightly more robust file parsing
- Make memory ownership slightly clearer in indexer
2017-04-12 23:01:42 -07:00
Jacob Dufault
56f0b3a90a Auto-index header files 2017-04-08 15:54:36 -07:00
Jacob Dufault
5b734e4c64 code dedup 2017-03-30 21:15:42 -07:00
Jacob Dufault
5d922a1e90 misc header cleanup 2017-03-25 13:24:42 -07:00
Jacob Dufault
695048baa7 move code into src 2017-03-25 13:15:00 -07:00