CodeMirror SwiftUI Save

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

Project README

CodeMirror-SwiftUI

GitHub tag (latest by date) Swift Package Manager Swift5 Platform GitHub repo size

CodeMirror-SwiftUI

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

This package is a fork from CodeMirror-Swift

Features

  • 🍭 Lightweight CodeMirror wrapper (build 5.59.4)
  • ✅ 100% Native Swift 5 and modern WKWebView
  • 👑 Support iOS & macOS
  • 🎧 Built-in addons
  • 📕 100+ built-in themes and syntax highlight modes
  • ⚡️ Ready to go

Requirements

  • Xcode 12
  • Swift 5.3

Integration

CodeMirror-SwiftUI is available via Swift Package Manager

Using Xcode 12, go to File -> Swift Packages -> Add Package Dependency and enter https://github.com/Pictarine/CodeMirror-SwiftUI

Usage

CodeMirror gives you access to a new view called CodeView. It can be integrated within your view body like this :

CodeView(theme: themes[selectedTheme],
         code: $codeBlock,
         mode: codeMode,
         fontSize: fontSize,
         showInvisibleCharacters: showInvisibleCharacters,
         lineWrapping: lineWrapping)
.onLoadSuccess {
  print("Loaded")
}
.onContentChange { newCodeBlock in
  print("Content Change")
}
.onLoadFail { error in
  print("Load failed : \(error.localizedDescription)")
}

Details

Code Editor Features

  • CodeMirror v5.59.4
  • Better find and replace dialog integration
  • Autocompletion hints (ctrl+space)
  • Reindent (ctrl+i)
  • Auto close tags and brackets

Parameters

CodeView has multiple params:

Parameter name Optional Type Default
code false Binding<String>
mode false Mode
theme true CodeViewTheme .materialPalenight
fontSize true Int 12 (px)
showInvisibleCharacters true Bool true
lineWrapping true Bool true

Modifiers

CodeView comes with three modifiers

onLoadSuccess { ... }
onLoadFail { ... }
onContentChange { ... }

Demo

black_light_theme

License

CodeMirror-SwiftUI is available under the MIT license. See the LICENSE file for more info.

Open Source Agenda is not affiliated with "CodeMirror SwiftUI" Project. README Source: Pictarine/CodeMirror-SwiftUI
Stars
90
Open Issues
3
Last Commit
2 years ago
License
MIT

Open Source Agenda Badge

Open Source Agenda Rating