# Shortcut for Syntax Highlighting in Keynote The idea is based on a [gist by @jimbojsb](https://gist.github.com/jimbojsb/1630790). You can use [Pygments](http://pygments.org) or [Highlight](http://www.andre-simon.de/doku/highlight/en/highlight.php). ## Install Pygments `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` or `pip install pygments-style-github` ## Install Highlight `brew install highlight` Styles: `highlight --list-themes` ## Create a Service 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](https://gist.github.com/lrytz/d82c1adf7337a4cecace#file-z-automator-png) Go to `System Preferences` - `Keyboard` - `Shortcuts`. Under `Services`, look for your new service and add a shortcut. See [Screenshot 2](https://gist.github.com/lrytz/d82c1adf7337a4cecace#file-z-keyboard-png) 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](https://gist.github.com/lrytz/d82c1adf7337a4cecace#file-z-security-privacy-png) 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.