Emacs support for Apple's Swift programming language.
GPL-3.0 License
consume
operator to end the lifetime of a variable binding
https://github.com/apple/swift-evolution/blob/main/proposals/0366-move-function.md
borrowing
and consuming
parameter ownership modifiers
https://github.com/apple/swift-evolution/blob/main/proposals/0377-parameter-ownership-modifiers.md
New access modifier: package
https://github.com/apple/swift-evolution/blob/main/proposals/0386-package-access-modifier.md
Noncopyable structs and enums
https://github.com/apple/swift-evolution/blob/main/proposals/0390-noncopyable-structs-and-enums.md
Value and Type Parameter Packs
https://github.com/apple/swift-evolution/blob/main/proposals/0393-parameter-packs.md
https://github.com/apple/swift-evolution/blob/main/proposals/0398-variadic-types.md
https://github.com/apple/swift-evolution/blob/main/proposals/0399-tuple-of-value-pack-expansion.md
Init Accessors
https://github.com/apple/swift-evolution/blob/main/proposals/0400-init-accessors.md
Macros
https://github.com/apple/swift-evolution/blob/main/proposals/0382-expression-macros.md
https://github.com/apple/swift-evolution/blob/main/proposals/0389-attached-macros.md
https://github.com/apple/swift-evolution/blob/main/proposals/0397-freestanding-declaration-macros.md
https://github.com/apple/swift-evolution/blob/main/proposals/0402-extension-macros.md
Bug fixes and CI improvements.
Thanks @jpgrayson and @nhojb.
Published by taku0 over 1 year ago
hasFeature
hasAttribute
before
if
expresison and switch
expression (Swift 5.9).Published by taku0 over 2 years ago
async let
#unavailable
keywordnoasync
keywordPublished by taku0 over 2 years ago
fill-paragraph
, fill-region
, and auto filling in comments and strings, based on woolsweater's work.
/* aaa bbb ccc */
↓↑
/*
aaa
bbb
ccc
*/
swift-mode:fill-paragraph-entire-comment-or-string
is non-nil, fill-paragraph
fills the entire comment.comment-fill-column
is defined, it is used in comments rather than fill-column
.Published by taku0 about 3 years ago
Function names are now correctly faced with swift-mode:function-name-face
.
Fixes #174.
Published by taku0 about 3 years ago
Published by taku0 about 3 years ago
Support Swift 5.5 features not included in v8.3.0:
async let
nonisolated
/isolated
get async throws
Published by taku0 over 3 years ago
async
/await
and actor
.M-j
and C-M-j
for Emacs 27.Published by taku0 over 3 years ago
swift-mode:debug-ios-app
for newer Xcode.Thanks @jcs090218, @woolsweater, and @danielmartin.
Published by taku0 about 4 years ago
If swift-mode:switch-case-offset
is equal to or greater than swift-mode:basic-offset
, the body of switch statements are indented to swift-mode:switch-case-offset + swift-mode:basic-offset
.
Before:
switch foo {
case 1:
print(1)
default:
print("other")
}
After:
switch foo {
case 1:
print(1)
default:
print("other")
}
Thanks @woolsweater .
Published by taku0 about 4 years ago
#filePath
Published by taku0 over 4 years ago
Fixed indentation of generic parameters.
Example:
struct Foo<
A: A,
A: A, A: A
> {
}
Added some
keyword of Swift 5.1.
Other small fixes.
Published by taku0 over 5 years ago
Fix indentation after class
token used as a modifier:
class Foo {
public
class
var
foo = 1
}
Trivia:
class Foo {
// Nested class named "final"
class final {
}
// Non-overridable class method named "foo"
class final func foo() {
}
}
Published by taku0 over 5 years ago
*Swift REPL [cmd-string]*
where cmd-string
is the command name such as swift
beginning-of-defun
hanging at the beginning of bufferPublished by taku0 almost 6 years ago
Adds support for raw string literal of Swift 5. For example: #"c:\windows\system32"#
.
This release also enchances the hilighting of compiler directives.
Published by taku0 about 6 years ago
This is a minor fix for swift-mode:mark-defun
and swift-mode:mark-sentence
.
Published by taku0 about 6 years ago
swift-mode:mark-defun
and swift-mode:mark-sentence
now take a numeric argument. It repeats that count. If the count is negative, reverse direction.
Published by taku0 over 6 years ago
Published by taku0 over 6 years ago
Now you can debug iOS apps on your device with ios-deploy
. Install ios-deploy
, set exec-path
, run swift-mode:debug-ios-app
, and choose Local device
.
font-lock
is improved and now customizable. Run customize-group
with swift-mode:faces
.
Most of those improvements are contributed by @msanders (Michael Sanders). Thanks!
Published by taku0 over 6 years ago
This is a bug fix release.
Fixes which-function-mode
hang when running swift-mode:current-defun-name
in a non swift-mode
buffer.
This affected users who have which-function-mode
enabled globally.