The idea is based on a gist by @jimbojsb.
You can use Pygments or Highlight.
brew install python
pip install pygments --pre (pre is currently required to get version 2.0rc1, which adds fontsize to the rtf formatter)
Pygments quick help:
- show available styles, formatters, etc:
pygmentize -L - show help for a formatter:
pygmentize -H formatter rtf
Styles
pygmentize -L style- previews: http://help.farbox.com/pygments.html
- others are available:
pip search pygments, e.g.pip install pygments-style-solarizedorpip install pygments-style-github
brew install highlight
Styles: highlight --list-themes
Start the Automator, File - New, choose Service.
Add Copy to Clipboard, then Run AppleScript.
Paste the script below, adjust to your preferences:
-- for pygmentize
set command to "/usr/local/bin/pygmentize -l scala -f rtf -O style=github,fontface=\"Source Code Pro\",fontsize=48"
-- for highlight
-- set command to "/usr/local/bin/highlight --syntax scala --out-format rtf --style solarized-light --font \"DejaVu Sans Mono\" --font-size 24"
do shell script "/bin/bash -c 'pbpaste | " & command & " | pbcopy'"
tell application "System Events" to tell (process 1 where frontmost is true)
click menu item "Paste" of menu 1 of menu bar item "Edit" of menu bar 1
end tell
Save the service as Syntax Highligh (or a different name).
See Screenshot 1
Go to System Preferences - Keyboard - Shortcuts. Under Services, look for your new service and add a shortcut.
See Screenshot 2
Go to System Preferences - Security & Privacy - Privacy. Under click the lock on the bottom left. Under Accessibility, add Keynote (or PowerPoint) to the list of apps.
See Screenshot 3
In Keynote, create a text box and add some code. Select the code and hit your shortcut. That should replace the text by its highlighted version.


