Overview:
qtag is a search tool designed specifically for humans. It allows for searching files and directories based on tags - words or word beginnings - in any order.
For example, searching with the tag "ari" would match "Aristotle", "my Arist", and even "MyFriendArist", but not "parish".
Features:
Tag-based Searching: Search using tags which are words or word beginnings in any order.
Negative Tags: Using a leading colon with a tag allows for an exclusion search. For instance, searching with the tag ":pdf" would exclude files with the tag "pdf".
Wildcards: Use the dot (".") as a wildcard for any single character, and ".*" for any sequence of characters.
Options: Various options such as searching only directories, files, case-sensitive search, local search, and more.
Path Setting: Specify the search path or use the current directory as default.
Link Creation: Option to create symbolic links to matching files in a working directory.
Tag Management: Add or delete tags from files.
Verbose Mode: Match directories as well if the filename does not match.
Help: Comprehensive help documentation for usage.
How to Use:
Search:
Basic Search: qtag [Tags and Options]
Exclusion Search: qtag :[Tag to Exclude]
Combination Search: qtag [Tag1] [Tag2] (AND search that matches all tags)
Wildcard Search: qtag [.*Tag] (Wildcard for any sequence of characters before the tag)
Options:
-p [path]: Specify search path.
-w: Write links to matching files to working directory and open it in a file manager.
-a: Append links to the working directory without overwriting existing links.
-c: Case sensitive search.
-d: Search only for directories.
-f: Search only for files.
-l: Local search (no recursion).
-s: Simple search (avoid matching embodied tags).
-x: Write qtag to .local/bin for quick calling (if .local/bin is in PATH).
-n [tag]: Manage tags (add or delete).
-r: Write to disk (only relevant with -n).
-h: Print help documentation.
Set qtag as a Command:
Use the -x option to writeqtagto .local/bin for easy access.
Output:
Directories are prefixed with "DIR:" in bold.
Matches will be output with their paths.
If the -w or -a option is used, symbolic links to matching files will be created in the working directory.
Help:
Use the -h option to view detailed instructions and examples.
Known Issues:
If the user does not provide any arguments, the tool defaults to displaying the help documentation.
Future Improvements:
Implement additional functionalities like OR search.
Improve error handling and user feedback.
Optimize searching for better performance on larger datasets.