Skip to content

CodeMirror-Swift is a lightweight wrapper of CodeMirror for macOS and iOS

License

Notifications You must be signed in to change notification settings

ProxymanApp/CodeMirror-Swift

Repository files navigation

GitHub

screenshot

GitHub

CodeMirror-Swift is a lightweight wrapper of CodeMirror for macOS and iOS.

Features

  • 🍭 Lightweight CodeMirror wrapper (build 5.52.2)
  • ✅ 100% Native Swift 5 and modern WKWebView
  • 👑 Support iOS & macOS
  • 🎧 Built-in addons
  • 🔎 Customizable (Addon, Themes, Modes...)
  • 📕 Dozen built-in themes and syntax highlight modes
  • ⚡️ Ready to go

Apps that uses CodeMirror-Swift

Proxyman screenshot

Modern and Delightful HTTP Debugging Proxy for macOS, iOS and Android ⚡️ • 🌎 https://proxyman.io

Installation

SPM

The easiest way to use this package is to add https://github.com/ProxymanApp/CodeMirror-Swift to your SPM dependency.

Manually

  1. Manually copy CodeMirrorWebView.swift and CodeMirrorView.bundle to your project.
  2. Customize to fit your need on index.html
  3. Set mode and Content
let url = Bundle.main.url(forResource: "data", withExtension: "json")!
let content = try! String(contentsOf: url)
codeMirrorView.setMimeType("application/json")
codeMirrorView.setContent(content)

Example

  • Run ./examples/CodeMirror-Swift-Example.xcodeproj

How to use addons?

  1. Read CodeMirror Documentation
  2. Enable your plugins in index.html

How to add new themes?

  1. Download CodeMirrror themes and put it on the folder Sources/CodeMirrorView.bundle/Contents/Resources/theme
  2. Load your theme in index.html
  3. Change by using codeMirrorView.setThemeName("material.css")

Credit

License

CodeMirror-Swift is copyright 2020 Proxyman and available under MIT license. See the LICENSE file in the project for more information.