Skip to content

Instantly share code, notes, and snippets.

@gereon
Created July 20, 2012 12:20
Show Gist options
  • Save gereon/3150445 to your computer and use it in GitHub Desktop.
Save gereon/3150445 to your computer and use it in GitHub Desktop.
Mac OSX Spotlight Enhancement

Mac OSX Spotlight Enhancement

Add this to Info.plist in /System/Library/Spotlight/RichText.mdimporter/Contents/ and Spotlight will search for source code files.

<string>public.c-header</string>
<string>public.c-plus-plus-header</string>
<string>public.c-source</string>
<string>public.objective-c-source</string>
<string>public.c-plus-plus-source</string>
<string>public.objective-c-plus-plus-source</string>
<string>com.sun.java-source</string>
<string>public.perl-script</string>
<string>public.python-script</string>
<string>public.csh-script</string>
<string>public.shell-script</string>
<string>public.ruby-script</string>
<string>public.php-script</string>
<string>com.netscape.javascript-source</string>
<string>net.daringfireball.markdown</string>

To find the entry for other file extensions do:

mdimport -n -d1 somefile.ext

After adding the desired file types you have to run

mdimport -r /System/Library/Spotlight/RichText.mdimporter

to update the new file extensions.

To re-index the HD you can run

sudo mdutil -E /

To implement an easy command to search via the Terminal using Spotlight install spotfind.sh from https://github.com/mattheworiordan/Mac-OS-X-Useful-Scripts

To add system folders to the search index use the script above and execute

spotfind -c

More Information

@pn11
Copy link

pn11 commented Dec 3, 2015

Copy link

ghost commented May 3, 2017

Thanks, very useful.

@cseder
Copy link

cseder commented Nov 20, 2018

Markdown to Spotlight

You can do this without disabling SIP by creating a copy of the system RichText.mdimporter, modifying its Info.plist and saving it in /Library/Spotlight.

  1. cp -r /System/Library/Spotlight/RichText.mdimporter ~/
    (This copies the .mdimporter to the root of your user home directory)

  2. You can either use an editor from the command line, or go to a Finder window in your Home folder and do a "Show Package Contents" on the RichText.mdimporter file bundle to get to the Info.plist file and open it with Text Edit or another Text Editor.
    Open the: RichText.mdimporter/Contents/Info.plist Markdown.mdimporter/Contents/Info.plist file and add:

<string>net.daringfireball.markdown</string>

to the array of LSItemContentTypes in that file:

markdown-finder.png

  1. Rename the RichText.mdimporter to Markdown.mdimporter:
    mv ~/RichText.mdimporter Markdown.mdimporter

  2. Copy the new .mdimporter to /Library/Spotlight:
    sudo cp -R ~/Markdown.mdimporter /Library/Spotlight

  3. Use the mdimport command to add it to the metadata indexing system:
    mdimport -r /Library/Spotlight/Markdown.mdimporter
    This command asks the server to reimport files for UTIs claimed by the listed plugin.

  4. It should re-import the files automatically after the previous caommand, but if you wish, you can always re-index the whole drive to include the new filetype by rebuilding the whole Spotlight index:
    sudo mdutil -E /
    (This will take some time, and is rather resource demanding)

But now you should be good to go with .markdown files being indexed by Spotlight!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment