An Emacs major mode providing syntax highlighting, indentation, and development tools for Apple's Swift programming language.
swift-mode is an Emacs major mode that provides comprehensive editing support for Apple's Swift programming language. It includes syntax highlighting, intelligent indentation, code navigation tools, and integrated development features like a REPL, building, and debugging. It solves the problem of editing Swift code efficiently within the Emacs editor.
Emacs users who develop in Swift, including those working on iOS, macOS, or server-side Swift projects and seeking a powerful, customizable editing environment.
Developers choose swift-mode for its deep integration with Emacs workflows, offering a native-feeling editing experience for Swift with tools for building, debugging, and interactive development, all within a highly extensible editor.
Emacs support for Apple's Swift programming language.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides comprehensive font lock for Swift syntax elements, ensuring clear visual differentiation in code as part of core features.
Offers context-aware indentation with support for complex expressions and nested blocks, demonstrated in the README with examples like Utrecht style.
Includes commands for running a Swift REPL, building modules and iOS apps, and debugging directly from Emacs via M-x functions.
Enables efficient movement and manipulation with Emacs-native functions like beginning-of-defun and narrow-to-defun for better code exploration.
Admits inaccuracies in indenting complex cases like conditional operators and regexp literals, requiring manual adjustments as documented in limitations.
Does not fully support some older Swift 3.0 constructs and has edge cases with newer syntax, such as issues with colons and custom operators.
Lacks built-in flycheck; users must install separate packages like flycheck-swift for linting, adding to initial configuration effort.