d12frosted / vulpea

A collection of functions for note taking based on `org` and `org-roam`.
GNU General Public License v3.0
236 stars 12 forks source link

Unification of the search and insert systems #166

Open Cletip opened 1 year ago

Cletip commented 1 year ago

Hi!

I think that this is not necessarily vulpea's job directly, but it might be interesting to talk about it here, because vulpea has a solid base to do this kind of thing.

To describe my point in more detail, I noticed this: 

So my desire is to unify these three components:  create a "super function" that would search for a note based on all possible parameters: 

The interface would be close to org-ql. Maybe we should make queries like them, with predicates? I don't know, because it takes away from the simplicity, no? Anyway, that's another problem.

Then, after finding the right note(s), we could do actions on them: insert them, go to a note, others...

This will not happen overnight, but most functions can do without vulpea notes as an intermediary. (I'm not sure if this statement is correct in English)

As I said, vulpea may not be the best place, but this package has almost everything, it is almost enough to assemble the bricks already made (already, the fact that vulpea-find and vulpea-insert both use "vulpea-select" is a proof of this tendency to want to unify the search and insert system. It's genius to have done this).

The point is, I want your opinion! What do you think?

Personally, I think it's doable, it's almost revolutionary, but I'm afraid it's time for nothing in the sense that it's not an essential feature. Even if, currently, to insert a note, the way it works is: search for the title. If the title not enough, do a more thorough manual search (by ripgrep, org-ql, or another system of search), save the title in your memory, go back to the note where do you want to insert the link to the note, recall the insert function, enter the title, press enter. This works perfectly, but in the end, it is a tinkering compared to a unification of the search and insert systems.