diff options
Diffstat (limited to '')
| -rw-r--r-- | py/chat.py | 2 | ||||
| -rw-r--r-- | py/complete.py | 2 | ||||
| -rw-r--r-- | py/utils.py | 8 |
3 files changed, 10 insertions, 2 deletions
@@ -2,7 +2,7 @@ plugin_root = vim.eval("s:plugin_root") vim.command(f"py3file {plugin_root}/py/utils.py") -config = vim.eval("l:config") +config = normalize_config(vim.eval("l:config")) config_options = config['options'] config_ui = config['ui'] prompt = vim.eval("l:prompt").strip() diff --git a/py/complete.py b/py/complete.py index fed66c4..c8d45fe 100644 --- a/py/complete.py +++ b/py/complete.py @@ -2,7 +2,7 @@ plugin_root = vim.eval("s:plugin_root") vim.command(f"py3file {plugin_root}/py/utils.py") -config = vim.eval("l:config") +config = normalize_config(vim.eval("l:config")) engine = config['engine'] config_options = config['options'] openai_options = make_openai_options(config_options) diff --git a/py/utils.py b/py/utils.py index 8539347..76ae1e4 100644 --- a/py/utils.py +++ b/py/utils.py @@ -26,6 +26,14 @@ def load_api_key(): raise Exception("Missing OpenAI API key") return api_key.strip() +def normalize_config(config): + normalized = { **config } + # 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 + + def make_openai_options(options): max_tokens = int(options['max_tokens']) return { |