Treat lists as blocks for better querying

Use case or problem

The use case here is very similar to Allow querying for search terms across list items (Search operator similar to section:() but for lists... search within a single list OR parent list item and its children list items), but the suggested functionality and proposed solution is a bit different so I thought it might deserve it’s own request. If others think this should be wrapped up in one, that’s fine too.

The use case is to be able to query keywords that appear together in a list, as part of any parent/child list item within the same block. Initially I expected the block selector should handle this, but it doesn’t appear to. As an example:


# Obsidian search test scenario

- writing generally about obsidian here (don’t want this to show)

- writing generally about search here (don’t want this to show)

- writing about obsidian search on the same line / in the same block / in the same section here (want this to show)

- obsidian
    - search
        - could be more useful!
    - (want this UL to show because it’s an outline discussing obsidian search)

I would expect

 block:(obsidian search)

to return the last two lists. This would allow workflows that can’t easily currently be accomplished because querying “obsidian search” would return all four lists here even though the first two may not be discussing obsidian search in particular.

Proposed solution

Treat lists from the parent

  • through the children as a markdown block which would allow them to be queried more easily with the block:() selector.

    Current workaround (optional)

    There was some discussion of this that lead me to open this on the discord:

    Related feature requests (optional)