From 6f0cde864466ed8f6ff8f30ecf41f85c14997912 Mon Sep 17 00:00:00 2001 From: Elie Richa Date: Wed, 14 Aug 2024 16:43:43 +0000 Subject: [PATCH 1/6] Update the GPR TextMate grammar --- .../vscode/ada/syntaxes/gpr.tmLanguage.json | 208 ++++++++++++++---- 1 file changed, 160 insertions(+), 48 deletions(-) diff --git a/integration/vscode/ada/syntaxes/gpr.tmLanguage.json b/integration/vscode/ada/syntaxes/gpr.tmLanguage.json index a95db29ac..6bc13d9bb 100644 --- a/integration/vscode/ada/syntaxes/gpr.tmLanguage.json +++ b/integration/vscode/ada/syntaxes/gpr.tmLanguage.json @@ -7,6 +7,30 @@ { "include": "#comment" } ], "repository": { + "simple_name": { + "name": "entity.name.gpr", + "match": "\\w+" + }, + "name": { + "name": "meta.name.gpr", + "patterns": [ + { "include": "#simple_name" }, + { "name": "punctuation.gpr", "match": "\\.+" } + ] + }, + "simple_name_ref": { + "comment": "The same as 'simple_name' but formatted as a variable, often used in places where we reference a name instead of defining it", + "name": "variable.name.gpr", + "match": "\\w+" + }, + "name_ref": { + "comment": "The same as 'name' but formatted as a variable, often used in places where we reference a name instead of defining it", + "name": "meta.name_ref.gpr", + "patterns": [ + { "include": "#simple_name_ref" }, + { "name": "punctuation.gpr", "match": "\\.+" } + ] + }, "empty_declaration": { "begin": "(null)", "end": ";", @@ -15,37 +39,109 @@ } }, "assignment": { + "name": "meta.assignment.gpr", "begin": ":=", "end": "(?=;)", "beginCaptures": { "0": { "name": "punctuation.gpr" } }, - "patterns": [ - { - "name": "keyword.control.directive.gpr", - "match": "(?i)\\bexternal\\b" - }, - { - "name": "punctuation.gpr", - "match": "[(),]" - }, - { "include": "#string" } - ] + "patterns": [{ "include": "#expression" }] }, "attribute": { "name": "meta.attribute.gpr", - "begin": "(?i)\\b(for)\\s+((?:\\w|_)+)(?:\\s*\\((.*)\\))?\\s+(use)\\b", + "begin": "(?i)\\b(for)\\s*((?:\\w|_)+)?(?:\\s*\\((.*)\\))?\\s+", "end": ";", "beginCaptures": { "1": { "name": "keyword.gpr" }, "2": { "name": "entity.other.attribute-name.gpr" }, - "3": { "patterns": [{ "include": "#string" }] }, - "4": { "name": "keyword.gpr" } + "3": { + "patterns": [ + { "include": "#string_literal" }, + { "name": "punctuation.gpr", "match": "[()]" } + ] + } }, "endCaptures": { "0": { "name": "punctuation.gpr" } }, - "patterns": [{ "include": "#string" }] + "patterns": [ + { "name": "keyword.gpr", "match": "(?i)\\buse\\b" }, + { "include": "#expression" } + ] + }, + "string_expression": { + "patterns": [ + { "include": "#attribute_reference" }, + { "include": "#external_value" }, + { "include": "#string_literal" }, + { "include": "#name_ref" }, + { + "name": "punctuation.gpr", + "match": "&" + } + ] + }, + "external_value": { + "name": "meta.external.gpr", + "begin": "(?i)\\b(external)\\b", + "end": "(?<=\\))", + "beginCaptures": { + "1": { "name": "variable.language.gpr" } + }, + "patterns": [{ "include": "#string_list" }] + }, + "attribute_reference": { + "name": "meta.attribute_reference.gpr", + "match": "\\b(\\w+(?:\\.\\w+)?)\\s*(')\\s*(\\w+)\\s*(\\(.*\\))?", + "captures": { + "1": { + "name": "variable.name.gpr", + "patterns": [ + { "name": "variable.language.gpr", "match": "(?i)\\bproject\\b" }, + { "include": "#name_ref" } + ] + }, + "2": { "name": "punctuation.gpr" }, + "3": { + "name": "meta.attribute_reference.attribute_name", + "patterns": [{ "include": "#simple_name_ref" }] + }, + "4": { + "name": "meta.attribute_reference.attribute_index", + "patterns": [ + { "name": "punctuation.gpr", "match": "[()]" }, + { "include": "#string_literal" } + ] + } + } + }, + "string_list": { + "patterns": [ + { + "name": "meta.string_list.gpr", + "begin": "\\(", + "end": "\\)", + "beginCaptures": { + "0": { "name": "punctuation.gpr" } + }, + "endCaptures": { + "0": { "name": "punctuation.gpr" } + }, + "patterns": [ + { "include": "#string_expression" }, + { "name": "punctuation.gpr", "match": "," } + ] + }, + { "include": "#name_ref" }, + { "include": "#attribute_reference" } + ] + }, + "expression": { + "patterns": [ + { "include": "#string_expression" }, + { "include": "#string_list" }, + { "name": "punctuation.gpr", "match": "&" } + ] }, "case_construction": { "name": "meta.case.gpr", @@ -53,7 +149,7 @@ "end": "(?i)\\b(end)\\s+(case)\\s*(;)", "beginCaptures": { "1": { "name": "keyword.control.gpr" }, - "2": { "name": "variable.name.gpr" }, + "2": { "name": "variable.name.gpr", "patterns": [{ "include": "#name_ref" }] }, "3": { "name": "keyword.control.gpr" } }, "endCaptures": { @@ -61,25 +157,31 @@ "2": { "name": "keyword.control.gpr" }, "3": { "name": "punctuation.gpr" } }, + "patterns": [{ "include": "#comment" }, { "include": "#when" }] + }, + "when": { + "name": "meta.case.when.gpr", + "begin": "(?i)\\b(when)\\b\\s+((?!=>).*)(=>)", + "end": "(?i)(?=\\b(?=when|end\\s+case)\\b)", + "beginCaptures": { + "1": { "name": "keyword.control.gpr" }, + "2": { "patterns": [{ "include": "#discrete_choice_list" }] }, + "3": { "name": "keyword.control.gpr" } + }, "patterns": [ - { "include": "#case_construction" }, - { "include": "#case_when" }, { "include": "#comment" }, + { "include": "#case_construction" }, { "include": "#attribute" }, + { "include": "#variable" }, { "include": "#empty_declaration" } ] }, - "case_when": { - "name": "meta.case.when.gpr", - "begin": "(?i)\\bwhen\\b", - "end": "=>", - "beginCaptures": { - "0": { "name": "keyword.control.gpr" } - }, - "endCaptures": { - "0": { "name": "keyword.gpr" } - }, - "patterns": [{ "include": "#string" }] + "discrete_choice_list": { + "patterns": [ + { "include": "#string_literal" }, + { "name": "keyword.control.gpr", "match": "others" }, + { "name": "punctuation.gpr", "match": "\\|" } + ] }, "comment": { "patterns": [ @@ -179,7 +281,10 @@ "beginCaptures": { "1": { "name": "keyword.gpr" }, "2": { "name": "keyword.gpr" }, - "3": { "name": "entity.name.project.gpr" } + "3": { + "name": "entity.name.project.gpr", + "patterns": [{ "include": "#simple_name" }] + } }, "endCaptures": { "1": { "name": "keyword.gpr" }, @@ -199,7 +304,7 @@ { "include": "#comment" }, { "include": "#attribute" }, { "include": "#type" }, - { "include": "#typed_variable" } + { "include": "#variable" } ] }, { @@ -209,11 +314,11 @@ "2": { "name": "keyword.gpr" } }, "end": "(?i)\\b(?=is)\\b", - "patterns": [{ "include": "#string" }] + "patterns": [{ "include": "#string_literal" }] } ] }, - "string": { + "string_literal": { "name": "string.quoted.double.gpr", "match": "(\").*?(\")", "captures": { @@ -227,43 +332,50 @@ }, "type": { "name": "meta.declaration.type.gpr", - "begin": "(?i)\\b(type)\\s+((?:\\w|\\d|_)+)\\b", + "begin": "(?i)\\b(type)\\b\\s*(\\S+)\\b\\s*(is)", "end": ";", "beginCaptures": { "1": { "name": "keyword.gpr" }, - "2": { "name": "entity.name.type.gpr" } + "2": { + "name": "entity.name.type.gpr", + "patterns": [{ "include": "#simple_name" }] + }, + "3": { "name": "keyword.gpr" } }, "endCaptures": { "0": { "name": "punctuation.gpr" } }, "patterns": [ - { "include": "#string" }, + { "include": "#string_literal" }, { "name": "punctuation.gpr", "match": "[(),]" - }, - { - "name": "keyword.gpr", - "match": "(?i)\\bis\\b" } ] }, "type_annotation": { - "name": "entity.name.type.gpr", - "match": "\\b(\\w|\\d|_)+\\b" + "name": "meta.declaration.variable.type.gpr", + "begin": "(:)(?!=)\\s*(\\S+)", + "end": "(?=;|:=)", + "beginCaptures": { + "1": { "name": "punctuation.gpr" }, + "2": { + "name": "entity.name.type.gpr", + "patterns": [{ "include": "#name" }] + } + } }, - "typed_variable": { + "variable": { "name": "meta.declaration.variable.gpr", - "begin": "\\b((?:\\w|\\d|_)+)\\s*(:)", + "begin": "\\b((?:\\w|\\d|_)+)\\s*(?=:)", "end": ";", "beginCaptures": { - "1": { "name": "variable.name.gpr" }, - "2": { "name": "punctuation.gpr" } + "1": { "name": "variable.name.gpr", "patterns": [{ "include": "#simple_name" }] } }, "endCaptures": { "0": { "name": "punctuation.gpr" } }, - "patterns": [{ "include": "#assignment" }, { "include": "#type_annotation" }] + "patterns": [{ "include": "#type_annotation" }, { "include": "#assignment" }] }, "with_clause": { "name": "meta.clause.with.gpr", @@ -277,7 +389,7 @@ "0": { "name": "punctuation.gpr" } }, "patterns": [ - { "include": "#string" }, + { "include": "#string_literal" }, { "match": ",", "name": "punctuation.gpr" From 86e5bfc091c22e802643827c063cc399457ed280 Mon Sep 17 00:00:00 2001 From: Elie Richa Date: Wed, 14 Aug 2024 16:43:27 +0000 Subject: [PATCH 2/6] Refactor the VS Code highlighting testsuite and add GPR tests --- integration/vscode/ada/.vscode-test.mjs | 2 +- .../test/suite/general/highlighting.test.ts | 171 ++-- .../ada/test/workspaces/general/prj.gpr.snap | 174 ++++ .../ada/test/workspaces/general/src/test.gpr | 95 +++ .../test/workspaces/general/src/test.gpr.snap | 776 ++++++++++++++++++ 5 files changed, 1135 insertions(+), 83 deletions(-) create mode 100644 integration/vscode/ada/test/workspaces/general/prj.gpr.snap create mode 100644 integration/vscode/ada/test/workspaces/general/src/test.gpr create mode 100644 integration/vscode/ada/test/workspaces/general/src/test.gpr.snap diff --git a/integration/vscode/ada/.vscode-test.mjs b/integration/vscode/ada/.vscode-test.mjs index 976c77c67..3422f44c8 100644 --- a/integration/vscode/ada/.vscode-test.mjs +++ b/integration/vscode/ada/.vscode-test.mjs @@ -76,7 +76,7 @@ export default defineConfig( // This may prevent running locally on Linux and having the test // windows visible, but we consider this a minor use case for // now. A workaround is to remove this line. - DISPLAY: ':99', + DISPLAY: process.env.DISPLAY ?? ':99', }, launchArgs: [ // It's important to use the --user-data-dir= form. The diff --git a/integration/vscode/ada/test/suite/general/highlighting.test.ts b/integration/vscode/ada/test/suite/general/highlighting.test.ts index 46f17a87d..43dc7acdd 100644 --- a/integration/vscode/ada/test/suite/general/highlighting.test.ts +++ b/integration/vscode/ada/test/suite/general/highlighting.test.ts @@ -1,49 +1,41 @@ import assert from 'assert'; import * as vscode from 'vscode'; import { spawnSync } from 'child_process'; -import { existsSync, opendirSync, renameSync } from 'fs'; -import path, { basename, dirname } from 'path'; +import fs, { existsSync, lstatSync, opendirSync, readdirSync, renameSync } from 'fs'; +import path from 'path'; import { SemanticTokensParams, SemanticTokensRequest, integer } from 'vscode-languageclient'; import { adaExtState } from '../../../src/extension'; import { assertEqualToFileContent, update, activate } from '../utils'; -let adaFilePaths: string[] = []; +const extensionRootPath = path.join(__dirname, '..', '..', '..', '..'); +const testWsPath = path.join(extensionRootPath, 'test', 'workspaces', 'general'); +const adaTestsPath = path.join(testWsPath, 'src', 'highlighting'); suite('Highlighting', function () { this.beforeAll(async function () { await activate(); }); - const highlightingTestRoot = getDocUri('src/highlighting').fsPath; - adaFilePaths = []; - - function walk(dir: string) { - const openDir = opendirSync(dir); - try { - let child; - while ((child = openDir.readSync()) != null) { - const childPath = path.join(dir, child.name); - if (child.isDirectory()) { - walk(childPath); - } else if (child.isFile()) { - if (child.name.match(/\.ad[bs]$/)) { - adaFilePaths.push(childPath); - } - } - } - } finally { - openDir.closeSync(); - } - } - - walk(highlightingTestRoot); - assert.notStrictEqual(adaFilePaths, []); + const adaTestPaths = [ + 'objects/objects.ads', + 'unknown_imports/pkg.ads', + 'hello/hello.adb', + 'nesting/main.adb', + 'invalid_ada/invalid.adb', + 'types/types.ads', + 'subprograms/subprograms.adb', + 'pkgs-and-specs/pkgbodynospec.adb', + 'pkgs-and-specs/pkgbodywithspec.ads', + 'pkgs-and-specs/pkgbodywithspec.adb', + 'lsp-ada_handlers/lsp-ada_handlers.adb', + 'lsp-ada_handlers/lsp.ads', + 'lsp-ada_handlers/lsp-ada_handlers.ads', + ]; + + for (const relPath of adaTestPaths) { + suite(relPath, function () { + const absPath = path.join(adaTestsPath, relPath); - for (const absPath of adaFilePaths) { - const testName = `${basename(dirname(absPath))}/${basename(absPath)}`; - const absFileUri = vscode.Uri.file(absPath); - - suite(testName, function () { this.afterAll(async function () { await vscode.commands.executeCommand('workbench.action.closeActiveEditor'); }); @@ -57,10 +49,22 @@ suite('Highlighting', function () { }); test('semantic', async function () { + const absFileUri = vscode.Uri.file(absPath); await testSemanticHighlighting(absFileUri); }); }); } + + const gprTests = ['prj.gpr', 'src/test.gpr']; + + for (const relPath of gprTests) { + const gprSyntaxPath = path.join(extensionRootPath, 'syntaxes', 'gpr.tmLanguage.json'); + + test(relPath, function () { + const gprPath = path.join(testWsPath, relPath); + testSyntax(gprSyntaxPath, gprPath, 'source.gpr'); + }); + } }); /** @@ -186,8 +190,6 @@ function getDocUri(p: string): vscode.Uri { } } -const extensionRootPath = path.resolve(__dirname, '../../../../'); - /** * A type representing the two TextMate grammars available in the repository. * The values match directory names in the extension source directory. The @@ -234,54 +236,7 @@ function testSyntaxHighlighting(absFilePath: string, syntax: Syntaxes) { ); } - const cmd = [ - // Use npx to avoid sensitivity to PATH env var. On Windows, the - // Node installation provides a 'npx' executable file which is a - // Bash script which doesn't work on Windows. Instead on Windows, - // the 'npx.cmd' file should be used. - process.platform == 'win32' ? 'npx.cmd' : 'npx', - 'vscode-tmgrammar-snap', - // We pass a non-existing language configuration, otherwise the tool - // picks up the package.json file and always loads the grammar in - // use. - '--config', - 'none', - // Show diffs on separate lines because color coding isn't visible - // in the VS Code debug console. - '--expandDiff', - '-g', - syntaxPath, - '-s', - 'source.ada', - absFilePath, - ]; - - if (update()) { - cmd.push('--updateSnapshot'); - } - - const proc = spawnSync(cmd[0], cmd.slice(1), { cwd: workDirPath }); - - if (proc.error) { - // proc.error is set if we fail to spawn the child process - throw proc.error; - } - - if (proc.status === null) { - const msg = - `Null return code for command: ${cmd.join(' ')}\n` + - String(proc.stdout) + - String(proc.stderr); - assert.fail(msg); - } else if (proc.status != 0) { - const msg = - `Return code ${proc.status.toString()} for command: cd ${workDirPath}; ${cmd.join( - ' ' - )}\n` + - String(proc.stdout) + - String(proc.stderr); - assert.fail(msg); - } + testSyntax(syntaxPath, absFilePath, 'source.ada'); } finally { if (existsSync(workSnapPath)) { // Rename .snap --> .snap. @@ -289,3 +244,55 @@ function testSyntaxHighlighting(absFilePath: string, syntax: Syntaxes) { } } } + +function testSyntax(syntaxPath: string, absFilePath: string, languageId: string) { + const workDirPath = path.dirname(syntaxPath); + const cmd = [ + // Use npx to avoid sensitivity to PATH env var. On Windows, the + // Node installation provides a 'npx' executable file which is a + // Bash script which doesn't work on Windows. Instead on Windows, + // the 'npx.cmd' file should be used. + process.platform == 'win32' ? 'npx.cmd' : 'npx', + 'vscode-tmgrammar-snap', + // We pass a non-existing language configuration, otherwise the tool + // picks up the package.json file and always loads the grammar in + // use. + '--config', + 'none', + // Show diffs on separate lines because color coding isn't visible + // in the VS Code debug console. + '--expandDiff', + '-g', + syntaxPath, + '-s', + languageId, + absFilePath, + ]; + + if (update()) { + cmd.push('--updateSnapshot'); + } + + const proc = spawnSync(cmd[0], cmd.slice(1), { cwd: workDirPath }); + + if (proc.error) { + // proc.error is set if we fail to spawn the child process + throw proc.error; + } + + if (proc.status === null) { + const msg = + `Null return code for command: ${cmd.join(' ')}\n` + + String(proc.stdout) + + String(proc.stderr); + assert.fail(msg); + } else if (proc.status != 0) { + const msg = + `Return code ${proc.status.toString()} for command: cd ${workDirPath}; ${cmd.join( + ' ' + )}\n` + + String(proc.stdout) + + String(proc.stderr); + assert.fail(msg); + } +} diff --git a/integration/vscode/ada/test/workspaces/general/prj.gpr.snap b/integration/vscode/ada/test/workspaces/general/prj.gpr.snap new file mode 100644 index 000000000..87caa8b93 --- /dev/null +++ b/integration/vscode/ada/test/workspaces/general/prj.gpr.snap @@ -0,0 +1,174 @@ +>project Prj is +#^^^^^^^ source.gpr meta.project.gpr keyword.gpr +# ^ source.gpr meta.project.gpr +# ^^^ source.gpr meta.project.gpr entity.name.project.gpr entity.name.gpr +# ^ source.gpr meta.project.gpr +# ^^ source.gpr meta.project.gpr keyword.gpr +> +> Tools_Mains := +#^^^^ source.gpr meta.project.gpr +# ^^^^^^^^^^^ source.gpr meta.project.gpr meta.declaration.variable.gpr variable.name.gpr entity.name.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr +# ^^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr punctuation.gpr +> ("main1.adb", +#^^^^^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.string_list.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.string_list.gpr punctuation.gpr +> "test.adb"); +#^^^^^^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.string_list.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.string_list.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr punctuation.gpr +> +> for Source_Dirs use ("src/**"); +#^^^^ source.gpr meta.project.gpr +# ^^^ source.gpr meta.project.gpr meta.attribute.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr +# ^^^^^^^^^^^ source.gpr meta.project.gpr meta.attribute.gpr entity.other.attribute-name.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr +# ^^^ source.gpr meta.project.gpr meta.attribute.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr punctuation.gpr +> for Object_Dir use "obj"; +#^^^^ source.gpr meta.project.gpr +# ^^^ source.gpr meta.project.gpr meta.attribute.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr +# ^^^^^^^^^^ source.gpr meta.project.gpr meta.attribute.gpr entity.other.attribute-name.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr +# ^^^ source.gpr meta.project.gpr meta.attribute.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^ source.gpr meta.project.gpr meta.attribute.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr punctuation.gpr +> for Main use Tools_Mains; +#^^^^ source.gpr meta.project.gpr +# ^^^ source.gpr meta.project.gpr meta.attribute.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr +# ^^^^ source.gpr meta.project.gpr meta.attribute.gpr entity.other.attribute-name.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr +# ^^^ source.gpr meta.project.gpr meta.attribute.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr +# ^^^^^^^^^^^ source.gpr meta.project.gpr meta.attribute.gpr variable.name.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr punctuation.gpr +> +> package Builder is +#^^^^ source.gpr meta.project.gpr +# ^^^^^^^ source.gpr meta.project.gpr meta.package.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr +# ^^^^^^^ source.gpr meta.project.gpr meta.package.gpr entity.name.package.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr +# ^^ source.gpr meta.project.gpr meta.package.gpr keyword.gpr +> for Executable ("main1.adb") use "main1exec"; +#^^^^^^ source.gpr meta.project.gpr meta.package.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr +# ^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr entity.other.attribute-name.gpr +# ^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr punctuation.gpr +> end Builder; +#^^^ source.gpr meta.project.gpr meta.package.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr +# ^^^^^^^ source.gpr meta.project.gpr meta.package.gpr entity.name.package.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr punctuation.gpr +> +> package Compiler is +#^^^ source.gpr meta.project.gpr +# ^^^^^^^ source.gpr meta.project.gpr meta.package.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr +# ^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr entity.name.package.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr +# ^^ source.gpr meta.project.gpr meta.package.gpr keyword.gpr +> for Default_Switches ("Ada") use ("-g", "-O0"); +#^^^^^^ source.gpr meta.project.gpr meta.package.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr +# ^^^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr entity.other.attribute-name.gpr +# ^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr punctuation.gpr +> end Compiler; +#^^^ source.gpr meta.project.gpr meta.package.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr +# ^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr entity.name.package.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr punctuation.gpr +> +> package Documentation is +#^^^ source.gpr meta.project.gpr +# ^^^^^^^ source.gpr meta.project.gpr meta.package.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr +# ^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr entity.name.package.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr +# ^^ source.gpr meta.project.gpr meta.package.gpr keyword.gpr +> -- This project contains intentionally invalid code which causes gnatdoc +#^^^^^^ source.gpr meta.project.gpr meta.package.gpr +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr comment.line.double-dash.gpr +> -- to fail when testing the corresponding vscode task. This gets the +#^^^^^^ source.gpr meta.project.gpr meta.package.gpr +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr comment.line.double-dash.gpr +> -- project skipped by gnatdoc for the purpose of testing. +#^^^^^^ source.gpr meta.project.gpr meta.package.gpr +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr comment.line.double-dash.gpr +> for Excluded_Project_Files use ("prj.gpr"); +#^^^^^^ source.gpr meta.project.gpr meta.package.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr +# ^^^^^^^^^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr entity.other.attribute-name.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr punctuation.gpr +> end Documentation; +#^^^ source.gpr meta.project.gpr meta.package.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr +# ^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr entity.name.package.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr punctuation.gpr +> +>end Prj; +#^^^ source.gpr meta.project.gpr keyword.gpr +# ^ source.gpr meta.project.gpr +# ^^^ source.gpr meta.project.gpr entity.name.project.gpr +# ^ source.gpr meta.project.gpr punctuation.gpr +> \ No newline at end of file diff --git a/integration/vscode/ada/test/workspaces/general/src/test.gpr b/integration/vscode/ada/test/workspaces/general/src/test.gpr new file mode 100644 index 000000000..2eeea1fa4 --- /dev/null +++ b/integration/vscode/ada/test/workspaces/general/src/test.gpr @@ -0,0 +1,95 @@ +-- +-- Copyright (C) 2018-2024, AdaCore +-- +-- SPDX-License-Identifier: Apache-2.0 +-- + +with "gpr2.gpr"; +with "libadalang"; +with "lal_tools.gpr"; +with "lal_refactor.gpr"; +with "ada_libfswatch.gpr"; +with "libgnatdoc.gpr"; +with "spawn.gpr"; + +with "lsp_3_17"; +with "lsp_common"; + +project LSP_Server is + + VERSION := external ("VERSION", "latest"); + + BUILD_DATE := external ("BUILD_DATE", "unknown"); + + type Library_Kind is ("static", "static-pic", "relocatable"); + Library_Type : Library_Kind := external("ALS_LIBRARY_TYPE", + external("LIBRARY_TYPE", "relocatable")); + + type OS_KIND is ("Windows_NT", "unix", "osx"); + OS : OS_KIND := external("OS", "unix"); + + for Source_Dirs use + ("../source/server", + "../source/ada", + "../source/common", + "../source/gpr", + "../source/ada/generated", + "../source/memory"); + + for Object_Dir use "../.obj/server"; + for Main use ("lsp-ada_driver.adb"); + -- Need C++ to use a linker compatible with libfswatch + for Languages use ("Ada", "C++"); + + package Naming is + case LSP_Common.OS_API is + when "Windows_NT" => + for Implementation ("LSP.Stdio_Streams.Initialize") + use "lsp-stdio_streams-init_windows.adb"; + + when others => + for Implementation ("LSP.Stdio_Streams.Initialize") + use "lsp-stdio_streams-init_others.adb"; + + end case; + end Naming; + + package Compiler is + for Default_Switches ("Ada") use + LSP_3_17.Compiler'Default_Switches ("Ada"); + for Switches ("lsp-ada_driver.adb") use + LSP_3_17.Compiler'Default_Switches ("Ada") + & ("-gnateDVERSION=""" & VERSION & """", + "-gnateDBUILD_DATE=""" & BUILD_DATE & """"); + for Switches ("s-memory.adb") use ("-g", "-O2", "-gnatpg"); + for Local_Configuration_Pragmas use "gnat.adc"; + end Compiler; + + package Linker is + case Library_Type is + when "static" | "static-pic" => + case OS is + when "Windows_NT" => + for Switches ("Ada") use + ("-static", "-static-libstdc++", "-static-libgcc", + "-fstack-protector"); + -- Stack protector forces libssp.a linking for libgmp.a + when "osx" | "unix" => + -- On UNIX, we want to link libc dynamically: needed to find + -- a recent version of iconv_open (and a recommended practice) + for Switches ("Ada") use ("-static-libstdc++", "-static-libgcc"); + end case; + when "relocatable" => + null; + end case; + end Linker; + + package Binder is + for Switches ("ada") use ("-E"); + end Binder; + + package Builder is + for Executable ("lsp-ada_driver") use "ada_language_server"; + end Builder; + +end LSP_Server; diff --git a/integration/vscode/ada/test/workspaces/general/src/test.gpr.snap b/integration/vscode/ada/test/workspaces/general/src/test.gpr.snap new file mode 100644 index 000000000..f0368124a --- /dev/null +++ b/integration/vscode/ada/test/workspaces/general/src/test.gpr.snap @@ -0,0 +1,776 @@ +>-- +#^^ source.gpr comment.line.double-dash.gpr +>-- Copyright (C) 2018-2024, AdaCore +#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.gpr comment.line.double-dash.gpr +>-- +#^^ source.gpr comment.line.double-dash.gpr +>-- SPDX-License-Identifier: Apache-2.0 +#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.gpr comment.line.double-dash.gpr +>-- +#^^ source.gpr comment.line.double-dash.gpr +> +>with "gpr2.gpr"; +#^^^^ source.gpr meta.clause.with.gpr keyword.gpr +# ^ source.gpr meta.clause.with.gpr +# ^ source.gpr meta.clause.with.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^ source.gpr meta.clause.with.gpr string.quoted.double.gpr +# ^ source.gpr meta.clause.with.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.clause.with.gpr punctuation.gpr +>with "libadalang"; +#^^^^ source.gpr meta.clause.with.gpr keyword.gpr +# ^ source.gpr meta.clause.with.gpr +# ^ source.gpr meta.clause.with.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^^^ source.gpr meta.clause.with.gpr string.quoted.double.gpr +# ^ source.gpr meta.clause.with.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.clause.with.gpr punctuation.gpr +>with "lal_tools.gpr"; +#^^^^ source.gpr meta.clause.with.gpr keyword.gpr +# ^ source.gpr meta.clause.with.gpr +# ^ source.gpr meta.clause.with.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^^^^^^ source.gpr meta.clause.with.gpr string.quoted.double.gpr +# ^ source.gpr meta.clause.with.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.clause.with.gpr punctuation.gpr +>with "lal_refactor.gpr"; +#^^^^ source.gpr meta.clause.with.gpr keyword.gpr +# ^ source.gpr meta.clause.with.gpr +# ^ source.gpr meta.clause.with.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^^^^^^^^^ source.gpr meta.clause.with.gpr string.quoted.double.gpr +# ^ source.gpr meta.clause.with.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.clause.with.gpr punctuation.gpr +>with "ada_libfswatch.gpr"; +#^^^^ source.gpr meta.clause.with.gpr keyword.gpr +# ^ source.gpr meta.clause.with.gpr +# ^ source.gpr meta.clause.with.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^^^^^^^^^^^ source.gpr meta.clause.with.gpr string.quoted.double.gpr +# ^ source.gpr meta.clause.with.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.clause.with.gpr punctuation.gpr +>with "libgnatdoc.gpr"; +#^^^^ source.gpr meta.clause.with.gpr keyword.gpr +# ^ source.gpr meta.clause.with.gpr +# ^ source.gpr meta.clause.with.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^^^^^^^ source.gpr meta.clause.with.gpr string.quoted.double.gpr +# ^ source.gpr meta.clause.with.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.clause.with.gpr punctuation.gpr +>with "spawn.gpr"; +#^^^^ source.gpr meta.clause.with.gpr keyword.gpr +# ^ source.gpr meta.clause.with.gpr +# ^ source.gpr meta.clause.with.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^^ source.gpr meta.clause.with.gpr string.quoted.double.gpr +# ^ source.gpr meta.clause.with.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.clause.with.gpr punctuation.gpr +> +>with "lsp_3_17"; +#^^^^ source.gpr meta.clause.with.gpr keyword.gpr +# ^ source.gpr meta.clause.with.gpr +# ^ source.gpr meta.clause.with.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^ source.gpr meta.clause.with.gpr string.quoted.double.gpr +# ^ source.gpr meta.clause.with.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.clause.with.gpr punctuation.gpr +>with "lsp_common"; +#^^^^ source.gpr meta.clause.with.gpr keyword.gpr +# ^ source.gpr meta.clause.with.gpr +# ^ source.gpr meta.clause.with.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^^^ source.gpr meta.clause.with.gpr string.quoted.double.gpr +# ^ source.gpr meta.clause.with.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.clause.with.gpr punctuation.gpr +> +>project LSP_Server is +#^^^^^^^ source.gpr meta.project.gpr keyword.gpr +# ^ source.gpr meta.project.gpr +# ^^^^^^^^^^ source.gpr meta.project.gpr entity.name.project.gpr entity.name.gpr +# ^ source.gpr meta.project.gpr +# ^^ source.gpr meta.project.gpr keyword.gpr +> +> VERSION := external ("VERSION", "latest"); +#^^^ source.gpr meta.project.gpr +# ^^^^^^^ source.gpr meta.project.gpr meta.declaration.variable.gpr variable.name.gpr entity.name.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr +# ^^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr +# ^^^^^^^^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr variable.language.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr punctuation.gpr +> +> BUILD_DATE := external ("BUILD_DATE", "unknown"); +#^^^ source.gpr meta.project.gpr +# ^^^^^^^^^^ source.gpr meta.project.gpr meta.declaration.variable.gpr variable.name.gpr entity.name.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr +# ^^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr +# ^^^^^^^^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr variable.language.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^^^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr punctuation.gpr +> +> type Library_Kind is ("static", "static-pic", "relocatable"); +#^^^ source.gpr meta.project.gpr +# ^^^^ source.gpr meta.project.gpr meta.declaration.type.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.declaration.type.gpr +# ^^^^^^^^^^^^ source.gpr meta.project.gpr meta.declaration.type.gpr entity.name.type.gpr entity.name.gpr +# ^ source.gpr meta.project.gpr meta.declaration.type.gpr +# ^^ source.gpr meta.project.gpr meta.declaration.type.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.declaration.type.gpr +# ^ source.gpr meta.project.gpr meta.declaration.type.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.declaration.type.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^ source.gpr meta.project.gpr meta.declaration.type.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.declaration.type.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.declaration.type.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.declaration.type.gpr +# ^ source.gpr meta.project.gpr meta.declaration.type.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^^^ source.gpr meta.project.gpr meta.declaration.type.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.declaration.type.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.declaration.type.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.declaration.type.gpr +# ^ source.gpr meta.project.gpr meta.declaration.type.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^^^^ source.gpr meta.project.gpr meta.declaration.type.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.declaration.type.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.declaration.type.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.declaration.type.gpr punctuation.gpr +> Library_Type : Library_Kind := external("ALS_LIBRARY_TYPE", +#^^^ source.gpr meta.project.gpr +# ^^^^^^^^^^^^ source.gpr meta.project.gpr meta.declaration.variable.gpr variable.name.gpr entity.name.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.declaration.variable.type.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.declaration.variable.type.gpr +# ^^^^^^^^^^^^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.declaration.variable.type.gpr entity.name.type.gpr entity.name.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.declaration.variable.type.gpr +# ^^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr +# ^^^^^^^^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr variable.language.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr punctuation.gpr +> external("LIBRARY_TYPE", "relocatable")); +#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr +# ^^^^^^^^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr meta.external.gpr variable.language.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr meta.external.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr meta.external.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^^^^^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr meta.external.gpr meta.string_list.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr meta.external.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr meta.external.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr meta.external.gpr meta.string_list.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr meta.external.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^^^^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr meta.external.gpr meta.string_list.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr meta.external.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr meta.external.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr punctuation.gpr +> +> type OS_KIND is ("Windows_NT", "unix", "osx"); +#^^^ source.gpr meta.project.gpr +# ^^^^ source.gpr meta.project.gpr meta.declaration.type.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.declaration.type.gpr +# ^^^^^^^ source.gpr meta.project.gpr meta.declaration.type.gpr entity.name.type.gpr entity.name.gpr +# ^ source.gpr meta.project.gpr meta.declaration.type.gpr +# ^^ source.gpr meta.project.gpr meta.declaration.type.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.declaration.type.gpr +# ^ source.gpr meta.project.gpr meta.declaration.type.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.declaration.type.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^^^ source.gpr meta.project.gpr meta.declaration.type.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.declaration.type.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.declaration.type.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.declaration.type.gpr +# ^ source.gpr meta.project.gpr meta.declaration.type.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^ source.gpr meta.project.gpr meta.declaration.type.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.declaration.type.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.declaration.type.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.declaration.type.gpr +# ^ source.gpr meta.project.gpr meta.declaration.type.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^ source.gpr meta.project.gpr meta.declaration.type.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.declaration.type.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.declaration.type.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.declaration.type.gpr punctuation.gpr +> OS : OS_KIND := external("OS", "unix"); +#^^^ source.gpr meta.project.gpr +# ^^ source.gpr meta.project.gpr meta.declaration.variable.gpr variable.name.gpr entity.name.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.declaration.variable.type.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.declaration.variable.type.gpr +# ^^^^^^^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.declaration.variable.type.gpr entity.name.type.gpr entity.name.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.declaration.variable.type.gpr +# ^^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr +# ^^^^^^^^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr variable.language.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr meta.assignment.gpr meta.external.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.declaration.variable.gpr punctuation.gpr +> +> for Source_Dirs use +#^^^ source.gpr meta.project.gpr +# ^^^ source.gpr meta.project.gpr meta.attribute.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr +# ^^^^^^^^^^^ source.gpr meta.project.gpr meta.attribute.gpr entity.other.attribute-name.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr +# ^^^ source.gpr meta.project.gpr meta.attribute.gpr keyword.gpr +> ("../source/server", +#^^^^^ source.gpr meta.project.gpr meta.attribute.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr punctuation.gpr +> "../source/ada", +#^^^^^^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr punctuation.gpr +> "../source/common", +#^^^^^^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr punctuation.gpr +> "../source/gpr", +#^^^^^^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr punctuation.gpr +> "../source/ada/generated", +#^^^^^^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^^^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr punctuation.gpr +> "../source/memory"); +#^^^^^^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr punctuation.gpr +> +> for Object_Dir use "../.obj/server"; +#^^^ source.gpr meta.project.gpr +# ^^^ source.gpr meta.project.gpr meta.attribute.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr +# ^^^^^^^^^^ source.gpr meta.project.gpr meta.attribute.gpr entity.other.attribute-name.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr +# ^^^ source.gpr meta.project.gpr meta.attribute.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.attribute.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr punctuation.gpr +> for Main use ("lsp-ada_driver.adb"); +#^^^ source.gpr meta.project.gpr +# ^^^ source.gpr meta.project.gpr meta.attribute.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr +# ^^^^ source.gpr meta.project.gpr meta.attribute.gpr entity.other.attribute-name.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr +# ^^^ source.gpr meta.project.gpr meta.attribute.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr punctuation.gpr +> -- Need C++ to use a linker compatible with libfswatch +#^^^ source.gpr meta.project.gpr +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.gpr meta.project.gpr comment.line.double-dash.gpr +> for Languages use ("Ada", "C++"); +#^^^ source.gpr meta.project.gpr +# ^^^ source.gpr meta.project.gpr meta.attribute.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr +# ^^^^^^^^^ source.gpr meta.project.gpr meta.attribute.gpr entity.other.attribute-name.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr +# ^^^ source.gpr meta.project.gpr meta.attribute.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.attribute.gpr punctuation.gpr +> +> package Naming is +#^^^ source.gpr meta.project.gpr +# ^^^^^^^ source.gpr meta.project.gpr meta.package.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr +# ^^^^^^ source.gpr meta.project.gpr meta.package.gpr entity.name.package.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr +# ^^ source.gpr meta.project.gpr meta.package.gpr keyword.gpr +> case LSP_Common.OS_API is +#^^^^^^ source.gpr meta.project.gpr meta.package.gpr +# ^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr keyword.control.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr +# ^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr variable.name.gpr variable.name.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr variable.name.gpr punctuation.gpr +# ^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr variable.name.gpr variable.name.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr +# ^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr keyword.control.gpr +> when "Windows_NT" => +#^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr +# ^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr keyword.control.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr +# ^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr keyword.control.gpr +> for Implementation ("LSP.Stdio_Streams.Initialize") +#^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr +# ^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr entity.other.attribute-name.gpr +# ^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr +> use "lsp-stdio_streams-init_windows.adb"; +#^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr punctuation.gpr +> +> when others => +#^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr +# ^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr keyword.control.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr +# ^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr keyword.control.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr +# ^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr keyword.control.gpr +> for Implementation ("LSP.Stdio_Streams.Initialize") +#^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr +# ^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr entity.other.attribute-name.gpr +# ^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr +> use "lsp-stdio_streams-init_others.adb"; +#^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr punctuation.gpr +> +> end case; +#^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr keyword.control.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr +# ^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr keyword.control.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr punctuation.gpr +> end Naming; +#^^^ source.gpr meta.project.gpr meta.package.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr +# ^^^^^^ source.gpr meta.project.gpr meta.package.gpr entity.name.package.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr punctuation.gpr +> +> package Compiler is +#^^^ source.gpr meta.project.gpr +# ^^^^^^^ source.gpr meta.project.gpr meta.package.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr +# ^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr entity.name.package.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr +# ^^ source.gpr meta.project.gpr meta.package.gpr keyword.gpr +> for Default_Switches ("Ada") use +#^^^^^^ source.gpr meta.project.gpr meta.package.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr +# ^^^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr entity.other.attribute-name.gpr +# ^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr keyword.gpr +> LSP_3_17.Compiler'Default_Switches ("Ada"); +#^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr +# ^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.attribute_reference.gpr variable.name.gpr variable.name.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.attribute_reference.gpr variable.name.gpr punctuation.gpr +# ^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.attribute_reference.gpr variable.name.gpr variable.name.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.attribute_reference.gpr punctuation.gpr +# ^^^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.attribute_reference.gpr meta.attribute_reference.attribute_name variable.name.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.attribute_reference.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.attribute_reference.gpr meta.attribute_reference.attribute_index punctuation.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.attribute_reference.gpr meta.attribute_reference.attribute_index string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.attribute_reference.gpr meta.attribute_reference.attribute_index string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.attribute_reference.gpr meta.attribute_reference.attribute_index string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.attribute_reference.gpr meta.attribute_reference.attribute_index punctuation.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr punctuation.gpr +> for Switches ("lsp-ada_driver.adb") use +#^^^^^^ source.gpr meta.project.gpr meta.package.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr +# ^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr entity.other.attribute-name.gpr +# ^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr keyword.gpr +> LSP_3_17.Compiler'Default_Switches ("Ada") +#^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr +# ^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.attribute_reference.gpr variable.name.gpr variable.name.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.attribute_reference.gpr variable.name.gpr punctuation.gpr +# ^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.attribute_reference.gpr variable.name.gpr variable.name.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.attribute_reference.gpr punctuation.gpr +# ^^^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.attribute_reference.gpr meta.attribute_reference.attribute_name variable.name.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.attribute_reference.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.attribute_reference.gpr meta.attribute_reference.attribute_index punctuation.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.attribute_reference.gpr meta.attribute_reference.attribute_index string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.attribute_reference.gpr meta.attribute_reference.attribute_index string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.attribute_reference.gpr meta.attribute_reference.attribute_index string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.attribute_reference.gpr meta.attribute_reference.attribute_index punctuation.gpr +> & ("-gnateDVERSION=""" & VERSION & """", +#^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr +# ^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr variable.name.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr punctuation.gpr +> "-gnateDBUILD_DATE=""" & BUILD_DATE & """"); +#^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr +# ^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr variable.name.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr punctuation.gpr +> for Switches ("s-memory.adb") use ("-g", "-O2", "-gnatpg"); +#^^^^^^ source.gpr meta.project.gpr meta.package.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr +# ^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr entity.other.attribute-name.gpr +# ^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr punctuation.gpr +> for Local_Configuration_Pragmas use "gnat.adc"; +#^^^^^^ source.gpr meta.project.gpr meta.package.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr entity.other.attribute-name.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr punctuation.gpr +> end Compiler; +#^^^ source.gpr meta.project.gpr meta.package.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr +# ^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr entity.name.package.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr punctuation.gpr +> +> package Linker is +#^^^ source.gpr meta.project.gpr +# ^^^^^^^ source.gpr meta.project.gpr meta.package.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr +# ^^^^^^ source.gpr meta.project.gpr meta.package.gpr entity.name.package.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr +# ^^ source.gpr meta.project.gpr meta.package.gpr keyword.gpr +> case Library_Type is +#^^^^^^ source.gpr meta.project.gpr meta.package.gpr +# ^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr keyword.control.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr +# ^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr variable.name.gpr variable.name.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr +# ^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr keyword.control.gpr +> when "static" | "static-pic" => +#^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr +# ^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr keyword.control.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr +# ^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr keyword.control.gpr +> case OS is +#^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr +# ^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr keyword.control.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr +# ^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr variable.name.gpr variable.name.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr +# ^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr keyword.control.gpr +> when "Windows_NT" => +#^^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr +# ^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr keyword.control.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr +# ^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr keyword.control.gpr +> for Switches ("Ada") use +#^^^^^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr +# ^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr entity.other.attribute-name.gpr +# ^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr keyword.gpr +> ("-static", "-static-libstdc++", "-static-libgcc", +#^^^^^^^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr meta.string_list.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr meta.string_list.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr meta.string_list.gpr punctuation.gpr +> "-fstack-protector"); +#^^^^^^^^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr meta.string_list.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr punctuation.gpr +> -- Stack protector forces libssp.a linking for libgmp.a +#^^^^^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr comment.line.double-dash.gpr +> when "osx" | "unix" => +#^^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr +# ^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr keyword.control.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr +# ^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr keyword.control.gpr +> -- On UNIX, we want to link libc dynamically: needed to find +#^^^^^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr comment.line.double-dash.gpr +> -- a recent version of iconv_open (and a recommended practice) +#^^^^^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr comment.line.double-dash.gpr +> for Switches ("Ada") use ("-static-libstdc++", "-static-libgcc"); +#^^^^^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr +# ^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr entity.other.attribute-name.gpr +# ^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr meta.string_list.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr meta.attribute.gpr punctuation.gpr +> end case; +#^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr meta.case.when.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr keyword.control.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr +# ^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr keyword.control.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr meta.case.gpr punctuation.gpr +> when "relocatable" => +#^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr +# ^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr keyword.control.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr +# ^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr keyword.control.gpr +> null; +#^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr +# ^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr +> end case; +#^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr meta.case.when.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr keyword.control.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr +# ^^^^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr keyword.control.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.case.gpr punctuation.gpr +> end Linker; +#^^^ source.gpr meta.project.gpr meta.package.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr +# ^^^^^^ source.gpr meta.project.gpr meta.package.gpr entity.name.package.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr punctuation.gpr +> +> package Binder is +#^^^ source.gpr meta.project.gpr +# ^^^^^^^ source.gpr meta.project.gpr meta.package.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr +# ^^^^^^ source.gpr meta.project.gpr meta.package.gpr entity.name.package.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr +# ^^ source.gpr meta.project.gpr meta.package.gpr keyword.gpr +> for Switches ("ada") use ("-E"); +#^^^^^^ source.gpr meta.project.gpr meta.package.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr +# ^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr entity.other.attribute-name.gpr +# ^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr meta.string_list.gpr punctuation.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr punctuation.gpr +> end Binder; +#^^^ source.gpr meta.project.gpr meta.package.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr +# ^^^^^^ source.gpr meta.project.gpr meta.package.gpr entity.name.package.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr punctuation.gpr +> +> package Builder is +#^^^ source.gpr meta.project.gpr +# ^^^^^^^ source.gpr meta.project.gpr meta.package.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr +# ^^^^^^^ source.gpr meta.project.gpr meta.package.gpr entity.name.package.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr +# ^^ source.gpr meta.project.gpr meta.package.gpr keyword.gpr +> for Executable ("lsp-ada_driver") use "ada_language_server"; +#^^^^^^ source.gpr meta.project.gpr meta.package.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr +# ^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr entity.other.attribute-name.gpr +# ^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^^^^^^^^^^^^^^^^^^^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr string.quoted.double.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr string.quoted.double.gpr punctuation.definition.string.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr meta.attribute.gpr punctuation.gpr +> end Builder; +#^^^ source.gpr meta.project.gpr meta.package.gpr +# ^^^ source.gpr meta.project.gpr meta.package.gpr keyword.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr +# ^^^^^^^ source.gpr meta.project.gpr meta.package.gpr entity.name.package.gpr +# ^ source.gpr meta.project.gpr meta.package.gpr punctuation.gpr +> +>end LSP_Server; +#^^^ source.gpr meta.project.gpr keyword.gpr +# ^ source.gpr meta.project.gpr +# ^^^^^^^^^^ source.gpr meta.project.gpr entity.name.project.gpr +# ^ source.gpr meta.project.gpr punctuation.gpr +> \ No newline at end of file From 9cc7a8f3eee2ae0d224ae4fdad706875a2211a38 Mon Sep 17 00:00:00 2001 From: Elie Richa Date: Tue, 20 Aug 2024 10:27:00 +0000 Subject: [PATCH 3/6] Add raw changelog from tag annotations --- CHANGELOG.md | 578 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 578 insertions(+) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 000000000..e8078ecbd --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,578 @@ +# Release notes + +## 24.0.6 (2024-06-25) + +* Add Alire support for GPR language +* Take into account selection for 'sort dependencies' refactoring +* Add basic support for ALIRE in VS Code tasks +* Add tasks for GNAT SAS, GNATdoc and GNATtest +* Auto-import action for invisible completion items +* Improve hover feature for GPR files +* Run `alr show` and `alr printenv` in a sequence +* Other bug fixes +* Load GNATtest tests in the Testing view. +* Run individual tests or subsets of tests from the Testing view. + + +## 24.0.5 (2024-04-13) + +* Display GPR errors and warnings in diagnostics +* Rework the GNATtest integration in VS Code +* Fix request traces in log files +* More requests for GPR language + - definition + - declaration + - completion +* Fix tasks based on current location + + +## 24.0.4 (2024-02-17) + +* Improve auto import suggestion +* Add all the missing workspace directories at once +* Add a 'Do not show again' button in missing dirs' popup +* Create a launch configuration for each main for attaching to a running process +* Make debug configurations have preLaunchTask fields pointing to build tasks +* Package a sourcemap file for the Ada extension +* Use case-sensitive search when renaming comments +* Handle null environment variable in vscode settings +* Implement a CodeLens provider of run and debug actions + + +## 24.0.3 (2023-12-07) +* Mac OS Apple M1 experimental support +* Tooltips for aspects, pragmas and attributes +* GPR LS: with clauses, Case/When statements in Symbols +* GPR LS: completion request for package & attributes +* Fix extension publishing on Marketplace + + +## 24.0.2 (2023-11-29) +* Experimental support on aarch64-linux platform +* Fix prepareCallHierarchy request +* Fix completion at the top of files +* Hover request in GPR files +* Depricate 'gnat' and 'gpr' tasks with 'ada' and 'spark' +* Create a parent node for with-clauses in documentSymbols request +* Organize settings into meaningful groups +* Show a popup to reload the window on environment changes + + +## 24.0.1 (2023-10-20) + +This is the first release using the LSP 3.17 protocol. +We utilized the JSON metamodel to generate message types +and interfaces for working with them. Due to significant +changes in many types, a large portion of the code was +rewritten. Although all our tests pass, it is possible +that some errors have not yet been discovered. +Nevertheless, the new protocol will enable us to +implement even more new features for Ada in the future. + +* Create a VS Code task to compile the current file +* Create a gdb debugging launch configuration +* Publish all diagnostics when refactorings fail + + +## 23.0.21 (2023-07-19) + +* Fix VS Code extension on Windows +* Fix 'Add subprogram box' command + + +## 23.0.20 (2023-07-12) + +* Add onTypeFormatting request initial implementation. To try edit `settings.json` with: +```json + "[ada]": { + "editor.formatOnType": true, + }, + "ada.onTypeFormatting.indentOnly": false, +``` +* Fixes and improvements in syntax highlighting + * Do not apply semantic tokens to unresolved identifiers + * Highlight 'True' and 'False' like 'null' +* Fixes and improvements in hovers +* Basic `.gpr` language support: [document symbols and diagnostics](https://github.com/AdaCore/ada_language_server/wiki/Project-file-editing) +* Support [more architectures](https://github.com/AdaCore/ada_language_server/issues/1151) and platforms in VS Code + * Change executable location to // + * Add `arm64` as a supported architecture + * Add initialization code that checks specific combinations of + architectures and platforms (e.g. arm64-darwin is supported even + though it actually uses the x64-darwin executable, will use x86_64 + target by default however) + * But no native ALS for `arm64` is provided for now +* Accept task bodies and packages for [subprogram box command](https://github.com/AdaCore/ada_language_server/issues/1153) +* publish diagnostics when a refactoring fails. + +![image](https://github.com/AdaCore/ada_language_server/assets/6430719/8b99bb79-eece-42e1-84d1-098640b7783d) + + +## 23.0.19 (2023-06-15) + +* Fix highlights for obsolescent entities +* Fix formatting for simple aggregate +* Fix the build script to avoid unusable binaries on macOS +* Fix --version reporting + + +## 23.0.18 (2023-05-26) + +* Better diagnostic on errors on the project loading +* Pack debug info into separate `.debug` files in GitHub Release assets +* Improvements of the SPARK support +* Clarify the message in hovers when in aggregate projects +* Add GPR tasks to build and run main subprograms + + +## 23.0.17 (2023-05-09) + +* Increasing performance of Goto_Declaration +* Use GNATdoc for all constructs. +* Improve error messages for project loading +* Substitute any variable reference when setting process.env +* Improve aspect completion +* Improve speed by simplify Is_Ada_File + + +## 23.0.16 (2023-04-05) + +* Add support for setTrace notification +* Fix the issue with Excluded_Source_Dirs [#1131](https://github.com/AdaCore/ada_language_server/issues/1131) +* Fix the issue formatting isse [#1133](https://github.com/AdaCore/ada_language_server/issues/1133) +* Fix the issue with typeless renaming [#1138](https://github.com/AdaCore/ada_language_server/issues/1138) + + +## 23.0.15 (2023-03-22) + +* Fix `--config=file.json` [command option](https://github.com/AdaCore/ada_language_server/issues/1108) +* Don't call `alr` if environment has been [already set](https://github.com/AdaCore/ada_language_server/issues/1129) +* Allow extra `args` in task configurations +* Use diagnostics to report renaming collisions +* Use `alr exec -- ` in tasks if there is `alire.toml` file in the workspace +* Allow Windows-1252 charset for `.gpr` files as fallback +* Work with no GNAT in the `PATH` in Alire crates + + +## 23.0.14 (2023-02-20) + +* Initial implementaiton of Alire support. +* Use libgpr2 to handle project files +* [Replace Type tool](https://github.com/AdaCore/ada_language_server/blob/master/doc/refactoring_tools.md#replace-type) + initial implementation +* [Sort Dependencies tool](https://github.com/AdaCore/ada_language_server/blob/master/doc/refactoring_tools.md#sort-dependencies) + initial implementation +* New --config option to specify a server configuration + [#1108](https://github.com/AdaCore/ada_language_server/issues/1108) +* use ms-vscode.cpptools for debugging (maybe not released yet) + +![Replace type](https://user-images.githubusercontent.com/22893717/217803466-ae5500fe-a071-4fe9-a669-24cd9c82917a.gif) + +![Sort dependencies](https://user-images.githubusercontent.com/22893717/217805066-ee69e6d6-4c9e-4075-8eb6-1fca7793c428.gif) + + +## 23.0.13 (2023-01-25) +## 23.0.12 (2022-12-28) + +* Activate snippet formatting in completion +* Dedicated command to reload the project +* Improvements in gnatpp/formatting +* Drop VS Code extension with degug information included + + +## 23.0.11 (2022-11-08) + +* Fix CONSTRAINT_ERROR if client doesn't support all semantic tokens +* Highlight gnatdoc tags +* Completion handling of unnamed params in a call +* Rename files according to naming scheme + + +## 23.0.10 (2022-09-19) + +VS code: Use per [workspace environment variables](https://github.com/AdaCore/ada_language_server/tree/master/integration/vscode/Code%20Samples/custom_env) +VS code: Add a walkthrough +ALS: Fixes for import package refactoring +ALS: Fixes for range formatting +ALS: Run pretty printer on completion snippets +ALS: Rename files according to project's naming scheme +ALS: Improve completion snippets in case of keywords +ALS: Add minimal doc for parameter completion + + +## 23.0.9 (2022-08-16) + +* Make VSCode commands Ada-specific +* GNATpp partial formatting integration +* Package "Native Debug" extension with Extension Pack +* Add `subprogram box` command +* Better completion for parameters +* Avoid suggesting same code action multiple times +* Display workspace popup only if workspace file +* Introduce Parameter tool initial implementation +* Add two spaces for Ada comments +* Switch build scripts to GCC 12 + + +## 23.0.8 (2022-07-20) + +* Make [binary releases](https://github.com/AdaCore/ada_language_server/releases) +* Fix precedence of pretty printer options +* Turn on documentRangeFormattingProvider +* GNATpp partial formatting integration +* Rewrite parameter completion +* Use completion weight in sortText +* Fix completion for predefined types +* Add useCompletionSnippets flag +* Limit number of logs in $ALS_HOME/.als +* Improve highlighter robustness +* Fix project handling for alire generated projects + + +## 23.0.7 (2022-06-07) + +* [Refactoring documentation](https://github.com/AdaCore/ada_language_server/blob/master/doc/refactoring_tools.md) +* Fix aggregate snippets +* Futher hover migration `gnatdoc` engine +* Implement semantic token range request +* Fix formatting (pretty printer) for square brackets +* Bundle JS files before packaginf `.vsix` file + + +## 23.0.6 (2022-05-02) + +* New refactoring: Change Parameter Type +* New refactoring: Change Parameter Default Value +* New refactoring: Pull Up Declaration +* New refactoring: Extract Subprogram +* Fix Call Hierarchy requests +* First steps with introducing GNATdoc for hovers +* New tasks for GNATprove integration +* Fix for aggregate completion +* Semantic tokens highlighter +* [Custom colors in VS Code](https://github.com/AdaCore/ada_language_server/wiki/Custom-colors-in-VS-Code) + +![Screenshot](https://user-images.githubusercontent.com/6430719/165566312-4bb5ac9f-f362-4331-906a-eee98d1a11fe.jpg) + + +## 23.0.5 (2022-04-05) + +* Pull Up Declaration initial implementation +* New tasks to Prove line/region with gnatprove +* Some bug fixes for completion + +[![Pull Up declaration video](https://user-images.githubusercontent.com/6430719/161923655-ac60df1d-7c59-407c-9bb1-c6912f9e4fd9.png)](https://user-images.githubusercontent.com/6430719/161922995-6eb4211f-63e8-4b74-bdcd-d49f1d1f4248.mp4) + + +## 23.0.4 (2022-03-08) + +* Initial implementation of Extract Subprogram Refactoring +* Signature help improvements +* Fixes in attribute and aspect completion +* Display gnatpp messages if any + + +## 23.0.3 (2022-02-01) + +* Recompute predefined tasks when scenario vars change +* Fix stale_reference_error exceptions once again +* A new completion provider for "end names" +* Add a VS Code task for gprclean +* A stub for GPR language server + + +## 23.0.2 (2021-12-01) + +* Fix some completion issues +* Implement cancel for FoldingRange request +* Use macos-10.15/ubuntu-18.04 for building on GH +* Do not raise errors for missing object dirs +* A new `Add_Parameter` refactoring tool + + +## 23.0.1 (2021-10-25) + +* Avoid duplicates in completion +* Implement partial response for Workspace_Symbols request +* Better completion for parameters +* A build task provider for gnatprove +* Use GCC 11 by alire to build the extension +* File renaming of top level decls +* Special case in completion for end names +* Сompletion for attributes +* New "Add Parameter" refactoring tool + + +## 22.0.11 (2021-09-16) + +* Remove "Imprecise fallback" popup +* Use line terminator of the document instead of hardcoded '\n' +* Increase stack size to prevent craches on deep nesting calls in LAL +* Index runtime files at startup for better completions +* Compute some completion properties lazily +* Filter the signatures using the previous designators +* Fix optional capabilities parsing for some clients (e.g. emacs) +* Add project loading diagnostics and code actions to help fixing +* Don't insert 'invisible' in subprogram snippets + + +## 22.0.10 (2021-08-25) + +* Implement library unit renames! +* Fix ALS executable name on Windows +* Fix errors when there are TABs and some Unicode in sources +* Fix issues with signature help requests + + +## 22.0.9 (2021-08-09) + +* Add a [Tutorial](https://github.com/AdaCore/ada_language_server/wiki/Getting-Started) +* Switch build to GNAT CE 2021 for Linux and Windows +* Improve support for files detached from a project +* Fixes for invisible symbol completion +* More entities in Workspace Symbols +* Fix signatureHelp for null subps and exprfuncs +* Set filterText for invisible symbols completion +* Fix snippet indentation characters +* Fix hightlight rules for `body` patterns + + +## 22.0.8 (2021-06-09) + +* Add a command to switch between spec and body files. +* Add Suppress Separate refactoring tool +* Update name of 'refactoring_rename' tool +* Silence notification for imprecise navigation +* Fix signatureHelp active parameter + Prefix notation +* Fix errors on win32 with case-insensitive URIs +* Fix refactoring import capatibility +* Change implementation of callHierarchy requests + + +## 22.0.7 (2021-04-27) + +* The signatureHelp support +* A fix for STALE_REFERENCE_ERROR +* Improvements/fixes for callHierarchy +* A fix for Change Subp Signatures refactorings + + +## 22.0.6 (2021-04-01) + +* Task provider for "build project"/"check file" tasks +* Named Parameters refactoring for more constructs +* Add basic support for preprocessor directives +* Add declaration in textDocument/Highlight results +* Fix symlink issue and a new followSymlinks setting + + +## 22.0.5 (2021-03-12) + +* Add 3 subprogram signature refactoring tools: + - Remove Parameter + - Change Parameter Mode + - Move Parameter Left/Right +* Suppress more LAL exception raised on invalid code. + + +## 22.0.4 (2021-02-13) + +* Use client side file monitoring if the client provides it. +* Improve refactoring rename +* Use iterators for completion results could prevent stack overflow on + a large completion list + + +## 22.0.3 (2020-12-14) + +* Improved safety for entity renaming +* Call hierarchy follows renaming declarations +* Workspace symbols and completion don't display local symbols any more +* Use static linking for the server + + +## 22.0.2 (2020-11-26) + +* Implementation of `textDocument/highlight` +* filesystem monitoring (off by default) + + +## 22.0.1 (2020-10-12) + +* Implement `textDocument/prepareRename` request +* New `relocateBuildTree` and `rootDir` configuration options +* Changes in `textDocument/declaration` behavior +* New a 'displayMethodAncestryOnNavigation' configuration option + + +## 21.0.17 (2020-09-22) + +* Add call hierarchy request from LSP 3.16 +* New Code Action to insert with-clause and a prefix + to an unresolved symbol in the editor. +* Show high level pragma in documentSymbols +* Dedicated README.md for vscode extension +* Change in the "Go to definition": List the overriding + subprograms only if we are clicking on a 'usage' name +* Add highlighting for gnatprep preprocessor directives + + +## 21.0.16 (2020-08-17) + +* Implementation of workspace/symbol request +* Mark completion with '(invisible)' text if needed +* Minor fixes in imprecise navigation and completion + + +## 21.0.15 (2020-08-07) + +* Restore advanced syntax highlighter. +* Documentation for invisible symbol completions +* Separate variables and constants in documentSymbol +* Fix mode position in subprogram snippets + + +## 21.0.14 (2020-07-15) + +* Completion for invisible symbols with a lower priority +* Completion for keywords, aspects, pragmas and attributes. +* Find access references in dotted name expressions +* Use Pretty_Printer switches from a project file for formatting + + +## 21.0.13 (2020-07-01) +* Minor fixex for hover, completion, etc +* Add foldComments setting +* Completion for aggregate of derived types. +* Faster JSON codecs +* Use incremental text changes + + +## 21.0.12 (2020-05-26) + +* Implementation document formatting request +* Handle aggregates for completion + + +## 21.0.11 (2020-05-15) + +* Revert for basic syntax highlighter for a while +* Some tuning in DocumentSymbols request +* Improvements in completion +* Display project name for aggregate project in hovers + + +## 21.0.10 (2020-04-07) + +* Improve rename in comments +* Minor fixes in folding +* Syntax highlighter refactoring +* Use case-insensitve check to filter completion +* Add documentation for completion items +* Enable work progress report for indexing +* Fix behavior when encountering an invalid project +* Add completion for subprogram parameters + + +## 21.0.9 (2020-03-13) + +Last changes: + +* Move the extension to the new Marketplace account. + + +## 21.0.8 (2020-03-13) + +We are going to move ALS extension to our new [corporative Marketplace account](https://marketplace.visualstudio.com/publishers/AdaCore). + +Please, uninstall the extension and then launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter. + +``` +ext install AdaCore.ada +``` + +Last changes: + +* Some syntax rules reorganization +* Improve folding for some constructs and comments +* Filter completion results with typed prefix +* Fix named parameter refactoring issues + + +## 21.0.7 (2020-03-02) + + * Initial implementation of the folding request + * Announce implementationProvider during initialization + + +## 21.0.6 (2020-02-13) + +* Advanced syntax highlighter for Ada by Patrick Kelly +* Basic highlighting for *.ali files by Patrick Kelly also +* More Ada snippets and new .gpr snippets + + +## 21.0.5 (2020-02-07) + +* Expirimental support of receiving incremental editor changes +* Hover responses for is abstract/null subprogram +* Implementation of "named parameters" refactoring +* Fix identifier highlightштп in vscode extension +* Consider runtime files as part of project files +* load dirs on demand when the project is implicit +* Fix Assetion_Error sor some `hover` request + + +## 21.0.4 (2020-01-23) + +* For `textDocument/documentSymbol` return a hierarchy of symbols + if the client supports it. +* Don't raise an exception on unknown method, return corresponing + erro code instead. +* Rename parameters in the whole hierarchy. + When renaming a parameter of a tagged type primitive, we now + also rename this parameter in all the base and overriding + subprograms. +* Don't send `executeCommandProvider` and `documentLinkProvider`, + because the server doesn't implement such requests. +* Remove performance bottleneck. +* Add `child` and `reference` ALS reference kinds(an als extension). +* Improve `textDocument/typeDefinition` to work with more declaration + kinds (not just with object_declaration). +* Improve project handling. + In the case that no project is specified, use an implicit + project which covers the subdirectories as well. This is slightly + friendlier for VScode users who don't have a .gpr at the root + of a hierarchy. + + +## 21.0.3 (2019-12-20) + +* The `textDocument/declaration` request is now implemented. +* The 'textDocument/implementation' request is now implemented. +* Find all references doesn't return 'end label' any more. +* Hover includes aspect clauses for subprogram declaration. +* The `textDocument/definition` request returns overrided and overriding + declarations. +* The `textDocument/rename` request renames the overrided and overriding + subprograms. + + +## 21.0.2 (2019-11-14) + +* Add Problem Matcher +* Rebase libadalang to 13a95e7af79c94c0ec830052fbf6aa06e90eefae +* Add support for the `$/progress` notification from LSP v3.15 +* Add a fallback mechanism for `definition` +* Allow "called_by" on an abstract definition +* Don't return error responses when Property_Error is raised +* Suppress noisy "loading"/"done loading" messages + + +## 21.0.1 (2019-10-16) + +* Suppress noisy "loading"/"done loading" messages. +* Don't return error responses when Property_Error is raised in Libadalang. +* Improve testsuite. + + From e77cb8d6e239c5806dcc4a02bafdc2f64ed3a400 Mon Sep 17 00:00:00 2001 From: Elie Richa Date: Tue, 20 Aug 2024 10:30:12 +0000 Subject: [PATCH 4/6] Fix markdown warnings --- CHANGELOG.md | 79 ++++++++++------------------------------------------ 1 file changed, 15 insertions(+), 64 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e8078ecbd..b04d501b2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,7 +13,6 @@ * Load GNATtest tests in the Testing view. * Run individual tests or subsets of tests from the Testing view. - ## 24.0.5 (2024-04-13) * Display GPR errors and warnings in diagnostics @@ -25,7 +24,6 @@ - completion * Fix tasks based on current location - ## 24.0.4 (2024-02-17) * Improve auto import suggestion @@ -38,16 +36,16 @@ * Handle null environment variable in vscode settings * Implement a CodeLens provider of run and debug actions - ## 24.0.3 (2023-12-07) + * Mac OS Apple M1 experimental support * Tooltips for aspects, pragmas and attributes * GPR LS: with clauses, Case/When statements in Symbols * GPR LS: completion request for package & attributes * Fix extension publishing on Marketplace - ## 24.0.2 (2023-11-29) + * Experimental support on aarch64-linux platform * Fix prepareCallHierarchy request * Fix completion at the top of files @@ -57,7 +55,6 @@ * Organize settings into meaningful groups * Show a popup to reload the window on environment changes - ## 24.0.1 (2023-10-20) This is the first release using the LSP 3.17 protocol. @@ -73,41 +70,40 @@ implement even more new features for Ada in the future. * Create a gdb debugging launch configuration * Publish all diagnostics when refactorings fail - ## 23.0.21 (2023-07-19) * Fix VS Code extension on Windows * Fix 'Add subprogram box' command - ## 23.0.20 (2023-07-12) * Add onTypeFormatting request initial implementation. To try edit `settings.json` with: + ```json "[ada]": { "editor.formatOnType": true, }, "ada.onTypeFormatting.indentOnly": false, ``` + * Fixes and improvements in syntax highlighting - * Do not apply semantic tokens to unresolved identifiers - * Highlight 'True' and 'False' like 'null' + * Do not apply semantic tokens to unresolved identifiers + * Highlight 'True' and 'False' like 'null' * Fixes and improvements in hovers * Basic `.gpr` language support: [document symbols and diagnostics](https://github.com/AdaCore/ada_language_server/wiki/Project-file-editing) * Support [more architectures](https://github.com/AdaCore/ada_language_server/issues/1151) and platforms in VS Code - * Change executable location to // - * Add `arm64` as a supported architecture - * Add initialization code that checks specific combinations of + * Change executable location to `//` + * Add `arm64` as a supported architecture + * Add initialization code that checks specific combinations of architectures and platforms (e.g. arm64-darwin is supported even though it actually uses the x64-darwin executable, will use x86_64 target by default however) - * But no native ALS for `arm64` is provided for now + * But no native ALS for `arm64` is provided for now * Accept task bodies and packages for [subprogram box command](https://github.com/AdaCore/ada_language_server/issues/1153) * publish diagnostics when a refactoring fails. ![image](https://github.com/AdaCore/ada_language_server/assets/6430719/8b99bb79-eece-42e1-84d1-098640b7783d) - ## 23.0.19 (2023-06-15) * Fix highlights for obsolescent entities @@ -115,7 +111,6 @@ implement even more new features for Ada in the future. * Fix the build script to avoid unusable binaries on macOS * Fix --version reporting - ## 23.0.18 (2023-05-26) * Better diagnostic on errors on the project loading @@ -124,7 +119,6 @@ implement even more new features for Ada in the future. * Clarify the message in hovers when in aggregate projects * Add GPR tasks to build and run main subprograms - ## 23.0.17 (2023-05-09) * Increasing performance of Goto_Declaration @@ -134,7 +128,6 @@ implement even more new features for Ada in the future. * Improve aspect completion * Improve speed by simplify Is_Ada_File - ## 23.0.16 (2023-04-05) * Add support for setTrace notification @@ -142,7 +135,6 @@ implement even more new features for Ada in the future. * Fix the issue formatting isse [#1133](https://github.com/AdaCore/ada_language_server/issues/1133) * Fix the issue with typeless renaming [#1138](https://github.com/AdaCore/ada_language_server/issues/1138) - ## 23.0.15 (2023-03-22) * Fix `--config=file.json` [command option](https://github.com/AdaCore/ada_language_server/issues/1108) @@ -153,7 +145,6 @@ implement even more new features for Ada in the future. * Allow Windows-1252 charset for `.gpr` files as fallback * Work with no GNAT in the `PATH` in Alire crates - ## 23.0.14 (2023-02-20) * Initial implementaiton of Alire support. @@ -170,8 +161,8 @@ implement even more new features for Ada in the future. ![Sort dependencies](https://user-images.githubusercontent.com/22893717/217805066-ee69e6d6-4c9e-4075-8eb6-1fca7793c428.gif) - ## 23.0.13 (2023-01-25) + ## 23.0.12 (2022-12-28) * Activate snippet formatting in completion @@ -179,7 +170,6 @@ implement even more new features for Ada in the future. * Improvements in gnatpp/formatting * Drop VS Code extension with degug information included - ## 23.0.11 (2022-11-08) * Fix CONSTRAINT_ERROR if client doesn't support all semantic tokens @@ -187,7 +177,6 @@ implement even more new features for Ada in the future. * Completion handling of unnamed params in a call * Rename files according to naming scheme - ## 23.0.10 (2022-09-19) VS code: Use per [workspace environment variables](https://github.com/AdaCore/ada_language_server/tree/master/integration/vscode/Code%20Samples/custom_env) @@ -199,7 +188,6 @@ ALS: Rename files according to project's naming scheme ALS: Improve completion snippets in case of keywords ALS: Add minimal doc for parameter completion - ## 23.0.9 (2022-08-16) * Make VSCode commands Ada-specific @@ -213,7 +201,6 @@ ALS: Add minimal doc for parameter completion * Add two spaces for Ada comments * Switch build scripts to GCC 12 - ## 23.0.8 (2022-07-20) * Make [binary releases](https://github.com/AdaCore/ada_language_server/releases) @@ -228,7 +215,6 @@ ALS: Add minimal doc for parameter completion * Improve highlighter robustness * Fix project handling for alire generated projects - ## 23.0.7 (2022-06-07) * [Refactoring documentation](https://github.com/AdaCore/ada_language_server/blob/master/doc/refactoring_tools.md) @@ -238,7 +224,6 @@ ALS: Add minimal doc for parameter completion * Fix formatting (pretty printer) for square brackets * Bundle JS files before packaginf `.vsix` file - ## 23.0.6 (2022-05-02) * New refactoring: Change Parameter Type @@ -254,7 +239,6 @@ ALS: Add minimal doc for parameter completion ![Screenshot](https://user-images.githubusercontent.com/6430719/165566312-4bb5ac9f-f362-4331-906a-eee98d1a11fe.jpg) - ## 23.0.5 (2022-04-05) * Pull Up Declaration initial implementation @@ -263,7 +247,6 @@ ALS: Add minimal doc for parameter completion [![Pull Up declaration video](https://user-images.githubusercontent.com/6430719/161923655-ac60df1d-7c59-407c-9bb1-c6912f9e4fd9.png)](https://user-images.githubusercontent.com/6430719/161922995-6eb4211f-63e8-4b74-bdcd-d49f1d1f4248.mp4) - ## 23.0.4 (2022-03-08) * Initial implementation of Extract Subprogram Refactoring @@ -271,7 +254,6 @@ ALS: Add minimal doc for parameter completion * Fixes in attribute and aspect completion * Display gnatpp messages if any - ## 23.0.3 (2022-02-01) * Recompute predefined tasks when scenario vars change @@ -280,7 +262,6 @@ ALS: Add minimal doc for parameter completion * Add a VS Code task for gprclean * A stub for GPR language server - ## 23.0.2 (2021-12-01) * Fix some completion issues @@ -289,7 +270,6 @@ ALS: Add minimal doc for parameter completion * Do not raise errors for missing object dirs * A new `Add_Parameter` refactoring tool - ## 23.0.1 (2021-10-25) * Avoid duplicates in completion @@ -302,7 +282,6 @@ ALS: Add minimal doc for parameter completion * Сompletion for attributes * New "Add Parameter" refactoring tool - ## 22.0.11 (2021-09-16) * Remove "Imprecise fallback" popup @@ -315,7 +294,6 @@ ALS: Add minimal doc for parameter completion * Add project loading diagnostics and code actions to help fixing * Don't insert 'invisible' in subprogram snippets - ## 22.0.10 (2021-08-25) * Implement library unit renames! @@ -323,7 +301,6 @@ ALS: Add minimal doc for parameter completion * Fix errors when there are TABs and some Unicode in sources * Fix issues with signature help requests - ## 22.0.9 (2021-08-09) * Add a [Tutorial](https://github.com/AdaCore/ada_language_server/wiki/Getting-Started) @@ -336,7 +313,6 @@ ALS: Add minimal doc for parameter completion * Fix snippet indentation characters * Fix hightlight rules for `body` patterns - ## 22.0.8 (2021-06-09) * Add a command to switch between spec and body files. @@ -348,7 +324,6 @@ ALS: Add minimal doc for parameter completion * Fix refactoring import capatibility * Change implementation of callHierarchy requests - ## 22.0.7 (2021-04-27) * The signatureHelp support @@ -356,7 +331,6 @@ ALS: Add minimal doc for parameter completion * Improvements/fixes for callHierarchy * A fix for Change Subp Signatures refactorings - ## 22.0.6 (2021-04-01) * Task provider for "build project"/"check file" tasks @@ -365,7 +339,6 @@ ALS: Add minimal doc for parameter completion * Add declaration in textDocument/Highlight results * Fix symlink issue and a new followSymlinks setting - ## 22.0.5 (2021-03-12) * Add 3 subprogram signature refactoring tools: @@ -374,7 +347,6 @@ ALS: Add minimal doc for parameter completion - Move Parameter Left/Right * Suppress more LAL exception raised on invalid code. - ## 22.0.4 (2021-02-13) * Use client side file monitoring if the client provides it. @@ -382,7 +354,6 @@ ALS: Add minimal doc for parameter completion * Use iterators for completion results could prevent stack overflow on a large completion list - ## 22.0.3 (2020-12-14) * Improved safety for entity renaming @@ -390,13 +361,11 @@ ALS: Add minimal doc for parameter completion * Workspace symbols and completion don't display local symbols any more * Use static linking for the server - ## 22.0.2 (2020-11-26) * Implementation of `textDocument/highlight` * filesystem monitoring (off by default) - ## 22.0.1 (2020-10-12) * Implement `textDocument/prepareRename` request @@ -404,7 +373,6 @@ ALS: Add minimal doc for parameter completion * Changes in `textDocument/declaration` behavior * New a 'displayMethodAncestryOnNavigation' configuration option - ## 21.0.17 (2020-09-22) * Add call hierarchy request from LSP 3.16 @@ -416,14 +384,12 @@ ALS: Add minimal doc for parameter completion subprograms only if we are clicking on a 'usage' name * Add highlighting for gnatprep preprocessor directives - ## 21.0.16 (2020-08-17) * Implementation of workspace/symbol request * Mark completion with '(invisible)' text if needed * Minor fixes in imprecise navigation and completion - ## 21.0.15 (2020-08-07) * Restore advanced syntax highlighter. @@ -431,7 +397,6 @@ ALS: Add minimal doc for parameter completion * Separate variables and constants in documentSymbol * Fix mode position in subprogram snippets - ## 21.0.14 (2020-07-15) * Completion for invisible symbols with a lower priority @@ -439,21 +404,19 @@ ALS: Add minimal doc for parameter completion * Find access references in dotted name expressions * Use Pretty_Printer switches from a project file for formatting - ## 21.0.13 (2020-07-01) + * Minor fixex for hover, completion, etc * Add foldComments setting * Completion for aggregate of derived types. * Faster JSON codecs * Use incremental text changes - ## 21.0.12 (2020-05-26) * Implementation document formatting request * Handle aggregates for completion - ## 21.0.11 (2020-05-15) * Revert for basic syntax highlighter for a while @@ -461,7 +424,6 @@ ALS: Add minimal doc for parameter completion * Improvements in completion * Display project name for aggregate project in hovers - ## 21.0.10 (2020-04-07) * Improve rename in comments @@ -473,21 +435,19 @@ ALS: Add minimal doc for parameter completion * Fix behavior when encountering an invalid project * Add completion for subprogram parameters - ## 21.0.9 (2020-03-13) Last changes: * Move the extension to the new Marketplace account. - ## 21.0.8 (2020-03-13) We are going to move ALS extension to our new [corporative Marketplace account](https://marketplace.visualstudio.com/publishers/AdaCore). Please, uninstall the extension and then launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter. -``` +```plain ext install AdaCore.ada ``` @@ -498,12 +458,10 @@ Last changes: * Filter completion results with typed prefix * Fix named parameter refactoring issues - ## 21.0.7 (2020-03-02) - * Initial implementation of the folding request - * Announce implementationProvider during initialization - +* Initial implementation of the folding request +* Announce implementationProvider during initialization ## 21.0.6 (2020-02-13) @@ -511,7 +469,6 @@ Last changes: * Basic highlighting for *.ali files by Patrick Kelly also * More Ada snippets and new .gpr snippets - ## 21.0.5 (2020-02-07) * Expirimental support of receiving incremental editor changes @@ -522,7 +479,6 @@ Last changes: * load dirs on demand when the project is implicit * Fix Assetion_Error sor some `hover` request - ## 21.0.4 (2020-01-23) * For `textDocument/documentSymbol` return a hierarchy of symbols @@ -545,7 +501,6 @@ Last changes: friendlier for VScode users who don't have a .gpr at the root of a hierarchy. - ## 21.0.3 (2019-12-20) * The `textDocument/declaration` request is now implemented. @@ -557,7 +512,6 @@ Last changes: * The `textDocument/rename` request renames the overrided and overriding subprograms. - ## 21.0.2 (2019-11-14) * Add Problem Matcher @@ -568,11 +522,8 @@ Last changes: * Don't return error responses when Property_Error is raised * Suppress noisy "loading"/"done loading" messages - ## 21.0.1 (2019-10-16) * Suppress noisy "loading"/"done loading" messages. * Don't return error responses when Property_Error is raised in Libadalang. * Improve testsuite. - - From 3527d5f91a3577920d3ee9f312b4b002678902d7 Mon Sep 17 00:00:00 2001 From: Elie Richa Date: Tue, 20 Aug 2024 12:54:59 +0000 Subject: [PATCH 5/6] Add change log section for the next release --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b04d501b2..f5302ee99 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Release notes + +## \ + +* Migrate build infrastructure to ALIRE +* Migrate VSIX publication infrastructure out of GitHub Actions + ## 24.0.6 (2024-06-25) * Add Alire support for GPR language From 46ffa686dddc40f2c29ff0f1f6d9db0b9ab94228 Mon Sep 17 00:00:00 2001 From: Elie Richa Date: Tue, 20 Aug 2024 12:55:44 +0000 Subject: [PATCH 6/6] Use CHANGELOG.md in GitHub actions --- .github/workflows/pack-binaries.sh | 7 +++++++ .github/workflows/release.sh | 5 ++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pack-binaries.sh b/.github/workflows/pack-binaries.sh index 5749b935e..d08cffe05 100755 --- a/.github/workflows/pack-binaries.sh +++ b/.github/workflows/pack-binaries.sh @@ -6,6 +6,13 @@ NODE_PLATFORM=$(node -e "console.log(process.platform)") NODE_ARCH=$(node -e "console.log(process.arch)") ext_dir=integration/vscode/ada +function create_changelog() { + # Replace the \ section with the tag + sed -e "s/^## \\\\$/## $TAG/" "$ext_dir/CHANGELOG.md" + ( cd "$ext_dir" diff --git a/.github/workflows/release.sh b/.github/workflows/release.sh index dd1b7aadd..46d61c97f 100755 --- a/.github/workflows/release.sh +++ b/.github/workflows/release.sh @@ -28,9 +28,8 @@ git fetch --tags function release_notes() { echo "# Release notes" - git show --no-patch --format=%n "$TAG" | - sed -e '1,/Release notes/d' - echo "" + # Select the content of the first section of CHANGELOG.md + sed -n -e '/^## \\/,/^##/p'