Fangrui Song
d49119b364
Refactor WorkingFiles and CompletionManager
...
* WorkingFiles::files : vector -> unordered_map
* Add timestamp to WorkingFile
* Rename "comp-preload" thread to "preamble"
* Rename CompletionManager to SemaManager as it is used by "diag" "comp" "preamble"
* Rename clang_complete.* to sema_manager.*
* Merge SemaManager::{preloads,sessions}
* Add initialization option session.maxNum
* In DiagnosticMain, if an included file was modified, cancel the DiagTask and create a PreambleTask instead. The task sets `from_diag` so as to trigger immediate DiagTask after the preamble is built.
2019-10-24 18:37:55 -07:00
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