Skip to content

๐Ÿ”Ž A package that wraps ripgrep and provides a Swift interface. For macOS and iOS

License

Notifications You must be signed in to change notification settings

tuist/SwiftyRipgrep

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

23 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

SwiftyRipgrep

SwiftyRipgrep Platform iOS Badge macOS Badge

This repository contains a Swift package that wraps ripgrep to be used programmatically in iOS (device and simulator) and macOS.

Usage

SwiftyRipgrep is distributed as a Swift Package. All you need to do is to add the dependency to your project through Xcode or in the Package.swift of your package:

let package = Package(
    ...
    dependencies: [
        .package(url: "https://github.com/tuist/SwiftyRipgrep.git", from: "13.0.0")
    ],
    ...
)

Version: The version of SwiftyRipgrep aligns with the version of Ripgrep wrapped so version 13.0.0 indicates that the Swift package is using the same version of Ripgrep.

Development

System dependencies

We recommend the usage of asdf to install the dependencies necessary to contribute to this project:

Generate the Swift Package

The project uses swift-bridge, a Rust tool that leverages macros and other build-time tools to generate the Swift Package from the Rust code. If you change the Rust code or update Cargo dependencies you'll have to run bin/generate.rb. The script will update the Package.swift and the content under Sources and generate a RustXcframework.xcframework directory at the root.

Testing the generated Swift package

The repository contains a Swift package under fixture that contains a tests target to test the public interface of the SwiftyRipgrep package generated at the root. You can run the tests by running swift test --package-path ./fixture

References

About

๐Ÿ”Ž A package that wraps ripgrep and provides a Swift interface. For macOS and iOS

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published