#+TITLE: Swift layer #+TAGS: general|layer|multi-paradigm|programming [[file:img/swift.png]] * Table of Contents :TOC_5_gh:noexport: - [[#description][Description]] - [[#features][Features:]] - [[#install][Install]] - [[#usage-information][Usage information]] - [[#key-bindings][Key bindings]] - [[#swift-mode][swift-mode]] - [[#swift-repl-mode][swift-repl-mode]] * Description This layer adds support for Apple's Swift programming language, used as a general purpose scripting language. ** Features: - Syntax highlighting with [[https://github.com/swift-emacs/swift-mode][swift-mode]] - Indentation - Code navigation using =imenu= (built-in) - Automatic syntax checking with =flycheck= (available with the =syntax-checking= layer) * Install First check that you are able to run this from the command line: On OS X: #+BEGIN_SRC sh xcrun swift #+END_SRC Then to use this configuration layer, add it to your =~/.spacemacs=. You will need to add =swift= to the existing =dotspacemacs-configuration-layers= list in this file. * Usage information Unless configured by the user, the REPL will be invoked using the command =xcrun swift=. You can launch the REPL using the key binding ~SPC m s s~ (or ~C-c C-z~). The universal prefix ~SPC u~ (~C-u~) may be used to modify command invocation. * Key bindings ** swift-mode | Key bindings | Description | |--------------+------------------------| | ~SPC m s s~ | swift-mode-run-repl | | ~SPC m s b~ | swift-mode-send-buffer | | ~SPC m s r~ | swift-mode-send-region | Notes: 1. =swift-mode-run-repl= will run or switch to an existing REPL. 2. To edit the command invocation, prefix with ~SPC u~ (or ~C-u~). 3. Emacs key bindings in use are the those set by the package. ** swift-repl-mode | Key bindings | Description | |--------------+-----------------------------| | ~SPC m s s~ | swift-repl-mode-switch-back |