#+TITLE: prolog layer #+TAGS: dsl|layer|programming * Table of Contents :TOC_5_gh:noexport: - [[#description][Description]] - [[#features][Features:]] - [[#install][Install]] - [[#key-bindings][Key bindings]] - [[#consulting][Consulting]] - [[#compiling][Compiling]] - [[#formatting][Formatting]] - [[#inserting][Inserting]] - [[#help][Help]] - [[#evaluating][Evaluating]] * Description This layer adds support for Prolog using the bundled Prolog mode for Emacs. In addition it also adds ediprolog support for better interaction with SWI-Prolog. ** Features: - Designed for SWI-Prolog as a default, but can be used with other Prologs that Prolog mode supports. - Interactive consulting and compiling. - Auto-formatting. - Apropos and help lookup. * Install To use this configuration layer, add it to your =~/.spacemacs=. You will need to add =prolog= to the existing =dotspacemacs-configuration-layers= list in this file. * Key bindings ** Consulting | Key binding | Description | |-------------+-------------------| | ~SPC m s b~ | Consult Buffer | | ~SPC m s f~ | Consult File | | ~SPC m s p~ | Consult Predicate | | ~SPC m s r~ | Consult Region | ** Compiling | Key binding | Description | |-------------+-------------------| | ~SPC m c b~ | Compile Buffer | | ~SPC m c c~ | Compile File | | ~SPC m c p~ | Compile Predicate | | ~SPC m c r~ | Compile Region | ** Formatting | Key binding | Description | |-------------+---------------| | ~SPC m =~ | Indent Buffer | ** Inserting | Key binding | Description | |-------------+----------------------------------------------------| | ~SPC m i m~ | Insert a Modeline for Module Specification | | ~SPC m i n~ | Insert Newline and the Name for the Current Clause | | ~SPC m i p~ | Insert Predicate Template for the Current Clause | | ~SPC m i s~ | Insert Predicate Spec | ** Help | Key binding | Description | |-------------+---------------------------------------| | ~SPC m h a~ | Prolog Apropos for a Given String | | ~SPC m h p~ | Online Help for the Atom under Cursor | ** Evaluating | Key binding | Description | |-------------+-------------------------------------------| | ~SPC m e e~ | Context Sensitive SWI-Prolog Interaction. |