Author: malaperle Date: Thu May 4 14:57:53 2017 New Revision: 302191 URL: http://llvm.org/viewvc/llvm-project?rev=302191&view=rev Log: [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 Added: clang-tools-extra/trunk/docs/clangd.rst Modified: clang-tools-extra/trunk/docs/index.rst Added: clang-tools-extra/trunk/docs/clangd.rst URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/docs/clangd.rst?rev=302191&view=auto ============================================================================== --- clang-tools-extra/trunk/docs/clangd.rst (added) +++ clang-tools-extra/trunk/docs/clangd.rst Thu May 4 14:57:53 2017 @@ -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 Modified: clang-tools-extra/trunk/docs/index.rst URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/docs/index.rst?rev=302191&r1=302190&r2=302191&view=diff ============================================================================== --- clang-tools-extra/trunk/docs/index.rst (original) +++ clang-tools-extra/trunk/docs/index.rst Thu May 4 14:57:53 2017 @@ -25,6 +25,7 @@ Contents modularize pp-trace clang-rename + clangd Doxygen Documentation _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits