tcwz
4c9ed62469
When clang is in CL mode, it ignores the working-directory option, so it
...
must be added
2022-02-11 18:20:24 +08:00
Fangrui Song
3ce756e39a
Adaopt llvmorg-14-init-3863-g601102d282d5: refactor clang::isIdentifierBody
2021-09-23 13:36:01 -07:00
zhangjunphy
0ada56ef3b
Fix short_name_size when getNameAsString does not return a prefix ( #784 )
2021-03-30 23:33:43 -07:00
Fangrui Song
6244594d71
indexer: log the number of errors and the first diagnostic
...
Example log:
```
15:47:45 indexer1 pipeline.cc:379 I parse /tmp/d/a.c error:1 use of undeclared identifier 'arg'
clang /tmp/d/a.c --gcc-toolchain=/usr -working-directory=/tmp/d/
```
2020-06-28 17:16:35 -07:00
Ludovic Jozeau
c5acf62060
indexer: set the kind of static data members to Field instead of Var
...
Otherwise it is impossible to distinguish a static variable from a
static member variable.
Close #593
2020-04-22 09:08:20 -07:00
xVan Turing
06a04d5102
indexer: add name for anonymous Enum
2019-11-16 05:42:51 +08:00
Fangrui Song
0a1e08a8ca
indexer: fix getAdjustedDecl for explicit instantiations; fix incorrect short_offset_size=1 when name is empty
...
Fix #516
2019-11-09 13:27:09 -08:00
Fangrui Song
5935db10fd
Fix some clang-tidy warnings
...
Incorporated some fixes by Daniel Chabrowski (#467 )
2019-10-10 19:24:44 -07:00
Fangrui Song
b3d694b8bd
indexer: disable warnings and skip processed function bodies
...
Adapt clang rC370337: removal of createIndexingAction and WrappingIndexAction
2019-08-21 18:59:41 -07:00
Fangrui Song
65f86d0498
indexer: llvm::sys::fs::UniqueID -> clang::FileID
...
Fix a minor issue that an empty included file is not recorded.
Note, we need to skip invalid uid2lid_and_path because
otherwise lid2path may contain invalid entries with lid: 0,
which will cause the file entry with file_id 0 to have an empty path.
2019-08-21 23:46:02 -07:00
Fangrui Song
0f0e679edb
indexer: delete redundant consumeFile
2020-04-21 21:43:56 -07:00
Fangrui Song
6717986541
Adapt llvmorg-11-init-1314-g777180a32b6: StringRef's conversion to std::string is now explicit
...
For compatibility with LLVM 7, the call sites have to be a bit verbose.
2020-01-29 00:29:06 -08:00
Fangrui Song
61a1071634
💥 Rename FunctionName -> functionName, VarName -> var_name
2019-08-22 10:12:03 -07:00
Fangrui Song
17dc4a6ecc
Construct SourceManager with UserFilesAreVolatile
...
Fix #235 . Close #453
In clang, it may be worth generalizing UserFilesAreVolatile (introduced in rC160074) to FilesAreVolatile.
2019-07-30 21:18:34 -07:00
Fangrui Song
3a364c868b
Set RetainRemappedFileBuffers to true
...
Reported by David Welch in #350 .
This fixes double-free of llvm::MemoryBuffer when parsing fails.
2019-03-29 07:48:58 -07:00
Fangrui Song
4808ccb32c
Add missing headers to adapt llvmorg-11-init-5501-g213aea4c583 and llvmorg-11-init-5528-gd7c5037e6b9
2020-03-12 08:35:59 -07:00
Fangrui Song
b0d42ad8f2
Adapt llvmorg-10-init-12036-g3b9715cb2193: handleDeclOccurence -> handleDeclOccurrence
2019-12-16 22:11:31 -08:00
Fangrui Song
a858567686
Adapt rL364464: clang::FrontendAction::Execute returns llvm::Error instead of bool
2019-06-27 01:10:04 -07:00
Fangrui Song
f1cbf8d550
Adapt clang rC357037: removal of setVirtualFileSystem
2019-03-26 18:42:48 -07:00
Fangrui Song
17eaca8a02
Add initialization option index.initialNoLinkage: false
...
By default, the background indexer doesn't handle names of no linkage.
They are indexed when their files are opened. This saves memory and
makes cache files smaller.
2019-03-24 23:42:00 -07:00
Fangrui Song
e576df4f6f
Add initialization option index.name.suppressUnwrittenScope (default: false)
2019-03-10 08:55:01 -07:00
Fangrui Song
9ca095f49e
Misc
2019-03-02 18:18:02 -08:00
Fangrui Song
dcaa5a07af
Change Pos::line from int16_t to uint16_t
...
This allows representing line 0 ~ 65535.
2019-02-23 19:17:26 +08:00
Fangrui Song
9dea14e783
Make hover more detailed (e.g. include inheritance info)
2019-02-22 23:49:37 +08:00
Fangrui Song
f35883f9b4
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-02-22 10:59:05 +08:00
Fangrui Song
3bf921b3bd
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-02-10 18:17:07 +08:00
Fangrui Song
03f91f0681
Compute CompletionItemKind from Declaration instead of CursorKind
2019-02-02 14:14:23 +08:00
Fangrui Song
c6d56519e3
Drop support for clang 6
2019-01-21 10:44:44 +08:00
Fangrui Song
dd74d03cfc
Adjust FrontendOpts.Inputs[0] for inferred files
2019-11-09 20:09:13 -08:00
Fangrui Song
52e0289245
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-11-09 20:09:13 -08:00
Fangrui Song
a47fb42e30
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-11-09 20:09:13 -08:00
Fangrui Song
9ad2450009
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-11-09 20:09:13 -08:00
Fangrui Song
d6dd932e6d
Refactor Matcher to use pimpl and merge match.hh into utils.hh
2019-11-09 20:09:13 -08:00
Fangrui Song
8f442c6c35
indexer: handle DecltypeType and empty main file; diag: -Wno-unused-function for headers
...
Don't replace name with qualified name in Cls::*name
2019-11-09 20:09:13 -08:00
Fangrui Song
46d3f075dc
Use clang::isIdentifierBody and clean up utils/working_files
2019-11-09 20:09:13 -08:00
Fangrui Song
985f5ec4d3
Use SM.isWrittenInMainFile; suppress -Werror in preamble
...
SM.isWrittenInMainFile is to work around preamble bug: spurious err_pp_unterminated_conditional with circular #include
2019-11-09 20:09:13 -08:00
Fangrui Song
0d4f4b68c0
Remove ls
prefix from many LSP interfaces
...
Rename SymbolKind to Kind & lsSymbolKind to SymbolKind
Use textDocumentSync: TextDocumentSyncOptions
2019-11-09 20:09:13 -08:00
Fangrui Song
c598f3ebbd
Fix EnumConstantDecl's kind & EnumDecl's vars
2019-11-09 20:09:13 -08:00
Fangrui Song
bbce333042
*.h -> *.hh
2019-11-09 20:09:13 -08:00
Fangrui Song
3cd0ee2fc7
Refactor message handler and namespace ccls
2019-11-09 20:09:11 -08:00
Fangrui Song
a56b6fb228
Improve DeducedType
2019-11-09 20:03:28 -08:00
Fangrui Song
18b47d3f5c
Improve extent of definition/declaration; uniquify typeDefinition
2019-11-09 20:03:28 -08:00
Fangrui Song
82deedf8c3
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-11-09 20:03:28 -08:00
Fangrui Song
7b19c87485
Namespace: improve indexer and don't trace bases in $ccls/member
2019-11-09 20:03:28 -08:00
Fangrui Song
2864f2c647
Use DeclRef spell to represent Use spell + Use extent
2019-11-09 20:03:28 -08:00
Fangrui Song
08b09bc1da
Redesign SymbolRef, Ref, Use
...
Remove lsLocationEx
2019-11-09 20:03:28 -08:00
Fangrui Song
8b2565fcd0
For $ccls/member, use unadjusted RecordDecl (if there is forward declaration) and handle ClassTemplateSpecialization
2019-11-09 20:03:28 -08:00
firstlove
9a79b2ece1
regard conversion as method instead of constructor
2019-11-09 20:03:28 -08:00
Fangrui Song
083a629f90
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
2019-11-09 20:03:28 -08:00
Fangrui Song
cff6c4714c
Simplify semantic highlighting; improve hover of auto &&
2019-11-09 19:58:32 -08:00