├── LICENSE └── README.md /LICENSE: -------------------------------------------------------------------------------- 1 | BSD 3-Clause License 2 | 3 | Copyright (c) 2023, Matt Massicotte 4 | 5 | Redistribution and use in source and binary forms, with or without 6 | modification, are permitted provided that the following conditions are met: 7 | 8 | 1. Redistributions of source code must retain the above copyright notice, this 9 | list of conditions and the following disclaimer. 10 | 11 | 2. Redistributions in binary form must reproduce the above copyright notice, 12 | this list of conditions and the following disclaimer in the documentation 13 | and/or other materials provided with the distribution. 14 | 15 | 3. Neither the name of the copyright holder nor the names of its 16 | contributors may be used to endorse or promote products derived from 17 | this software without specific prior written permission. 18 | 19 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 20 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 21 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 22 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 23 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 24 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 25 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 26 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 27 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # TextEditingReference 2 | A non-curated collection of tools for working with text on Apple platforms 3 | 4 | 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. 5 | 6 | ## Views 7 | 8 | - [CodeEditorView](https://github.com/mchakravarty/CodeEditorView) (iOS/macOS/visionOS, SPM) 9 | - [CodeEditor](https://github.com/ZeeZide/CodeEditor) (iOS/macOS/visionOS, SPM/CocoaPods) 10 | - [CodeEditTextView](https://github.com/CodeEditApp/CodeEditTextView) (macOS, SPM) 11 | - [Lexical](https://github.com/facebook/lexical-ios) (iOS, SPM) 12 | - [MarkupEditor](https://github.com/stevengharris/MarkupEditor) (iOS/macCatalyst, SPM) 13 | - [MetaTextKit](https://github.com/TwidereProject/MetaTextKit) (iOS, SPM) 14 | - [Proton](https://github.com/rajdeep/proton) (iOS/visionOS, SPM) 15 | - [RichEditorSwiftUI](https://github.com/canopas/rich-editor-swiftui) (macOSiOS/macOS/tvOS/watchOS/visionOS, SPM/CocoaPods) 16 | - [RichTextKit](https://github.com/danielsaidi/RichTextKit) (iOS/macOS/tvOS/watchOS/visionOS, SPM) 17 | - [Runestone](https://github.com/simonbs/Runestone) (iOS, SPM) 18 | - [SourceView](https://github.com/ChimeHQ/SourceView) (macOS, SPM) 19 | - [STTextView](https://github.com/krzyzanowskim/STTextView) (macOS, SPM) 20 | 21 | ### Last Update > 6 Months 22 | 23 | - [AztecEditor](https://github.com/wordpress-mobile/AztecEditor-iOS) (iOS, CocoaPods) 24 | - [CYRTextView](https://github.com/illyabusigin/CYRTextView) (iOS, CocoaPods) 25 | - [Editor](https://github.com/mmackh/Editor) (macOS/iOS) 26 | - [Firefly](https://github.com/ActuallyTaylor/Firefly) (iOS, SPM) 27 | - [NLTextView](https://github.com/srijs/NLTextView) (macOS) 28 | - [NTYSmartTextView](https://github.com/naoty/NTYSmartTextView) (macOS) 29 | - [Sourceful](https://github.com/twostraws/Sourceful) (iOS/macOS, SPM/CocoaPods) 30 | - [TextKit_LineNumbers](https://github.com/alldritt/TextKit_LineNumbers) (iOS) 31 | - [TwitterTextEditor](https://github.com/twitter/TwitterTextEditor) (iOS, SPM) 32 | - [YYText](https://github.com/ibireme/YYText) (iOS, CocoaPods) 33 | - [ZSSRichTextEditor](https://github.com/nnhubbard/ZSSRichTextEditor) (iOS, CocoaPods) 34 | 35 | ### Archived 36 | 37 | - [RichTextView](https://github.com/tophat/RichTextView) (iOS, SPM/Carthage/CocoaPods) 38 | - [SavannaKit](https://github.com/louisdh/savannakit) (iOS/macOS, Carthage/CocoaPods) 39 | - [SourceEditor](https://github.com/louisdh/source-editor) (iOS/macOS, CocoaPods) 40 | - [SyntaxKit](https://github.com/palle-k/SyntaxKit) (iOS) 41 | 42 | ## TextKit Utilities 43 | 44 | - [Glyph](https://github.com/ChimeHQ/Glyph): Abstractions for working with TextKit 1 and 2 45 | - [Ligature](https://github.com/ChimeHQ/Ligature): Text selection, grouping, and manipulation in Swift 46 | - [Rearrange](https://github.com/ChimeHQ/Rearrange): Swift library for working with ranges types: NSRange, IndexSet, and String.Index 47 | - [STTextKitPlus](https://github.com/krzyzanowskim/STTextKitPlus): Collection of useful TextKit 2 helpers 48 | - [TextViewBenchmark](https://github.com/ChimeHQ/TextViewBenchmark): A suite of performance tests for macOS text views 49 | - [TextViewPlus](https://github.com/ChimeHQ/TextViewPlus): Make life better with NSTextView+TextKit 1/2 50 | 51 | ## Editing UI 52 | 53 | ## Editing Behavior 54 | 55 | - [EditorConfig](https://github.com/ChimeHQ/EditorConfig): A Swift library for working with .editorconfig files 56 | - [IBeam](https://github.com/ChimeHQ/IBeam): A Swift library for multi-cursor support 57 | - [Borderline](https://github.com/chimeHQ/Borderline): Text line metrics and visualization 58 | 59 | ## Parsing 60 | 61 | - [Flexer](https://github.com/ChimeHQ/Flexer): Lexing library for Swift 62 | - [Gramophone](https://github.com/ChimeHQ/Gramophone): Swift library for working with Extended Backus–Naur Form (EBNF) notation and grammars 63 | - [ParseKit](https://github.com/itod/parsekit): Objective-C Tokenizer and Parser Generator. Supports Grammars. 64 | - [PEGKit](https://github.com/itod/pegkit): 'Parsing Expression Grammar' toolkit for Cocoa/Objective-C 65 | - tree-sitter/[SwiftTreeSitter](https://github.com/tree-sitter/swift-tree-sitter): Swift API for the tree-sitter incremental parsing system 66 | - viktorstrate/[SwiftTreeSitter](https://github.com/viktorstrate/swift-tree-sitter): Swift bindings for the tree-sitter parsing library 67 | - [TextMarkupKit](https://github.com/bdewey/TextMarkupKit): Pure-Swift tools for understanding and editing text files with simple markup 68 | - [tree-sitter](https://github.com/tree-sitter/tree-sitter): An incremental parsing system for programming tools 69 | 70 | ## Text Manipulation 71 | 72 | - [TextFormation](https://github.com/ChimeHQ/TextFormation): Rules system for live typing completions 73 | 74 | ## Storage 75 | 76 | - [RelativeCollections](https://github.com/ChimeHQ/RelativeCollections) 77 | - [TextStory](https://github.com/ChimeHQ/TextStory) 78 | 79 | ## Syntax Highlighting 80 | 81 | - [Highlightr](https://github.com/raspu/Highlightr) 82 | - [HighlightSwift](https://github.com/appstefan/HighlightSwift) 83 | - [Neon](https://github.com/ChimeHQ/Neon) 84 | - [Splash](https://github.com/JohnSundell/Splash) 85 | - [ThemePark](https://github.com/ChimeHQ/ThemePark) 86 | 87 | ## Search 88 | 89 | - [FindFaster](https://github.com/Finnvoor/FindFaster) 90 | 91 | ## LSP/LSIF/DAP 92 | 93 | - [DebugAdapterProtocol](https://github.com/ChimeHQ/DebugAdapterProtocol) 94 | - [langserver-swift](https://github.com/RLovelett/langserver-swift) 95 | - [LanguageClient](https://github.com/ChimeHQ/LanguageClient) 96 | - [LanguageServerProtocol](https://github.com/ChimeHQ/LanguageServerProtocol) 97 | - [SwiftDAP](https://github.com/noellee/SwiftDAP) 98 | - [SwiftLSP](https://github.com/codeface-io/SwiftLSP) 99 | --------------------------------------------------------------------------------