Tips & FAQ

Leave the Line Contains box empty to find files instead of lines

If you search with a blank Line Contains box, your results will be all the files from the Search In folder that satisfy your other search criteria.

If you have a Path Contains pattern, your results will be all the files that match it

E.g. If your Path Contains box contains .py you'll get a list of all the Python files in the Search In folder.
E.g. If your Path Contains box contains name:readme you'll get a list of all the files called readme that have no extension
E.g. If your Path Contains box contains name:readme.* and advanced search is switched on, you'll get a list of all the files called readme whatever their extension

If you have a File Contains pattern, your results will be all the files that contain that text

E.g. If your File Contains box contains PyQt5 QSciScintilla you'll get a list of all the files that include those two words.
E.g. If your File Contains box contains datetime timedelta and your Path Contains box contains .py you'll get a list of all Python the files that include those two words.

Advanced Search let's you be more precise about the code you're looking for without needing to use regex

Put compound names in quotes to exclude them or use with the OR operator

The Line Contains box interprets self.x as three tokens: self . and x

To exclude self.x from your matches you must treat it as a phrase. Add this to your Line Contains pattern:
	-"self.x" 

To match self.x OR other.y you must use also phrase search
	"self.x" OR "other.y"

Set Advanced Search symbols to uncommon symbols to avoid colliding with symbols and punctutation you may want to search for

Default Advanced Search symbols are double quote " minus sign - and asterisk * for phrase search, exclude operator and wildcard respectively

We recommending changing these in app preferences, to symbols that are found less commonly in code.
We use ` (backtick) (not-equals sign) and (bullet)

Advanced Search criteria respect the Order box

If you tick the Order box, lines with excluded terms will only be excluded if the terms occur in the specified order.

So you can find python print statements that haven't been commented out with this search


–# print

You can use name: as a prefix in Path Contains to specify a filename

E.g. this Path Contains pattern will search only files called README

name:README


To specify README files with any extension, turn on Advanced Search from the Search menu, and use a wildcard
name:README.*

Spotlight limitations and workarounds

By default Pop speeds up searches using Spotlight.

Spotlight doesn't index every file, but for most code searches it works very well.

If you want to find files that Spotlight hasn't indexed, you can search by walking the filesystem instead. To do this, turn the 'Use Spotlight' option off in the Search menu. You'll probably also want to change the Search In folder to something appropriate to limit the number of files searched.

In general Spotlight doesn't index:

  • Files with certain extensions, e.g. it doesn't index files with a .css or .json extension.
  • Hidden files or folders (files and folders whose names begin with a . )
  • Files within an application bundle (folders with a .app extension)
  • Files inside System folders
If you want Spotlight to index additional filetypes, you can follow the steps given by the comments on the top rated answer here https://stackoverflow.com/questions/365669/how-can-i-make-spotlight-index-markdown-files


Spotlight slowdown with wildcard prefixes
Queries suffer a delay of up to 1minute before returning any results if you search for words prefixed with a wildcard: Spotlight cannot make good use of its index in these circumstances. If you're searching a small folder, you might get faster results by turning off the Use Spotlight option, then Pop will walk the filesystem, and these searches have no such performance hit.


We use Google and Clicky Analytics to count how many people visit, and how many come back.
For now, if you don't want a cookie, please browse in incognito mode.

© 2019 Etia UK