Commit Graph

1054 Commits

Author SHA1 Message Date
Jacob Dufault
786ac0bc4f Merge FileContents and FileContentsWithOffsets.
Also try to more aggressively load FileContents when indexing to increase reliability.
2018-01-10 21:16:46 -08:00
Jacob Dufault
7de2a733c8 Fix windows path normalization 2018-01-10 20:07:50 -08:00
Jacob Dufault
05b577c9fa Fix progress not always going to zero 2018-01-10 19:56:47 -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
Daniel Martín
1836a50a48 Add unit tests for formatting documents and document ranges 2018-01-10 18:11:59 -08:00
Fangrui Song
a8d403426d using lsRequestId = std::variant<std::monostate, int64_t, std::string>;
Emacs lsp-mode uses (gethash "id" json-data) to handle asynchronous
requests. The JavaScript `Number` type is really a hindrance.
2018-01-10 10:45:31 -08:00
Fangrui Song
38bfd26750 Add <iostream> 2018-01-10 10:08:39 -08:00
Chao Shen
6a03a86e64 Hack to restrict the region. 2018-01-10 09:42:54 -08:00
Nathan Ridge
5d94d138cf Move some details about setting up the VSCode extension to the wiki (follow-up to #216) 2018-01-10 09:22:55 -08:00
Fangrui Song
0e5e2a6ca5 Fix build 2018-01-10 00:21:55 -08:00
Fangrui Song
a8aa94d4ba Fix build 2018-01-10 00:15:58 -08:00
Nathan Ridge
6dbef41128 Mention semantic highlighting in the feature list (#282)
Also mention the "rainbow" feature and link to an article explaining it.
2018-01-10 00:01:31 -08:00
Fangrui Song
060b92b214 Change lsVersionedTextDocumentIdentifier::version to variant<monostate,int>
version: number | null

Maybe we need to change it to double
2018-01-09 23:57:44 -08:00
Fangrui Song
3e076b4111 workspace/didChangeWatchedFiles placeholder 2018-01-09 23:11:20 -08:00
Fangrui Song
503127e0da Reflect std::variant and change lsRequestId to variant<monostate,double,string> (#279) 2018-01-09 22:34:58 -08:00
Fangrui Song
a99fd7c444 Add IpcId::Shutdown 2018-01-09 22:05:09 -08:00
Fangrui Song
60e384a859 Make semantic highlighting symbol ranges non-overlapping using a scan line algorithm 2018-01-09 20:24:54 -08:00
Anthony Cowley
0bcf72d0a0 Only shell out to llvm-config if the configure step found it 2018-01-09 09:59:05 -08:00
Fangrui Song
71ca687252 Change Config->enableComments from to int
"enableComments": 0  // don't index comments
"enableComments": 1  // index Doxygen comment markers
"enableComments": 2  // -fparse-all-comments
2018-01-09 00:46:37 -08:00
Fangrui Song
37152da0fc Add std::monostate to represent null field and add Ipc::Shutdown
Fixes #265

// FIXME lsRequestId should be number | string | null (std::variant<std::monostate, double, string>
2018-01-09 00:23:00 -08:00
Nathan Ridge
bcd3de18bb Document the need to set cquery.launch.workingDirectory when setting up the VSCode extension (#216) 2018-01-08 23:52:22 -08:00
Fangrui Song
5775392462 [waf] Don't warning if bundled_clang_dir exists 2018-01-08 23:45:04 -08:00
Fangrui Song
a7bf90f50b Serialize cacheFormat as string literal 2018-01-08 22:22:24 -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
Fangrui Song
53134b679c Simplify wscript and remove -x c++-header 2018-01-08 20:55:09 -08:00
Joel Hock
9d64a76fec fix logic in GetFilesInFolderHelper from DFS-ification in 96f4ffc4b 2018-01-08 19:38:37 -08:00
Walter Erquinigo
2494c24332 Delete wrong comment 2018-01-08 13:31:20 -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
Fangrui Song
0ef5aec3fc Initial values of variables are useful. For now, enable it for const qualified types. Qualified names may also be useful but they can not be easily combined.
See #260
2018-01-08 00:20:40 -08:00
Fangrui Song
7b8f8e9cad Add Config->dumpAST for dumping AST after parsing
Example initializationOptions: {"dumpAST": ["a.cc"]}
2018-01-07 23:51:36 -08:00
Fangrui Song
a3a89af14f waf configure --use-system-clang, prefer bld.env.get_flat('CXX') over clang inferred from llvm-config'
Fixes #237. Credit to @acowley
2018-01-07 22:10:37 -08:00
Chen
acc8f42033 [comments] Strip additional comment marker at the end of comments (#264) 2018-01-07 21:40:11 -08:00
Fangrui Song
63178468eb -x c++-header has implicit -std=c++14 2018-01-07 21:18:02 -08:00
Fangrui Song
a2faa0c519 Treat source filenames with no dot as -x c++-header 2018-01-07 21:13:12 -08:00
Fangrui Song
11436c1f0d Flatten msgpack by replacing pack_array() with pack()
msgpack::unpacker is not a complete streaming deserializer. It returns maps/arrays as a whole but does not allow us to step into individual elements. There is some memory overhead and it is also likely less efficient. By flattening maps, we also no longer need to track how many fields a struct has, which is less error-prone.
2018-01-07 20:52:16 -08:00
Fangrui Song
541b1a7494 Fix MessagePackReader for Position/Range
Go out for dinner
2018-01-07 17:42:47 -08:00
Fangrui Song
a78c65fdbb Fix MSVC C2220 2018-01-07 16:20:13 -08:00
Fangrui Song
4e6c585e59 Add mnemonic constants to ClangSymbolKind 2018-01-07 16:06:07 -08:00
Fangrui Song
d49679d885 Fix Range serialization for -1:-1--1:-1 2018-01-07 15:52:46 -08:00
Fangrui Song
cef1559f6d Fix waf configure --variant=debug on Linux 2018-01-07 15:18:01 -08:00
Jacob Dufault
78dc0c4341 Fix unit tests 2018-01-07 14:34:30 -08:00
Jacob Dufault
06870d5b61 Do not show completion candidates for : or > by itself.
Fixes issue #258.
2018-01-07 14:27:57 -08:00
Jacob Dufault
2e20c8b655 Use c++14 by default if no language is specified. 2018-01-07 13:37:40 -08:00
Jacob Dufault
ab41e0353c Fix build 2018-01-07 13:37:30 -08:00
Jacob Dufault
74c75ad0d1 Do not sort workspace symbols in vscode.
vscode assumes the order does not change.
2018-01-07 13:08:48 -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
Jacob Dufault
7f6f63b702 Compute call location on client-side. 2018-01-07 13:08:48 -08:00
Fangrui Song
ce6087978f Use cursor extents for non-type template parameters 2018-01-07 10:53:44 -08:00
Fangrui Song
332a3b5240 Serialize {type,func}->def.kind for semantic highlighting 2018-01-07 10:22:03 -08:00