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
- Idea and code from: http://www.macosxtips.co.uk/index_files/terminal-commands-for-improving-spotlight.php
- Spotlight official documentation https://developer.apple.com/library/mac/#documentation/Carbon/Conceptual/MetadataIntro/MetadataIntro.html
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.
cp -r /System/Library/Spotlight/RichText.mdimporter ~/
(This copies the .mdimporter to the root of your user home directory)
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:
Rename the RichText.mdimporter to Markdown.mdimporter:
mv ~/RichText.mdimporter Markdown.mdimporter
Copy the new .mdimporter to /Library/Spotlight:
sudo cp -R ~/Markdown.mdimporter /Library/Spotlight
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.
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!