An Emacs major mode for the interactive fiction scripting language Ink, by Inkle Studios.
Find a file
2020-11-05 23:43:18 +01:00
doc Fix help 2020-06-10 18:59:50 +02:00
snippets/ink-mode Fix snippets 2020-06-10 19:11:59 +02:00
.gitignore CLI support to play game from Emacs. 2016-03-18 17:33:18 +01:00
COPYING Add outline 2020-05-28 14:37:47 +02:00
ink-mode.el Revert "Add ink-tab-width" 2020-11-05 23:42:59 +01:00
README.org README: add line about indentation width configuration 2020-11-05 23:43:18 +01:00

ink-mode

ink-mode is an Emacs major mode for Ink, an open-source scripting language for writing interactive fiction developed by Inkle Studios.

Features

  • syntax highlighting
  • automatic indentation
  • autocomplete divert links with completion-at-point (M-<TAB> or C-M-i)
  • jump to link inside an Ink file by clicking it or C-c C-o (links between Ink files are not supported)
  • 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
  • outline: fold knots and stitches as in org-mode, with <TAB> and S-<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

Installing

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\\'")

Configuration

  ;; Path to the Inklecate binary, used to playtest
  ;; and to check for errors
  (setq ink-inklecate-path "/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)))

License

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.