aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/query/lexer.go
AgeCommit message (Collapse)Author
2025-08-02Add initial todos for new heading categoryJP Appel
The heading category is planned to be backed by a single db text column. The column will be a concatenation of all ATX style heading matches, with a newline delimiter.
2025-07-28Add regex operatorJP Appel
Implemented regex operator using go flavored regular expressions. Added optimization to combine regex's in `OR` clauses.
2025-07-27Remove unimplemented external command operatorsJP Appel
Executing external commands against file metadata is a serious security risk. The desired features of most external commands can be safely implemented using SQLite native functions.
2025-06-30Add filepath to searchable categoriesJP Appel
2025-06-26Improve compilation of clauses to sqlite3 SQLJP Appel
2025-06-19Add multiple clause and tree level optimizationsJP Appel
Implement optimizations that can be called in parallel or serial. Optimizations occur mostly in place and result in a logically equivalent tree when used correctly. Optimizations ============= * Sort - sort all statements within a clause tree * Simplify - apply negation rules to all statements * Flatten - merge child clauses with parents * Compact - merge equivalent statements * Tidy^ - remove zero statements * Contradictions - zero contradicting statements and clauses * StrictEquality - zero fuzzy statements when exact statements are within clause * Tighten - combine multiple fuzzy statements to the least (AND) or most (OR) restrictive bounds ^: when used incorrectly can turn an invalid clause tree into a valid one
2025-06-15Identify lexer errorJP Appel
2025-06-09Fix lookback error in lexerJP Appel
2025-05-28Add lexer for query dslJP Appel