1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
use Result;
use crate::;
/// 执行 `brew info {name} --json=v2` 命令
///
/// 返回格式化包对象
///
/// Examples
///
/// ```
/// extern crate homebrew as brew;
///
/// fn main() {
/// let pkg = brew::info("rust").unwrap();
///
/// assert_eq!(pkg.name, "rust");
/// assert_eq!(pkg.full_name, "rust");
/// assert_eq!(pkg.tap, "homebrew/core");
/// assert_eq!(pkg.desc, "Safe, concurrent, practical language");
/// assert_eq!(pkg.homepage, "https://www.rust-lang.org/");
/// assert!(!pkg.is_cask());
///
/// let pkg = brew::info("kitty").unwrap();
///
/// assert_eq!(pkg.name, "kitty");
/// assert_eq!(pkg.full_name, "kitty");
/// assert_eq!(pkg.tap, "homebrew/cask");
/// assert_eq!(pkg.desc, "GPU-based terminal emulator");
/// assert_eq!(pkg.homepage, "https://github.com/kovidgoyal/kitty");
/// assert!(pkg.is_cask());
/// }
/// ```
/// 执行 `brew info --eval-all --json=v2` 命令
///
/// 获取全部包(包括 `formula` 和 `cask`,下载和没下载的)
///
/// Examples
///
/// ```ignore
/// extern crate homebrew as brew;
///
/// fn main() {
/// let pkg = brew::info_all().unwrap();
///
/// assert!(pkg.formulae().len() > 7000);
/// assert!(pkg.casks().len() > 7000);
/// }
/// ```