|
2 | 2 |
|
3 | 3 | ## Dependencies |
4 | 4 |
|
5 | | -The Ada Language Server depends on the following: |
| 5 | +The Ada Language Server depends on a number of tools and libraries listed [on the main page](https://github.com/AdaCore/ada_language_server#dependencies). |
6 | 6 |
|
7 | | - * VSS: https://github.com/AdaCore/VSS |
8 | | - * (optional) ada_libfswatch: https://github.com/AdaCore/ada_libfswatch, |
9 | | - to activate filesystem monitoring. |
| 7 | +## Coding |
| 8 | + |
| 9 | +The ALS repository includes a template VS Code workspace at |
| 10 | +`.vscode/settings.json.tmpl`. This allows developers to instantiate the |
| 11 | +workspace locally and customize it to their liking, in particular the |
| 12 | +`terminal.integrated.env.<os>` setting to set `PATH` and `GPR_PROJECT_PATH` as |
| 13 | +needed to provided tools and dependencies to the development environment. |
| 14 | + |
| 15 | +To instantiate the VS Code workspace, simply run `make configure`. Then open VS |
| 16 | +Code at the root of the ALS repository. |
| 17 | + |
| 18 | +At the first run, the workspace will recommend installing a set of extensions |
| 19 | +including a released version of the `Language Support for Ada` extension which |
| 20 | +is produced from this repository. That allows you to work with the Ada codebase |
| 21 | +of the ALS. |
| 22 | + |
| 23 | +## Building |
| 24 | + |
| 25 | +To build the ALS, run: |
| 26 | + |
| 27 | +```sh |
| 28 | +make |
| 29 | +``` |
10 | 30 |
|
11 | 31 | ## Debugging |
12 | 32 |
|
@@ -40,7 +60,7 @@ This is very useful to resolve unexpected memory consumption issues. |
40 | 60 |
|
41 | 61 | To get a symbolic backtrace you need the debug information files. For the |
42 | 62 | release you can download them from |
43 | | -[GitHub Release](https://github.com/AdaCore/ada_language_server/releases) |
| 63 | +[GitHub Release](https://github.com/AdaCore/ada_language_server/releases) |
44 | 64 | Assets. Assets contain an archive per platform with the ALS |
45 | 65 | executable and debug information files (`.debug` file on Linux/Windows and |
46 | 66 | `.dSYM` directory for Mac OS X). Extract the debug information to the directory |
@@ -84,30 +104,11 @@ To write a functional test for Ada Language Server: |
84 | 104 |
|
85 | 105 | Run `make vscode-test` to run the VS Code testsuite. |
86 | 106 |
|
87 | | -### VS Code grammar tests |
88 | | -
|
89 | | -The following is under `integration/vscode/ada/`. |
90 | | -
|
91 | | -The grammars under `syntaxes/` are in production. An advanced classifier for Ada |
92 | | -is under `advanced/`; this one is not in production at the moment. The testsuite |
93 | | -supports testing all grammars. |
94 | | -
|
95 | | -Tests for the grammars are in `testsuite_grammar`, with one test per subdirectory. |
96 | | -
|
97 | | - * To run the full testsuite, call `./run_grammar_tests.sh` |
98 | | - * To run one individual test, pass its directory as parameter to |
99 | | - that script, for instance `./run_grammar_tests.sh testsuite_grammar/hello` |
100 | | -
|
101 | | -To create new tests, do the following: |
102 | | -
|
103 | | - * Create a directory for it, for instance `testsuite_grammar/newtest` |
104 | | - * Add `.ads`, `.adb` or `.gpr` sources in that directory |
105 | | - * Run the driver: the first run will create the baselines under the form |
106 | | - of `.snap.syntaxes` and `.snap.advanced` files. |
| 107 | +If you open the ALS repository in VS Code, it is also possible to run VS Code |
| 108 | +integration tests using the provided launch configurations: |
107 | 109 |
|
108 | | -The engine for the test driver is implemented using |
109 | | -[vscode-tmgrammartest](https://github.com/PanAeon/vscode-tmgrammar-test): |
110 | | -see the full documentation there. |
| 110 | +- `(vscode) Run testsuite 'general'` |
| 111 | +- `(vscode) Run testsuite 'gnattest'` |
111 | 112 |
|
112 | 113 | ### Other tests |
113 | 114 |
|
|
0 commit comments