Merge branch 'master' into feature/176-CamelCaseTokens

This commit is contained in:
Simon Cambier
2023-03-02 19:53:05 +01:00
6 changed files with 22 additions and 10 deletions

View File

@@ -1,7 +1,7 @@
{ {
"id": "omnisearch", "id": "omnisearch",
"name": "Omnisearch", "name": "Omnisearch",
"version": "1.11.1", "version": "1.12.2",
"minAppVersion": "1.0.0", "minAppVersion": "1.0.0",
"description": "A search engine that just works", "description": "A search engine that just works",
"author": "Simon Cambier", "author": "Simon Cambier",

View File

@@ -1,7 +1,7 @@
{ {
"id": "omnisearch", "id": "omnisearch",
"name": "Omnisearch", "name": "Omnisearch",
"version": "1.11.1", "version": "1.12.2",
"minAppVersion": "1.0.0", "minAppVersion": "1.0.0",
"description": "A search engine that just works", "description": "A search engine that just works",
"author": "Simon Cambier", "author": "Simon Cambier",

View File

@@ -1,6 +1,6 @@
{ {
"name": "scambier.obsidian-search", "name": "scambier.obsidian-search",
"version": "1.12.1-beta.1", "version": "1.12.2",
"description": "A search engine for Obsidian", "description": "A search engine for Obsidian",
"main": "dist/main.js", "main": "dist/main.js",
"scripts": { "scripts": {

View File

@@ -190,9 +190,11 @@ export class Omnisearch {
// Filter query results to only keep files that match query.extensions (if any) // Filter query results to only keep files that match query.extensions (if any)
if (query.extensions.length) { if (query.extensions.length) {
results = results.filter(r => results = results.filter(r => {
query.extensions.some(e => r.id.endsWith(e)) // ".can" should match ".canvas"
) const ext = '.' + r.id.split('.').pop()
return query.extensions.some(e => ext.startsWith(e))
})
} }
// If the query does not return any result, // If the query does not return any result,

View File

@@ -27,7 +27,12 @@ export function highlighter(str: string): string {
} }
export function highlighterGroups(...args: any[]) { export function highlighterGroups(...args: any[]) {
if (args[1] && args[2]) if (
args[1] !== null &&
args[1] !== undefined &&
args[2] !== null &&
args[2] !== undefined
)
return `${args[1]}<span class="${highlightClass}">${args[2]}</span>` return `${args[1]}<span class="${highlightClass}">${args[2]}</span>`
return '&lt;no content&gt;' return '&lt;no content&gt;'
} }
@@ -63,8 +68,9 @@ export function wait(ms: number): Promise<void> {
} }
// https://stackoverflow.com/a/3561711 // https://stackoverflow.com/a/3561711
// but we enclose special chars in brackets to avoid them being interpreted as regex
export function escapeRegex(str: string): string { export function escapeRegex(str: string): string {
return str.replace(/[-/\\^$*+?.()|[\]{}]/g, '\\$&') return str.replace(/[-/\\^$*+?.()|[\]{}]/g, '[$&]')
} }
/** /**
@@ -88,7 +94,7 @@ export function stringsToRegex(strings: string[]): RegExp {
// Default word split is not applied if the user uses the cm-chs-patch plugin // Default word split is not applied if the user uses the cm-chs-patch plugin
const joined = const joined =
'(' + '(' +
(getChsSegmenter() ? '' : SPACE_OR_PUNCTUATION.source) + (getChsSegmenter() ? '' : `^|${SPACE_OR_PUNCTUATION.source}`) +
')' + ')' +
'(' + '(' +
strings.map(s => escapeRegex(s)).join('|') + strings.map(s => escapeRegex(s)).join('|') +

View File

@@ -95,5 +95,9 @@
"1.10.1": "1.0.0", "1.10.1": "1.0.0",
"1.11.0-beta.1": "1.0.0", "1.11.0-beta.1": "1.0.0",
"1.11.0": "1.0.0", "1.11.0": "1.0.0",
"1.11.1": "1.0.0" "1.11.1": "1.0.0",
"1.12.0": "1.0.0",
"1.12.1-beta.1": "1.0.0",
"1.12.1": "1.0.0",
"1.12.2": "1.0.0"
} }