{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://github.com/sasjs/lint/blob/main/sasjslint-schema.json", "type": "object", "title": "SASjs Lint Config File", "description": "The SASjs Lint Config file provides the settings for customising SAS code style in your project.", "default": { "noTrailingSpaces": true, "noEncodedPasswords": true, "hasDoxygenHeader": true, "noSpacesInFileNames": true, "lowerCaseFileNames": true, "maxLineLength": 80, "noTabIndentation": true, "indentationMultiple": 2 }, "examples": [ { "noTrailingSpaces": true, "noEncodedPasswords": true, "hasDoxygenHeader": true, "noSpacesInFileNames": true, "lowerCaseFileNames": true, "maxLineLength": 80, "noTabIndentation": true, "indentationMultiple": 4 } ], "properties": { "noTrailingSpaces": { "$id": "#/properties/noTrailingSpaces", "type": "boolean", "title": "noTrailingSpaces", "description": "Enforces no trailing spaces in lines of SAS code. Shows a warning when they are present.", "default": true, "examples": [true, false] }, "noEncodedPasswords": { "$id": "#/properties/noEncodedPasswords", "type": "boolean", "title": "noEncodedPasswords", "description": "Enforces no encoded passwords such as {SAS001} or {SASENC} in lines of SAS code. Shows an error when they are present.", "default": true, "examples": [true, false] }, "hasDoxygenHeader": { "$id": "#/properties/hasDoxygenHeader", "type": "boolean", "title": "hasDoxygenHeader", "description": "Enforces the presence of a Doxygen header in the form of a comment block at the start of each SAS file. Shows a warning when one is absent.", "default": true, "examples": [true, false] }, "noSpacesInFileNames": { "$id": "#/properties/noSpacesInFileNames", "type": "boolean", "title": "noSpacesInFileNames", "description": "Enforces no spaces in file names. Shows a warning when they are present.", "default": true, "examples": [true, false] }, "lowerCaseFileNames": { "$id": "#/properties/lowerCaseFileNames", "type": "boolean", "title": "lowerCaseFileNames", "description": "Enforces no uppercase characters in file names. Shows a warning when they are present.", "default": true, "examples": [true, false] }, "maxLineLength": { "$id": "#/properties/maxLineLength", "type": "number", "title": "maxLineLength", "description": "Enforces a configurable maximum line length. Shows a warning for lines exceeding this length.", "default": 80, "examples": [60, 80, 120] }, "noTabIndentation": { "$id": "#/properties/noTabIndentation", "type": "boolean", "title": "noTabIndentation", "description": "Enforces no indentation using tabs. Shows a warning when a line starts with a tab.", "default": true, "examples": [true, false] }, "indentationMultiple": { "$id": "#/properties/indentationMultiple", "type": "number", "title": "indentationMultiple", "description": "Enforces a configurable multiple for the number of spaces for indentation. Shows a warning for lines that are not indented by a multiple of this number.", "default": 2, "examples": [2, 3, 4] } } }