diff options
author | Marc-Andre Laperle <marc-andre.laperle@ericsson.com> | 2017-05-04 19:57:53 +0000 |
---|---|---|
committer | Marc-Andre Laperle <marc-andre.laperle@ericsson.com> | 2017-05-04 19:57:53 +0000 |
commit | 25624f4c419cba9d61af85527c9662a4933119e2 (patch) | |
tree | 690f59dbabd079193827f774b6b62f8a51f552bb | |
parent | 9ed65da6ad7346b72dc66d944f97e2fb19c051a7 (diff) | |
download | bcm5719-llvm-25624f4c419cba9d61af85527c9662a4933119e2.tar.gz bcm5719-llvm-25624f4c419cba9d61af85527c9662a4933119e2.zip |
[clangd] Add documentation page
Summary:
Add a simple documentation page for Clangd.
This will be useful for interested users and contributors to get basic information about how
to get started and the progress of Clangd.
Reviewers: krasimir, bkramer
Reviewed By: krasimir
Subscribers: Prazek, jbcoe, JDevlieghere, mgehre, JonasToth, kromanenkov, xazax.hun, cfe-commits
Tags: #clang-tools-extra
Differential Revision: https://reviews.llvm.org/D31887
llvm-svn: 302191
-rw-r--r-- | clang-tools-extra/docs/clangd.rst | 106 | ||||
-rw-r--r-- | clang-tools-extra/docs/index.rst | 1 |
2 files changed, 107 insertions, 0 deletions
diff --git a/clang-tools-extra/docs/clangd.rst b/clang-tools-extra/docs/clangd.rst new file mode 100644 index 00000000000..54e68fba127 --- /dev/null +++ b/clang-tools-extra/docs/clangd.rst @@ -0,0 +1,106 @@ +============ +Clangd +============ + +.. contents:: + +.. toctree:: + :maxdepth: 1 + +:program:`Clangd` is an implementation of the `Language Server Protocol +<https://github.com/Microsoft/language-server-protocol>`_ leveraging Clang. +Clangd's goal is to provide language "smartness" features like code completion, +find references, etc. for clients such as C/C++ Editors. + +Using Clangd +================== + +:program:`Clangd` is not meant to be used by C/C++ developers directly but +rather from a client implementing the protocol. A client would be typically +implemented in an IDE or an editor. + +At the moment, `Visual Studio Code <https://code.visualstudio.com/>`_ is mainly +used in order to test :program:`Clangd` but more clients are likely to make +use of :program:`Clangd` in the future as it matures and becomes a production +quality tool. If you are interested in trying :program:`Clangd` in combination +with Visual Studio Code, you can start by `building Clangd`_, then open Visual +Studio Code in the clangd-vscode folder and launch the extension. + +Building Clangd +================== + +You can follow the instructions for `building Clang +<https://clang.llvm.org/get_started.html>`_ but "extra Clang tools" is **not** +optional. + +Current Status +================== + +Many features could be implemented in :program:`Clangd`. +Here is a list of features that could be useful with the status of whether or +not they are already implemented in :program:`Clangd` and specified in the +Language Server Protocol. Note that for some of the features, it is not clear +whether or not they should be part of the Language Server Protocol, so those +features might be eventually developed outside :program:`Clangd`. + ++-------------------------------------+------------+----------+ +| C/C++ Editor feature | LSP | Clangd | ++=====================================+============+==========+ +| Formatting | Yes | Yes | ++-------------------------------------+------------+----------+ +| Completion | Yes | Yes | ++-------------------------------------+------------+----------+ +| Diagnostics | Yes | Yes | ++-------------------------------------+------------+----------+ +| Fix-its | Yes | Yes | ++-------------------------------------+------------+----------+ +| Go to Definition | Yes | No | ++-------------------------------------+------------+----------+ +| Source hover | Yes | No | ++-------------------------------------+------------+----------+ +| Signature Help | Yes | No | ++-------------------------------------+------------+----------+ +| Find References | Yes | No | ++-------------------------------------+------------+----------+ +| Document Highlights | Yes | No | ++-------------------------------------+------------+----------+ +| Rename | Yes | No | ++-------------------------------------+------------+----------+ +| Code Lens | Yes | No | ++-------------------------------------+------------+----------+ +| Syntax and Semantic Coloring | No | No | ++-------------------------------------+------------+----------+ +| Code folding | No | No | ++-------------------------------------+------------+----------+ +| Call hierarchy | No | No | ++-------------------------------------+------------+----------+ +| Type hierarchy | No | No | ++-------------------------------------+------------+----------+ +| Organize Includes | No | No | ++-------------------------------------+------------+----------+ +| Quick Assist | No | No | ++-------------------------------------+------------+----------+ +| Extract Local Variable | No | No | ++-------------------------------------+------------+----------+ +| Extract Function/Method | No | No | ++-------------------------------------+------------+----------+ +| Hide Method | No | No | ++-------------------------------------+------------+----------+ +| Implement Method | No | No | ++-------------------------------------+------------+----------+ +| Gen. Getters/Setters | No | No | ++-------------------------------------+------------+----------+ + +Getting Involved +================== + +A good place for interested contributors is the `Clang developer mailing list +<http://lists.llvm.org/mailman/listinfo/cfe-dev>`_. +If you're also interested in contributing patches to :program:`Clangd`, take a +look at the `LLVM Developer Policy +<http://llvm.org/docs/DeveloperPolicy.html>`_ and `Code Reviews +<http://llvm.org/docs/Phabricator.html>`_ page. Contributions of new features +to the `Language Server Protocol +<https://github.com/Microsoft/language-server-protocol>`_ itself would also be +very useful, so that :program:`Clangd` can eventually implement them in a +conforming way.
\ No newline at end of file diff --git a/clang-tools-extra/docs/index.rst b/clang-tools-extra/docs/index.rst index 71e2d01874b..1dc2f93170a 100644 --- a/clang-tools-extra/docs/index.rst +++ b/clang-tools-extra/docs/index.rst @@ -25,6 +25,7 @@ Contents modularize pp-trace clang-rename + clangd Doxygen Documentation |