@sap/cds-lsp
Version:
Language server for CDS
204 lines (184 loc) • 105 kB
JSON
{
"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