Skip to content

Commit cba292e

Browse files
committed
Initial implementaiton of Alire support.
Refs #668
1 parent f3eab06 commit cba292e

File tree

8 files changed

+702
-98
lines changed

8 files changed

+702
-98
lines changed

README.md

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ for Ada/SPARK.
1313
Current features:
1414

1515
* [GNAT project files](https://docs.adacore.com/gprbuild-docs/html/gprbuild_ug/gnat_project_manager.html) support.
16+
* Basic [Alire](https://alire.ada.dev/) support.
1617
* Code completion for names, keywords, aggregates, etc.
1718
* Code navigation, such as Go to Definition/Declaration, Find All References, Call Hierarchies, etc.
1819
* [Code refactoring](#refactoring-tools) like insert named associations, auto-add `with`-clauses, etc.
@@ -126,7 +127,7 @@ formatting might no succeed on incomplete/illegal code.
126127

127128
* **Toooling support**: we currently provide minimal support for *SPARK* (see *Prove/Examine* tasks in the [Auto-detected tasks](#auto-detected-tasks) section), but there is no support for tools such as *CodePeer*, *GNATcheck*, *GNATtest* or *GNATcoverage*.
128129

129-
* **Project support**: there is no `Scenario` view: users should configure scenarios via the *ada.scenarioVariables* setting (see the settings list available [here](doc/refactoring_tools.md)). You can execute the *Developper: Reload Window* command to reload your project after saving the new scenario values (use the *Ctrl+P* shortcut to invoke the **Command Palette**, allowing you to execute commands).
130+
* **Project support**: there is no `Scenario` view: users should configure scenarios via the *ada.scenarioVariables* setting (see the settings list available [here](doc/refactoring_tools.md)). You can execute the *Ada: Reload project* command to reload your project after saving the new scenario values (use the *Ctrl+P* shortcut to invoke the **Command Palette**, allowing you to execute commands).
130131

131132
Source directories from imported projects should be added in a [workspace file](https://code.visualstudio.com/docs/editor/workspaces#_multiroot-workspaces). If you already have a workspace file, the extension will propose you to automatically add all the source directories coming from imported projects to your workspace automatically at startup.
132133

@@ -224,7 +225,9 @@ Here is an example config file from the gnatcov project:
224225
}
225226
```
226227

227-
## Integration with Coc.NVim
228+
## Integration with other editors and IDEs
229+
230+
### Integration with Coc.NVim
228231

229232
If you want to use the Ada Language Server with Vim/Neovim, you can use the
230233
[Coc.NVim](https://github.com/neoclide/coc.nvim). You'll have to
@@ -252,7 +255,7 @@ configure the Ada Language Server with `:CocConfig`:
252255
}
253256
```
254257

255-
## Integration with vim-lsp
258+
### Integration with vim-lsp
256259

257260
If you want to integrate the Ada Language Server into vim, you can use the
258261
[vim-lsp](https://github.com/prabirshrestha/vim-lsp).
@@ -273,7 +276,7 @@ if executable('ada_language_server')
273276
endif
274277
```
275278

276-
## Integration with LanguageClient-Neovim
279+
### Integration with LanguageClient-Neovim
277280

278281
If you want to integrate the Ada Language Server into Neovim, you can use the
279282
[LanguageClient-neovim](https://github.com/autozimu/LanguageClient-neovim).
@@ -317,7 +320,7 @@ the language server *even for files which might have nothing to do with that
317320
specific project*, so this needs to be taken into account. Ultimately what this
318321
means is that the configuration is determined by where you open vim.
319322

320-
## Integration with Neovim's built-in LSP client
323+
### Integration with Neovim's built-in LSP client
321324

322325
Neovim 0.5.0 and later have a built-in LSP client which can be used with the
323326
Ada Language Server. In order to use it with minimal effort, follow these steps:
@@ -391,7 +394,7 @@ for the `ada_language_server` and defines default customizable configuration
391394
values in the `lsp-ada` group that can be edited similarly to
392395
`lsp-ada-project-file` in the example above.
393396

394-
## Integration with QtCreator
397+
### Integration with QtCreator
395398

396399
Starting with version `4.9`, QtCreator supports a LSP plugin. Follow
397400
[the official documentation](https://doc.qt.io/qtcreator/creator-language-servers.html)

gnat/lsp_server.gpr

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
------------------------------------------------------------------------------
22
-- Language Server Protocol --
33
-- --
4-
-- Copyright (C) 2018-2022, AdaCore --
4+
-- Copyright (C) 2018-2023, AdaCore --
55
-- --
66
-- This is free software; you can redistribute it and/or modify it under --
77
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -20,6 +20,7 @@ with "libadalang";
2020
with "lal_tools.gpr";
2121
with "ada_libfswatch.gpr";
2222
with "libgnatdoc.gpr";
23+
with "spawn.gpr";
2324

2425
with "lsp";
2526

0 commit comments

Comments
 (0)