Skip to content

Releases: MaskRay/ccls

1010

09 Jan 07:35
Compare
Choose a tag to compare

New methods

  • textDocument/{formatting,onTypeFormatting,rangeFormatting} formatting/rangeFormatting can be used as replacement of the command line utility clang-format
  • $ccls/info: server status

Completion

  • With clang>=7, completion items can replace . with -> or replace -> with . The client-side support of additionalTextEdits 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

25 Oct 02:29
Compare
Choose a tag to compare

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

Experimental index.onChange: true, index.multiVersion: true and cacheDirectory: ""
https://github.com/MaskRay/ccls/wiki/Initialization-options

DEFCON 26 CTF

13 Aug 02:23
Compare
Choose a tag to compare

Real World CTF

01 Aug 04:09
Compare
Choose a tag to compare

Nothing makes me feel more heartbroken: you solved ccls-fringe and left, with the # of its stargazers unchanged.

Maker Faire

25 Oct 02:27
Compare
Choose a tag to compare
0.20180521.1

filesystem.cc: deduplicate with UniqueID

Congratulations to Tea Deliverers

14 May 02:13
Compare
Choose a tag to compare

emacs-ccls is available at https://melpa.org/#/ccls
Arch Linux users may install aur/ccls-git archlinuxcn/ccls-git

20190823

22 Apr 15:47
Compare
Choose a tag to compare

This release supports Clang 7~10.

LSP conformance

  • Support null as initializationOptions
  • Set declarationProvider in server capabilities. Some client may need this capability to enable textDocument/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 the textDocument/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 #443
  • textDocument/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 directive
  • compilationDatabaseDirectory 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