feat(quick_search): also allow for the equals operator in note title's quick search

This commit is contained in:
perf3ct
2025-08-24 18:53:05 +00:00
parent c97c66ed8a
commit 93c5413790
7 changed files with 168 additions and 7 deletions

View File

@@ -0,0 +1,36 @@
import lex from "./apps/server/dist/services/search/services/lex.js";
import parse from "./apps/server/dist/services/search/services/parse.js";
import SearchContext from "./apps/server/dist/services/search/search_context.js";
// Test the integration of the lexer and parser
const testCases = [
"=example",
"example",
"=hello world"
];
for (const query of testCases) {
console.log(`\n=== Testing: "${query}" ===`);
const lexResult = lex(query);
console.log("Lex result:");
console.log(" Fulltext tokens:", lexResult.fulltextTokens.map(t => t.token));
console.log(" Leading operator:", lexResult.leadingOperator || "(none)");
const searchContext = new SearchContext.default({ fastSearch: false });
try {
const expression = parse.default({
fulltextTokens: lexResult.fulltextTokens,
expressionTokens: [],
searchContext,
originalQuery: query,
leadingOperator: lexResult.leadingOperator
});
console.log("Parse result: Success");
console.log(" Expression type:", expression.constructor.name);
} catch (e) {
console.log("Parse result: Error -", e.message);
}
}