-
v3.3.067625004 · ·
Version 3.3.0 Pagination Pagination is now a first-class citizen. Page count accuracy should be good enough to refer between a PDF and your Fountain script within Emacs. The pagination commands are all located in the menu under Fountain > Pagination. Given that counting pages is computationally intensive, pagination is now handled by applying text properties with command fountain-pagination-update (C-c C-x p), which can be triggered with fountain-mode-hook. This applies a fountain-pagination text property of (PAGE . LENGTH) to all buffer text, where PAGE is the linear page count and LENGTH is each page's length in characters. Counting pages then checks whether each PAGE property is correctly ordered and LENGTH is accurate within fountain-pagination-max-change (default 150 characters). If either of these checks fails, pagination properties are recalculated. These properties are now used for all page-related functions. All this does require some care on the part of the user in ensuring some options are set correctly in the group fountain-pagination: - New option fountain-pagination-double-space-scene-headings to count scene headings as two lines if your export uses double-space scene headings. - New option fountain-pagination-break-sentences to if your export allows page breaks to occur within sentences. - New option fountain-pagination-max-change -- set this to a lower value if you want more accurate pagination, or higher if you don't care. - New commands fountain-forward-page and fountain-backward-page. These navigate by the actual page breaks, not by a page length back/forth from point. - Rename option fountain-page-ignore-restriction to fountain-pagination-ignore-restriction. It's useful to set this option to nil if you're working on a narrowed section of your script and want the page count to refer only to this. The title page is considered page 0. Other Fixes - Rewrite of fountain-get-element and fountain-move-forward-page to account for dual dialogue. - Fix fountain-export-view locating the last modified file (was previously using access-time). - When calling an export command that uses the buffer file as input but the buffer is not saved, prompt to save buffer first. - fountain-export-view will no longer wait for external viewer to terminate. - Avoid matching transitions (e.g. CUT TO:) as metadata when at beginning of buffer. - Fix for Font Lock not recognizing lowercase scene headings. - Remove unused fountain-get-block-bounds function. Thanks to @ZungBang for contributing many fixes to this release.
-
v3.2.21405217e · ·
Version 3.2.2 - Improvements to fountain-export-view command: will search exec-path for suitable shell command to open export output (usually a PDF). - Lower Emacs requirement to 24.4 (was 24.5). - Avoid matching notes as metadata at beginning of buffer. - Allow whitespace ahead of forced scene heading
-
v3.2.0a3a0f078 · ·
Version 3.2.0 - Gone are the three levels of Font Lock highlighting, you can now choose to highlight elements individually with fountain-highlight-elements option accessible via menu > Fountain > Syntax Highlighting. - You can also easily add emphasis markup with a single key by enabling electric-pair-local-mode via fountain-mode-hook, e.g. selecting a word and typing * will make that word *italic* (surround with *asterisks*), and just typing * will insert a pair and place cursor in between. When closing the pair, just typing the same emphasis key will skip over the emphasis markup. - Use transpose-subr for shifting elements around. These work slightly differently to the previous fountain-shift-* commands in that transposing any block of text will allow moving past a scene/section heading, but when point is on a scene/section heading, the previous outline subtree functionality remains the same. - New command fountain-toggle-highlight-element to interactively toggle element highlight without using the menu. - Fix compatibility in fountain-outline-to-indirect-buffer with Emacs <= 25.x. - Remove fountain-set-font-lock-decoration command. - Rewrite of fountain-init-font-lock and fountain--font-lock-keywords. - Make S-TAB (shift-TAB) compatible with consoles. - Make fountain-redisplay-scene-numbers a little more efficient. - Appropriately signal errors when calling commands that edit buffer if buffer is read-only. - Use fountain-* aliases for outline backwards compatibility with Emacs 24.x. - Add contrib/fountain-theme.el - Add a Makefile to locally check for byte-compile and linting errors.
-
v3.1.09027c6f2 · ·
Version 3.1.0 - Expand functionality of fountain-dwim (bound to TAB); when point is: - at a blank line within dialogue, insert a parenthetical, or - inside a non-empty parenthetical, move to a newline, or - inside an empty parenthetical, delete it. - If fountain-dwim-insert-next-character is non-nil, pressing TAB at the end of dialogue will insert the next (alternately speaking) character. - Character extensions, e.g. (V.O.), (O.C.), are now autocompleted according to fountain-character-extension-list - Add hide markup toggle commands to menu - Add some default options to fountain-mode-hook - Avoid duplicate entries in character autocompletion (#116) - Use completing-read instead of completing-read-default to facilitate custom completion frameworks. - Simplify character regular expression - Prefer match-string-no-properties for efficiency - Add file local variables to source
-
v3.0.0486756cf · ·
Version 3.0.0 Exporting - Add fountain-export-command (C-c C-e), which interactively prompts for one of fountain-export-command-profiles, a list of cons-cells of profile name and associated shell command string. The command string allows interpolation of various values, most importantly %b and %B for buffer-file-name and the same sans extension. This allows infinitely flexible output for all Fountain programs, whether they read from STDIN/STDOUT, require the filename, etc. and the user can easily specify a different output name. The full list of options: %b is the buffer-file-name %B is the buffer-file-name sans extension %n is the user-full-name %t is the title (from script metadata) %a is the author (from script metadata) %F is the current date in ISO format %x is the current date in your locale's "preferred" format - Remove previous Elisp-based export functionality. This was never very good and there are several external tools available that better handle exporting. - Add fountain-export-view (C-c C-v) to open the most recently exported file (uses dired-guess-default) Other Features - fountain-note-template now uses a similar format-spec as fountain-export-command-profiles: - %u user-login-name - %n user-full-name - %e user-mail-address - %x date in locale's preferred format - %F date in ISO format - fountain-continued-dialog-string now always prepends a space (reverting v2.8.1 change) - Add option fountain-imenu-elements to choose which elements are displayed in imenu - Add imenu-add-menubar-index as startup hook option - Options fountain-align-* are now concs-cells instead of two-element lists (may require resetting via Customize for some users) - Make page length account for dual-dialogue elements - Make fountain-completion-additional-(characters|locations) case sensitive to allow for @McCLANE - Rename fountain-hide-emphasis-delim to fountain-hide-emphasis-markup - Rename fountain-hide-syntax-chars to fountain-hide-element-markup - More things accessible via Fountain menu - New faces fountain-section-heading-(1..5) mapped the each section heading level - New variable fountain-printed-elements (only affects page length calculation) - Refactor fountain-init-font-lock for simplicity - Only define fountain-outline-invisible-p in Emacs versions < 26 - Use more accurate buffer comparison for fountain-outline-to-indirect-buffer (C-c C-x b) to prevent duplicating indirect buffers - Use fountain--* for internal variables - Use format-string %S for some messages - Revert fountain-*-contd-* variables names to fountain-*-continued-* - Remove parsing code — no longer using an AST - Remove file inclusion code — this was never part of the 1.1 spec and is not supported by most export programs
-
-
v2.8.47524c261 · ·
Version 2.8.4 - Added export depreciation message to fountain-export-buffer - Added export depreciation note to fountain-export group - Refactored generation of Font Lock keywords - Fixed some regexp bugs **n.b. Exporting is depreciated and will be removed in the next major release. Several external tools are available that better export Fountain files.**
-
-
v2.8.005db0789 · ·
Version 2.8.0 - When cycling outline visibility, notes now remain folded and can be revealed with TAB. Customize this with option fountain-fold-notes. - Allow blank lines in notes - Only highlight non-printing characters when font-lock decoration is set to level 3 (maximum) - fountain-set-font-lock-decoration now uses read-char-choice (so you don't need to press RET) - Use macros where appropriate instead of functions - Added docstrings to all functions/variables - Improved most regular expressions
-
-