SkillAgentSearch skills...

Fountainhead

Contextual Sublime Text screenwriting environment using the Fountain screenplay syntax.

Install / Use

/learn @derickc/Fountainhead
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Fountainhead

Contextual screenwriting environment that leverages the speed of Sublime Text and the readability of Fountain, enabling the user to just write.

Inspired by Jonathan Poritsky's Fountain for Sublime Text package.

Compatible with Sublime Text 2 and 3. Optimized for Sublime Text 3.

Help documentation can also be found within Sublime Text at: Tools > Fountainhead > Help.

Note: Even though Sublime Text 3 is in beta, it is extremely stable and is better than 2 in almost every way.

Support for OpenDyslexic Typeface

Fountainhead supports the open source dyslexia typeface, OpenDyslexic. The OpenDyslexic monospaced (and proportional) font can be downloaded here: http://opendyslexic.org

Instructions on how to install fonts are located in Settings - Installing Fonts.

Why Fountain?

John August gives a great explanation on the benefits of writing in Fountain.

Installation

Option A: Package Control

  1. Download and install Sublime Text.
  • Install Package Control.
  • Select Package Control: Install Package from Tools > Command Palette (⇧⌘P / ⇧⌃P).
  • Select Fountainhead.

Option B: GitHub

  1. Download and install Sublime Text.
  • Download the ZIP of this repository and uncompress it.
  • Move the uncompressed Fountainhead folder to the appropriate packages directory:
    • In Sublime Text, select: Sublime Text > Preferences > Browse Packages...
    • Place the Fountainhead folder inside the open Packages directory.
  • Relaunch Sublime Text.

Quickstart

  1. Open or create a new .fountain file.
    • If creating a new file, first save the file with a .fountain filename extension.
  • Verify that "Fountainhead" appears in the bottom right-hand corner.
    • If it doesn't, you can click on the offending syntax and change it to Fountainhead, or you can use the menu: View > Syntax > Open all with current extension as > Fountainhead.
  • Wait for the CHARACTERS FOUND! and SCENES FOUND! text to appear in the bottom left-hand corner, letting you know that everything has loaded properly.
    • The text will not appear if you have disabled the Character and Scene Lists options in Fountainhead settings.
  • Write!
    • Only action and dialogue sentences need to begin with uppercase letters. Starting everything else with lowercase letters will allow character and scene heading autocompletion suggestions to appear.
      • The Space key will cause the autocomplete window to close, so write without spaces to keep the window open.
      • Pressing the Tab key will select the highlighted autocomplete selection.
    • Characters, scene headings, and transitions are automatically capitalized when you press the Return key at the end of a line.
      • Command+Return(Control+Return) will produce a normal carriage return.
      • Starting a character name with @ will keep it as it's written. Typing an already entered @ character name in lowercase will cause the autocomplete window to appear, which will enter the name in the correct format.
    • Fountainhead commands can be found in the Tools > Fountainhead menu.
    • Instructions to change settings are in: Tools > Fountainhead > Preferences > Fountainhead Settings - Default, and can also be found in the Settings section of this document.
      • Additional settings that are off by default can be activated, like auto-save.
    • The window will automatically scroll down once you reach the bottom.
  • Customize Fountainhead by picking a color scheme (explained in Features - Color Schemes).

Symbol Dictionary

Symbol | Key -------|---- ⏎ | Return ⌘ | Command/Cmd/Super ⌥ | Option/Alt ⌃ | Control/Ctrl ⇧ | Shift → | Right Arrow ↑ | Up Arrow ↓ | Down Arrow

Key bindings are displayed as: OSX / Windows/Linux

Fountain Syntax

Fountainhead offers complete support of the Fountain syntax. For a complete overview of the Fountain syntax, go to http://fountain.io/syntax.

Note: Leading spaces and tabs are supported.

