Commit Graph

1132 Commits

Author SHA1 Message Date
Jacob Dufault
a2c1cb4a83 Enable make* indexing by default 2018-01-31 20:21:16 -08:00
Fangrui Song
8108de0cfa Change short_names/detailed_names from const std::string& to std::string_view 2018-01-31 19:53:50 -08:00
Fangrui Song
c33aa113db Use short_name for tests but short_name_{offset,size} for lang server 2018-01-31 17:22:30 -08:00
Fangrui Song
9944617df6 Fix #385 2018-01-31 16:48:26 -08:00
Fangrui Song
768f4ecb6e Enable "Make" hack only if config->index.make_unique is true. 2018-01-31 11:10:20 -08:00
Fangrui Song
871ae34a1b Hotfix of stale file contents in 186898 2018-01-31 08:42:25 -08:00
Fangrui Song
3e16055b31 Change some API const std::string& -> std::string_view 2018-01-31 00:35:04 -08:00
Fangrui Song
4c895bef0b Make optional<string> {hover,comments} non-optional 2018-01-30 23:48:34 -08:00
Fangrui Song
77dca1936b Change TypeDefDefinition::short_name from string to string_view 2018-01-30 23:01:59 -08:00
Fangrui Song
93269ecfd4 Change std::string FuncDefDefinition::short_name to ShortName() 2018-01-30 22:40:02 -08:00
Fangrui Song
41f87887bb Change std::string VarDefDefinition::short_name to ShortName() 2018-01-30 22:04:55 -08:00
scturtle
699d2f3655 Fix completion of headers. 2018-01-31 09:59:51 +08:00
Fangrui Song
5d88eb959d Remove index.builtinTypes and fix doc 2018-01-30 09:16:20 -08:00
Riatre Foo
ab2a836d57 Remove unused variable ex in initialize.cc (#376) 2018-01-30 09:03:46 -08:00
Fangrui Song
c8605dc4a9 Group source files outside of the project by a cache sub-directory 2018-01-29 23:53:32 -08:00
Jacob Dufault
fe3b9c4a8a Revert "Fix completion of headers."
This reverts commit ce0aab3afa4b7d80d46c901d1bb8234ac18fa70b.
2018-01-29 21:52:38 -08:00
Jacob Dufault
f6a2a55209 Import pipeline improvements
- Cache manager is created by request
- Index is always associated with its contents
- Reduced frequently of file reads
2018-01-29 21:34:36 -08:00
Jacob Dufault
a8b68d21d7 Fix potential crash 2018-01-29 21:34:36 -08:00
scturtle
e145f77996 Fix completion of headers. 2018-01-30 13:11:56 +08:00
Fangrui Song
5bd466ab17 Fix #372 2018-01-29 19:08:19 -08:00
Jacob Dufault
0eb7d415d7 usr_to_file uses new NormalizedPath type 2018-01-29 16:56:00 -08:00
Jacob Dufault
7579d71b85 Simplify MAKE_REFLECT_TYPE_PROXY 2018-01-29 16:35:01 -08:00
Jacob Dufault
a392301be3 Format 2018-01-29 16:27:43 -08:00
Jacob Dufault
233a108814 Add docs to config.h, remove enableCacheRead/enableCacheWrite. 2018-01-29 16:14:23 -08:00
Jacob Dufault
55338e7481 Simplify, readd --wait-for-input 2018-01-29 15:43:22 -08:00
Fangrui Song
09d7da2893 Don't emit semantic highlight for operators or lambda (#369)
Fixes #368
2018-01-29 09:28:17 -08:00
Fangrui Song
795dfc670c Update tests after specialization handling 2018-01-28 23:40:57 -08:00
Fangrui Song
b7ce3dd60a Better template specialization 2018-01-28 23:05:51 -08:00
Fangrui Song
dc1c72ce30 Remove definition from uses for TemplateVisitor 2018-01-28 22:41:53 -08:00
Fangrui Song
535c2c20a3 Escape more characters in ECMA-262 uriReserved
Fixes #248
2018-01-28 22:11:53 -08:00
Fangrui Song
16bf3158c5 Add SymbolRole to SymbolRef and fix $cquery/{base,derived} by ordering definitions before uses 2018-01-28 20:39:41 -08:00
Fangrui Song
777193d02f Better template specialization 2018-01-28 18:31:11 -08:00
Fangrui Song
fb3cd89b05 Move language_server_api.h structs to initialize.cc 2018-01-28 14:39:48 -08:00
Fangrui Song
640d72f85c Check --init and remove --wait-for-input 2018-01-28 14:06:35 -08:00
Fangrui Song
1e7727f75a Allow empty initializationOptions or cacheDirectory (which disables cache read/write) 2018-01-28 13:52:04 -08:00
Fangrui Song
80213e8a23 Complete with empty context 2018-01-28 13:26:34 -08:00
Fangrui Song
bdb880e0a5 Serialize VarDefDefinitionData::{parent_kind,parent_id} 2018-01-28 12:34:31 -08:00
Fangrui Song
79b60561d1 Remove CXCursor_MacroDefinition from uses 2018-01-28 11:42:40 -08:00
Fangrui Song
818ef8a834 -h --help for help. --language-server is the default mode 2018-01-28 10:53:17 -08:00
Fangrui Song
45b57bd729 [test] Use system 'diff' on POSIX. 2018-01-27 22:31:17 -08:00
Fangrui Song
70bbe6c64c Use major/minor versions for IndexFile
Fixes #364
2018-01-27 21:47:37 -08:00
Fangrui Song
5763201838 Remove is_type_member & VarDefDefinitionData::declaring_type
Rename ClangStorageClass to StorageClass
Add semantic_parent & semantic_parent_kind (but not serialized yet)
Move query.h SymbolKind to indexer.h SymbolKind and make it uint8_t
2018-01-27 20:46:06 -08:00
Fangrui Song
aeb63ce3ad Add magic/version to "cacheFormat": "msgpack" 2018-01-27 19:21:35 -08:00
Fangrui Song
d605217c1a matcher.cc: use std::regex_search instead of std::regex_match
Prototype of non-working `dependencies` parameter of $cquery/freshenIndex
2018-01-27 10:42:18 -08:00
Jacob Dufault
e3d3a492d0 Return default value 2018-01-27 10:20:54 -08:00
Phil Wise
74a39e7ea8 Fix build on Ubuntu 16.04
On Ubuntu 16.04 I get the following compile error in release mode:

../../src/indexer.cc: In function ‘ClangStorageClass {anonymous}::GetStorageClass(CX_StorageClass)’:
../../src/indexer.cc:130:1: error: control reaches end of non-void function [-Werror=return-type]

cc1plus: all warnings being treated as errors
2018-01-27 09:03:08 -08:00
Fangrui Song
d6003e1991 workspace/didChangeWatchedFiles 2018-01-26 23:17:49 -08:00
Fangrui Song
0bbabbcbd2 Move IndexVar::def::declarations to IndexVar::declarations 2018-01-26 21:50:17 -08:00
Fangrui Song
e892c23955 Change declaration to declarations in IndexVar 2018-01-26 18:21:15 -08:00
Fangrui Song
6b3673a438 Remove definition_spelling from uses in IndexVar
Instead, specify `include_decl = true` in GetUsesOfSymbol
2018-01-26 18:01:14 -08:00
Fangrui Song
37809def7c Add bool include_decl parameter to GetUsesOfSymbol
Fixes #350

Function declarations/definitions are not counted if include_decl is
false.
We should do similar thing to Var and Type.
2018-01-26 17:31:50 -08:00
Fangrui Song
723c78409f Move is_operator from indexer to semantic highlighting 2018-01-26 10:08:56 -08:00
Fangrui Song
351e7b6c95 Add ClangStorageClass storage; to {Func,Var}DefDefinitionData and semantic highlighting.
This can be used to differentiate local/global variables, template parameters.
Also make msgpack deserialization robust.
2018-01-26 09:47:42 -08:00
Fangrui Song
3ef0abec14 WIP DidChangeWatchedFiles 2018-01-25 23:04:07 -08:00
Fangrui Song
1aec53621f Use std::vector<std::string> files_removed;
It turns out this field is not used.
2018-01-25 22:42:58 -08:00
Fangrui Song
50c6ed1dd3 Clean up SetTypeName 2018-01-25 22:25:19 -08:00
Fangrui Song
63b793619d Set names in ResolveToDeclarationType and type declarations. 2018-01-25 21:38:39 -08:00
Fangrui Song
7aea052f09 Re-pick "Handle template <class T> class A" but does not assign names to templates without body 2018-01-25 12:35:59 -08:00
Jacob Dufault
7f9f6e0c6b Revert "Handle template <class T> class A; and attribute variable uses to specialized template if exists"
This reverts commit 8da62430e575022e206b66bad58b376002422f32.
2018-01-25 11:46:03 -08:00
Jacob Dufault
d14f17212d Do not show code lens on namespaces.
There are too many references for editors to handle well.
2018-01-25 11:22:55 -08:00
Fangrui Song
684ad961ad Handle template <class T> class A; and attribute variable uses to specialized template if exists 2018-01-25 01:13:07 -08:00
Fangrui Song
403c892838 --debug disables libclang crash recovery 2018-01-25 00:01:30 -08:00
Fangrui Song
db1f707027 Add --debug to disable libclang crash recovery
We can add more debug facility later.
2018-01-24 23:32:42 -08:00
Fangrui Song
706a3d0017 Attribute enum to its underlying type's uses 2018-01-24 21:55:59 -08:00
Fangrui Song
d2c4c34bc0 Replace std::cin.get with getchar. Fix #334
To avoid C++ iostream headache:
std::cin has a bad() state
std::{cin,cout} are also tied by default, reading from cin will cause a flush of cout, which may deadlock
2018-01-24 21:32:07 -08:00
Jacob Dufault
61efdcc721 Better inline code lens location for functions 2018-01-24 19:15:18 -08:00
Jacob Dufault
3f4866208f Fix unit tests properly 2018-01-24 10:42:09 -08:00
Fangrui Song
549f4f3674 Fix --test-unit 2018-01-24 10:26:01 -08:00
Fangrui Song
c4e8db2964 Index namespaces as Type 2018-01-24 00:57:50 -08:00
Fangrui Song
b4e1e4fd3a Remove enableComments, make index.comments default to 2, and index builtin types 2018-01-23 22:56:13 -08:00
Jan Niklas Hasse
358c001d3c Don't use MSVC specific exception handler for MinGW 2018-01-23 10:01:10 -08:00
Fangrui Song
8ef2b95a45 Fix lsDocumentUri::GetPath on Windows 2018-01-23 09:02:36 -08:00
Fangrui Song
ce49a5c8d9 Stop appending to insert after a placeholder if snippetSupport is false 2018-01-22 22:21:32 -08:00
Fangrui Song
d4a4e15976 Store client capability snippetSupport into config
Rename filterAndSortCompletionResponse to completion.filterAndSort
Rename index.builtin_types to index.buitinTypes
2018-01-21 10:09:09 -08:00
Snibod
69d439ae8d Detect Windows absolute paths in LoadCompilationEntriesFromDirectory 2018-01-21 07:44:35 -08:00
Fangrui Song
e4d4c7b139 Better $cquery/vars 2018-01-20 23:42:11 -08:00
Fangrui Song
bf7ffb3c9d Strip CXType_RValueReference 2018-01-20 23:12:23 -08:00
Fangrui Song
bc28bfef45 Cleanup 2018-01-20 22:55:29 -08:00
Fangrui Song
6acea187c7 Add initialization option index.builtin_types for indexing builtin types
Also deprecate enableComments in favor of index.comments

Make $cquery/vars work on variables (by obtaining their types first).
This is currently the only way to list instances of builtin types.
2018-01-20 22:46:03 -08:00
scturtle
619ad11f9e Let GetExecutablePath() return real path on osx. (#325) 2018-01-20 20:37:24 -08:00
Fangrui Song
b5c9e22ad1 Explicitly use std::move to make clang 3.5 compile 2018-01-20 19:19:24 -08:00
Fangrui Song
a57798154d Explicitly use std::move to make clang 3.5 compile 2018-01-20 17:59:43 -08:00
Fangrui Song
8c6a87b3a3 Fix signatureHelp signature selection heuristic 2018-01-20 16:21:13 -08:00
Fangrui Song
c36eda70f9 Rename SubstringMatch to SubsequenceMatch and use it to pre-filter completion items
Fix #321
2018-01-20 13:15:43 -08:00
Fangrui Song
2e0f14bef8 Add whitelist/blacklist to $cquery/freshenIndex 2018-01-20 11:39:44 -08:00
Fangrui Song
273af8306f Move GetQueryFileIdFromPath to unnamed namespace, make them inline and optional 2018-01-20 10:44:30 -08:00
Fangrui Song
76c38787df CXCursor_OverloadCandidate is lsCompletionItemKind::Text
See clang/test/Index for some OverloadCandidate cases, they all start with Text.
2018-01-20 10:07:52 -08:00
Fangrui Song
c5bb14e86b Use INVALID_ID instead of optional and clean up 2018-01-20 09:59:12 -08:00
Ka Ho Ng
b6539a2639 Add INVALID_ID as a constant for Id class Template
This is for identifying invalid ID from normal ID.
2018-01-20 09:38:19 -08:00
khng300
427f7b79e3 Use GetQuery{Type,Func,Var}IdFromUsr for querying QueryDatabase::usr_to_{type,func_var} (#315)
* Use GetQuery{Type,Func,Var}IdFromUsr for querying usr_to_{type,func_var}

Instead of directly touching usr_to_{type,func_var}, use dedicated
methods to touch them for more abstraction around QueryDatabase.

* Use `Usr` as parameter for GetQueryVarIdFromUsr()

To maintain code consistency with other similar helpers.
2018-01-20 08:57:41 -08:00
scturtle
b8a3e089ce Response on index error. (#319) 2018-01-19 23:56:49 -08:00
Fangrui Song
57e95590e8 Remove GetIndexPosFromBufferPos range check 2018-01-19 23:23:52 -08:00
Fangrui Song
6c45663002 Support #include for textDocument/references 2018-01-19 21:11:03 -08:00
Fangrui Song
b305beb419 Address nitpicking 2018-01-19 19:05:26 -08:00
Fangrui Song
8f41aa72de Better error reporting in ResponseMessage 2018-01-19 15:33:32 -08:00
Fangrui Song
90c2a54bbc Better error reporting in ResponseMessage. Fix #317 2018-01-19 14:31:49 -08:00
Fangrui Song
8eff5e2e4f Add BaseIpcMessage::GetRequestId 2018-01-19 10:00:06 -08:00
Fangrui Song
5c43bd9a09 Remove IpcMessage 2018-01-19 01:06:02 -08:00
Fangrui Song
58aa00e6c8 Switch to {Request,Notification}Message 2018-01-19 01:01:56 -08:00
Fangrui Song
0e2b2cfb0c Switch to {Request,Notification}Message 2018-01-19 00:56:09 -08:00
Fangrui Song
148a8b3f20 Add {Request,Notification}Message 2018-01-19 00:48:08 -08:00
Fangrui Song
162f995344 Better deserialization error messages 2018-01-19 00:14:47 -08:00
Fangrui Song
556f32ec1b Throw std::invalid_argument for deserialization type error 2018-01-18 22:47:44 -08:00
Chao Shen
b0bf107f71 Add option to disable filtering and sorting completion response. 2018-01-18 19:32:09 -08:00
Fangrui Song
5bef84cabf Fix serializer MSVC C4244 2018-01-18 11:22:36 -08:00
Fangrui Song
bffe9203eb Serialize int/long/long long instead of int32_t/int64_t 2018-01-18 10:41:46 -08:00
Fangrui Song
3c23ed8047 cquery_member_hierarchy.cc: Change uint64_t to size_t (#304) 2018-01-18 10:13:25 -08:00
Fangrui Song
9b8a0b01e6 Recognize .exe in GetCompilationEntryFromCompileCommandEntry 2018-01-18 09:12:55 -08:00
Jacob Dufault
71ae137393 Add ScopedPerfTimer 2018-01-18 08:25:47 -08:00
Chao Shen
de5e8eeeba Ignore file name in comparing arguments. 2018-01-18 08:25:20 -08:00
Chao Shen
405fd56781 Crash Hotfix. 2018-01-18 08:24:10 -08:00
Jacob Dufault
ae26aa93db Fix index not updating 2018-01-18 01:33:37 -08:00
Fangrui Song
545838f7eb Support uint32_t serialization for size_t (which is either uint32_t or uint64_t on known systems) 2018-01-18 00:43:15 -08:00
Jacob Dufault
2ff823f2eb Actually fix progress reporting 2018-01-18 00:28:08 -08:00
Jacob Dufault
a233558fcd Move file content loading into a separate function 2018-01-18 00:21:39 -08:00
Jacob Dufault
39b9991c8f Fix MSVC compile 2018-01-18 00:09:13 -08:00
Jacob Dufault
e38c6103ea FileNeedsParse no longer takes FileConsumerSharedState 2018-01-18 00:05:12 -08:00
Jacob Dufault
a1ae100478 Some import pipeline refactors 2018-01-18 00:01:32 -08:00
Fangrui Song
819f5198de Add $cquery/memberHierarchy{Initial,Expand} to list member variables of a type 2018-01-17 23:51:19 -08:00
Jacob Dufault
5b092dc9da Rename variable 2018-01-17 23:24:52 -08:00
Jacob Dufault
13e56ac16f Log if a file was reparsed due to timestamp or argument change. 2018-01-17 23:19:08 -08:00
Jacob Dufault
c80697a8d8 Add tests for FileNeedsParse 2018-01-17 23:11:33 -08:00
Jacob Dufault
bb0dd636ed Fix spelling mistake 2018-01-17 22:13:44 -08:00
Jacob Dufault
a3774a371f Reindex a file when command line arguments have changed 2018-01-17 22:04:07 -08:00
Jacob Dufault
bc2521382d FileNeedsParse is a separate function 2018-01-17 21:53:03 -08:00
Jacob Dufault
4c1ee74b27 Merge ParseFile and DoParseFile 2018-01-17 21:48:09 -08:00
Jacob Dufault
8fef86c0f8 Remove ImportManager::HasActiveQuerydbImports.
ImportPipelineStatus::num_active_threads can be used instead.
2018-01-17 21:34:47 -08:00
Jacob Dufault
0fd3d69600 Return false instead of exiting 2018-01-17 21:29:40 -08:00
Jacob Dufault
6e56d97d97 Take unsaved_files by reference 2018-01-17 21:29:40 -08:00
Jacob Dufault
3058e15460 StringJoin can take a separator. 2018-01-17 21:29:40 -08:00
Chao Shen
3132572e72 Don't give up index files of headers if the .cc/.cpp file failed. 2018-01-17 21:24:32 -08:00
Fangrui Song
ca3784db03 Don't index initializer for lambda types 2018-01-17 21:02:09 -08:00
Fangrui Song
b5761b5980 Fix textDocument/definition on #include lines 2018-01-17 12:52:37 -08:00
Fangrui Song
6746883a3b Better inside-out syntax recognizer 2018-01-17 00:29:32 -08:00
Fangrui Song
dd84a85b75 Filter out inside-out syntax and array types for variable hover 2018-01-17 00:17:04 -08:00
Fangrui Song
bf9150f58a Index variable initializer 2018-01-16 20:30:45 -08:00
Fangrui Song
a52d4ac61d Show enum constants as Foo::A = 0 2018-01-16 20:01:47 -08:00
Fangrui Song
7d7e238924 enum 2018-01-16 19:09:29 -08:00
Fangrui Song
0b3ab23b25 For const qualified types, index qualified names along with initializers 2018-01-16 18:26:11 -08:00
Jacob Dufault
67834ca783 Strongly typed semantic highlighting kind 2018-01-16 17:48:22 -08:00
Fangrui Song
98fb9ee821 . 2018-01-15 17:38:28 -08:00
Fangrui Song
22aa939d3d Fix null pointer dereference but .cquery + header only still does not work 2018-01-15 17:30:26 -08:00
Fangrui Song
804c9c8b1e Copy Query*::kind to Index*::kind 2018-01-15 15:51:24 -08:00
Fangrui Song
c4935fb367 Add kind to Out_CqueryPublishSemanticHighlighting 2018-01-15 15:08:03 -08:00
Fangrui Song
c3136122ad Add optional<IndexFuncId> semantic_container to VarDefDefinitionData and cleanup 2018-01-15 10:08:03 -08:00
Fangrui Song
cf54cc9f26 Fix clang compile error. #297 2018-01-15 09:23:59 -08:00
Fangrui Song
1388e5190d Fix gcc compile error. #297 2018-01-15 08:58:08 -08:00
Jacob Dufault
2ad7ac10ab Fix include completion. 2018-01-15 02:07:01 -08:00
Fangrui Song
159b0b968d Fix ReadCharFromStdinBlocking 2018-01-15 00:00:29 -08:00
Fangrui Song
96a23bc573 Better shutdown 2018-01-14 22:53:51 -08:00
Fangrui Song
13728a0fae Add is_end to Get{Buffer,Index}PosFrom{Index,Buffer}Pos to get better column alignment 2018-01-14 17:16:24 -08:00
Fangrui Song
e04245f185 Align column of index line and buffer line 2018-01-14 15:31:26 -08:00
Fangrui Song
2c4783c904 Rename Get{Buffer,Index}LineFrom{Index,Buffer}Line in preparation for column alignment. 2018-01-14 14:25:15 -08:00
Fangrui Song
ed96b807dd Style 2018-01-14 13:43:04 -08:00
Fangrui Song
0bad74eb4f Comment Paul Heckel's diff algorithm which is used to align confident lines in index and buffer 2018-01-14 13:24:55 -08:00
Jacob Dufault
e20a6e9790 Add siphash.h, HashUSR -> HashUsr 2018-01-14 13:18:12 -08:00
Fangrui Song
54ac72115e Change line/column to 0-based and only use 1-based when (de,)serialized to JSON 2018-01-14 11:54:23 -08:00
Fangrui Song
f78d87ded3 Unify {all,raw}_buffer_lines
Also remove GetBufferLineContentFromIndexLine
2018-01-14 11:06:07 -08:00
Fangrui Song
865d567c10 Ignore stdout SIGPIPE 2018-01-14 10:05:29 -08:00
Fangrui Song
d099afb0cc Fix performance issue in Paul Heckel's diff algorithm 2018-01-14 01:49:41 -08:00
Fangrui Song
a47115208b Find best match between two bounds found by Paul Heckel's diff algorithm
The best match is computed by Eugene W. Myers' O(ND) edit distance algorithm.
2018-01-14 01:37:17 -08:00
Fangrui Song
eec5c77d6a Use Paul Heckel's diff algorithm to convert between buffer/index line number 2018-01-14 00:23:04 -08:00
Fangrui Song
b81589f6ed shutdown: id 2018-01-13 11:39:06 -08:00
Fangrui Song
942a0354d3 Use UTF-8 character iterator in GetOffsetForPosition which is good unless UTF-16 surrogate pairs are used #57 2018-01-13 10:43:37 -08:00
Fangrui Song
da2cbe4152 USR -> Usr 2018-01-13 00:10:39 -08:00
Fangrui Song
14a213d407 Change std::string USR to uint64_t pseudorandom function (SipHash 64-bit) 2018-01-12 23:47:24 -08:00
Fangrui Song
feb0249350 Fix textDocument/didClose to use TextDocumentIdentifier 2018-01-12 18:59:25 -08:00
Fangrui Song
45cb0b8cc5 Fix message_handler.cc when range is invalid 2018-01-12 16:06:44 -08:00
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
rianneogi
27dad9a277 Moved lines above 2018-01-12 09:36:17 -08:00
rianneogi
2f8d11e5ff Always do completion on manual trigger. 2018-01-12 09:36:17 -08:00
rianneogi
a324178fcb changed size()==0 to empty() 2018-01-12 09:36:17 -08:00
rianneogi
dc00d320ec Fix autocompletion results on semicolon 2018-01-12 09:36:17 -08:00
scturtle
16f6fdbef1 Fix shrinking region. (#290) 2018-01-12 08:44:11 -08:00
Daniel Martín
a7215c233c Add unit test for conversion from clang-format edits to LSP ranges 2018-01-11 17:33:51 -08:00
Daniel Martín
903d517b0a Convert to snake case 2018-01-11 17:33:51 -08:00
Jacob Dufault
cc1fbada4b Don't crash in completion if there is no working file. 2018-01-11 00:35:15 -08:00
Jacob Dufault
beba312a5f Add VerifyUnique in querydb, disabled by default.
Will be used later to validate querydb behavior.
2018-01-11 00:35:15 -08:00
Fangrui Song
4d07189b47 Comment optional<T> in serializers and remove redundant Writer ReflectMember on std::vector 2018-01-11 00:32:28 -08:00
Fangrui Song
5f1aa34a9c Comment serializer 2018-01-11 00:07:54 -08:00
Fangrui Song
6fb1798692 Use @ as escape character of cache filenames
Fixes #112
2018-01-10 23:57:42 -08:00
Fangrui Song
27ddce4cd6 Reader reflection of std::variant<Ts...> 2018-01-10 23:17:27 -08:00
Jacob Dufault
b2672c6009 Fix a new file in the session not generating an index. 2018-01-10 21:27:58 -08:00
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
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
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
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