Kungsgeten / ink-mode

An Emacs major mode for the interactive fiction scripting language Ink, by Inkle Studios.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ink-mode

https://melpa.org/packages/ink-mode-badge.svg

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.

About

An Emacs major mode for the interactive fiction scripting language Ink, by Inkle Studios.

License:GNU General Public License v3.0


Languages

Language:Emacs Lisp 98.3%Language:YASnippet 1.7%