#+TITLE: Swift layer
#+HTML_HEAD_EXTRA: <link rel="stylesheet" type="text/css" href="../../../css/readtheorg.css" />
[[file:img/swift.png]]
* Table of Contents :TOC_4_org:noexport:
- [[Description][Description]]
- [[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.
It relies on the [[https://github.com/chrisbarrett/swift-mode][swift-mode]] major-mode* for Emacs 24.4 or later, to provide the
following features:
- Syntax highlighting
- Indentation
- Code navigation using ~imenu~ (built-in)
- Automatic syntax checking with ~flycheck~ (available with the
~syntax-checking~ layer)
* Install
To be able to use this layer you should be able to run this from the
command line:
On OS X:
#+BEGIN_SRC sh
xcrun swift
#+END_SRC
* Usage information
Unless configured by the user, the REPL will be invoked using the command ~xcrun
swift~.
You can launch the REPL using the keybinding ~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
|--------------+-----------------------------|
| ~SPC m s s~ | swift-repl-mode-switch-back |