TextEditingReference
A non-curated collection of tools for working with text on Apple platforms
This exists to try to encourage collaboration, reduce redundant work, and generally help those working with text make better stuff. It is a list of libraries, packages, and tools geared towards people working with text on Apple platforms. Inclusion is strictly non-curated. I will not apply any filters to the listings here. But, just to be extra-clear is a list of infrastructure, not apps.
Views
- CodeEditorView (iOS/macOS/visionOS, SPM)
- CodeEditTextView (macOS, SPM)
- Lexical (iOS, SPM)
- Textual (iOS/macOS/tvOS/watchOS/visionOS, SPM)
- MarkupEditor (iOS/macCatalyst, SPM)
- MetaTextKit (iOS, SPM)
- RichTextKit (iOS/macOS/tvOS/watchOS/visionOS, SPM)
- Runestone (iOS/visionOS, SPM)
- SourceView (macOS, SPM)
- STTextView (macOS/iOS, SPM)
Last Update > 6 Months
- AztecEditor (iOS, CocoaPods)
- CodeEditor (iOS/macOS/visionOS, SPM/CocoaPods)
- CYRTextView (iOS, CocoaPods)
- Editor (macOS/iOS)
- Firefly (iOS, SPM)
- NLTextView (macOS)
- NTYSmartTextView (macOS)
- Proton (iOS/visionOS, SPM)
- RichEditorSwiftUI (macOSiOS/macOS/tvOS/watchOS/visionOS, SPM/CocoaPods)
- Sourceful (iOS/macOS, SPM/CocoaPods)
- TextKit_LineNumbers (iOS)
- TwitterTextEditor (iOS, SPM)
- YYText (iOS, CocoaPods)
- ZSSRichTextEditor (iOS, CocoaPods)
Archived
TextKit Utilities
- Glyph: Abstractions for working with TextKit 1 and 2
- Ligature: Text selection, grouping, and manipulation in Swift
- Rearrange: Swift library for working with ranges types: NSRange, IndexSet, and String.Index
- STTextKitPlus: Collection of useful TextKit 2 helpers
- TextViewBenchmark: A suite of performance tests for macOS text views
- TextViewPlus: Make life better with NSTextView+TextKit 1/2
Editing UI
Editing Behavior
- EditorConfig: A Swift library for working with .editorconfig files
- IBeam: A Swift library for multi-cursor support
- Borderline: Text line metrics and visualization
Parsing
- Citron: An LALR Parser Generator for Swift
- Flexer: Lexing library for Swift
- Gramophone: Swift library for working with Extended Backus–Naur Form (EBNF) notation and grammars
- ParseKit: Objective-C Tokenizer and Parser Generator. Supports Grammars.
- PEGKit: 'Parsing Expression Grammar' toolkit for Cocoa/Objective-C
- tree-sitter/SwiftTreeSitter: Swift API for the tree-sitter incremental parsing system
- viktorstrate/SwiftTreeSitter: Swift bindings for the tree-sitter parsing library
- TextMarkupKit: Pure-Swift tools for understanding and editing text files with simple markup
- tree-sitter: An incremental parsing system for programming tools
Text Manipulation
Storage
- RelativeCollections: Swift collection types that support efficient storage of order-relative values
- TextStory: Happier, more flexible NSTextStorage
Syntax Highlighting
- Highlightr: iOS & OSX Syntax Highlighter.
- HighlightSwift: Code syntax highlighting in Swift and SwiftUI
- Neon: A Swift library for efficient, flexible content-based text styling
- Splash: A fast, lightweight and flexible Swift syntax highlighter for blogs, tools and fun!
- ThemePark: A Swift library for working with syntax highlighting/IDE themes
Search
LSP/LSIF/DAP