552fd5953c
Apple renamed "Mac OS X" to "OS X" in 2012 and then to "macOS" in 2016. Update references to use the current name.
64 lines
1.9 KiB
Org Mode
64 lines
1.9 KiB
Org Mode
#+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 macOS:
|
|
|
|
#+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 |
|