yerba 0.2.0-arm-linux-gnu

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +528 -0
  4. data/exe/yerba +6 -0
  5. data/ext/yerba/extconf.rb +111 -0
  6. data/ext/yerba/yerba.c +752 -0
  7. data/lib/yerba/3.2/yerba.so +0 -0
  8. data/lib/yerba/3.3/yerba.so +0 -0
  9. data/lib/yerba/3.4/yerba.so +0 -0
  10. data/lib/yerba/4.0/yerba.so +0 -0
  11. data/lib/yerba/collection.rb +31 -0
  12. data/lib/yerba/document.rb +59 -0
  13. data/lib/yerba/formatting.rb +18 -0
  14. data/lib/yerba/location.rb +5 -0
  15. data/lib/yerba/map.rb +166 -0
  16. data/lib/yerba/scalar.rb +85 -0
  17. data/lib/yerba/sequence.rb +182 -0
  18. data/lib/yerba/version.rb +5 -0
  19. data/lib/yerba.rb +131 -0
  20. data/rust/Cargo.lock +805 -0
  21. data/rust/Cargo.toml +36 -0
  22. data/rust/build.rs +11 -0
  23. data/rust/cbindgen.toml +27 -0
  24. data/rust/rustfmt.toml +2 -0
  25. data/rust/src/commands/apply.rs +5 -0
  26. data/rust/src/commands/blank_lines.rs +58 -0
  27. data/rust/src/commands/check.rs +5 -0
  28. data/rust/src/commands/delete.rs +35 -0
  29. data/rust/src/commands/get.rs +194 -0
  30. data/rust/src/commands/init.rs +89 -0
  31. data/rust/src/commands/insert.rs +106 -0
  32. data/rust/src/commands/mate.rs +55 -0
  33. data/rust/src/commands/mod.rs +349 -0
  34. data/rust/src/commands/move_item.rs +54 -0
  35. data/rust/src/commands/move_key.rs +87 -0
  36. data/rust/src/commands/quote_style.rs +62 -0
  37. data/rust/src/commands/remove.rs +35 -0
  38. data/rust/src/commands/rename.rs +37 -0
  39. data/rust/src/commands/set.rs +59 -0
  40. data/rust/src/commands/sort.rs +52 -0
  41. data/rust/src/commands/sort_keys.rs +62 -0
  42. data/rust/src/commands/version.rs +8 -0
  43. data/rust/src/document.rs +2237 -0
  44. data/rust/src/error.rs +45 -0
  45. data/rust/src/ffi.rs +991 -0
  46. data/rust/src/json.rs +128 -0
  47. data/rust/src/lib.rs +29 -0
  48. data/rust/src/main.rs +72 -0
  49. data/rust/src/quote_style.rs +42 -0
  50. data/rust/src/selector.rs +241 -0
  51. data/rust/src/syntax.rs +262 -0
  52. data/rust/src/yaml_writer.rs +89 -0
  53. data/rust/src/yerbafile.rs +475 -0
  54. data/sig/yerba.rbs +3 -0
  55. data/yerba.gemspec +52 -0
  56. metadata +108 -0
data/rust/src/error.rs ADDED
@@ -0,0 +1,45 @@
1
+ #[derive(Debug)]
2
+ pub enum YerbaError {
3
+ ParseError(String),
4
+ IoError(std::io::Error),
5
+ PathNotFound(String),
6
+ NotASequence(String),
7
+ IndexOutOfBounds(usize, usize),
8
+ UnknownKeys(Vec<String>),
9
+ }
10
+
11
+ impl std::fmt::Display for YerbaError {
12
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
13
+ match self {
14
+ YerbaError::ParseError(msg) => write!(f, "parse error: {}", msg),
15
+ YerbaError::IoError(err) => write!(f, "io error: {}", err),
16
+ YerbaError::PathNotFound(path) => write!(f, "path not found: {}", path),
17
+ YerbaError::NotASequence(path) => write!(f, "not a sequence: {}", path),
18
+
19
+ YerbaError::IndexOutOfBounds(index, length) => {
20
+ write!(f, "index {} out of bounds (length {})", index, length)
21
+ }
22
+
23
+ YerbaError::UnknownKeys(keys) => {
24
+ let suggestion = keys
25
+ .iter()
26
+ .map(|key| format!("\"{}\"", key))
27
+ .collect::<Vec<_>>()
28
+ .join(", ");
29
+
30
+ write!(
31
+ f,
32
+ "found keys not listed in sort order: {}\n\n Add them to your sort order or Yerbafile:\n {}\n",
33
+ keys.join(", "),
34
+ suggestion
35
+ )
36
+ }
37
+ }
38
+ }
39
+ }
40
+
41
+ impl From<std::io::Error> for YerbaError {
42
+ fn from(err: std::io::Error) -> Self {
43
+ YerbaError::IoError(err)
44
+ }
45
+ }