Commit Graph

1334 Commits

Author SHA1 Message Date
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
dab379ad46 Fix tests 2018-01-13 00:22:47 -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
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