Skip to content

Instantly share code, notes, and snippets.

@davidneedham
Forked from lrytz/z-automator.png
Created September 15, 2017 06:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save davidneedham/9c6955e54fca6fda2a92c5a259f64d91 to your computer and use it in GitHub Desktop.
Save davidneedham/9c6955e54fca6fda2a92c5a259f64d91 to your computer and use it in GitHub Desktop.
Shortcut for Syntax Highlighting in Keynote

Shortcut for Syntax Highlighting in Keynote

The idea is based on a gist by @jimbojsb.

You can use Pygments or Highlight.

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

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.

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