-
Notifications
You must be signed in to change notification settings - Fork 245
Open
Labels
Description
🚀 The feature, motivation and pitch
Similar to how a language server would work. I think this would be pretty straight-forward to implement 80% of the way for completion, but search would be much more involved since we rely on shelling out to ripgrep. Therefore we'd probably need to run the search in Lua over buffers concurrently with ripgrep over the filesystem. I'm not too concerned about performance here since most people aren't likely to have a zillion buffers open, but if we hit a bottleneck we could use the nifty ThreadPoolExecutor that's currently sitting unused.
Alternatives
- Do nothing, nobody has complained yet anyway. And users can have obsidian.nvim autowrite buffers using the callback system: Auto-write every note when leaving buffer #481.
- Wait until we can integrate with
markdown-oxide, or some other Obsidian-style markdown LS.
Additional context
- Buffer/filesystem mismatch is not an issue with
:ObsidianRenamesince we write all buffers before doing the grunt work there, but it would nice if that wasn't a requirement, in which case we'd have to loop over open buffers and do the rename there instead of in the filesystem. - We'd have to update picker integrations, in particular the previews, so that we show previews of buffers instead of files to avoid out-of-sync issues there.