ink-mode is an Emacs major mode for Ink, an open-source scripting
language for writing interactive fiction developed by Inkle Studios.
- syntax highlighting
- automatic indentation
- autocomplete divert links with
completion-at-point(M-<TAB>orC-M-i) - jump to divert links inside an Ink file by clicking or
C-c C-o - open
INCLUDEfile links withC-c C-o - command to playtest the game from Emacs:
C-c C-c- start the game at a given knot or stitch with
C-c C-p
- start the game at a given knot or stitch with
- outline: fold knots and stitches as in org-mode, with
<TAB>andS-<TAB> - error reporting using flymake
- a collection of YASnippet snippets for Ink
- includes the Writing with ink language manual, which is displayed
with
C-c C-h
Add ink-mode.el to your load-path then add (require 'ink-mode) to
your init.el. If you’re a use-package user, add this instead of
requiring ink-mode:
(use-package ink-mode
:mode "\\.ink\\'");; Path to the Inklecate binary, used to playtest
;; and to check for errors
(setq ink-inklecate-command "/usr/bin/inklecate")
;; Enable flymake (error reporting)
(add-hook 'ink-mode-hook 'flymake-mode)
;; Set indentation level
(add-hook 'ink-mode-hook (lambda () (setq tab-width 2)))
;; Optional: load bundled Ink snippets with YASnippet.
(with-eval-after-load 'yasnippet
(ink-load-snippets))This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.