• Stars
    star
    11
  • Rank 1,640,380 (Top 34 %)
  • Language
    Ada
  • License
    MIT License
  • Created over 6 years ago
  • Updated over 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Language Server Protocol for Ada

ada-lsp

Build Status reuse compliant

Language Server Protocol for Ada

The goal of this project is to provide implementation of Language Server Protocol (LSP) 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

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
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.

Contribute

Feel free to dive in! Open an issue or submit PRs.

License

MIT © Maxim Reznik

More Repositories

1

ada-howto

Collection of How-to documents for Ada
Jupyter Notebook
34
star
2

protobuf

The Google Protocol Buffers implementation in Ada
Ada
26
star
3

matreshka_archive

Matreshka is Ada framework to develop information systems
Ada
25
star
4

adalib

Standard Ada library specification as defined in Reference Manual
Ada
17
star
5

android_app_demo

Small demo for android app in Ada/webAssembly
JavaScript
11
star
6

aarch64-alire-index

Alire port to aarch64
10
star
7

jwt

JSON Web Token (JWT) implementation in Ada
Ada
10
star
8

ada-auth

A mirror of Ada Reference Manual sources
CartoCSS
9
star
9

onnx_runtime

Ada binding to ONNX runtime
Ada
7
star
10

coroutines

Coroutines is a library for non-preemptive multitasking in Ada
Ada
5
star
11

jupyter

Jupyter Client API in Ada
Ada
4
star
12

torrent

BitTorrent protocol implementation in Ada
Ada
4
star
13

increment

Incremental analysis in Ada
Ada
4
star
14

acme-ada

ACME implementation in Ada
Ada
3
star
15

anagram

Grammar handling and parser generation Ada library
Ada
3
star
16

upload-bintray-action

Bintray file uploader action
JavaScript
3
star
17

advent-of-ada

Advent of Code solutions
Ada
3
star
18

garlic

GNAT Library for Ada Distributed Environment (garlic)
Ada
3
star
19

ada_ru

Sources to build www.ada-ru.org site
Ada
3
star
20

webdriver

WebDriver enables introspection and control of web browsers
Ada
2
star
21

openwrt-gnat

Ada cross compiler for OpenWRT
Dockerfile
2
star
22

deflate

A deflate compression library
Ada
2
star
23

als-alire-index

An Alire index to build ada_language_server
Shell
2
star
24

network

Ada asynchronous network library
Ada
2
star
25

rst-unparser

A tool to write a tree of RST elements as a ReStructuredText document.
Ada
1
star
26

slimp

Implementation of SlimProto TCP protocol
Ada
1
star
27

declarative-regions

Ada declarative regions library
Ada
1
star
28

debug-viz-demo

Debug Visualization Demo for Ada
Python
1
star
29

ak09940a

An Ada driver for 3-axis magnetic sensor AK09940A
Ada
1
star
30

icm20602

Driver for ICM-20602 gyroscope and accelerometer sensor
Ada
1
star
31

hmc5883

An Ada driver for 3-axis magnetic sensor
Ada
1
star
32

ada-tips

Collection of tip-of-the-day for Ada
Ada
1
star
33

mount_photos

Mounting Google Photo albums with FUSE in Ada
Ada
1
star
34

bme280

Driver for BME280 humidity, pressure and temperature sensor
Ada
1
star
35

qmc5883

An Ada driver for 3-axis magnetic sensor QMC5883L
Ada
1
star