UNPKG

@sap/cds-lsp

Version:

Language server for CDS

204 lines (184 loc) 105 kB
{ "title": "JSON schema for .cdsprettier.json", "$schema": "http://json-schema.org/draft-06/schema#", "type": "object", "description": "This is a JSON schema representation for .cdsprettier.json config files", "properties": { "alignAfterKey" : { "category": "Alignment", "label": "Align _element names_ and **select** items after **key**", "description": "Align _element identifiers_ and **select** items after optional **key** keyword", "type": "boolean", "default": true, "sample": "using {\n Employee as Worker,\n WorkerIdent as WorkerID\n} from './employees';\n\n@requires : 'verified-user' @insertonly\n@PropertyRestrictions: true @Searchable: true\nentity Project : managed {\n key projectId : /* UUID */ String(20) = 4;\n owner : Association to one Worker @cds.on.insert /*1*/: #worker;\n tasks : Composition of many {\n taskId : Integer;\n }\n urgency : Integer = 2;\n deadline : DateTime @cds.on.insert : /*2*/ #now;\n}\n\ncontext Records {\n entity ProjectRecords as\n select from Project as project\n join Tasks as task\n on task.projectRef = 'p' + project.projectId\n and project.deadline is not null\n mixin {\n taskCategory : Association to one TaskCategory\n\n on taskCategory.active = true;\n rejectionReason : Association to one Description;\n }\n into {\n project.projectId : String,\n project.deadline as deadline,\n project.owner as owner\n }\n union\n select from GeneralProjects\n mixin {}\n into {\n 'none' as projectId\n }\n actions {\n action printReport() returns Integer;\n function sortTasks() returns array of Project;\n };\n\n entity ArchivedProjects as\n select from Archived {\n\n\n // only expose projectId\n projectId\n }\n}\n\ntype Identifier : Integer;\n/**\n * # The Description\n *\n * This is a very precise sentence as it has minimal key phrases and will format properly if extended.\n *\n * * * *\n *\n * - _italicized_ and **bold**\n * - **bold** or _italicized_\n *\n * 1. efficient\n * 2. scalable\n * | name | tenure |\n * | ------- | -----: |\n * | alice | 10 |\n * | bob |3 |\n * | manager |25 |\n */\ntype Description : String;\n" }, "alignAnnotations" : { "category": "Alignment", "label": "Align _annotations_", "description": "Align _annotations_", "type": "boolean", "default": true, "subOptions" : ["alignPreAnnotations","alignPostAnnotations","alignColonsInAnnotations","alignValuesInAnnotations"], "sample": "using {\n Employee as Worker,\n WorkerIdent as WorkerID\n} from './employees';\n\n@requires : 'verified-user' @insertonly\n@PropertyRestrictions: true @Searchable: true\nentity Project : managed {\n key projectId : /* UUID */ String(20) = 4;\n owner : Association to one Worker @cds.on.insert /*1*/: #worker;\n tasks : Composition of many {\n taskId : Integer;\n }\n urgency : Integer = 2;\n deadline : DateTime @cds.on.insert : /*2*/ #now;\n}\n\ncontext Records {\n entity ProjectRecords as\n select from Project as project\n join Tasks as task\n on task.projectRef = 'p' + project.projectId\n and project.deadline is not null\n mixin {\n taskCategory : Association to one TaskCategory\n\n on taskCategory.active = true;\n rejectionReason : Association to one Description;\n }\n into {\n project.projectId : String,\n project.deadline as deadline,\n project.owner as owner\n }\n union\n select from GeneralProjects\n mixin {}\n into {\n 'none' as projectId\n }\n actions {\n action printReport() returns Integer;\n function sortTasks() returns array of Project;\n };\n\n entity ArchivedProjects as\n select from Archived {\n\n\n // only expose projectId\n projectId\n }\n}\n\ntype Identifier : Integer;\n/**\n * # The Description\n *\n * This is a very precise sentence as it has minimal key phrases and will format properly if extended.\n *\n * * * *\n *\n * - _italicized_ and **bold**\n * - **bold** or _italicized_\n *\n * 1. efficient\n * 2. scalable\n * | name | tenure |\n * | ------- | -----: |\n * | alice | 10 |\n * | bob |3 |\n * | manager |25 |\n */\ntype Description : String;\n" }, "alignPreAnnotations" : { "category": "Alignment", "label": "pre-annotations", "description": "Align annotations before items. If multiple annotations exist in a line, they are aligned in a tabular way", "type": "boolean", "default": true, "parentOption" : "alignAnnotations", "sample": "using {\n Employee as Worker,\n WorkerIdent as WorkerID\n} from './employees';\n\n@requires : 'verified-user' @insertonly\n@PropertyRestrictions: true @Searchable: true\nentity Project : managed {\n key projectId : /* UUID */ String(20) = 4;\n owner : Association to one Worker @cds.on.insert /*1*/: #worker;\n tasks : Composition of many {\n taskId : Integer;\n }\n urgency : Integer = 2;\n deadline : DateTime @cds.on.insert : /*2*/ #now;\n}\n\ncontext Records {\n entity ProjectRecords as\n select from Project as project\n join Tasks as task\n on task.projectRef = 'p' + project.projectId\n and project.deadline is not null\n mixin {\n taskCategory : Association to one TaskCategory\n\n on taskCategory.active = true;\n rejectionReason : Association to one Description;\n }\n into {\n project.projectId : String,\n project.deadline as deadline,\n project.owner as owner\n }\n union\n select from GeneralProjects\n mixin {}\n into {\n 'none' as projectId\n }\n actions {\n action printReport() returns Integer;\n function sortTasks() returns array of Project;\n };\n\n entity ArchivedProjects as\n select from Archived {\n\n\n // only expose projectId\n projectId\n }\n}\n\ntype Identifier : Integer;\n/**\n * # The Description\n *\n * This is a very precise sentence as it has minimal key phrases and will format properly if extended.\n *\n * * * *\n *\n * - _italicized_ and **bold**\n * - **bold** or _italicized_\n *\n * 1. efficient\n * 2. scalable\n * | name | tenure |\n * | ------- | -----: |\n * | alice | 10 |\n * | bob |3 |\n * | manager |25 |\n */\ntype Description : String;\n" }, "alignPostAnnotations" : { "category": "Alignment", "label": "post-annotations", "description": "Align annotations after items", "type": "boolean", "default": true, "parentOption" : "alignAnnotations", "sample": "using {\n Employee as Worker,\n WorkerIdent as WorkerID\n} from './employees';\n\n@requires : 'verified-user' @insertonly\n@PropertyRestrictions: true @Searchable: true\nentity Project : managed {\n key projectId : /* UUID */ String(20) = 4;\n owner : Association to one Worker @cds.on.insert /*1*/: #worker;\n tasks : Composition of many {\n taskId : Integer;\n }\n urgency : Integer = 2;\n deadline : DateTime @cds.on.insert : /*2*/ #now;\n}\n\ncontext Records {\n entity ProjectRecords as\n select from Project as project\n join Tasks as task\n on task.projectRef = 'p' + project.projectId\n and project.deadline is not null\n mixin {\n taskCategory : Association to one TaskCategory\n\n on taskCategory.active = true;\n rejectionReason : Association to one Description;\n }\n into {\n project.projectId : String,\n project.deadline as deadline,\n project.owner as owner\n }\n union\n select from GeneralProjects\n mixin {}\n into {\n 'none' as projectId\n }\n actions {\n action printReport() returns Integer;\n function sortTasks() returns array of Project;\n };\n\n entity ArchivedProjects as\n select from Archived {\n\n\n // only expose projectId\n projectId\n }\n}\n\ntype Identifier : Integer;\n/**\n * # The Description\n *\n * This is a very precise sentence as it has minimal key phrases and will format properly if extended.\n *\n * * * *\n *\n * - _italicized_ and **bold**\n * - **bold** or _italicized_\n *\n * 1. efficient\n * 2. scalable\n * | name | tenure |\n * | ------- | -----: |\n * | alice | 10 |\n * | bob |3 |\n * | manager |25 |\n */\ntype Description : String;\n" }, "alignColonsInAnnotations" : { "category": "Alignment", "label": "colons", "description": "Align _colons_ in annotations", "type": "boolean", "default": true, "parentOption" : "alignAnnotations", "sample": "using {\n Employee as Worker,\n WorkerIdent as WorkerID\n} from './employees';\n\n@requires : 'verified-user' @insertonly\n@PropertyRestrictions: true @Searchable: true\nentity Project : managed {\n key projectId : /* UUID */ String(20) = 4;\n owner : Association to one Worker @cds.on.insert /*1*/: #worker;\n tasks : Composition of many {\n taskId : Integer;\n }\n urgency : Integer = 2;\n deadline : DateTime @cds.on.insert : /*2*/ #now;\n}\n\ncontext Records {\n entity ProjectRecords as\n select from Project as project\n join Tasks as task\n on task.projectRef = 'p' + project.projectId\n and project.deadline is not null\n mixin {\n taskCategory : Association to one TaskCategory\n\n on taskCategory.active = true;\n rejectionReason : Association to one Description;\n }\n into {\n project.projectId : String,\n project.deadline as deadline,\n project.owner as owner\n }\n union\n select from GeneralProjects\n mixin {}\n into {\n 'none' as projectId\n }\n actions {\n action printReport() returns Integer;\n function sortTasks() returns array of Project;\n };\n\n entity ArchivedProjects as\n select from Archived {\n\n\n // only expose projectId\n projectId\n }\n}\n\ntype Identifier : Integer;\n/**\n * # The Description\n *\n * This is a very precise sentence as it has minimal key phrases and will format properly if extended.\n *\n * * * *\n *\n * - _italicized_ and **bold**\n * - **bold** or _italicized_\n *\n * 1. efficient\n * 2. scalable\n * | name | tenure |\n * | ------- | -----: |\n * | alice | 10 |\n * | bob |3 |\n * | manager |25 |\n */\ntype Description : String;\n" }, "alignValuesInAnnotations" : { "category": "Alignment", "label": "values", "description": "Align _values_ in annotations", "type": "boolean", "default": true, "parentOption" : "alignAnnotations", "sample": "using {\n Employee as Worker,\n WorkerIdent as WorkerID\n} from './employees';\n\n@requires : 'verified-user' @insertonly\n@PropertyRestrictions: true @Searchable: true\nentity Project : managed {\n key projectId : /* UUID */ String(20) = 4;\n owner : Association to one Worker @cds.on.insert /*1*/: #worker;\n tasks : Composition of many {\n taskId : Integer;\n }\n urgency : Integer = 2;\n deadline : DateTime @cds.on.insert : /*2*/ #now;\n}\n\ncontext Records {\n entity ProjectRecords as\n select from Project as project\n join Tasks as task\n on task.projectRef = 'p' + project.projectId\n and project.deadline is not null\n mixin {\n taskCategory : Association to one TaskCategory\n\n on taskCategory.active = true;\n rejectionReason : Association to one Description;\n }\n into {\n project.projectId : String,\n project.deadline as deadline,\n project.owner as owner\n }\n union\n select from GeneralProjects\n mixin {}\n into {\n 'none' as projectId\n }\n actions {\n action printReport() returns Integer;\n function sortTasks() returns array of Project;\n };\n\n entity ArchivedProjects as\n select from Archived {\n\n\n // only expose projectId\n projectId\n }\n}\n\ntype Identifier : Integer;\n/**\n * # The Description\n *\n * This is a very precise sentence as it has minimal key phrases and will format properly if extended.\n *\n * * * *\n *\n * - _italicized_ and **bold**\n * - **bold** or _italicized_\n *\n * 1. efficient\n * 2. scalable\n * | name | tenure |\n * | ------- | -----: |\n * | alice | 10 |\n * | bob |3 |\n * | manager |25 |\n */\ntype Description : String;\n" }, "alignActionsAndFunctions" : { "category": "Alignment", "label": "Align _actions_ and _functions_", "description": "Align parts of _actions_ and _functions_", "type": "boolean", "default": true, "subOptions" : ["alignActionNames","alignActionReturns"], "sample": "using {\n Employee as Worker,\n WorkerIdent as WorkerID\n} from './employees';\n\n@requires : 'verified-user' @insertonly\n@PropertyRestrictions: true @Searchable: true\nentity Project : managed {\n key projectId : /* UUID */ String(20) = 4;\n owner : Association to one Worker @cds.on.insert /*1*/: #worker;\n tasks : Composition of many {\n taskId : Integer;\n }\n urgency : Integer = 2;\n deadline : DateTime @cds.on.insert : /*2*/ #now;\n}\n\ncontext Records {\n entity ProjectRecords as\n select from Project as project\n join Tasks as task\n on task.projectRef = 'p' + project.projectId\n and project.deadline is not null\n mixin {\n taskCategory : Association to one TaskCategory\n\n on taskCategory.active = true;\n rejectionReason : Association to one Description;\n }\n into {\n project.projectId : String,\n project.deadline as deadline,\n project.owner as owner\n }\n union\n select from GeneralProjects\n mixin {}\n into {\n 'none' as projectId\n }\n actions {\n action printReport() returns Integer;\n function sortTasks() returns array of Project;\n };\n\n entity ArchivedProjects as\n select from Archived {\n\n\n // only expose projectId\n projectId\n }\n}\n\ntype Identifier : Integer;\n/**\n * # The Description\n *\n * This is a very precise sentence as it has minimal key phrases and will format properly if extended.\n *\n * * * *\n *\n * - _italicized_ and **bold**\n * - **bold** or _italicized_\n *\n * 1. efficient\n * 2. scalable\n * | name | tenure |\n * | ------- | -----: |\n * | alice | 10 |\n * | bob |3 |\n * | manager |25 |\n */\ntype Description : String;\n" }, "alignActionNames" : { "category": "Alignment", "label": "_names_", "description": "Align the names of _functions_ and _actions_", "type": "boolean", "default": true, "parentOption" : "alignActionsAndFunctions", "sample": "using {\n Employee as Worker,\n WorkerIdent as WorkerID\n} from './employees';\n\n@requires : 'verified-user' @insertonly\n@PropertyRestrictions: true @Searchable: true\nentity Project : managed {\n key projectId : /* UUID */ String(20) = 4;\n owner : Association to one Worker @cds.on.insert /*1*/: #worker;\n tasks : Composition of many {\n taskId : Integer;\n }\n urgency : Integer = 2;\n deadline : DateTime @cds.on.insert : /*2*/ #now;\n}\n\ncontext Records {\n entity ProjectRecords as\n select from Project as project\n join Tasks as task\n on task.projectRef = 'p' + project.projectId\n and project.deadline is not null\n mixin {\n taskCategory : Association to one TaskCategory\n\n on taskCategory.active = true;\n rejectionReason : Association to one Description;\n }\n into {\n project.projectId : String,\n project.deadline as deadline,\n project.owner as owner\n }\n union\n select from GeneralProjects\n mixin {}\n into {\n 'none' as projectId\n }\n actions {\n action printReport() returns Integer;\n function sortTasks() returns array of Project;\n };\n\n entity ArchivedProjects as\n select from Archived {\n\n\n // only expose projectId\n projectId\n }\n}\n\ntype Identifier : Integer;\n/**\n * # The Description\n *\n * This is a very precise sentence as it has minimal key phrases and will format properly if extended.\n *\n * * * *\n *\n * - _italicized_ and **bold**\n * - **bold** or _italicized_\n *\n * 1. efficient\n * 2. scalable\n * | name | tenure |\n * | ------- | -----: |\n * | alice | 10 |\n * | bob |3 |\n * | manager |25 |\n */\ntype Description : String;\n" }, "alignActionReturns" : { "category": "Alignment", "label": "**returns** keyword", "description": "Align the **returns** keyword of _actions_ and _functions_", "type": "boolean", "default": true, "parentOption" : "alignActionsAndFunctions", "sample": "using {\n Employee as Worker,\n WorkerIdent as WorkerID\n} from './employees';\n\n@requires : 'verified-user' @insertonly\n@PropertyRestrictions: true @Searchable: true\nentity Project : managed {\n key projectId : /* UUID */ String(20) = 4;\n owner : Association to one Worker @cds.on.insert /*1*/: #worker;\n tasks : Composition of many {\n taskId : Integer;\n }\n urgency : Integer = 2;\n deadline : DateTime @cds.on.insert : /*2*/ #now;\n}\n\ncontext Records {\n entity ProjectRecords as\n select from Project as project\n join Tasks as task\n on task.projectRef = 'p' + project.projectId\n and project.deadline is not null\n mixin {\n taskCategory : Association to one TaskCategory\n\n on taskCategory.active = true;\n rejectionReason : Association to one Description;\n }\n into {\n project.projectId : String,\n project.deadline as deadline,\n project.owner as owner\n }\n union\n select from GeneralProjects\n mixin {}\n into {\n 'none' as projectId\n }\n actions {\n action printReport() returns Integer;\n function sortTasks() returns array of Project;\n };\n\n entity ArchivedProjects as\n select from Archived {\n\n\n // only expose projectId\n projectId\n }\n}\n\ntype Identifier : Integer;\n/**\n * # The Description\n *\n * This is a very precise sentence as it has minimal key phrases and will format properly if extended.\n *\n * * * *\n *\n * - _italicized_ and **bold**\n * - **bold** or _italicized_\n *\n * 1. efficient\n * 2. scalable\n * | name | tenure |\n * | ------- | -----: |\n * | alice | 10 |\n * | bob |3 |\n * | manager |25 |\n */\ntype Description : String;\n" }, "alignAs" : { "category": "Alignment", "label": "Align **as**", "description": "Align the **as** keyword", "type": "boolean", "default": true, "subOptions" : ["alignAsInEntities","alignAsInSelectItems","alignAsInUsing"], "sample": "using {\n Employee as Worker,\n WorkerIdent as WorkerID\n} from './employees';\n\n@requires : 'verified-user' @insertonly\n@PropertyRestrictions: true @Searchable: true\nentity Project : managed {\n key projectId : /* UUID */ String(20) = 4;\n owner : Association to one Worker @cds.on.insert /*1*/: #worker;\n tasks : Composition of many {\n taskId : Integer;\n }\n urgency : Integer = 2;\n deadline : DateTime @cds.on.insert : /*2*/ #now;\n}\n\ncontext Records {\n entity ProjectRecords as\n select from Project as project\n join Tasks as task\n on task.projectRef = 'p' + project.projectId\n and project.deadline is not null\n mixin {\n taskCategory : Association to one TaskCategory\n\n on taskCategory.active = true;\n rejectionReason : Association to one Description;\n }\n into {\n project.projectId : String,\n project.deadline as deadline,\n project.owner as owner\n }\n union\n select from GeneralProjects\n mixin {}\n into {\n 'none' as projectId\n }\n actions {\n action printReport() returns Integer;\n function sortTasks() returns array of Project;\n };\n\n entity ArchivedProjects as\n select from Archived {\n\n\n // only expose projectId\n projectId\n }\n}\n\ntype Identifier : Integer;\n/**\n * # The Description\n *\n * This is a very precise sentence as it has minimal key phrases and will format properly if extended.\n *\n * * * *\n *\n * - _italicized_ and **bold**\n * - **bold** or _italicized_\n *\n * 1. efficient\n * 2. scalable\n * | name | tenure |\n * | ------- | -----: |\n * | alice | 10 |\n * | bob |3 |\n * | manager |25 |\n */\ntype Description : String;\n" }, "alignAsInEntities" : { "category": "Alignment", "label": "in entities", "description": "Align the **as** keyword in entities. Alignment scope: encompassing context", "type": "boolean", "default": true, "parentOption" : "alignAs", "sample": "using {\n Employee as Worker,\n WorkerIdent as WorkerID\n} from './employees';\n\n@requires : 'verified-user' @insertonly\n@PropertyRestrictions: true @Searchable: true\nentity Project : managed {\n key projectId : /* UUID */ String(20) = 4;\n owner : Association to one Worker @cds.on.insert /*1*/: #worker;\n tasks : Composition of many {\n taskId : Integer;\n }\n urgency : Integer = 2;\n deadline : DateTime @cds.on.insert : /*2*/ #now;\n}\n\ncontext Records {\n entity ProjectRecords as\n select from Project as project\n join Tasks as task\n on task.projectRef = 'p' + project.projectId\n and project.deadline is not null\n mixin {\n taskCategory : Association to one TaskCategory\n\n on taskCategory.active = true;\n rejectionReason : Association to one Description;\n }\n into {\n project.projectId : String,\n project.deadline as deadline,\n project.owner as owner\n }\n union\n select from GeneralProjects\n mixin {}\n into {\n 'none' as projectId\n }\n actions {\n action printReport() returns Integer;\n function sortTasks() returns array of Project;\n };\n\n entity ArchivedProjects as\n select from Archived {\n\n\n // only expose projectId\n projectId\n }\n}\n\ntype Identifier : Integer;\n/**\n * # The Description\n *\n * This is a very precise sentence as it has minimal key phrases and will format properly if extended.\n *\n * * * *\n *\n * - _italicized_ and **bold**\n * - **bold** or _italicized_\n *\n * 1. efficient\n * 2. scalable\n * | name | tenure |\n * | ------- | -----: |\n * | alice | 10 |\n * | bob |3 |\n * | manager |25 |\n */\ntype Description : String;\n" }, "alignAsInSelectItems" : { "category": "Alignment", "label": "in **select** items", "description": "Align the **as** keyword in entity **select** items", "type": "boolean", "default": true, "parentOption" : "alignAs", "sample": "using {\n Employee as Worker,\n WorkerIdent as WorkerID\n} from './employees';\n\n@requires : 'verified-user' @insertonly\n@PropertyRestrictions: true @Searchable: true\nentity Project : managed {\n key projectId : /* UUID */ String(20) = 4;\n owner : Association to one Worker @cds.on.insert /*1*/: #worker;\n tasks : Composition of many {\n taskId : Integer;\n }\n urgency : Integer = 2;\n deadline : DateTime @cds.on.insert : /*2*/ #now;\n}\n\ncontext Records {\n entity ProjectRecords as\n select from Project as project\n join Tasks as task\n on task.projectRef = 'p' + project.projectId\n and project.deadline is not null\n mixin {\n taskCategory : Association to one TaskCategory\n\n on taskCategory.active = true;\n rejectionReason : Association to one Description;\n }\n into {\n project.projectId : String,\n project.deadline as deadline,\n project.owner as owner\n }\n union\n select from GeneralProjects\n mixin {}\n into {\n 'none' as projectId\n }\n actions {\n action printReport() returns Integer;\n function sortTasks() returns array of Project;\n };\n\n entity ArchivedProjects as\n select from Archived {\n\n\n // only expose projectId\n projectId\n }\n}\n\ntype Identifier : Integer;\n/**\n * # The Description\n *\n * This is a very precise sentence as it has minimal key phrases and will format properly if extended.\n *\n * * * *\n *\n * - _italicized_ and **bold**\n * - **bold** or _italicized_\n *\n * 1. efficient\n * 2. scalable\n * | name | tenure |\n * | ------- | -----: |\n * | alice | 10 |\n * | bob |3 |\n * | manager |25 |\n */\ntype Description : String;\n" }, "alignAsInUsing" : { "category": "Alignment", "label": "in **using**", "description": "Align the **as** keyword in **using** statements", "type": "boolean", "default": true, "parentOption" : "alignAs", "sample": "using {\n Employee as Worker,\n WorkerIdent as WorkerID\n} from './employees';\n\n@requires : 'verified-user' @insertonly\n@PropertyRestrictions: true @Searchable: true\nentity Project : managed {\n key projectId : /* UUID */ String(20) = 4;\n owner : Association to one Worker @cds.on.insert /*1*/: #worker;\n tasks : Composition of many {\n taskId : Integer;\n }\n urgency : Integer = 2;\n deadline : DateTime @cds.on.insert : /*2*/ #now;\n}\n\ncontext Records {\n entity ProjectRecords as\n select from Project as project\n join Tasks as task\n on task.projectRef = 'p' + project.projectId\n and project.deadline is not null\n mixin {\n taskCategory : Association to one TaskCategory\n\n on taskCategory.active = true;\n rejectionReason : Association to one Description;\n }\n into {\n project.projectId : String,\n project.deadline as deadline,\n project.owner as owner\n }\n union\n select from GeneralProjects\n mixin {}\n into {\n 'none' as projectId\n }\n actions {\n action printReport() returns Integer;\n function sortTasks() returns array of Project;\n };\n\n entity ArchivedProjects as\n select from Archived {\n\n\n // only expose projectId\n projectId\n }\n}\n\ntype Identifier : Integer;\n/**\n * # The Description\n *\n * This is a very precise sentence as it has minimal key phrases and will format properly if extended.\n *\n * * * *\n *\n * - _italicized_ and **bold**\n * - **bold** or _italicized_\n *\n * 1. efficient\n * 2. scalable\n * | name | tenure |\n * | ------- | -----: |\n * | alice | 10 |\n * | bob |3 |\n * | manager |25 |\n */\ntype Description : String;\n" }, "alignExpressionsAndConditions" : { "category": "Alignment", "label": "Align _expressions_ and _conditions_", "description": "Align parts of _expressions_ and _conditions_, including left- and right-hand side and operator", "type": "boolean", "default": true, "subOptions" : ["alignExprAndCondWithinBlock"], "sample": "using {\n Employee as Worker,\n WorkerIdent as WorkerID\n} from './employees';\n\n@requires : 'verified-user' @insertonly\n@PropertyRestrictions: true @Searchable: true\nentity Project : managed {\n key projectId : /* UUID */ String(20) = 4;\n owner : Association to one Worker @cds.on.insert /*1*/: #worker;\n tasks : Composition of many {\n taskId : Integer;\n }\n urgency : Integer = 2;\n deadline : DateTime @cds.on.insert : /*2*/ #now;\n}\n\ncontext Records {\n entity ProjectRecords as\n select from Project as project\n join Tasks as task\n on task.projectRef = 'p' + project.projectId\n and project.deadline is not null\n mixin {\n taskCategory : Association to one TaskCategory\n\n on taskCategory.active = true;\n rejectionReason : Association to one Description;\n }\n into {\n project.projectId : String,\n project.deadline as deadline,\n project.owner as owner\n }\n union\n select from GeneralProjects\n mixin {}\n into {\n 'none' as projectId\n }\n actions {\n action printReport() returns Integer;\n function sortTasks() returns array of Project;\n };\n\n entity ArchivedProjects as\n select from Archived {\n\n\n // only expose projectId\n projectId\n }\n}\n\ntype Identifier : Integer;\n/**\n * # The Description\n *\n * This is a very precise sentence as it has minimal key phrases and will format properly if extended.\n *\n * * * *\n *\n * - _italicized_ and **bold**\n * - **bold** or _italicized_\n *\n * 1. efficient\n * 2. scalable\n * | name | tenure |\n * | ------- | -----: |\n * | alice | 10 |\n * | bob |3 |\n * | manager |25 |\n */\ntype Description : String;\n" }, "alignExprAndCondWithinBlock" : { "category": "Alignment", "label": "within block", "description": "Align parts of _expressions_ and _conditions_ within the encompassing block rather than throughout the whole statement", "type": "boolean", "default": true, "parentOption" : "alignExpressionsAndConditions", "sample": "using {\n Employee as Worker,\n WorkerIdent as WorkerID\n} from './employees';\n\n@requires : 'verified-user' @insertonly\n@PropertyRestrictions: true @Searchable: true\nentity Project : managed {\n key projectId : /* UUID */ String(20) = 4;\n owner : Association to one Worker @cds.on.insert /*1*/: #worker;\n tasks : Composition of many {\n taskId : Integer;\n }\n urgency : Integer = 2;\n deadline : DateTime @cds.on.insert : /*2*/ #now;\n}\n\ncontext Records {\n entity ProjectRecords as\n select from Project as project\n join Tasks as task\n on task.projectRef = 'p' + project.projectId\n and project.deadline is not null\n mixin {\n taskCategory : Association to one TaskCategory\n\n on taskCategory.active = true;\n rejectionReason : Association to one Description;\n }\n into {\n project.projectId : String,\n project.deadline as deadline,\n project.owner as owner\n }\n union\n select from GeneralProjects\n mixin {}\n into {\n 'none' as projectId\n }\n actions {\n action printReport() returns Integer;\n function sortTasks() returns array of Project;\n };\n\n entity ArchivedProjects as\n select from Archived {\n\n\n // only expose projectId\n projectId\n }\n}\n\ntype Identifier : Integer;\n/**\n * # The Description\n *\n * This is a very precise sentence as it has minimal key phrases and will format properly if extended.\n *\n * * * *\n *\n * - _italicized_ and **bold**\n * - **bold** or _italicized_\n *\n * 1. efficient\n * 2. scalable\n * | name | tenure |\n * | ------- | -----: |\n * | alice | 10 |\n * | bob |3 |\n * | manager |25 |\n */\ntype Description : String;\n" }, "alignTypes" : { "category": "Alignment", "label": "Align _types_ of elements", "description": "Align _element types_ within entities, type or annotation specifications", "type": "boolean", "default": true, "subOptions" : ["alignColonsBeforeTypes","alignEqualsAfterTypes","alignTypesWithinBlock","alignCompositionStructToRight"], "sample": "using {\n Employee as Worker,\n WorkerIdent as WorkerID\n} from './employees';\n\n@requires : 'verified-user' @insertonly\n@PropertyRestrictions: true @Searchable: true\nentity Project : managed {\n key projectId : /* UUID */ String(20) = 4;\n owner : Association to one Worker @cds.on.insert /*1*/: #worker;\n tasks : Composition of many {\n taskId : Integer;\n }\n urgency : Integer = 2;\n deadline : DateTime @cds.on.insert : /*2*/ #now;\n}\n\ncontext Records {\n entity ProjectRecords as\n select from Project as project\n join Tasks as task\n on task.projectRef = 'p' + project.projectId\n and project.deadline is not null\n mixin {\n taskCategory : Association to one TaskCategory\n\n on taskCategory.active = true;\n rejectionReason : Association to one Description;\n }\n into {\n project.projectId : String,\n project.deadline as deadline,\n project.owner as owner\n }\n union\n select from GeneralProjects\n mixin {}\n into {\n 'none' as projectId\n }\n actions {\n action printReport() returns Integer;\n function sortTasks() returns array of Project;\n };\n\n entity ArchivedProjects as\n select from Archived {\n\n\n // only expose projectId\n projectId\n }\n}\n\ntype Identifier : Integer;\n/**\n * # The Description\n *\n * This is a very precise sentence as it has minimal key phrases and will format properly if extended.\n *\n * * * *\n *\n * - _italicized_ and **bold**\n * - **bold** or _italicized_\n *\n * 1. efficient\n * 2. scalable\n * | name | tenure |\n * | ------- | -----: |\n * | alice | 10 |\n * | bob |3 |\n * | manager |25 |\n */\ntype Description : String;\n" }, "alignColonsBeforeTypes" : { "category": "Alignment", "label": "including _colons_", "description": "Align _colons_ before element types", "type": "boolean", "default": true, "parentOption" : "alignTypes", "sample": "using {\n Employee as Worker,\n WorkerIdent as WorkerID\n} from './employees';\n\n@requires : 'verified-user' @insertonly\n@PropertyRestrictions: true @Searchable: true\nentity Project : managed {\n key projectId : /* UUID */ String(20) = 4;\n owner : Association to one Worker @cds.on.insert /*1*/: #worker;\n tasks : Composition of many {\n taskId : Integer;\n }\n urgency : Integer = 2;\n deadline : DateTime @cds.on.insert : /*2*/ #now;\n}\n\ncontext Records {\n entity ProjectRecords as\n select from Project as project\n join Tasks as task\n on task.projectRef = 'p' + project.projectId\n and project.deadline is not null\n mixin {\n taskCategory : Association to one TaskCategory\n\n on taskCategory.active = true;\n rejectionReason : Association to one Description;\n }\n into {\n project.projectId : String,\n project.deadline as deadline,\n project.owner as owner\n }\n union\n select from GeneralProjects\n mixin {}\n into {\n 'none' as projectId\n }\n actions {\n action printReport() returns Integer;\n function sortTasks() returns array of Project;\n };\n\n entity ArchivedProjects as\n select from Archived {\n\n\n // only expose projectId\n projectId\n }\n}\n\ntype Identifier : Integer;\n/**\n * # The Description\n *\n * This is a very precise sentence as it has minimal key phrases and will format properly if extended.\n *\n * * * *\n *\n * - _italicized_ and **bold**\n * - **bold** or _italicized_\n *\n * 1. efficient\n * 2. scalable\n * | name | tenure |\n * | ------- | -----: |\n * | alice | 10 |\n * | bob |3 |\n * | manager |25 |\n */\ntype Description : String;\n" }, "alignEqualsAfterTypes" : { "category": "Alignment", "label": "including _assignment operators_", "description": "Align _assignment operators_ **=** after element types", "type": "boolean", "default": true, "parentOption" : "alignTypes", "sample": "using {\n Employee as Worker,\n WorkerIdent as WorkerID\n} from './employees';\n\n@requires : 'verified-user' @insertonly\n@PropertyRestrictions: true @Searchable: true\nentity Project : managed {\n key projectId : /* UUID */ String(20) = 4;\n owner : Association to one Worker @cds.on.insert /*1*/: #worker;\n tasks : Composition of many {\n taskId : Integer;\n }\n urgency : Integer = 2;\n deadline : DateTime @cds.on.insert : /*2*/ #now;\n}\n\ncontext Records {\n entity ProjectRecords as\n select from Project as project\n join Tasks as task\n on task.projectRef = 'p' + project.projectId\n and project.deadline is not null\n mixin {\n taskCategory : Association to one TaskCategory\n\n on taskCategory.active = true;\n rejectionReason : Association to one Description;\n }\n into {\n project.projectId : String,\n project.deadline as deadline,\n project.owner as owner\n }\n union\n select from GeneralProjects\n mixin {}\n into {\n 'none' as projectId\n }\n actions {\n action printReport() returns Integer;\n function sortTasks() returns array of Project;\n };\n\n entity ArchivedProjects as\n select from Archived {\n\n\n // only expose projectId\n projectId\n }\n}\n\ntype Identifier : Integer;\n/**\n * # The Description\n *\n * This is a very precise sentence as it has minimal key phrases and will format properly if extended.\n *\n * * * *\n *\n * - _italicized_ and **bold**\n * - **bold** or _italicized_\n *\n * 1. efficient\n * 2. scalable\n * | name | tenure |\n * | ------- | -----: |\n * | alice | 10 |\n * | bob |3 |\n * | manager |25 |\n */\ntype Description : String;\n" }, "alignTypesWithinBlock" : { "category": "Alignment", "label": "within block", "description": "Align _element types_ (and _colons_) within the encompassing block rather than throughout the whole statement", "type": "boolean", "default": true, "parentOption" : "alignTypes", "sample": "using {\n Employee as Worker,\n WorkerIdent as WorkerID\n} from './employees';\n\n@requires : 'verified-user' @insertonly\n@PropertyRestrictions: true @Searchable: true\nentity Project : managed {\n key projectId : /* UUID */ String(20) = 4;\n owner : Association to one Worker @cds.on.insert /*1*/: #worker;\n tasks : Composition of many {\n taskId : Integer;\n }\n urgency : Integer = 2;\n deadline : DateTime @cds.on.insert : /*2*/ #now;\n}\n\ncontext Records {\n entity ProjectRecords as\n select from Project as project\n join Tasks as task\n on task.projectRef = 'p' + project.projectId\n and project.deadline is not null\n mixin {\n taskCategory : Association to one TaskCategory\n\n on taskCategory.active = true;\n rejectionReason : Association to one Description;\n }\n into {\n project.projectId : String,\n project.deadline as deadline,\n project.owner as owner\n }\n union\n select from GeneralProjects\n mixin {}\n into {\n 'none' as projectId\n }\n actions {\n action printReport() returns Integer;\n function sortTasks() returns array of Project;\n };\n\n entity ArchivedProjects as\n select from Archived {\n\n\n // only expose projectId\n projectId\n }\n}\n\ntype Identifier : Integer;\n/**\n * # The Description\n *\n * This is a very precise sentence as it has minimal key phrases and will format properly if extended.\n *\n * * * *\n *\n * - _italicized_ and **bold**\n * - **bold** or _italicized_\n *\n * 1. efficient\n * 2. scalable\n * | name | tenure |\n * | ------- | -----: |\n * | alice | 10 |\n * | bob |3 |\n * | manager |25 |\n */\ntype Description : String;\n" }, "alignCompositionStructToRight" : { "category": "Alignment", "label": "Align _struct_ in **composition** to the right", "description": "Align _struct_ defined in **composition** to the right", "type": "boolean", "default": true, "parentOption" : "alignTypes", "sample": "using {\n Employee as Worker,\n WorkerIdent as WorkerID\n} from './employees';\n\n@requires : 'verified-user' @insertonly\n@PropertyRestrictions: true @Searchable: true\nentity Project : managed {\n key projectId : /* UUID */ String(20) = 4;\n owner : Association to one Worker @cds.on.insert /*1*/: #worker;\n tasks : Composition of many {\n taskId : Integer;\n }\n urgency : Integer = 2;\n deadline : DateTime @cds.on.insert : /*2*/ #now;\n}\n\ncontext Records {\n entity ProjectRecords as\n select from Project as project\n join Tasks as task\n on task.projectRef = 'p' + project.projectId\n