Welcome to KDAB's Searchfox instance

Searchfox (aka mozsearch) is a source code indexing tool for Mozilla Firefox. This deployment focuses on Qt instead and is hosted by KDAB.

Browse the Qt sources here!

Searchfox provides:

  • Go to declaration/definition and usage search
  • Call/Class/Inheritance diagrams
  • Fully-indexed C++ macro expansions
  • Fast full-text search based on Livegrep
  • Git blame and Git history navigation

Query Language

Searchfox supports both text and file path searches.

Queries entered into the search box use exact string matching, except for the advanced syntax. Case insensitive matching and regular expression matching can be requested with the check boxes. See the documentation for more details.

Path filtering uses globbing. A path matches even if only a substring of the path is matched by the glob. Use the ^ and $ operators to match the beginning or end of the path.

Here are some examples:

test
Find all paths containing the substring "test".
^js/src
Find all paths starting with js/src.
*.cpp
Find all paths containing ".cpp".
*.cpp$
Find all paths ending with ".cpp".
^js/src/*.cpp$
Find all C++ files in js/src, but not in subdirectories (i.e., * does not match /).
^js/src/**.cpp$
Find all C++ files in js/src or in subdirectories (i.e., ** matches /).
^js/src/**.{cpp,h}$
Find all C++ source or header files in js/src or in subdirectories.

Cross-referencing

Once you have arrived at a file, you can mouse over identifiers.If the color of the identifier changes, then clicking on the identifier will open a context menu for cross-referencing identifiers.

You can see an example by mousing over “QObject::connect” and clicking. A context menu will open and you can choose to search for all references to the symbol (definitions, assignments, and uses).

Syntax Highlighting

Searchfox uses semantic syntax highlighting. The color depends on the color scheme, light or dark.

  • Types are shown in teal (blue-green) or sky-blue
  • Definitions are shown in bold
  • Comments are shown in dark-red or gray
  • Reserved words are shown in blue or orange
  • String are shown in green or light-green
  • Regular expressions are shown in gray or lavendar
  • Hovering over an identifier highlights other uses of that identifier