This commit is contained in:
Михаил Капелько
2024-06-08 22:23:42 +03:00
parent 15c4c62b11
commit a9083dc0b4
4 changed files with 27 additions and 0 deletions

View File

@@ -6,6 +6,14 @@ bool llm_isDigit(const std::string &str) {
str.find_first_not_of("0123456789") == std::string::npos;
}
bool llm_startsWith(
const std::string &str,
const std::string &prefix
) {
// https://stackoverflow.com/a/40441240
return str.rfind(prefix, 0) == 0;
}
int llm_strToInt(const std::string &str) {
return std::stoi(str);
}

View File

@@ -4,6 +4,7 @@
#include <string>
bool llm_isDigit(const std::string &str);
bool llm_startsWith(const std::string &str, const std::string &prefix);
int llm_strToInt(const std::string &str);
#endif // llm_HEADER

View File

@@ -13,6 +13,10 @@ def llm_by_value(f):
def llm_isDigit(s):
return s.isdigit()
# Tell if string starts with certain prefix.
def llm_startsWith(s, prefix):
return s.startswith(prefix)
# Convert string to integer
def llm_strToInt(s):
return int(s)

View File

@@ -1,7 +1,9 @@
#include <iostream>
#include <string>
#include <vector>
#include "any.h"
#include "ctx_test2.h"
#include "llm.h"
#include "main.h"
#include "memory_Context.h"
@@ -94,6 +96,18 @@ int main() {
memory_hideMatchingItems,
memory_selectItem,
});
auto printOutput = [](memory_Context c) {
if (llm_startsWith(c.recentField, "output")) {
std::cout
<< libany::any_cast<std::string>(c.field(c.recentField))
<< std::endl;
}
};
ctrl.registerCallback(printOutput);
ctrl.registerFieldCallback("exit", [](memory_Context c) { exit(0); });
/*
auto c = shell_createContext();