Commit Graph

85 Commits

Author SHA1 Message Date
Fangrui Song
c2cf488114 Use clang::isIdentifierBody and clean up utils/working_files 2019-10-24 18:37:54 -07:00
Fangrui Song
6dfe5d1c4f Reduce MAKE_REFLECT_STRUCT in lsp.hh
Position -> Pos; lsPosition -> Position
2019-10-24 18:37:54 -07:00
Fangrui Song
50736827ca Remove ls prefix from many LSP interfaces
Rename SymbolKind to Kind & lsSymbolKind to SymbolKind
Use textDocumentSync: TextDocumentSyncOptions
2019-10-24 18:37:54 -07:00
Fangrui Song
ca550720e4 Simplify and better compatibility with encodings retaining the feature of low bytes being 1-byte characters 2019-10-24 18:37:54 -07:00
Fangrui Song
e3a2f1a9a8 *.h -> *.hh 2019-10-24 18:37:54 -07:00
Fangrui Song
67eb1e6b23 Refactor message handler and namespace ccls 2019-10-24 18:37:53 -07:00
Fangrui Song
6deadc5f24 Add pipeline::{Notify,Reply,ReplyError} and simplify message handling
Delete method.{cc,h}
Rename $ccls/setSkippedRanges to $ccls/publishSkippedRanges
Rename $ccls/publishSemanticHighlighting to $ccls/publishSemanticHighlight; stableId -> id
2019-10-24 18:37:35 -07:00
Fangrui Song
11890fc3b1 Revamp completion and signatureHelp, set completion.detailedLabel: true and add completion.duplicateOptional 2019-10-24 01:13:24 -07:00
Fangrui Song
4c1b8f3811 Use StoreInMemory Preamble for CodeComplete 2019-10-24 01:11:30 -07:00
Fangrui Song
27a5b24b59 Add license notice 2019-10-24 01:01:21 -07:00
Fangrui Song
39787d2851 clang-format
DEF CON 26 CTF
2019-10-24 01:01:21 -07:00
Fangrui Song
c4e22bde23 Use Clang C++ for completion and diagnostics 2019-10-24 01:01:20 -07:00
Fangrui Song
32dad17e81 Remove submodule doctest 2019-10-24 01:01:20 -07:00
Fangrui Song
34dc1e93e9 Remove WithFileContent & lex_utils.{cc,h} 2019-10-24 00:17:28 -07:00
Fangrui Song
cf0d16fa0c Replace loguru with a custom logger 2019-10-23 21:56:51 -07:00
Fangrui Song
ebaf168e16 Remove variant and clean up 2019-10-23 21:56:51 -07:00
Fangrui Song
e522ce8179 Backport recent update of completion 2019-10-23 21:56:51 -07:00
Fangrui Song
9ed024f5cc Simplify lsp.h and fix qual_name_offset when SetVarDetail is called on an existing variable 2019-10-23 21:56:51 -07:00
Fangrui Song
b872faa160 Simplify 2019-10-23 21:56:50 -07:00
Fangrui Song
22a7bcb47f . 2019-10-23 21:56:50 -07:00
Fangrui Song
e1398ff319 . 2019-10-23 21:56:50 -07:00
Fangrui Song
b839389f77 Resurrection of ccls 2019-10-23 21:56:50 -07:00
Fangrui Song
640f548e7c Use std::index_sequence and std::make_unique 2018-03-10 15:57:02 -08:00
Fangrui Song
9944617df6 Fix #385 2018-01-31 16:48:26 -08:00
Jacob Dufault
a392301be3 Format 2018-01-29 16:27:43 -08:00
Fangrui Song
57e95590e8 Remove GetIndexPosFromBufferPos range check 2018-01-19 23:23:52 -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
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
feb0249350 Fix textDocument/didClose to use TextDocumentIdentifier 2018-01-12 18:59:25 -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
scturtle
16f6fdbef1 Fix shrinking region. (#290) 2018-01-12 08:44:11 -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
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
181b405c54 Remove some debug code 2018-01-06 12:32:58 -08:00
Joel Hock
0c9f572637 freeze state of WorkingFiles to insulate them from async changes
before shipping unsaved state off to clang
2018-01-06 11:26:09 -08:00
Jacob Dufault
bbe11e32eb Prefer WriteToFile over manual std;:ofstream usage. 2018-01-05 10:02:53 -08:00
Jacob Dufault
b8e7a5bcb3 Format code 2017-12-27 07:54:46 -08:00
Fangrui Song
20c156f71d Make lsTextDocumentContentChangeEvent::{range,rangeLength} optional. fix #185 (#189)
Also make lsVersionedTextDocumentIdentifier::version optional per specification
2017-12-25 00:58:26 -08:00
Jacob Dufault
a1fd516788 Log stack trace when there is bad index/buffer lines 2017-12-12 09:50:12 -08:00