Skip to content

Commit b05c108

Browse files
EmilySeville7cfgEmilySeville7cfg
authored andcommitted
feat: add schema for settings.yml
1 parent a6d254e commit b05c108

File tree

1 file changed

+144
-0
lines changed

1 file changed

+144
-0
lines changed

schemas/settings.json

Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
{
2+
"$schema": "http://json-schema.org/draft-07/schema",
3+
"definitions": {
4+
"color": {
5+
"type": "string",
6+
"enum": [
7+
"red",
8+
"green",
9+
"yellow",
10+
"blue",
11+
"magenta",
12+
"cyan",
13+
"bold",
14+
"underlined",
15+
"red_bold",
16+
"green_bold",
17+
"yellow_bold",
18+
"blue_bold",
19+
"magenta_bold",
20+
"cyan_bold",
21+
"red_underlined",
22+
"green_underlined",
23+
"yellow_underlined",
24+
"blue_underlined",
25+
"magenta_underlined",
26+
"cyan_underlined",
27+
"~"
28+
],
29+
"default": "~"
30+
}
31+
},
32+
"title": "settings",
33+
"description": "Settings of the current application",
34+
"type": "object",
35+
"properties": {
36+
"source_dir": {
37+
"title": "source dir",
38+
"description": "A directory with source files of the current script",
39+
"type": "string",
40+
"minLength": 1,
41+
"default": "src"
42+
},
43+
"config_path": {
44+
"title": "config path",
45+
"description": "A path to bashly.yml of the current script",
46+
"type": "string",
47+
"minLength": 1,
48+
"default": "%{source_dir}/bashly.yml"
49+
},
50+
"target_dir": {
51+
"title": "target dir",
52+
"description": "A directory of the current script",
53+
"type": "string",
54+
"minLength": 1,
55+
"default": "."
56+
},
57+
"lib_dir": {
58+
"title": "lib dir",
59+
"description": "A directory to common library files of the current script",
60+
"type": "string",
61+
"minLength": 1,
62+
"default": "lib"
63+
},
64+
"strict": {
65+
"title": "strict",
66+
"description": "Bash initialiation options of the current script",
67+
"oneOf": [
68+
{
69+
"type": "boolean"
70+
},
71+
{
72+
"type": "string",
73+
"examples": [
74+
"set -o pipefail"
75+
]
76+
}
77+
],
78+
"default": false
79+
},
80+
"tab_indent": {
81+
"title": "tab indent",
82+
"description": "Whether to use tabs in the the current script",
83+
"type": "boolean",
84+
"default": false
85+
},
86+
"compact_short_flags": {
87+
"title": "compact short flags",
88+
"description": "Whether to expand short flags of the current script",
89+
"type": "boolean",
90+
"default": true
91+
},
92+
"env": {
93+
"title": "env",
94+
"description": "Whether to include development related comments in the current script",
95+
"type": "string",
96+
"enum": [
97+
"development",
98+
"production"
99+
],
100+
"default": "development"
101+
},
102+
"partials_extension": {
103+
"title": "partials extension",
104+
"description": "A partial snippet extension of the current script",
105+
"type": "string",
106+
"minLength": 1,
107+
"default": "sh"
108+
},
109+
"usage_colors": {
110+
"title": "usage colors",
111+
"description": "Usage colors of the current script",
112+
"type": "object",
113+
"properties": {
114+
"caption": {
115+
"title": "caption",
116+
"description": "A caption color of the current script",
117+
"$ref": "#/definitions/color"
118+
},
119+
"command": {
120+
"title": "command",
121+
"description": "A command color of the current script",
122+
"$ref": "#/definitions/color"
123+
},
124+
"arg": {
125+
"title": "arg",
126+
"description": "An argument color of the current script",
127+
"$ref": "#/definitions/color"
128+
},
129+
"flag": {
130+
"title": "flag",
131+
"description": "A flag color of the current script",
132+
"$ref": "#/definitions/color"
133+
},
134+
"environment_variable": {
135+
"title": "environment variable",
136+
"description": "An environment variable color of the current script",
137+
"$ref": "#/definitions/color"
138+
}
139+
},
140+
"additionalProperties": false
141+
}
142+
},
143+
"additionalProperties": false
144+
}

0 commit comments

Comments
 (0)