Task Searching & Filtering DSL
Jotter features a robust, keyboard-centric Search Domain-Specific Language (DSL) directly inside the navigation search bar. This allows power-users to filter tasks across boards, lists, and timelines with speed and precision, using query keywords similar to GitHub, Jira, or Linear.
Bidirectional Synchronization
One of the most powerful features of Jotter's search is Bidirectional Synchronization:
- Typing Queries: As you type criteria into the search box, the corresponding checkboxes and inputs in the Filter Modal are automatically updated in real-time.
- Using the Modal: If you open the Filter Modal visually and check a tag or priority, Jotter instantly generates and appends the correct DSL query inside the search input. This serves as an interactive guide to help you learn the query syntax.
Query Syntax Reference
A search query is composed of standalone full-text search phrases and optional colon-separated criteria (field:value). Standalone words are evaluated as full-text terms against task titles and bodies.
| Filter Criterion | Query Example | Description |
|---|---|---|
| Full-text search | auth login | Tasks containing both "auth" and "login" in title or description |
| Quoted Phrase | "fix memory leak" | Tasks containing the exact phrase "fix memory leak" |
| Tag (OR Match) | tags:ui,bug or tag:ui,bug | Tasks with either the ui tag or the bug tag |
| Tag (AND Match) | tags:ui+bug or tag:ui+bug | Tasks that must have both the ui tag and the bug tag |
| Columns/Buckets | bucket:todo or buckets:todo,progress | Tasks residing in the specified bucket(s) |
| Priorities | priority:high or prio:high,urgent | Tasks with the specified priority levels |
| Projects | project:marketing or proj:frontend | Tasks belonging to a project by ID or Project Title |
| Presence of Due Date | due:has or due:none | Tasks that have any due date, or no due date |
| Due Date Boundaries | due:before:2026-12-31 due:after:2026-06-01 | Tasks with due dates within the specified date boundaries |
Combining Queries
All separate field criteria in your query are combined using logical AND. Commas , within field values represent logical OR.
Examples:
High priority bugs in the todo column:
texttag:bug priority:high bucket:todoFilters for tasks that are tagged
bugAND havehighpriority AND are currently in thetodobucket.UI or UX tasks due before mid-December:
texttags:ui,ux due:before:2026-12-15Filters for tasks tagged
uiORuxAND having a due date earlier than December 15th, 2026.Database tasks in the frontend project with no due date:
textproject:frontend due:none databaseFilters for tasks belonging to the project "frontend" (by title or ID) AND having no due date AND containing the word "database" in their title or description.
Critical frontend UI bugs:
textproj:frontend tags:ui+bug prio:high,urgentFilters for tasks belonging to the project "frontend" AND containing BOTH the
uiandbugtags AND having either ahighorurgentpriority.
