Crate libscoop

source ·
Expand description

This crate aims to provide a full-featured, practical, and efficient Rust reimplementation of Scoop, the Windows command-line installer. It is a library crate providing the core functionality of interacting with Scoop, and is not intended to be used directly by end users. Developers who wish to implement a Scoop frontend or make use of Scoop’s functionality in their own applications may use this crate. For end users, they may take a glance at Hok, a reference implementation built on top of this crate, which provides a command-line interface similar to Scoop.

Overview

The primary type in this crate is a Session, which is an entry point to this crate. A session instance is basically a handle to the global state of libscoop. Most of the functions exposed by this crate take a session as their first argument.

Examples

Initialize a Scoop session, get the configuration associated with the session, and print the root path of Scoop to stdout:

use libscoop::Session;
let session = Session::new();
let config = session.config();
println!("{}", config.root_path().display());

Modules

  • Operations that can be performed on a Scoop instance.

Structs

  • A handle representing a Scoop session.

Enums

  • Error that may occur during the lifetime of a Session.
  • Event that may be emitted during the execution of operations.
  • Options that may be used to query Scoop packages.
  • Options that may be used to tweak behavior of package sync operation.