llvm-project/clang-tools-extra
Utkarsh Saxena 79d19bdf81 Add SemanticRanges to Clangd server.
Summary:
Adds Semantic Ranges capabilities to Clangd server.
Also adds tests for running it via clangd server.

This differs from the LSP spec as the spec needs this to be evaluated on multiple 'pos' and the expected output is an list of list of semantic ranges.
This is majorly for multi cursor and assuming this is a rare thing, we don't want to optimize make things complicated just for this.
This should be done in the LSP level by queueing one request per 'pos' in the input.

LSP Spec:
https://github.com/microsoft/language-server-protocol/blob/dbaeumer/3.15/specification.md#textDocument_selectionRange

Reviewers: hokein

Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D67650

llvm-svn: 372102
2019-09-17 10:28:05 +00:00
..
clang-apply-replacements Remove \brief commands from doxygen comments. 2019-08-22 11:32:57 +00:00
clang-change-namespace [clang-tools-extra] Migrate llvm::make_unique to std::make_unique 2019-08-14 23:52:23 +00:00
clang-doc [clang-doc] sys::fs::F_None -> OF_None. NFC 2019-09-09 12:42:10 +00:00
clang-include-fixer Changed FrontendActionFactory::create to return a std::unique_ptr 2019-08-29 16:38:36 +00:00
clang-move Changed FrontendActionFactory::create to return a std::unique_ptr 2019-08-29 16:38:36 +00:00
clang-query Remove \brief commands from doxygen comments. 2019-08-22 11:32:57 +00:00
clang-reorder-fields Remove \brief commands from doxygen comments. 2019-08-22 11:32:57 +00:00
clang-tidy [clang-tidy] add checks to bugprone-posix-return 2019-09-16 21:43:56 +00:00
clangd Add SemanticRanges to Clangd server. 2019-09-17 10:28:05 +00:00
docs [clang-tidy] add checks to bugprone-posix-return 2019-09-16 21:43:56 +00:00
modularize [Driver] Use shared singleton instance of DriverOptTable 2019-09-04 14:26:28 +00:00
pp-trace Changed FrontendActionFactory::create to return a std::unique_ptr 2019-08-29 16:38:36 +00:00
test [clang-tidy] add checks to bugprone-posix-return 2019-09-16 21:43:56 +00:00
tool-template Rename clangToolingRefactor to clangToolingRefactoring for consistency with its directory 2019-05-25 00:27:19 +00:00
unittests [Tooling] Migrated APIs that take ownership of objects to unique_ptr 2019-08-30 09:29:34 +00:00
.arcconfig [clang-tools-extra] Set up .arcconfig to point to new Diffusion CTE repository 2017-11-27 15:58:25 +00:00
.gitignore
CMakeLists.txt Remove clang-tidy-vs from clang-tools-extra (PR41791) 2019-08-27 18:36:08 +00:00
CODE_OWNERS.TXT Update CODE_OWNERS.txt for clang-doc 2019-06-28 17:32:26 +00:00
LICENSE.TXT Fix typos throughout the license files that somehow I and my reviewers 2019-01-21 09:52:34 +00:00
README.txt

README.txt

//===----------------------------------------------------------------------===//
// Clang Tools repository
//===----------------------------------------------------------------------===//

Welcome to the repository of extra Clang Tools.  This repository holds tools
that are developed as part of the LLVM compiler infrastructure project and the
Clang frontend.  These tools are kept in a separate "extra" repository to
allow lighter weight checkouts of the core Clang codebase.

This repository is only intended to be checked out inside of a full LLVM+Clang
tree, and in the 'tools/extra' subdirectory of the Clang checkout.

All discussion regarding Clang, Clang-based tools, and code in this repository
should be held using the standard Clang mailing lists:
  http://lists.llvm.org/mailman/listinfo/cfe-dev

Code review for this tree should take place on the standard Clang patch and
commit lists:
  http://lists.llvm.org/mailman/listinfo/cfe-commits

If you find a bug in these tools, please file it in the LLVM bug tracker:
  http://llvm.org/bugs/