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-solarized
orpip 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.