Pathological is a crazy new tool for searching Finder with extreme precision using a simple and powerful query language called XPath. XPath (http://www.w3.org/TR/xpath/) was originally designed as a query language for XML data. Surprisingly, the Finder shares much in common with XML data, and XPath turns out to be a natural way to search for files and folders on your Mac with unprecedented precision. Pathology is the fine-toothed-comb of search tools.
- A full-featured XPath query editor with syntax highlighting, and code auto-completion.
- Several syntax highlighting themes to choose from (in Preferences).
- Check 'Debug' to slowly proceed through the XPath expression step-by-step, and watch the filtered files and folders appear each step of the way.
- An interactive console with click-able error messages that lead you right to the syntax or runtime errors in your XPath query.
- Each Pathological window is a .pathological document that can be edited, saved and re-opened later.
- A query results table contains details on the selected files and folders. Double-clicking on a result item reveals it in the Finder. [Pathological's XPath-based query language](https://github.com/itod/pathological-docs#pathological-documentation) includes many extension functions designed specifically for searching the OS X Finder, for example:
- modified(): get the modification date of a file or folder.
- created(): get the creation date of a file or folder.
- kilobytes(): get the number of KB in a file or folder.
- megabytes(): get the number of MB in a file or folder.
- permissions(): get the POSIX permissions of a file or folder (e.g. 0644).
- owner(): get the username of the owner of a file or folder.
- matches() and replace(): filter using regular expressions. And many more!
Pathological's XPath engine is powered by Panther (https://github.com/itod/panthro), an open-source implementation of XPath 1.0 in Objective-C that includes the ability to debug the evaluation of an XPath expression step-by-step. Pathological is written entirely in Cocoa/Objective-C so it feels right at home on your Mac.