Fangrui Song
7b6768fd1c
Rendezvous after receiving "exit" notification ( #159 )
2019-10-24 18:37:55 -07:00
Fangrui Song
1d7674bdfc
Support multiple -init=
...
Initialization options are applied (deserialized to the same object) in the following order:
* "initializationOptions" from client
* first -init=
* second -init=
* ...
Scalar options will be overridden but arrays will get concatenated, e.g.
ccls -log-file=/dev/stderr -index . -init='{"clang":{"extraArgs":["-DA"]}}' -init='{"clang":{"extraArgs":["-DB"]}}'
results in clang.extraArgs: ["-DA", "-DB"]
2019-10-24 18:37:55 -07:00
Fangrui Song
cc11d30dad
Refactor serializer
...
Delete virtual bases Reader & Writer
Delete unused MAKE_REFLECT_STRUCT_WRITER_AS_ARRAY
Merge serializers/{json,binary}.hh into serializer.{hh,cc}
MAKE_REFLECT_STRUCT => REFLECT_STRUCT
MAKE_REFLECT_TYPE_PROXY => REFLECT_UNDERLYING
2019-10-24 18:37:55 -07:00
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
385eb582c8
codeAction: use codeActionProvider: CodeActionOptions and respect CodeActionParams::range
2019-10-24 18:37:54 -07:00
Fangrui Song
e6300aeb57
Refactor ReplyOnce; error if InitializeParams.rootUri is null
2019-10-24 18:37:54 -07:00
Fangrui Song
3e39b86981
Work around relative --sysroot=
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
05929b8afb
Implement textDocument/documentLink
2019-10-24 18:37:35 -07:00
Fangrui Song
6de2789635
Implement textDocument/foldingRange
2019-10-24 18:37:35 -07:00
Fangrui Song
6ce79155a9
Add command line option -index=root to index without starting language server
2019-10-24 18:37:35 -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
3bf5002c98
Support workspace folders
2019-10-24 18:37:35 -07:00
Fangrui Song
093abb89b5
Use pthread if defined(__unix__) || defined(__APPLE__)
2019-10-24 18:37:35 -07:00
Fangrui Song
2a0ba86675
Revamp codeLens & codeAction
...
b.ref: references of bases
d.ref: references of derived
when b.ref > 0, don't display 0 ref or x bases
2019-10-24 18:37:35 -07:00
Fangrui Song
c437b16ef7
Support textDocument/{formatting,onTypeFormatting,rangeFormatting}
2019-10-24 18:37:35 -07:00
Fangrui Song
058ac08621
Simplify semantic highlighting; improve hover of auto &&
2019-10-24 18:37:35 -07:00
Fangrui Song
395e9d8724
Misc
...
Move using below #include to make preamble happy
textDocument/references: if no references, first line or last line => list where this file is included
malloc_trim() only if files have been indexed in last cycle
Intern: use CachedHashStringRef
2019-10-24 18:37:35 -07:00
Riatre Foo
174466516e
Allow force disabling snippet via client.snippetSupport
2019-10-24 18:37:35 -07:00
Fangrui Song
4792ad845b
Publish diagnostics of inferred files and change diagnostics.{onChange,onOpen,onSave} from bool to debounce time
2019-10-24 18:37:35 -07:00
Fangrui Song
b8259012e8
Simplify semantic highlighting
2019-10-24 18:37:35 -07:00
Fangrui Song
b08e59e8e1
Simplify pipeline and fix race
2019-10-24 18:37:35 -07:00
Fangrui Song
9616e5a2fe
Add hierarchicalDocumentSymbolSupport
2019-10-24 18:37:35 -07:00
Fangrui Song
c446090657
Add clang.pathMappings to reuse cache files with differect source paths
...
Use `>` as the separator.
2019-10-24 18:37:34 -07:00
Fangrui Song
e3a4e49ea6
Add diagnostics.onSave
2019-10-24 01:13:24 -07:00
Fangrui Song
0ae7d9d0a4
Reuse preamble (built by "comp-preload") in indexer
2019-10-24 01:13:24 -07:00
Fangrui Song
b8c0b5ad9e
Support empty cacheDirectory and fix cache load
2019-10-24 01:13:24 -07:00
Fangrui Song
d3e0a4c4fd
Add index.multiVersion{Black,White}list
...
They allow files matching specified patterns to be indexed only once
even if index.multiVersion > 0. An example is to exclude system headers
with index.multiVersionBlacklist: ["^/usr/include"]
2019-10-24 01:13:24 -07:00
Fangrui Song
99fe7c7624
Uniquify $ccls/inheritanceHierarchy and add flat to $ccls/memberHierarchy
2019-10-24 01:01:21 -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
d13586ac4d
--init
2019-10-24 01:01:20 -07:00
Fangrui Song
1830103ec6
Internalize strings & remove diagnostics_publisher.cc
2019-10-24 00:17:28 -07:00
Fangrui Song
732e002b13
Infer system include paths from CompilerInvocation
2019-10-24 00:17:28 -07:00
Fangrui Song
806a05b234
Add Config->largeFileSize; pure virtual or defaulted methods are definitions; fix $ccls/callHierarchy
2019-10-24 00:17:28 -07:00
Fangrui Song
f0559bba54
Remove Timer and PerformanceImportFile
2019-10-24 00:17:28 -07:00
Fangrui Song
a962061698
Simplify pipeline
2019-10-23 21:56:51 -07:00
Fangrui Song
cf0d16fa0c
Replace loguru with a custom logger
2019-10-23 21:56:51 -07:00
Fangrui Song
a6094ef714
Simplify; improve $ccls/inheritanceHierarchy
2019-10-23 21:56:51 -07:00
Fangrui Song
36729818c3
experimental/filesystem -> LLVM/Support/FileSystem.h; sparsepp -> DenseMap
2019-10-23 21:56:51 -07:00
Fangrui Song
c81ca26a2e
Use llvm::cl and simplify main.cc import_pipeline.cc
2019-10-23 21:56:51 -07:00
Fangrui Song
c269876593
Use clang+llvm C++ in cmake; parse args with clang driver
2019-10-23 21:56:51 -07:00
scturtle
888a870c0d
Random changes. ( #6 )
2019-10-23 21:56:51 -07:00
Fangrui Song
49e042e070
Redesign import_pipeline.cc and mitigate race (duplicate Query*::uses for initial indexing)
2019-10-23 21:56:51 -07:00
Fangrui Song
eb057c7acd
Use usr as primary key and remove id; simplify import pipeline
...
Remove on_id_map, IndexMergeIndexUpdates
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
b872faa160
Simplify
2019-10-23 21:56:50 -07:00