Releases: MaskRay/ccls
1024
Requests
textDocument/documentLink
#include
are represented as hyperlinks in vscodetextDocument/foldingRange
$ccls/setSkippedRanges
->$ccls/publishSkippedRanges
$ccls/publishSemanticHighlighting
->$ccls/publishSemanticHighlight
- Uniquify
textDocument/typeDefinition
result
Message handling has been refactored.
Others
- Support
*.cu
CUDA files -DSYSTEM_CLANG=off
(default) downloads Clang 7.0.0 prebuilt archives from <releases.llvm.org> now (6.0.1 before)- Add ExtentRef; merge symbol2refcnt and outline2refcnt
- New command line option.
ccls -index ~/llvm
=> index~/llvm
without starting the language server
1010
New methods
textDocument/{formatting,onTypeFormatting,rangeFormatting}
formatting/rangeFormatting can be used as replacement of the command line utilityclang-format
$ccls/info
: server status
Completion
- With clang>=7, completion items can replace
.
with->
or replace->
with.
The client-side support ofadditionalTextEdits
is required. - preamble stat cache
- Some undesired candidates are blacklisted (e.g. destructors, injected class names)
Others
- Fixed hierarchical document symbol
- Redesigned index:
SymbolRef, Ref, Use, DeclRef
. Decreased memory usage. - Fixed some issues applying
$ccls/member
on namespaces. anonymous namespaces/extern "C" are skipped, etc - Experimental workspace folders
- Increased stack size
- Revamped codeLens & codeAction
0x100
Lots of improvement
Hierarchies have been renamed to:
$ccls/call
$ccls/member
$ccls/inheritance
and are available for flattened view (read custom cross references sections on wiki/LanguageClient-neovim and wiki/Emacs)
Completion and diagnostics have been refactored from libclang to Clang C++.
New $ccls/navigate for semantic navigation
- https://www.reddit.com/r/emacs/comments/9dg13i/cclsnavigate_semantic_navigation_for_cc/
- https://www.reddit.com/r/vim/comments/9dg60x/cclsnavigate_semantic_navigation_for_cc/
Experimental index.onChange: true
, index.multiVersion: true
and cacheDirectory: ""
https://github.com/MaskRay/ccls/wiki/Initialization-options
DEFCON 26 CTF
Real World CTF
Nothing makes me feel more heartbroken: you solved ccls-fringe and left, with the # of its stargazers unchanged.
Maker Faire
0.20180521.1 filesystem.cc: deduplicate with UniqueID
Congratulations to Tea Deliverers
emacs-ccls is available at https://melpa.org/#/ccls
Arch Linux users may install aur/ccls-git archlinuxcn/ccls-git
20190823
This release supports Clang 7~10.
LSP conformance
- Support
null
asinitializationOptions
- Set
declarationProvider
in server capabilities. Some client may need this capability to enabletextDocument/declaration
- Support non-numeric request ID #437
Misc
- Fix a double-free of llvm::MemoryBuffer when parsing fails #350
- Keep comments from system headers and improve
textDocument/hover
#373 - Fix the conformance issue that
VersionedTextDocumentIdentifier.version
was omitted. If one renames something spanning more than one document and some documents are not opened, the client may not apply thetextDocument/rename
change. #387 - Some macro diagnostics were lost because Note::concerned was not propagated to Diag::concerned #391
index.onChange: true
support non-existent files #443textDocument/definition
: don't jump to the type definition- Disable warnings and skip processed function bodies. This should provide massive performance improvement when indexing a project. I measured 2x improvement indexing ccls with 2 threads, more than 2x indexing llvm/clang/extra/lld/compiler-rt with 6 threads.
Project
- Fix some issues with hierarchical
.ccls
in #384 .ccls
: support CUDA files with the%cu
directivecompilationDatabaseDirectory
can be absolute. #466- Improve heuristics for files not described by
compile_commands.json
"... but not so well for projects with separate include and source directories, e.g. "inc/long/path/to/my_file.h" and "src/long/path/to/my_file.cc" #441
Windows
- A Visual Studio 2017 STL bug prevented clang-cl from compiling ccls/src/utils.hh #371 #414
- If the file is re-saved before the previous indexing has complete, various ambiguous errors might occur. Fixing this by making opened files volatile #235 #453
Extension requests
$ccls/fileInfo
: can optionally dump dependencies, includes and skipped_ranges
Patches
- 0.20190823.3 incorrect use of
clang::FileEntry::getName
on Arch Linux #487