diff options
Diffstat (limited to '')
| -rw-r--r-- | py/roles.py | 13 | ||||
| -rw-r--r-- | py/utils.py | 15 |
2 files changed, 14 insertions, 14 deletions
diff --git a/py/roles.py b/py/roles.py index 6e0a52e..b7d19e1 100644 --- a/py/roles.py +++ b/py/roles.py @@ -1,6 +1,8 @@ import vim -import os -import configparser + +# import utils +plugin_root = vim.eval("s:plugin_root") +vim.command(f"py3file {plugin_root}/py/utils.py") roles_config_path = os.path.expanduser(vim.eval("g:vim_ai_roles_config_file")) if not os.path.exists(roles_config_path): @@ -9,12 +11,7 @@ if not os.path.exists(roles_config_path): roles = configparser.ConfigParser() roles.read(roles_config_path) -if vim.eval("exists('g:vim_ai_roles_config_function')") == '1': - roles_config_function = vim.eval("g:vim_ai_roles_config_function") - if not vim.eval("exists('*" + roles_config_function + "')"): - raise Exception(f"Role config function does not exist: {roles_config_function}") - else: - roles.update(vim.eval(roles_config_function + "()")) +enhance_roles_with_custom_function(roles) role_names = [name for name in roles.sections() if not '.' in name] diff --git a/py/utils.py b/py/utils.py index 471b5c4..963377d 100644 --- a/py/utils.py +++ b/py/utils.py @@ -263,6 +263,14 @@ def clear_echo_message(): # https://neovim.discourse.group/t/how-to-clear-the-echo-message-in-the-command-line/268/3 vim.command("call feedkeys(':','nx')") +def enhance_roles_with_custom_function(roles): + if vim.eval("exists('g:vim_ai_roles_config_function')") == '1': + roles_config_function = vim.eval("g:vim_ai_roles_config_function") + if not vim.eval("exists('*" + roles_config_function + "')"): + raise Exception(f"Role config function does not exist: {roles_config_function}") + else: + roles.update(vim.eval(roles_config_function + "()")) + def load_role_config(role): roles_config_path = os.path.expanduser(vim.eval("g:vim_ai_roles_config_file")) if not os.path.exists(roles_config_path): @@ -271,12 +279,7 @@ def load_role_config(role): roles = configparser.ConfigParser() roles.read(roles_config_path) - if vim.eval("exists('g:vim_ai_roles_config_function')") == '1': - roles_config_function = vim.eval("g:vim_ai_roles_config_function") - if not vim.eval("exists('*" + roles_config_function + "')"): - raise Exception(f"Role config function does not exist: {roles_config_function}") - else: - roles.update(vim.eval(roles_config_function + "()")) + enhance_roles_with_custom_function(roles) if not role in roles: raise Exception(f"Role `{role}` not found") |