Fangrui Song
a0e76254de
Add initialization option index.name.suppressUnwrittenScope (default: false)
2019-05-13 00:26:55 -07:00
Fangrui Song
ba68f49861
Misc
2019-05-13 00:26:55 -07:00
Fangrui Song
c4ab72500b
Change Pos::line from int16_t to uint16_t
...
This allows representing line 0 ~ 65535.
2019-05-13 00:26:55 -07:00
Fangrui Song
43774f2c11
Make hover more detailed (e.g. include inheritance info)
2019-05-13 00:26:55 -07:00
Fangrui Song
048f1dc7a5
indexer: index TemplateTypeParmDecl and ParmVarDecl in declarations for clang >= 9
...
Index ParmVarDecl in declarations if index.parametersInDeclarations is true
And support some unhandled Decl::Kind
2019-05-13 00:26:55 -07:00
Fangrui Song
3f6ece0a44
Add initialization option capabilities.*
and index.maxInitializerLines
...
indexer.cc: use index.maxInitializerLines instead of kInitializerMaxLines
messages/initialize.cc: some ServerCapabilities are toggable:
documentOnTypeFormattingProvider.firstTriggerCharacter
foldingRangeProvider
workspace.workspaceFolders.supported
2019-03-17 18:50:25 -07:00
Fangrui Song
8724985388
Compute CompletionItemKind from Declaration instead of CursorKind
2019-03-17 18:50:25 -07:00
Fangrui Song
0dbf6c89f1
Drop support for clang 6
2019-03-17 18:50:25 -07:00
Fangrui Song
e8cacf1efa
Adjust FrontendOpts.Inputs[0] for inferred files
2019-03-17 18:50:25 -07:00
Fangrui Song
cbd36aeedb
Handle file deletion and register workspace/didChangeWatchedFiles
...
* In the "initialized" callback, send client/registerCapability with DidChangeWatchedFilesRegistrationOptions
* In workspace/didChangeWatchedFiles callback, call pipeline::Index
* In pipeline::Index, add a `deleted` status
2019-03-17 18:50:25 -07:00
Fangrui Song
04e80544b9
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-01-12 00:40:49 +08:00
Fangrui Song
ab48663ca0
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-01-12 00:40:49 +08:00
Fangrui Song
5a723b489a
Refactor Matcher to use pimpl and merge match.hh into utils.hh
2019-01-12 00:40:49 +08:00
Fangrui Song
f6fca76088
indexer: handle DecltypeType and empty main file; diag: -Wno-unused-function for headers
...
Don't replace name with qualified name in Cls::*name
2019-01-12 00:40:49 +08:00
Fangrui Song
8c73bbc3c7
Use clang::isIdentifierBody and clean up utils/working_files
2019-01-09 15:19:23 +08:00
Fangrui Song
63a510ac21
Use SM.isWrittenInMainFile; suppress -Werror in preamble
...
SM.isWrittenInMainFile is to work around preamble bug: spurious err_pp_unterminated_conditional with circular #include
2019-01-09 15:19:23 +08:00
Fangrui Song
11ba6b64ff
Remove ls
prefix from many LSP interfaces
...
Rename SymbolKind to Kind & lsSymbolKind to SymbolKind
Use textDocumentSync: TextDocumentSyncOptions
2019-01-09 15:19:23 +08:00
Fangrui Song
334557e9fe
Fix EnumConstantDecl's kind & EnumDecl's vars
2019-01-09 15:19:23 +08:00
Fangrui Song
df20969788
*.h -> *.hh
2019-01-09 15:19:23 +08:00
Fangrui Song
ea1271a84e
Refactor message handler and namespace ccls
2019-01-09 15:19:23 +08:00
Fangrui Song
ce1c7ec76a
Improve DeducedType
2019-01-09 15:19:23 +08:00
Fangrui Song
119a05597d
Improve extent of definition/declaration; uniquify typeDefinition
2019-01-09 15:19:23 +08:00
Fangrui Song
51081c3cd2
Add namespace alias clang::vfs = llvm::vfs to adapt D52783
...
vfs::x should be written as llvm::vfs::x to work around a [namepace.udir] bug before GCC 8 when namespace alias is used
2019-01-09 15:17:19 +08:00
Fangrui Song
c5ae521d36
Namespace: improve indexer and don't trace bases in $ccls/member
2019-01-09 15:17:19 +08:00
Fangrui Song
8c2170172d
Use DeclRef spell to represent Use spell + Use extent
2018-10-04 17:16:39 -07:00
Fangrui Song
6ec032c2a0
Redesign SymbolRef, Ref, Use
...
Remove lsLocationEx
2018-10-04 17:16:34 -07:00
Fangrui Song
c7ee3d85f3
For $ccls/member, use unadjusted RecordDecl (if there is forward declaration) and handle ClassTemplateSpecialization
2018-10-03 00:42:02 -07:00
firstlove
8d49b44154
regard conversion as method instead of constructor
2018-10-01 20:49:49 -07:00
Fangrui Song
79373ba486
Rename some initialization options
...
* Delete index.enabled which can be achieved with index.blacklist: ['.']
* Move completion.include* to completion.include.*
* move largeFileSize to highlight.largeFileSize
2018-09-30 11:46:34 -07:00
Fangrui Song
41fcc0272c
Simplify semantic highlighting; improve hover of auto &&
2018-09-25 11:57:42 -07:00
Fangrui Song
ce68028caf
Add GetAdjustedDecl to adjust Decl's that are missed by clangIndex
2018-09-24 00:38:54 -07:00
Fangrui Song
8f40c0c244
Remove clang_utils.*
2018-09-23 20:34:40 -07:00
Fangrui Song
854225bd30
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
2018-09-23 20:34:38 -07:00
Fangrui Song
7eb58bb5e1
Misc
2018-09-23 10:40:41 -07:00
Fangrui Song
6ea399559d
Fix spurious "Failed to index" errors
2018-09-23 10:40:41 -07:00
Fangrui Song
4d76108d6b
Delete file_consumer.*
2018-09-20 19:48:20 -07:00
Fangrui Song
f9bd84a975
Clean up FileConsumer and improve pipeline
2018-09-20 09:20:07 -07:00
Fangrui Song
f515b4b466
Improve VarDef::type for textDocument/typeDefinition
2018-09-20 01:08:33 -07:00
Fangrui Song
08645d64c1
intern args
2018-09-20 01:08:33 -07:00
Fangrui Song
525b6da1ac
intern strings in dependencies and IndexInclude::resolved_path
2018-09-20 01:08:33 -07:00
Fangrui Song
763106c3d4
Simplify pipeline and fix race
2018-09-20 01:08:31 -07:00
Fangrui Song
14b73f0d6f
Add hierarchicalDocumentSymbolSupport
2018-09-16 20:53:52 -07:00
Fangrui Song
6bca153ee3
Make $ccls/inheritanceHierarchy and textDocument/typeDefinition find declarations if definitions do not exist; spelling ranges of operator=
2018-09-13 14:55:24 -07:00
Riatre Foo
a607dcec24
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.
2018-09-12 17:01:52 -07:00
Fangrui Song
a7c1633b51
Misc
2018-09-11 20:22:49 -07:00
Fangrui Song
c202dd3775
Make CXXConversion references wider; use getTypedefNameForAnonDecl; improve CXXDestructor CXXConversion spell
2018-09-11 16:21:46 -07:00
Fangrui Song
da982a6506
Reuse preamble (built by "comp-preload") in indexer
2018-09-10 00:45:56 -07:00
Fangrui Song
58191fd335
Support empty cacheDirectory and fix cache load
2018-09-08 15:46:52 -07:00
Fangrui Song
82d31a2012
Implement index.onChange: true; enable spell checking for diagnostics
2018-09-08 14:27:49 -07:00
Fangrui Song
e20a8e7a1b
Add DeclUse as element type of declarations
2018-09-08 14:27:44 -07:00