nmk_vscode.builders¶
Python module for nmk-vscode plugin builders.
Classes¶
Generic build logic to generate VSCode json config files |
|
Builder for vs.settings task |
|
Builder for vs.launch task |
|
Builder for vs.tasks task |
|
Builder for vs.extensions task |
Module Contents¶
- class nmk_vscode.builders.JsonTemplateBuilder(model: nmk.model.model.NmkModel)¶
Bases:
nmk_base.common.TemplateBuilderGeneric build logic to generate VSCode json config files
- contribute(settings: dict[str, Any], update: dict[str, Any])¶
Merge settings from update dictionary into settings one. Merge logic for existing settings is:
for lists: new settings are appended after existing ones
for dictionaries: existing dictionary is updated with new one content
for other types: existing values are replaces with new ones
- Parameters:
settings – Settings dictionary to be updated
settings – Update dictionary to be merged into the existing one
- build_json(files: list[str] | list[pathlib.Path], items: dict[str, Any] | None = None, keywords: dict[str, Any] | None = None)¶
Generate target json file by merging provided files, then items (if any)
- Parameters:
files – List of input json files to be rendered (as Jinja templates) then merged
items – Dictionary to be merged in generated json file
keywords – Keywords for Jinja rendering
- class nmk_vscode.builders.SettingsBuilder(model: nmk.model.model.NmkModel)¶
Bases:
JsonTemplateBuilderBuilder for vs.settings task
- build(files: list[str], items: dict[str, Any])¶
Build logic: merge provided settings files and items
- Parameters:
files – Settings files to be merged
items – Settings items to be merged
- class nmk_vscode.builders.LaunchBuilder(model: nmk.model.model.NmkModel)¶
Bases:
JsonTemplateBuilderBuilder for vs.launch task
- build(files: list[str])¶
Build logic: merge provided launch configuration files
- Parameters:
files – Launch configuration files to be merged
- class nmk_vscode.builders.TasksBuilder(model: nmk.model.model.NmkModel)¶
Bases:
JsonTemplateBuilderBuilder for vs.tasks task
- build(nmk_tasks: dict[str, Any], shell_tasks: dict[str, Any], default_tasks: list[str])¶
Build logic: merge provided automated tasks files, then add generated nmk automated tasks
- Parameters:
files – Automated tasks files to be merged
task_template – Path to Jinja template for nmk tasks
nmk_tasks – Dictionary for nmk tasks definitions
shell_tasks – Dictionary for shell tasks definitions
default_tasks – List of default tasks to be identified as such in generated file
- class nmk_vscode.builders.ExtensionsBuilder(model: nmk.model.model.NmkModel)¶
Bases:
JsonTemplateBuilderBuilder for vs.extensions task
- build(names: list[str])¶
Build logic: generated recommended extensions file from provided names
- Parameters:
names – Extension names to be added in the generated file