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.
- Install Package Control.
Package Control: Install Packagefrom the Command Palette (⇧⌘P).
- Select Fountain.
- Write the next Full Metal Jacket.
- Download and unzip this repo.
- Rename folder to
Fountainand move to
~/Library/Application Support/Sublime Text 2/Packages.
- Restart Sublime Text 2.
- Write the next Chinatown.
- Feel free to delete the
README.mdonce you're up and running.
- Alternatively, you could clone the repo to the same location listed above.
Fountain for Sublime Text adds syntax highlighting when editing
.fountain documents. Currently supported highlight elements:
- Title Page
- Scene Headings
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.
[- 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.
Title Page: Creates a stock title page according to the Fountain syntax. Hitting
tabafter filling out each line will move the cursor to the following line.
- Save the Cat: An outline in Fountain format based on Blake Snyder's book of the same name.
int: Creates an interior scene heading with the cursor placed just after "INT.". Pressing
tabwill 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.)
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.
The Fountain syntax supports indentations, but this theme does not support tab-indented character lines. (Space indents work fine, and
Fountain.sublime-settings contains a line turning tabs to spaces.) If you, for example, tab indent characters and dialogue, they will not be highlighted. This has no effect when converting your document with other software, such as Highland.
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.