Using The  SymbolsWith  Package
By Ted Ersek    ersektr@navair.navy.mil

Installing and Loading the Package

If you don't already have one add a subdirectory called  (Enhancements) to the directory returned after evaluating the following cell.  You should then copy the package source file  (SymbolsWith.m)  to this (Enhancements) directory.

ToFileName[{$TopDirectory, "AddOns", "ExtraPackages"}]

Once the package is copied to the right directory it can be loaded by evaluating the Needs statement in the next cell.

Needs["Enhancements`SymbolsWith`"];

After loading the package you can evaluate the next cell to see the  SymbolsWith  usage message.

?SymbolsWith

Examples

A few months ago I came across an example where  Apart[expr, Trig->True]  was needed to get the desired result.  I was then curious about what other symbols have this option.  After loading the SymbolsWith package you can evaluate the following to get a list of all symbols with the Trig option.

SymbolsWith[Trig]

Evaluate the next cell and you get a list of all symbols with options Trig, Extension, and Modulus.

SymbolsWith[Trig, Extension, Modulus]

The next cell tells us no symbols have options Trig, and SameTest.

SymbolsWith[Trig, SameTest]

Several years ago I learned about the Flat attribute, and I wanted to know exactly what symbols have this option.  You can evaluate the next cell to get a list of all symbols with the Flat attribute.

SymbolsWith[Flat]

The next cell returns a list of all symbols with attributes Flat and Orderless.

SymbolsWith[Flat, Orderless]

The next cell shows that no symbols have attributes Flat and HoldFirst.

SymbolsWith[Flat, HoldFirst]

The next cell returns a list of built-in symbols with the PlotPoints option.

SymbolsWith[PlotPoints]

In all examples given so far  SymbolsWith[...]  only returned a list of built-in symbols, but it actually checks all current contexts that you might be interested in.  In the next cell the  Graphics`Graphics`  package is loaded and in addition to the symbols from the previous cell we get symbols in the  Graphics`Graphics` package that have  PlotPoints  as an option.

Needs["Graphics`Graphics`"];
SymbolsWith[PlotPoints]