Syntax| The Operators < >

General discussion related to "Everything".
Post Reply
Stamimail
Posts: 1122
Joined: Sat Aug 31, 2013 9:05 pm

Syntax| The Operators < >

Post by Stamimail »

Currently the operators < > are used for Grouping.
I assume that if the Grouping is empty <>, then it's meaningless.
And then I ask myself, why the empty <> is not used for the NOT operator (instead of the ! exclamation mark)
The advantage: ! is a valid character in filenames, which <> is not.

!Abc
<>Abc

function:!=value
function:<>value
void
Developer
Posts: 16733
Joined: Fri Oct 16, 2009 11:31 pm

Re: Syntax| The Operators < >

Post by void »

< and > are used for grouping.

While <> is not very useful, it is a valid group.
Everything can generate <> internally with some filters/bookmarks.

<> is also valid group expansion when used with literal text.

For example:
gr<a|e>y => gray|grey
<>abc => abc

<> is two characters / two key-presses, ! is only one key-press.
While ! is a valid filename character, the usage at the start of a filename should be rare.

! is commonly used in programming languages and scripting languages as the NOT operator.
- as the not operator is not practical for filenames.

Use double quotes (") to escape !
For example:

"!abc"



Please consider disabling the ! operator and using not: instead:
  • Copy and paste the following into your Everything search box:
    /allow_exclamation_point_not=0
  • Press ENTER in your Everything search box.
  • If successful, allow_exclamation_point_not=0 is shown in the status bar for a few seconds.
For example:
not:abc



Consider enabling literal operators:
  • In Everything, from the Tools menu, click Options.
  • Click the Search tab on the left.
  • Check Allow literal operators.
  • Click OK.
Use uppercase NOT as the NOT operator.
A space must follow a literal operator.

For example:
NOT abc



To temporarily disable the ! NOT operator:
Prefix your search term with no-!:

For example:
no-!:!abc

This might be useful for filter/bookmark macros.
Using double quotes is preferred.



I will consider the option for a <> NOT operator.
Thank you for the suggestions.



allow_exclamation_point_not
allow_literal_operators
no-!:
not_op
Post Reply