Commit Graph

1773 Commits

Author SHA1 Message Date
Fangrui Song
35cba6d49c Remove clang_utils.* 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
dfdabe41b2 documentSymbol: ignore TypeParameter
Reported by Riatre
2019-10-24 18:37:35 -07:00
Riatre Foo
61a61dd4a2 Include macros in completion result 2019-10-24 18:37:35 -07:00
Fangrui Song
562207bf96 Add kind to $ccls/member and iterate all QueryType::def
kind:2 => member functions
kind:3 => nested classes / namespace members
2019-10-24 18:37:35 -07:00
Fangrui Song
176039fe35 Misc 2019-10-24 18:37:35 -07:00
Fangrui Song
5a8b36c997 Fix spurious "Failed to index" errors 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
Riatre Foo
1a2e31660c Remove chunks with CK_Information kind from insertText. (#78)
Without this ccls inserts "size() const" in the following scenario:

std::string text;
text.si| <-- Trigger completion here and pick "size"
2019-10-24 18:37:35 -07:00
Fangrui Song
056d6d8093 Delete file_consumer.* 2019-10-24 18:37:35 -07:00
Fangrui Song
b8259012e8 Simplify semantic highlighting 2019-10-24 18:37:35 -07:00
Fangrui Song
96a1d86074 Clean up FileConsumer and improve pipeline 2019-10-24 18:37:35 -07:00
Fangrui Song
e4ab3d44e9 Improve VarDef::type for textDocument/typeDefinition 2019-10-24 18:37:35 -07:00
Fangrui Song
24a8b53813 intern args 2019-10-24 18:37:35 -07:00
Fangrui Song
b4aa666860 intern strings in dependencies and IndexInclude::resolved_path 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
e9e5c7699d Remove [spell.start, spell.end) -> [spell.start, extent.end) hack 2019-10-24 18:37:34 -07:00
Fangrui Song
fd20978b15 Skip informative scope foo:: 2019-10-24 18:37:34 -07:00
Fangrui Song
5b6a72dac2 Rename hierarchies to $ccls/{call,inheritance,member}
bool flat = false; -> bool hierarchy = false; (set it to true to enable hierarchical view)

Delete $ccls/callers (which is what $ccls/call does now)
2019-10-24 18:37:34 -07:00
Fangrui Song
25fb7defc3 Better diagnostics 2019-10-24 18:37:34 -07:00
Fangrui Song
da019ea1cd textDocument/documentSymbol 2019-10-24 18:37:34 -07:00
Fangrui Song
57d7d76ba0 Make $ccls/inheritanceHierarchy and textDocument/typeDefinition find declarations if definitions do not exist; spelling ranges of operator= 2019-10-24 18:37:34 -07:00
Fangrui Song
6aece8e063 pipeline improvement for files not having a project entry (e.g. .h) 2019-10-24 18:37:34 -07:00
Fangrui Song
5caf69056c Make $ccls/reload reset DB and reload cached index files
$ccls/reload is renamed from $ccls/freshenIndex

This is useful when DB (merged index) diverges from backing IndexFile.

Also fix a semantic highlighting bug.
2019-10-24 18:37:34 -07:00
Riatre Foo
3c5ab61762 Normalize paths on Windows
1. Normalize paths in LSP document URIs and project root to forward
slash and uppercase drive letters.
2. Normalize paths in compile_commands.json to forward slash and
uppercase drive letters.
3. Normalize paths from directory listing to forward slash. (Drive
letter should be same as input dir path, which is already uppercase
since path of project root dir is normalized)
4. Add llvm::sys::path::convert_to_slash after certain llvm::sys::path
and llvm::fs calls.
2019-10-24 18:37:30 -07:00
Fangrui Song
709a2654a8 diagnostics; use custom DenseMapInfo 2019-10-24 01:13:24 -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
7149851ea2 Misc 2019-10-24 01:13:24 -07:00
Fangrui Song
bfe5693983 Make CXXConversion references wider; use getTypedefNameForAnonDecl; improve CXXDestructor CXXConversion spell 2019-10-24 01:13:24 -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
c067f6edb2 Implement index.onChange: true; enable spell checking for diagnostics 2019-10-24 01:13:24 -07:00
Fangrui Song
bd944cced5 Add DeclUse as element type of declarations 2019-10-24 01:13:24 -07:00
Fangrui Song
142ff883e5 Remove $ccls/base and clean up; deduplicate codeLens 2019-10-24 01:13:24 -07:00
Fangrui Song
e28cd1733f Improve hover and documentSymbol 2019-10-24 01:13:24 -07:00
Fangrui Song
d2344265f5 Add clang.excludeArgs and rename diagnostics.onType to onChange 2019-10-24 01:13:24 -07:00
Fangrui Song
597338abbd Add $ccls/navigate and improve textDocument/definition 2019-10-24 01:13:24 -07:00
Fangrui Song
d22e6402d9 Add all: boolean to textDocument/documentSymbol 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
4f67bd03d5 index.multiVersion: int
Before, QueryFile::Def::{all_symbols,outline} were built by indexers.
Now, {symbol,outline}2refcnt are used instead, built by main thread.
*_removed are augmented with Query*:Def to allow removal of old {symbol,outline}2refcnt entries.
2019-10-24 01:13:24 -07:00
Fangrui Song
a8bb605d4a Fix unaligned load/store; add index.multiVersion prototype, rename index.onParse to index.OnOpen
Don't call getFieldOffset() on RD->isInvalidDecl()
2019-10-24 01:13:24 -07:00
Fangrui Song
1ab0d492b7 README 2019-10-24 01:13:24 -07:00
Fangrui Song
6aee7b9648 Remove ASTUnit from indexer and clean up 2019-10-24 01:13:22 -07:00
scturtle
df1717538f Filter deps with index.blacklist. (#64) 2019-10-24 01:12:58 -07:00
Fangrui Song
5c0a146ee4 detailed_name: "{\n}" -> "{}" ; completion 2019-10-24 01:12:58 -07:00
firstlove
ea28e50d0f fix clang_tu.h && clang_complete.cc (#61) 2019-10-24 01:12:58 -07:00