What you want | How to get it --------------|--------------- Scene Headings | Start line with: INT., EXT., EST., INT./EXT., INT/EXT, I/E, . (forced scene heading) Scene Numbers | End Scene Heading with: #Scene Number# Action | Paragraph of text (empty line before and after) or force Action by starting line with ! Character | All uppercase with empty line before and without an empty line after or force by starting line with @ to allow for names with lowercase letters Character Extensions | End character line with (O.S., V.O., CONT'D) Dialogue | Lines of text that are beneath Character or Parenthetical lines Parenthetical | Lines of (Parenthetical Text) that are beneath Character or Dialogue lines Dual Dialogue | End second Character with: ^ Lyrics | Start line with: ~ Transitions | FADE IN:, FADE OUT., FADE TO BLACK., all uppercase line that ends with: TO:, or force by starting line with: > Notes | [[Note Text]] Boneyard (ignored text) | /*Boneyard Text*/ Sections | Start line with one or more: # "Act" Section | Start line with: # Act "Sequence" Section | Start line with: ## Sequence "Scene" Section | Start line with: ### Scene Synopses | Start line with: = Centered Text | >Centered Text< Page Breaks | Line that only contains three or more consecutive equal signs: === Line Breaks | Lines can be broken up by using carriage returns Italics | *Italic Text* Bold | **Bold Text** Bold Italics | ***Bold Italic Text*** Underline | _Underline Text_ * | \* Title Page | Title Page Key that ends with : and precedes its value (Each key can have multiple values by placing them on newlines that are indented 3+ spaces or by a tab) Title: | Title: Title Credit: | Credit: Written by Author: | Author: Author Name(s) Source: | Source: Story by... Draft date: | Draft date: Date Contact: | Contact: Contact Info

###Example:

Title:
    Title 1
    Title 2
Credit: Written by
Author: Author name
Source: Story by...
Draft date: 12/10/2014
Contact:
    Contact Info
    Address Line 1
    Address Line 2

# Act 1

= The introduction of Character

EXT. HOUSE - DAY

Some action text.

CHARACTER
(parenthetical)
Dialogue.

CUT TO:

.Scene Heading

Features

Fountainhead takes care of the formatting, so you just have to worry about the words.

Fountainhead commands can be found by selecting:

Tools > Fountainhead or Tools > Command Palette (⇧⌘P / ⇧⌃P) and entering Fountainhead

All settings can be deactivated and customized by the user, as described in the Settings section.

Automatic Capitalization and Line Spacing

Fountainhead believes in efficiency, and that means doing away with superfluous Shift and Caps Lock usage. It is smart enough to know which elements should be in all uppercase letters. Unless it's the beginning of an action or dialogue sentence, type everything in lowercase, and let Fountainhead handle the super-sizing.

Pressing ⏎ at the end of lines will have the following effect*:

* Pressing ⌘⏎ / ⌃⏎ will produce a normal carriage return.

Element Type | Uppercase | Line Spacing -------------|-----------------|------------- Scene Headings | YES | DOUBLE Action | NO | DOUBLE Characters* | YES | SINGLE @ Characters** | NO | SINGLE Dialogue*** | NO | DOUBLE Lyrics | NO | SINGLE Parenthetical | NO | SINGLE Transitions | YES | DOUBLE Notes | NO | DOUBLE Boneyard | NO | SINGLE Sections | NO | DOUBLE Synopses | NO | DOUBLE Centered Text | NO | DOUBLE Page Breaks | N/A | DOUBLE Title Page | NO | SINGLE

* Supports V.O. and O.S. character elements, which are automatically capitalized.

** Character names that begin with @ will remain as written, but V.O. and O.S. will be capitalized ( e.g., @McDOWELL (v.o.) > @McDOWELL (V.O.) ).

*** Dialogue lines that are not complete sentences have single line spacing. Dialogue line spacing can be changed in settings.

Manual Capitalization

For those times that manual capitalization is needed (e.g., edits), the following commands are provided:

Key Combination | Performs the Following Action ----------------|------------------------------ ⌘K, ⌘L / ⌃K, ⌃L* | Convert highlighted text to lowercase ⌘K, ⌘U / ⌃K, ⌃U* | Convert highlighted text to uppercase ⌘K, K / ⌃K, K** | Capitalize the entire line

* The comma is used to separate the sequence of key presses (X,Y is equal to "Press X, and then press Y").

** All commands use lowercase letters (K is equal to pressing k), unless preceded by ⇧/Shift.

The above commands can also be selected through the use of menus:

Tools > Fountainhead > Convert to Lowercase Tools > Fountainhead > Convert to Uppercase Tools > Fountainhead > Capitalize Current Line or Tools > Command Palette (⇧⌘P / ⇧⌃P) and entering Fountainhead: Convert to Lowercase Tools > Command Palette (⇧⌘P / ⇧⌃P) and entering Fountainhead: Convert to Uppercase Tools > Command Palette (⇧⌘P / ⇧⌃P) and entering Fountainhead: Capitalize Current Line

Automatic Escaping of Parentheses, Boneyard, and Notes

Pressing ⏎ when the cursor is directly to the left of the closing ),*/, ]] will automatically escape the element and create a line break.

Pressing ⇧Space is the same as pressing → and will move your cursor to the right (useful for keyboa

View on GitHub
GitHub Stars73
CategoryContent
Updated3mo ago
Forks14

Languages

JavaScript

Security Score

77/100

Audited on Dec 8, 2025

No findings