Resolve variables in /fuzzy

This commit is contained in:
Cohee 2023-11-24 17:41:49 +02:00
parent adb3badcc1
commit 2c8e855385
2 changed files with 14 additions and 2 deletions

View File

@ -37,7 +37,7 @@ import { autoSelectPersona } from "./personas.js";
import { getContext } from "./extensions.js";
import { hideChatMessage, unhideChatMessage } from "./chats.js";
import { delay, isFalseBoolean, isTrueBoolean, stringToRange } from "./utils.js";
import { registerVariableCommands } from "./variables.js";
import { registerVariableCommands, resolveVariable } from "./variables.js";
export {
executeSlashCommands,
registerSlashCommand,
@ -272,7 +272,7 @@ function fuzzyCallback(args, value) {
}
try {
const list = JSON.parse(args.list);
const list = JSON.parse(resolveVariable(args.list));
if (!Array.isArray(list)) {
console.warn('WARN: Invalid list argument provided for /fuzzy command');
return '';

View File

@ -69,6 +69,18 @@ function addGlobalVariable(name, value) {
return newValue;
}
export function resolveVariable(name) {
if (existsLocalVariable(name)) {
return getLocalVariable(name);
}
if (existsGlobalVariable(name)) {
return getGlobalVariable(name);
}
return name;
}
export function replaceVariableMacros(str) {
// Replace {{getvar::name}} with the value of the variable name
str = str.replace(/{{getvar::([^}]+)}}/gi, (_, name) => {