|
1 | 1 | # Library Search
|
2 | 2 |
|
| 3 | +TagStudio provides various methods to search your library, ranging from TagStudio data such as tags to inherent file data such as paths or media types. |
| 4 | + |
3 | 5 | ## Boolean Operators
|
4 | 6 |
|
5 | 7 | TagStudio allows you to use common [boolean search](https://en.wikipedia.org/wiki/Full-text_search#Boolean_queries) operators when searching your library, along with [grouping](#grouping-and-nesting), [nesting](#grouping-and-nesting), and [character escaping](#escaping-characters). Note that you may need to use grouping in order to get the desired results you're looking for.
|
@@ -54,40 +56,58 @@ _[Field](field.md) search is currently not in the program, however is coming in
|
54 | 56 |
|
55 | 57 | ## File Entry Search
|
56 | 58 |
|
57 |
| -### Filename + Filepath |
| 59 | +### Filename + Path |
| 60 | + |
| 61 | +Filename and path search is available via the `path:` keyword and comes in a few different styles. By default, any string that follows the `path:` keyword will be searched as a substring inside a file's complete filepath. This means that given a file `folder/my_file.txt`, searching for `path: my_file` or `path: folder` will both return results for that file. |
| 62 | + |
| 63 | +#### Case Sensitivity |
| 64 | + |
| 65 | +TagStudio uses a "[smartcase](https://neovim.io/doc/user/options.html#'smartcase')"-like system for case sensitivity. This means that a search term typed in `lowercase` will be treated as **case-insensitive**, while a term typed in any `MixedCase` will be treated as **case-sensitive**. This makes it quicker to type searches when case sensitivity isn't required, while also providing a simple option to leverage case sensitivity when desired. Note that this means there's technically no way to currently search for a lowercase term while respecting case sensitivity. |
58 | 66 |
|
59 |
| -Currently (v9.5.0-PR1) the filepath search uses [glob](<https://en.wikipedia.org/wiki/Glob_(programming)>) syntax, meaning you'll likely have to wrap your filename or partial filepath inside asterisks for results to appear. This search is also currently case sensitive. Use the `path:` keyword prefix followed by the filename or path, with asterisks surrounding partial names. |
| 67 | +#### Glob Syntax |
| 68 | + |
| 69 | +Optionally, you may use [glob](<https://en.wikipedia.org/wiki/Glob_(programming)>) syntax to search filepaths. |
60 | 70 |
|
61 | 71 | #### Examples
|
62 | 72 |
|
63 |
| -Given a file "artwork/piece.jpg", these searches will return results with it: |
| 73 | +Given a file "Artwork/Piece.jpg", the following searches will return results for it: |
64 | 74 |
|
65 |
| -- `path: artwork/piece.jpg` _(Note how no asterisks are required if the full path is given)_ |
| 75 | +- `path: artwork/piece.jpg` |
| 76 | +- `path: Artwork/Piece.jpg` |
| 77 | +- `path: piece.jpg` |
| 78 | +- `path: Piece.jpg` |
| 79 | +- `path: artwork` |
| 80 | +- `path: rtwor` |
| 81 | +- `path: ece.jpg` |
| 82 | +- `path: iec` |
| 83 | +- `path: artwork/*` |
| 84 | +- `path: Artwork/*` |
66 | 85 | - `path: *piece.jpg*`
|
| 86 | +- `path: *Piece.jpg*` |
67 | 87 | - `path: *artwork*`
|
| 88 | +- `path: *Artwork*` |
68 | 89 | - `path: *rtwor*`
|
69 | 90 | - `path: *ece.jpg*`
|
70 | 91 | - `path: *iec*`
|
| 92 | +- `path: *.jpg` |
71 | 93 |
|
72 |
| -And these (currently) won't: |
| 94 | +While the following searches will **NOT:** |
73 | 95 |
|
74 |
| -- `path: piece.jpg` |
75 |
| -- `path: piece.jpg` |
76 |
| -- `path: artwork` |
77 |
| -- `path: rtwor` |
78 |
| -- `path: ece.jpg` |
79 |
| -- `path: iec` |
| 96 | +- `path: ARTWORK/Piece.jpg` _(Reason: Mismatched case)_ |
| 97 | +- `path: *aRtWoRk/Piece*` _(Reason: Mismatched case)_ |
| 98 | +- `path: PieCe.jpg` _(Reason: Mismatched case)_ |
| 99 | +- `path: *PieCe.jpg*` _(Reason: Mismatched case)_ |
80 | 100 |
|
81 | 101 | ## Special Searches
|
82 | 102 |
|
83 |
| -"Special" searches use the `special:` keyword prefix and give quick results for certain special search queries. |
| 103 | +Some predefined searches use the `special:` keyword prefix and give quick results for certain special search queries. |
84 | 104 |
|
85 | 105 | ### Untagged
|
86 | 106 |
|
87 |
| -To see all your file entries which don't contain any tags, use the `special:untagged` search. |
| 107 | +To see all your file entries which don't contain any tags, use the `special: untagged` search. |
88 | 108 |
|
89 | 109 | ### Empty
|
90 | 110 |
|
91 |
| -**_NOTE:_** _Currently unavailable in v9.5.0-PR1_ |
| 111 | +**_NOTE:_** _Currently unavailable in v9.5.0_ |
92 | 112 |
|
93 |
| -To see all your file entries which don't contain any tags _and_ any fields, use the `special:empty` search. |
| 113 | +To see all your file entries which don't contain any tags _and_ any fields, use the `special: empty` search. |
0 commit comments