diff options
| author | Martin Bielik <martin.bielik@instea.sk> | 2024-12-07 21:39:34 +0100 |
|---|---|---|
| committer | Martin Bielik <martin.bielik@instea.sk> | 2024-12-07 21:39:34 +0100 |
| commit | 946ac0d45d4dab7c80d4e2a96957cd6dc87a75ba (patch) | |
| tree | 4784d0c0964af61977ed000c245fc15027379e4d /py/utils.py | |
| parent | 6366dfbfb3f7422a09f061cc5f7aebeacebc22e0 (diff) | |
| download | vim-ai-946ac0d45d4dab7c80d4e2a96957cd6dc87a75ba.tar.gz | |
fixed options normalization
Diffstat (limited to '')
| -rw-r--r-- | py/utils.py | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/py/utils.py b/py/utils.py index 264c0c4..7f8fa90 100644 --- a/py/utils.py +++ b/py/utils.py @@ -44,12 +44,21 @@ def load_api_key(config_token_file_path): return (api_key, org_id) -def normalize_config(config): - normalized = { **config } +def load_config_and_prompt(): + prompt, role_options = parse_prompt_and_role(vim.eval("l:prompt")) + config = vim.eval("l:config") + config['options'] = { + **normalize_options(config['options']), + **normalize_options(role_options['options_default']), + **normalize_options(role_options['options_chat']), + } + return prompt, config + +def normalize_options(options): # initial prompt can be both a string and a list of strings, normalize it to list - if 'initial_prompt' in config['options'] and isinstance(config['options']['initial_prompt'], str): - normalized['options']['initial_prompt'] = normalized['options']['initial_prompt'].split('\n') - return normalized + if 'initial_prompt' in options and isinstance(options['initial_prompt'], str): + options['initial_prompt'] = options['initial_prompt'].split('\n') + return options def make_openai_options(options): max_tokens = int(options['max_tokens']) |