Files
2026-02-05 12:53:43 +00:00

1.4 KiB
Raw Permalink Blame History

name, tags, files, share.uri, share.hash, share.mode
name tags files share.uri share.hash share.mode
Library/silverbulletmd/basic-search/PLUG meta/library
search.plug.js
https://github.com/silverbulletmd/basic-search/blob/main/PLUG.md 59d1e9ad pull

Basic Full Text Search

Formerly a built-in plug for SilverBullet, now installable separately for those who dont want to (for whatever reason) use the far superior Silversearch instead. Seriously, use Silversearch instead of this.

No? Alright then.

Initial index

Perform a Space: Reindex after installing this plug.

Commands

  • Search Space (Cmd-Shift-f/Ctrl-Shift-f): performs a full text search across your space.

Implementation

(part Lua, part Plug)

-- priority: 5
command.define {
  name = "Search Space",
  key = "Ctrl-Shift-f",
  mac = "Cmd-Shift-f",
  run = function()
    local phrase = editor.prompt "Search for:"
    if phrase then
      editor.navigate("search:" .. phrase)
    end
  end
}

virtualPage.define {
  pattern = "search:(.+)",
  run = function(phrase)
    -- These are implemented in the plug code
    local results = search.ftsSearch(phrase)
    local pageText = "# Search results for '" .. phrase .. "'\n"
    for r in each(results) do
      pageText = pageText .. spacelua.interpolate("* [[${r.id}|${r.id}]] (score ${r.score})\n", {r=r})
    end
    return pageText
  end
}