This is an attempt to get the Fountain screenwriting syntax working in Sublime Text 2. This repo should work in TextMate as well, but the main testing is on Sublime Text 2 on a Mac.
Initial work on Fountain.tmlanguage
created by Sublime Text forum use "nick" in this post.
Fountain is a simple markup syntax for writing, editing and sharing screenplays in plain, human-readable text. Fountain allows you to work on your screenplay anywhere, on any computer or tablet, using any software that edits text files.
Fountain is supported by a growing list of apps. Syntax highlighting is currently supported in Vim, TextWrangler and BBEdit. Brett Trepstra's Marked can be configured to work with Fountain files.
Package Control: Install Package
from the Command Palette (⇧⌘P).Fountain.sublime-package
and move it to ~/Library/Application Support/Sublime Text 3/Installed Packages
.img
folder and README.md
once you're up and running.Fountain for Sublime Text adds syntax highlighting when editing .fountain
documents. Currently supported highlight elements:
Note that Fountain.tmLanguage
supports much more of the syntax, but Fountain Classic.tmTheme
only calls on the elements listed above using their custom scopes.
There are a few included keyboard shortcuts to make writing your script easier.
*
, **
, (
and [
- Wrap selected text with asterisks (single for italics, double for bold) parentheses or brackets as needed.^⌘n
(control + command + n) - Note: If triggered with nothing selected will start a new Fountain formatted note ([[This is a note.]]
). If triggered on selected text it will wrap it with double brakcets as a Fountain note.^/
(control + /) - Boneyard: If triggered with nothing selected will start a new Fountain Boneyard section (/*This is the boneyard*/
). If triggered on selected text it will wrap it in Boneyard formatting.The current Fountain for Sublime Text package includes three snippets of varying usefulness. All are triggered from the Sublime Text's Command Pallette (⌘⇧P) by searching for them by name.
tab
after filling out each line will move the cursor to the following line.tab
will move the cursor past the hyphen to fill out the scene's time (DAY, NIGHT, etc.). (Honestly you're better off just typing out your scene heading.)The Fountain.sublime-settings
files contains a number of customizations to make Sublime Text 2 a bit more writer friendly.
Currently it defaults to Fountain Byworded Light.tmTheme
for syntax highlighting. This is a customized version of Philip Belesky's excellent "Byworded" theme, itself based on the colors found in Byword, a Mac OS X Text Editor. Fountain Byworded Dark.tmtheme
is also included as a light on dark option.
The package also includes a custom version of the Mac Classic
theme called Fountain Classic.tmtheme
and Chris Kempson's Tomorrow night theme (Fountain Tomorrow Night.tmtheme
).
In general Color Schemes will need to be customized with Fountain specific scopes. Use the provided themes as a guide for making your own.
I spent about a day playing around with this to get the ball rolling, and I will continue fiddling with it. But if you know what's causing some of the current problems or ways to make this load cleaner, I'd appreciate it very much. Specifically, I'd like this to work with any color scheme, not customized ones. Also, if character and scene completions could be implemented, this would be a much better solution for nerdy screenwriters.
John August and Stu Maschwitz jointly came up with Fountain and help maintain it. Brett Terpstra's MarkdownEditing project served as the basis for how to customize ST2 for a specific syntax. And Brett's code for providing keyboard shortcuts to wrap code around text is used to wrap selected text in Notes and Boneyward blocks. Oliver Taylor's now deprecated Screenbundle TextMate Bundle was an inspiration for getting this off the ground.