ada-lsp
所属分类:collect
开发工具:Ada
文件大小:0KB
下载次数:0
上传日期:2017-12-21 16:37:50
上 传 者:
sh-1993
说明: Ada的语言服务器协议,
(Language Server Protocol for Ada,)
文件列表:
.travis.yml (213, 2017-12-21)
.vscode/ (0, 2017-12-21)
.vscode/settings.json (86, 2017-12-21)
LICENSE (1069, 2017-12-21)
Makefile (831, 2017-12-21)
doc/ (0, 2017-12-21)
doc/protocol.md (79762, 2017-12-21)
gnat/ (0, 2017-12-21)
gnat/ada_lsp.gpr (588, 2017-12-21)
gnat/generator.gpr (738, 2017-12-21)
gnat/lsp_protocol.gpr (577, 2017-12-21)
integration/ (0, 2017-12-21)
integration/vscode/ (0, 2017-12-21)
integration/vscode/ada/ (0, 2017-12-21)
integration/vscode/ada/.eslintrc.json (499, 2017-12-21)
integration/vscode/ada/.vscode/ (0, 2017-12-21)
integration/vscode/ada/.vscode/extensions.json (169, 2017-12-21)
integration/vscode/ada/.vscode/launch.json (378, 2017-12-21)
integration/vscode/ada/.vscodeignore (66, 2017-12-21)
integration/vscode/ada/ada-snippets.json (2262, 2017-12-21)
integration/vscode/ada/extension.js (1594, 2017-12-21)
integration/vscode/ada/jsconfig.json (181, 2017-12-21)
integration/vscode/ada/language-configuration.json (622, 2017-12-21)
integration/vscode/ada/package.json (2714, 2017-12-21)
integration/vscode/ada/server.sh (105, 2017-12-21)
integration/vscode/ada/syntaxes/ (0, 2017-12-21)
integration/vscode/ada/syntaxes/ada.tmLanguage (2745, 2017-12-21)
source/ (0, 2017-12-21)
source/generated/ (0, 2017-12-21)
source/generated/.keepdir (0, 2017-12-21)
source/protocol/ (0, 2017-12-21)
source/protocol/lsp-generic_optional.adb (1104, 2017-12-21)
source/protocol/lsp-generic_optional.ads (845, 2017-12-21)
source/protocol/lsp-message_handlers.ads (3984, 2017-12-21)
source/protocol/lsp-messages.adb (65095, 2017-12-21)
source/protocol/lsp-messages.ads (88006, 2017-12-21)
... ...
ada-lsp
=======
[![Build Status](https://travis-ci.org/reznikmm/ada-lsp.svg?branch=master)](https://travis-ci.org/reznikmm/ada-lsp)
[![reuse compliant](https://img.shields.io/badge/reuse-compliant-green.svg)](https://reuse.software/)
> Language Server Protocol for Ada
The goal of this project is to provide implementation of Language Server
Protocol ([LSP](https://github.com/Microsoft/language-server-protocol))
for Ada.
> The Language Server protocol is used between a tool (the client) and
> a language smartness provider (the server) to integrate features like
> auto complete, goto definition, find all references and alike into
> the tool.
## Install
Run:
```
git clone https://github.com/reznikmm/ada-lsp.git
cd ada-lsp
make
```
### Dependencies
The dependency is
* [Matreshka](https://github.com/reznikmm/matreshka) - latest trunk,
(at least 2017-10-13). AMF isn't requred/used.
See [Installation guide](http://forge.ada-ru.org/matreshka/wiki/Guide)
* [increment](https://github.com/reznikmm/increment)
an incremental analysis library.
* [Ada Pretty Printer](https://github.com/reznikmm/ada-pretty) library.
* [Anagram](https://github.com/reznikmm/anagram) - parser generation Ada
library .
* [Node.js](https://nodejs.org) - to prepare VS Code extension
* [VS Code](https://code.visualstudio.com) - to test the protocol binding
### Status of the project
Ada *binding* of the protocol is (mostly) implemented, but only from server's
point of view.
There is a 'demo' to check how *the binding* works.
The Ada Language Server **isn't implemented yet**.
## Usage
### Running a Demo
The demo let you see common usage of LSP for Ada and explore protocol messages.
Prepare Ada extension and run VS code:
```
make vscode
code --extensionDevelopmentPath=`pwd`/integration/vscode/ada/ `pwd`
```
* Open source/protocol/lsp.ads
* Open Output Console `Ctrl-J` and look for 'Ada Language Server' logs.
* Print `X'` play with completion, press `Ctrl+Space` to see/hide the
documentation.
Select `S'Adjacent` to paste a snippet.
* Move the mouse over `Adjacent`, tooltip will appear with Markdown inside.
* Undo your changes and remove semicolon and save file.
The editor will be populated with diagnostics.
A bulb on the left side represent a CodeAction to correct the error.
Click on it and fix the error.
* Print `pragma Assert (` - signature help appears. Print `X, "Ops"` and see
how parameter description changes after comma.
* Open context menu on `LSP` identifier and click `Find all references`.
Two references will be displayed.
* Open lst-types.ads. Open context menu on `Generic_Optional` on the line
```ada
with LSP.Generic_Optional;
```
* Press `Go to definition`. Corresponding file will be opened.
* Press `Ctrl+Shft+O` and see list of local symbols.
* Press `Ctrl+T` and see list of global symbols.
## Maintainer
[@MaximReznik](https://github.com/reznikmm).
## Contribute
Feel free to dive in!
[Open an issue](https://github.com/reznikmm/ada-lsp/issues/new) or submit PRs.
## License
[MIT](LICENSE) Maxim Reznik
近期下载者:
相关文件:
收藏者: