setta 0.0.2.dev0__py3-none-any.whl → 0.0.3.dev1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
setta/__init__.py CHANGED
@@ -1 +1 @@
1
- __version__ = "0.0.2.dev0"
1
+ __version__ = "0.0.3.dev1"
setta/cli/logger.py CHANGED
@@ -26,9 +26,7 @@ class Setta:
26
26
  if root_path:
27
27
  self.root_path = Path(root_path)
28
28
  else:
29
- self.root_path = Path(
30
- os.environ.get(CODE_FOLDER_ENV_VARIABLE, os.path.relpath(os.getcwd()))
31
- )
29
+ self.root_path = Path(os.environ.get(CODE_FOLDER_ENV_VARIABLE, "."))
32
30
 
33
31
  self.name_path_type_to_id = {}
34
32
 
@@ -1,15 +1,15 @@
1
1
  import copy
2
- import os
3
2
  from datetime import datetime
4
3
  from pathlib import Path
5
4
 
6
5
  from setta.code_gen.export_selected import (
7
6
  export_selected,
8
7
  get_gen_code_template_var,
8
+ get_section_name,
9
9
  get_section_type,
10
10
  get_selected_section_variant,
11
11
  )
12
- from setta.code_gen.find_placeholders import remove_tp, tp
12
+ from setta.code_gen.find_placeholders import parse_template_var, tp
13
13
  from setta.code_gen.python.generate_code import (
14
14
  convert_var_names_to_readable_form,
15
15
  generate_code,
@@ -23,6 +23,7 @@ from setta.code_gen.utils import process_refs
23
23
  from setta.utils.constants import (
24
24
  CODE_FOLDER,
25
25
  CODE_FOLDER_ENV_VARIABLE,
26
+ CWD,
26
27
  USER_SETTINGS,
27
28
  C,
28
29
  )
@@ -56,13 +57,13 @@ async def runCode(message, lsp_writers):
56
57
  id_to_relpath = {}
57
58
  for sid in to_write:
58
59
  curr_code = code_dict[sid]
59
- rel_path = write_code_to_file(
60
+ rel_path_str = write_code_to_file(
60
61
  folder_path,
61
62
  curr_code["sanitized_full_name"],
62
63
  curr_code["code"],
63
64
  curr_code["codeLanguage"],
64
65
  )
65
- id_to_relpath[sid] = rel_path
66
+ id_to_relpath[sid] = rel_path_str
66
67
 
67
68
  # Only run code that isn't referenced by other code
68
69
  run_order = [
@@ -71,8 +72,8 @@ async def runCode(message, lsp_writers):
71
72
 
72
73
  # create a wrapper script if there are multiple files to run
73
74
  if len(run_order) > 1:
74
- rel_path = create_wrapper_bash_script(folder_path, run_order, code_dict)
75
- command = codeCallStr(rel_path, "bash")
75
+ rel_path_str = create_wrapper_bash_script(folder_path, run_order, code_dict)
76
+ command = codeCallStr(rel_path_str, "bash")
76
77
  else:
77
78
  sid = run_order[0]
78
79
  command = codeCallStr(id_to_relpath[sid], code_dict[sid]["codeLanguage"])
@@ -280,17 +281,41 @@ def get_template_var_replacement_value_fn(
280
281
  chars_before_template_var,
281
282
  )
282
283
  else:
283
- section_dependencies.append(template_var["sectionId"])
284
- keyword = remove_tp(keyword)
285
- return construct_module_path(folder_path, keyword)
284
+ return process_non_hardcoded_template_var(
285
+ keyword,
286
+ template_var,
287
+ exporter_obj,
288
+ section_dependencies,
289
+ folder_path,
290
+ )
291
+
286
292
  elif codeLanguage == "bash":
287
- section_dependencies.append(template_var["sectionId"])
288
- keyword = sanitize_section_path_full_name(remove_tp(keyword))
289
- return codePathStr(Path(os.path.relpath(folder_path)), keyword, "python")
293
+ return process_non_hardcoded_template_var(
294
+ keyword, template_var, exporter_obj, section_dependencies, folder_path
295
+ )
290
296
 
291
297
  return get_template_var_replacement_value
292
298
 
293
299
 
300
+ def process_non_hardcoded_template_var(
301
+ keyword, template_var, exporter_obj, section_dependencies, folder_path
302
+ ):
303
+ keyword, keyword_type = parse_template_var(keyword)
304
+ if keyword_type == C.TEMPLATE_VAR_IMPORT_PATH_SUFFIX:
305
+ section_dependencies.append(template_var["sectionId"])
306
+ return construct_module_path(folder_path, keyword)
307
+ elif keyword_type == C.TEMPLATE_VAR_VERSION_SUFFIX:
308
+ version_name = get_selected_section_variant(
309
+ exporter_obj.p, template_var["sectionId"]
310
+ )["name"]
311
+ section_name = get_section_name(exporter_obj.p, template_var["sectionId"])
312
+ return f'"{section_name}@{version_name}"'
313
+ elif keyword_type == C.TEMPLATE_VAR_FILE_PATH_SUFFIX:
314
+ section_dependencies.append(template_var["sectionId"])
315
+ keyword = sanitize_section_path_full_name(keyword)
316
+ return f'"{codePathStr(folder_path, keyword, "python")}"'
317
+
318
+
294
319
  def get_absolute_decl_position_from_rel_position(
295
320
  template_var, var_name_to_decl_rel_position_dict
296
321
  ):
@@ -337,7 +362,7 @@ def preprocess_template_vars(code, evRefs, templateVars, cursor_position):
337
362
 
338
363
 
339
364
  def convert_folder_path_to_module_path(folder_path):
340
- return os.path.relpath(folder_path).replace("/", ".").replace("\\", ".")
365
+ return folder_path.relative_to(CWD).as_posix().replace("/", ".").replace("\\", ".")
341
366
 
342
367
 
343
368
  def languageToExtension(x):
@@ -351,7 +376,7 @@ def languageToCall(x):
351
376
  def codePathStr(folder_path, filename, codeLanguage):
352
377
  extension = languageToExtension(codeLanguage)
353
378
  output = folder_path / f"{filename}{extension}"
354
- return os.path.relpath(output).replace(os.sep, "/")
379
+ return output.relative_to(CWD).as_posix()
355
380
 
356
381
 
357
382
  def codeCallStr(filepath, codeLanguage):
@@ -407,28 +432,19 @@ def create_timestamped_folder(base_dir, prefix=""):
407
432
  folder_name = f"_{prefix}{timestamp}"
408
433
  # Full path for the new folder
409
434
  folder_path = Path(base_dir) / folder_name
410
-
411
- if not os.path.exists(folder_path):
412
- try:
413
- os.makedirs(folder_path)
414
- except FileExistsError:
415
- pass
416
-
435
+ folder_path.mkdir(parents=True, exist_ok=True)
417
436
  return folder_path
418
437
 
419
438
 
420
439
  def write_code_to_file(folder_path, filename, code, codeLanguage):
421
440
  extension = languageToExtension(codeLanguage)
422
441
  filepath = write_string_to_file(folder_path, f"{filename}{extension}", code)
423
- return os.path.relpath(filepath).replace(os.sep, "/")
442
+ return filepath.relative_to(CWD).as_posix()
424
443
 
425
444
 
426
445
  def write_string_to_file(folder, filename, content):
427
- # Full path to the file
428
- file_path = os.path.join(folder, filename)
429
- # Write the content to the file
430
- with open(file_path, "w") as file:
431
- file.write(content)
446
+ file_path = Path(folder) / filename
447
+ file_path.write_text(content)
432
448
  return file_path
433
449
 
434
450
 
@@ -11,10 +11,6 @@ from .find_placeholders import tp
11
11
  from .utils import process_refs
12
12
 
13
13
 
14
- def get_args_var_name(var_name):
15
- return f"{C.ARGS_PREFIX}{var_name}"
16
-
17
-
18
14
  def get_section_type(p, id):
19
15
  ui_type_id = p["sections"][id]["uiTypeId"]
20
16
  ui_type = p["uiTypes"].get(ui_type_id) or BASE_UI_TYPES[ui_type_id]
@@ -144,7 +140,7 @@ def no_entered_value(value):
144
140
 
145
141
 
146
142
  def get_var_name(var_name_mapping):
147
- return f"__x{len(var_name_mapping)}"
143
+ return f"{C.ARGS_PREFIX}x{len(var_name_mapping)}"
148
144
 
149
145
 
150
146
  def get_for_section_id(p, section_id):
@@ -9,5 +9,16 @@ def remove_tp(x):
9
9
  return x.lstrip(C.TEMPLATE_PREFIX)
10
10
 
11
11
 
12
- def needs_yaml(script):
13
- return tp("SETTA_YAML_FILE") in script
12
+ def parse_template_var(template_str: str) -> tuple[str, str | None]:
13
+ suffixes = [
14
+ f"{tp(C.TEMPLATE_VAR_IMPORT_PATH_SUFFIX)}",
15
+ f"{tp(C.TEMPLATE_VAR_VERSION_SUFFIX)}",
16
+ f"{tp(C.TEMPLATE_VAR_FILE_PATH_SUFFIX)}",
17
+ ]
18
+
19
+ for suffix in suffixes:
20
+ if template_str.endswith(suffix):
21
+ base_str = remove_tp(template_str[: -len(suffix)])
22
+ return base_str, remove_tp(suffix)
23
+
24
+ return template_str, None
setta/database/backup.py CHANGED
@@ -1,5 +1,4 @@
1
1
  import logging
2
- import os
3
2
  import shutil
4
3
  import time
5
4
  from datetime import datetime
@@ -54,7 +53,7 @@ def create_backup(db_path):
54
53
  ensure_backup_dir_exists()
55
54
  timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
56
55
  backup_filename = f"backup_{timestamp}.db"
57
- backup_path = os.path.join(DB_BACKUP_FOLDER, backup_filename)
56
+ backup_path = DB_BACKUP_FOLDER / backup_filename
58
57
  logger.debug(f"creating backup: {backup_path}")
59
58
 
60
59
  shutil.copy2(db_path, backup_path)
setta/database/db_objs.py CHANGED
@@ -1,6 +1,8 @@
1
1
  import queue
2
2
  import sqlite3
3
3
 
4
+ from setta.utils.constants import SETTA_FILES_FOLDER
5
+
4
6
 
5
7
  class DB:
6
8
  def __init__(self, path):
@@ -100,3 +102,7 @@ class DBQueue:
100
102
  def __exit__(self, *args, **kwargs):
101
103
  self.curr.__exit__(*args, **kwargs)
102
104
  self.put_back_curr()
105
+
106
+
107
+ def get_default_db_path():
108
+ return SETTA_FILES_FOLDER / "setta.db"
@@ -1,9 +1,9 @@
1
1
  import logging
2
- import os
3
- from pathlib import Path
4
2
 
5
3
  import yaml
6
4
 
5
+ from setta.utils.constants import SETTA_FILES_FOLDER
6
+
7
7
  logger = logging.getLogger(__name__)
8
8
 
9
9
 
@@ -26,7 +26,7 @@ def export_raw(db, filename):
26
26
  yaml.add_representer(str, literal_presenter)
27
27
 
28
28
  # For YAML export, PyYAML is used; ensure it's installed
29
- filepath = Path(os.getcwd()) / f"{filename}_export.yaml"
29
+ filepath = SETTA_FILES_FOLDER / f"{filename}_export.yaml"
30
30
  logger.debug(f"saving raw db to {filepath}")
31
31
  with open(filepath, "w") as file:
32
32
  yaml.dump(database_export, file, allow_unicode=True, sort_keys=False)
@@ -1,16 +1,15 @@
1
- import os
2
1
  from collections import defaultdict
3
- from pathlib import Path
4
2
 
5
3
  import yaml
6
4
  from yaml.representer import Representer
7
5
 
8
6
  from setta.database.db.projects.load import load_full_project
7
+ from setta.utils.constants import SETTA_FILES_FOLDER
9
8
 
10
9
 
11
10
  def get_configs_and_root_folder(db, filename):
12
11
  # export defaultdict the same way as dict
13
12
  yaml.add_representer(defaultdict, Representer.represent_dict)
14
13
  configs = load_full_project(db)
15
- root_folder = Path(os.getcwd()) / f"{filename}_export"
14
+ root_folder = SETTA_FILES_FOLDER / f"{filename}_export"
16
15
  return configs, root_folder
@@ -11,7 +11,7 @@ from setta.database.db.sections.jsonSource import (
11
11
  remove_json_source_data,
12
12
  save_json_source_data,
13
13
  )
14
- from setta.utils.constants import CONSTANTS_FOLDER, USER_SETTINGS
14
+ from setta.utils.constants import CONSTANTS_FOLDER, SETTA_FILES_FOLDER, USER_SETTINGS
15
15
  from setta.utils.utils import get_absolute_path, save_json_to_file
16
16
 
17
17
  logger = logging.getLogger(__name__)
@@ -63,8 +63,8 @@ class MetaSettingsFile:
63
63
  self.path_seed_meta_settings = get_absolute_path(
64
64
  __file__, CONSTANTS_FOLDER / "settingsProject.json"
65
65
  )
66
- self.path_default_settings = "setta-settings.json"
67
- self.path_meta_settings = "setta-meta-settings.json"
66
+ self.path_default_settings = SETTA_FILES_FOLDER / "setta-settings.json"
67
+ self.path_meta_settings = SETTA_FILES_FOLDER / "setta-meta-settings.json"
68
68
  self.load_seed_files()
69
69
 
70
70
  def get_settings_paths(self):
setta/server.py CHANGED
@@ -1,5 +1,4 @@
1
1
  import logging
2
- import os
3
2
  from contextlib import asynccontextmanager
4
3
  from pathlib import Path
5
4
 
@@ -35,7 +34,7 @@ from setta.routers import (
35
34
  )
36
35
  from setta.tasks.tasks import Tasks
37
36
  from setta.terminals.terminals import TerminalWebsockets
38
- from setta.utils.constants import CODE_FOLDER, USER_SETTINGS, C
37
+ from setta.utils.constants import CODE_FOLDER, CWD, USER_SETTINGS, C
39
38
  from setta.utils.utils import get_absolute_path, is_dev_mode
40
39
  from setta.utils.websocket_manager import WebsocketManager
41
40
 
@@ -45,8 +44,8 @@ async def lifespan(app: FastAPI):
45
44
  # startup
46
45
  app.state.settings_file = SettingsFile()
47
46
  app.state.lsps = create_lsps(
48
- workspace_folder=Path(os.getcwd()),
49
- code_folder=Path(os.getcwd()) / CODE_FOLDER / "temp_folder",
47
+ workspace_folder=CWD,
48
+ code_folder=CODE_FOLDER / "temp_folder",
50
49
  settings=USER_SETTINGS["languageServer"],
51
50
  )
52
51
  app.state.lsp_writers = create_lsp_writers(app.state.lsps)
setta/start.py CHANGED
@@ -9,11 +9,10 @@ import uvicorn
9
9
  from . import __version__
10
10
  from .cli.connect import connect as _connect
11
11
  from .database.db_init import maybe_create_tables_and_seed
12
- from .database.db_objs import DBQueue
13
- from .database.db_path import get_default_db_path
12
+ from .database.db_objs import DBQueue, get_default_db_path
14
13
  from .database.export_db.export_db import export_database
15
14
  from .database.import_db import import_database
16
- from .utils.constants import C, set_constants
15
+ from .utils.constants import SETTA_FILES_FOLDER, C, set_constants
17
16
 
18
17
 
19
18
  @click.command()
@@ -79,6 +78,8 @@ def cli(ctx, reload, with_examples, db, host, port, log_level):
79
78
  if ctx.invoked_subcommand is None:
80
79
  print("Starting Setta", flush=True)
81
80
 
81
+ SETTA_FILES_FOLDER.mkdir(parents=True, exist_ok=True)
82
+
82
83
  set_constants(
83
84
  with_examples=with_examples,
84
85
  db_path=db,
@@ -105,6 +105,9 @@
105
105
  "WS_LSP_STATUS": "lspStatus",
106
106
  "SETTA_GENERATED_PYTHON": "SETTA_GENERATED_PYTHON",
107
107
  "SETTA_GENERATED_PYTHON_IMPORTS": "SETTA_GENERATED_PYTHON_IMPORTS",
108
+ "TEMPLATE_VAR_IMPORT_PATH_SUFFIX": "import_path",
109
+ "TEMPLATE_VAR_VERSION_SUFFIX": "version",
110
+ "TEMPLATE_VAR_FILE_PATH_SUFFIX": "file_path",
108
111
  "DEFAULT_PYTHON_SCRIPT_NAME": "setta_python_script",
109
112
  "DEFAULT_BASH_SCRIPT_NAME": "setta_bash_script",
110
113
  "CODE_AREA_GEN_CODE_NOT_INITIALIZED": "CODE_AREA_GEN_CODE_NOT_INITIALIZED",
@@ -91,7 +91,8 @@
91
91
  "isPinned": false,
92
92
  "isFrozen": false,
93
93
  "isSelected": false,
94
- "evRefs": []
94
+ "evRefs": [],
95
+ "ignoreTypeErrors": false
95
96
  },
96
97
  "codeInfoCol": {
97
98
  "children": { "null": [] }
@@ -42,19 +42,19 @@
42
42
  },
43
43
  "sectionVariants": {
44
44
  "19f203aa-cae6-4ccc-928c-dab0194ade77": {
45
- "name": "setta-settings.json"
45
+ "name": "setta_files/setta-settings.json"
46
46
  },
47
47
  "f3cb4189-2692-4e75-b58f-76d632f44205": {
48
- "name": "setta-settings.json"
48
+ "name": "setta_files/setta-settings.json"
49
49
  },
50
50
  "36d29a06-7971-48d1-a1d2-23480f770d74": {
51
- "name": "setta-settings.json"
51
+ "name": "setta_files/setta-settings.json"
52
52
  },
53
53
  "4490975a-8d8d-4f02-8ed4-f48f8258f1ec": {
54
- "name": "setta-settings.json"
54
+ "name": "setta_files/setta-settings.json"
55
55
  },
56
56
  "d2c7059a-8e28-488a-aa33-056476652d5e": {
57
- "name": "setta-settings.json"
57
+ "name": "setta_files/setta-settings.json"
58
58
  }
59
59
  },
60
60
  "uiTypes": {
@@ -123,67 +123,67 @@
123
123
  },
124
124
  "uiTypeCols": {
125
125
  "04f95495-52ba-4277-a79e-228bb1c6a5bc": {
126
- "JSON-{\"filenameGlob\":\"setta-settings*.json\",\"key\":[\"gui\",\"panOnScrollMode\"]}": {
126
+ "JSON-{\"filenameGlob\":\"setta_files/setta-settings*.json\",\"key\":[\"gui\",\"panOnScrollMode\"]}": {
127
127
  "uiTypeId": "86b19dfb-742b-4d82-aa5f-5d4cca9f3d0a"
128
128
  },
129
- "JSON-{\"filenameGlob\":\"setta-settings*.json\",\"key\":[\"gui\",\"selectionMode\"]}": {
129
+ "JSON-{\"filenameGlob\":\"setta_files/setta-settings*.json\",\"key\":[\"gui\",\"selectionMode\"]}": {
130
130
  "uiTypeId": "1ec5d8de-f984-451d-b43a-78917f698d52"
131
131
  },
132
- "JSON-{\"filenameGlob\":\"setta-settings*.json\",\"key\":[\"gui\",\"showGridLines\"]}": {
132
+ "JSON-{\"filenameGlob\":\"setta_files/setta-settings*.json\",\"key\":[\"gui\",\"showGridLines\"]}": {
133
133
  "uiTypeId": "69cdf4c5-7555-4ef3-93d3-bda03f33c6d5"
134
134
  },
135
- "JSON-{\"filenameGlob\":\"setta-settings*.json\",\"key\":[\"gui\",\"gridColor\"]}": {
135
+ "JSON-{\"filenameGlob\":\"setta_files/setta-settings*.json\",\"key\":[\"gui\",\"gridColor\"]}": {
136
136
  "uiTypeId": "74de30af-accf-44db-9b6b-da4260f0bd60"
137
137
  },
138
- "JSON-{\"filenameGlob\":\"setta-settings*.json\",\"key\":[\"gui\",\"gridColorDarkMode\"]}": {
138
+ "JSON-{\"filenameGlob\":\"setta_files/setta-settings*.json\",\"key\":[\"gui\",\"gridColorDarkMode\"]}": {
139
139
  "uiTypeId": "74de30af-accf-44db-9b6b-da4260f0bd60"
140
140
  },
141
- "JSON-{\"filenameGlob\":\"setta-settings*.json\",\"key\":[\"gui\",\"gridPattern\"]}": {
141
+ "JSON-{\"filenameGlob\":\"setta_files/setta-settings*.json\",\"key\":[\"gui\",\"gridPattern\"]}": {
142
142
  "uiTypeId": "90f2233a-2864-498f-a4df-4c027fa0c4a4"
143
143
  },
144
- "JSON-{\"filenameGlob\":\"setta-settings*.json\",\"key\":[\"backend\",\"showDefaultConfigOnLoad\"]}": {
144
+ "JSON-{\"filenameGlob\":\"setta_files/setta-settings*.json\",\"key\":[\"backend\",\"showDefaultConfigOnLoad\"]}": {
145
145
  "uiTypeId": "69cdf4c5-7555-4ef3-93d3-bda03f33c6d5"
146
146
  },
147
- "JSON-{\"filenameGlob\":\"setta-settings*.json\",\"key\":[\"backend\",\"inferImports\"]}": {
147
+ "JSON-{\"filenameGlob\":\"setta_files/setta-settings*.json\",\"key\":[\"backend\",\"inferImports\"]}": {
148
148
  "uiTypeId": "69cdf4c5-7555-4ef3-93d3-bda03f33c6d5"
149
149
  },
150
- "JSON-{\"filenameGlob\":\"setta-settings*.json\",\"key\":[\"backend\",\"autosave\"]}": {
150
+ "JSON-{\"filenameGlob\":\"setta_files/setta-settings*.json\",\"key\":[\"backend\",\"autosave\"]}": {
151
151
  "uiTypeId": "69cdf4c5-7555-4ef3-93d3-bda03f33c6d5"
152
152
  },
153
- "JSON-{\"filenameGlob\":\"setta-settings*.json\",\"key\":[\"backend\",\"autobackup\"]}": {
153
+ "JSON-{\"filenameGlob\":\"setta_files/setta-settings*.json\",\"key\":[\"backend\",\"autobackup\"]}": {
154
154
  "uiTypeId": "69cdf4c5-7555-4ef3-93d3-bda03f33c6d5"
155
155
  },
156
- "JSON-{\"filenameGlob\":\"setta-settings*.json\",\"key\":[\"gui\",\"leftSidePaneShiftsMap\"]}": {
156
+ "JSON-{\"filenameGlob\":\"setta_files/setta-settings*.json\",\"key\":[\"gui\",\"leftSidePaneShiftsMap\"]}": {
157
157
  "uiTypeId": "69cdf4c5-7555-4ef3-93d3-bda03f33c6d5"
158
158
  },
159
- "JSON-{\"filenameGlob\":\"setta-settings*.json\",\"key\":[\"gui\",\"panOnDrag\"]}": {
159
+ "JSON-{\"filenameGlob\":\"setta_files/setta-settings*.json\",\"key\":[\"gui\",\"panOnDrag\"]}": {
160
160
  "uiTypeId": "69cdf4c5-7555-4ef3-93d3-bda03f33c6d5"
161
161
  },
162
- "JSON-{\"filenameGlob\":\"setta-settings*.json\",\"key\":[\"gui\",\"panOnScroll\"]}": {
162
+ "JSON-{\"filenameGlob\":\"setta_files/setta-settings*.json\",\"key\":[\"gui\",\"panOnScroll\"]}": {
163
163
  "uiTypeId": "69cdf4c5-7555-4ef3-93d3-bda03f33c6d5"
164
164
  },
165
- "JSON-{\"filenameGlob\":\"setta-settings*.json\",\"key\":[\"gui\",\"zoomOnScroll\"]}": {
165
+ "JSON-{\"filenameGlob\":\"setta_files/setta-settings*.json\",\"key\":[\"gui\",\"zoomOnScroll\"]}": {
166
166
  "uiTypeId": "69cdf4c5-7555-4ef3-93d3-bda03f33c6d5"
167
167
  },
168
- "JSON-{\"filenameGlob\":\"setta-settings*.json\",\"key\":[\"gui\",\"zoomOnPinch\"]}": {
168
+ "JSON-{\"filenameGlob\":\"setta_files/setta-settings*.json\",\"key\":[\"gui\",\"zoomOnPinch\"]}": {
169
169
  "uiTypeId": "69cdf4c5-7555-4ef3-93d3-bda03f33c6d5"
170
170
  },
171
- "JSON-{\"filenameGlob\":\"setta-settings*.json\",\"key\":[\"gui\",\"zoomOnDoubleClick\"]}": {
171
+ "JSON-{\"filenameGlob\":\"setta_files/setta-settings*.json\",\"key\":[\"gui\",\"zoomOnDoubleClick\"]}": {
172
172
  "uiTypeId": "69cdf4c5-7555-4ef3-93d3-bda03f33c6d5"
173
173
  },
174
- "JSON-{\"filenameGlob\":\"setta-settings*.json\",\"key\":[\"backend\",\"clearTerminalBeforeMarkingAsReady\"]}": {
174
+ "JSON-{\"filenameGlob\":\"setta_files/setta-settings*.json\",\"key\":[\"backend\",\"clearTerminalBeforeMarkingAsReady\"]}": {
175
175
  "uiTypeId": "69cdf4c5-7555-4ef3-93d3-bda03f33c6d5"
176
176
  },
177
- "JSON-{\"filenameGlob\":\"setta-settings*.json\",\"key\":[\"backend\",\"exportDbRawOnSave\"]}": {
177
+ "JSON-{\"filenameGlob\":\"setta_files/setta-settings*.json\",\"key\":[\"backend\",\"exportDbRawOnSave\"]}": {
178
178
  "uiTypeId": "69cdf4c5-7555-4ef3-93d3-bda03f33c6d5"
179
179
  },
180
- "JSON-{\"filenameGlob\":\"setta-settings*.json\",\"key\":[\"backend\",\"exportDbReadableOnSave\"]}": {
180
+ "JSON-{\"filenameGlob\":\"setta_files/setta-settings*.json\",\"key\":[\"backend\",\"exportDbReadableOnSave\"]}": {
181
181
  "uiTypeId": "69cdf4c5-7555-4ef3-93d3-bda03f33c6d5"
182
182
  },
183
- "JSON-{\"filenameGlob\":\"setta-settings*.json\",\"key\":[\"backend\",\"exportDbReadableWithVariantsOnSave\"]}": {
183
+ "JSON-{\"filenameGlob\":\"setta_files/setta-settings*.json\",\"key\":[\"backend\",\"exportDbReadableWithVariantsOnSave\"]}": {
184
184
  "uiTypeId": "69cdf4c5-7555-4ef3-93d3-bda03f33c6d5"
185
185
  },
186
- "JSON-{\"filenameGlob\":\"setta-settings*.json\",\"key\":[\"backend\",\"saveRenderedValues\"]}": {
186
+ "JSON-{\"filenameGlob\":\"setta_files/setta-settings*.json\",\"key\":[\"backend\",\"saveRenderedValues\"]}": {
187
187
  "uiTypeId": "69cdf4c5-7555-4ef3-93d3-bda03f33c6d5"
188
188
  }
189
189
  }
@@ -202,7 +202,7 @@
202
202
  "variantIds": ["19f203aa-cae6-4ccc-928c-dab0194ade77"],
203
203
  "configLanguage": "json",
204
204
  "hideSearch": true,
205
- "jsonSource": "setta-settings*.json",
205
+ "jsonSource": "setta_files/setta-settings*.json",
206
206
  "jsonSourceKeys": ["shortcuts"]
207
207
  },
208
208
  "6b264a9a-0f87-4288-80aa-45cc6b16db96": {
@@ -218,7 +218,7 @@
218
218
  "variantIds": ["f3cb4189-2692-4e75-b58f-76d632f44205"],
219
219
  "configLanguage": "json",
220
220
  "hideSearch": true,
221
- "jsonSource": "setta-settings*.json",
221
+ "jsonSource": "setta_files/setta-settings*.json",
222
222
  "jsonSourceKeys": ["gui"]
223
223
  },
224
224
  "f74b5aaf-d11d-4153-b55b-9c18e11e3a73": {
@@ -234,7 +234,7 @@
234
234
  "variantIds": ["36d29a06-7971-48d1-a1d2-23480f770d74"],
235
235
  "configLanguage": "json",
236
236
  "hideSearch": true,
237
- "jsonSource": "setta-settings*.json",
237
+ "jsonSource": "setta_files/setta-settings*.json",
238
238
  "jsonSourceKeys": ["backend"]
239
239
  },
240
240
  "8389d4b3-0a1e-4c44-819b-7c745d6c3f1b": {
@@ -250,7 +250,7 @@
250
250
  "variantIds": ["4490975a-8d8d-4f02-8ed4-f48f8258f1ec"],
251
251
  "configLanguage": "json",
252
252
  "hideSearch": true,
253
- "jsonSource": "setta-settings*.json",
253
+ "jsonSource": "setta_files/setta-settings*.json",
254
254
  "jsonSourceKeys": ["languageServer"]
255
255
  },
256
256
  "514c2046-25de-4b0a-b6f9-fca1dd14ad8e": {
@@ -266,7 +266,7 @@
266
266
  "variantIds": ["d2c7059a-8e28-488a-aa33-056476652d5e"],
267
267
  "configLanguage": "json",
268
268
  "hideSearch": true,
269
- "jsonSource": "setta-settings*.json",
269
+ "jsonSource": "setta_files/setta-settings*.json",
270
270
  "jsonSourceKeys": ["sections"]
271
271
  }
272
272
  },