Please clarify what's the meaning of the "Ignore" settings [message #1411] |
Sat, 23 April 2022 13:51 |
Atlas
Messages: 140 Registered: August 2009
|
Senior Member |
|
|
When we use "Then Apply Advanced Filter", there are a bunch of settings like "Ignore Blanks", "Ignore Composition", etc. Foxtrot doesn't have a manual, and I've looked up under the Help setting as well as the Help page on the website but cannot get any details on what these settings mean. Please clarify what are these settings:
(1) Ignore Accents
(2) Ignore Punctuation
(3) Ignore Blanks <--- Especially this
(4) Ignore Composition
In particular, I thought that using "Ignore Blanks" would mean that a search string like "machine learning" would be treated as a single string rather than two separate words, because the space between the two words would be ignored. But "Ignore Blanks" seems to mean the opposite, because I have to use it in order to include blank spaces in the search string. What's actually a "blank"? It seems like I have to turn on "Ignore Blanks" even when my search string doesn't contain any space.
Thank you.
|
|
|
Re: Please clarify what's the meaning of the "Ignore" settings [message #1412 is a reply to message #1411] |
Sat, 23 April 2022 16:31 |
FoxTrot Engineering
Messages: 406 Registered: April 2020
|
Senior Member |
|
|
I have just updated the FAQ:
- Ignore Case: [foo] = [Foo] = [FOO]
- Ignore Accents: [resumé] = [resume]
- Ignore Punctuation: [foo, bar] = [foo; bar] = [foo?!... bar] = [foo bar]
- Ignore Blanks: spaces, tabs, returns and other Unicode spacing characters are ignored; [foo bar] = [foo bar] = [foobar]
- Ignore Symbols: characters classified in Unicode as: Spacing_Mark (Mc), Enclosing_Mark (Me), Math_Symbol (Sm), Currency_Symbol (Sc), Modifier_Symbol (Sk) or Other_Symbol (So) are all ignored; [$] = [€] = [<<<] = []
- Ignore Composition: in Unicode, some characters can be encoded using either a single codepoint, or a sequence of codepoints. This is especially the case for accented lowercase Roman vowels (those part of ISO-8859-1), and Korean letters. When enabled, both forms are considered equal.
Jérôme - FoxTrot Engineering
|
|
|
Re: Please clarify what's the meaning of the "Ignore" settings [message #1413 is a reply to message #1412] |
Sat, 23 April 2022 16:46 |
Atlas
Messages: 140 Registered: August 2009
|
Senior Member |
|
|
Thank you for this info! Now it's more clear how to use these settings.
But from your description of "Ignore Blanks", now I think there's a bug. The situation is I want to ignore all files whose parent folder name contain "9000" or "8000". So I used "Advanced Filter" -> "Parent Folder Name" -> "Does not contain any of the string" -> "Multiple Strings" -> The search string I used is [9000 — 8000]. In this situation, if I don't use the "Ignore Blanks" option, then folders with "9000" or "8000" will show up. Is that how it's supposed to work?? It seems like if I turn on "Multiple Strings" and use em-dash to do OR's, then I also have to use "Ignore Blanks" or else the query doesn't work
|
|
|
|
Re: Please clarify what's the meaning of the "Ignore" settings [message #1415 is a reply to message #1414] |
Sat, 23 April 2022 17:42 |
Atlas
Messages: 140 Registered: August 2009
|
Senior Member |
|
|
Ok, so it looks like removing spaces around the (— ) character works, but this seems rather odd compared to other syntaxes. I'm pretty sure others are confused by this as well, because other search operators like "|" and "&" are usually separated by space. I suggest we make the em-dash work similar to "|", so that people can put space around them. Or if it's too much work to change the behavior, we should update the Help page so that it's clear how people should use the em-dash when enabling "Multiple Strings". It definitely caused me confusion. Thanks for helping.
|
|
|
Re: Please clarify what's the meaning of the "Ignore" settings [message #1419 is a reply to message #1415] |
Mon, 25 April 2022 09:21 |
FoxTrot Engineering
Messages: 406 Registered: April 2020
|
Senior Member |
|
|
In fact, in basic queries, spaces are ignored (or rather, they are just considered as word separators), so [foo | bar] is the same as [foo|bar]. When using [includes the exact string] (or [then apply advanced filters]), spaces matter (unless you explicitly ignore them in the options popup menu).
If you don't like the choice of em-dash as the separator character (e.g. if you actually want to search for an em-dash character, or if em-dash is not accessible using your keyboard layout), there is a Terminal.app preference to change it:
defaults write com.ctmdev.FoxTrotShared StringSeparator "SeparatorCharacter"
I have not tested, but I think you can set a string that includes some spaces:
defaults write com.ctmdev.FoxTrotShared StringSeparator " — "
Jérôme - FoxTrot Engineering
|
|
|
|