✂️ A clean and efficient macOS SwiftUI app to split large text blocks into manageable segments — perfect for GitHub, documentation, or messaging platforms.
- Overview
- Features
- Screenshots
- Installation
- Build & Run (Xcode)
- File Structure
- Localization
- Planned Features
- License
GitSmartSplitter allows you to paste large chunks of text (e.g. copied from GitHub or other tools) and split them either:
- by maximum character length
- or by desired number of segments.
It adds contextual headers to each segment and enables one-click copying for easy use in chats, documentation, etc.
- 📋 Paste directly from clipboard
- 🔢 Choose between number of segments or character limit
- 🧠 Smart splitting: prefers clean breaks on separator lines
- 🔗 Clickable reference link (
uithub.com
) - 🖱️ One-click copy for each segment with animated feedback
- 🛎️ Check for updates directly from the macOS menu bar
- ⚙️ Native macOS Settings menu to toggle smart LLM prompts
- 🤖 Optional default prompts added for LLM compatibility
- 🌍 Multilingual support: English (default), French, and German
- 📐 Resizable, native SwiftUI interface
- 🧪 Includes unit and UI tests
This screenshot shows the main interface of GitSmartSplitter:
- A clean, native SwiftUI layout
- Text input with clipboard support
- Toggle between segmentation modes
- Smart preview of segments with copy buttons
You can either:
- Download the
.app
from the Releases - Or clone and build manually (see below)
-
Clone the repository:
git clone https://github.com/LukasMFR/GitSmartSplitter.git cd GitSmartSplitter
-
Open the project in Xcode:
open GitSmartSplitter.xcodeproj
-
Select your target (Mac).
-
Build & run using the
▶️ button orCmd + R
.
📌 Tested on macOS Sequoia + Xcode 16.0
GitSmartSplitter/
├── GitSmartSplitter/
│ ├── GitSmartSplitterApp.swift # App entry point
│ ├── ContentView.swift # Main UI
│ ├── SegmentButtonView.swift # Segment copy buttons
│ ├── SegmentationFunctions.swift # Logic for smart splitting
│ └── SplitMode.swift # Enum for split modes
├── GitSmartSplitterTests/
│ └── GitSmartSplitterTests.swift # Unit tests
└── GitSmartSplitterUITests/
├── GitSmartSplitterUITests.swift
└── GitSmartSplitterUITestsLaunchTests.swift
GitSmartSplitter currently supports:
- 🇬🇧 English (default)
- 🇫🇷 French
- 🇩🇪 German
Translations use NSLocalizedString
and LocalizedStringKey
for seamless SwiftUI integration. New language support can be added via .strings
files in Xcode.
- 🌎 Additional languages (Spanish, Italian…)
- 💾 Export segments as
.txt
files - ☁️ iCloud clipboard sync
- 🧪 Advanced testing suite
- ⚙️ Custom delimiter recognition (e.g.
===
,##
, etc.)
This project is licensed under the MIT License. See LICENSE for details.
Made with ❤️ by Lukas Mauffré