agent-dump 1.2.1__tar.gz → 1.2.2__tar.gz

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 (118) hide show
  1. {agent_dump-1.2.1 → agent_dump-1.2.2}/Cargo.lock +1 -1
  2. {agent_dump-1.2.1 → agent_dump-1.2.2}/Cargo.toml +1 -1
  3. {agent_dump-1.2.1 → agent_dump-1.2.2}/PKG-INFO +1 -1
  4. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/query/context.rs +28 -10
  5. {agent_dump-1.2.1 → agent_dump-1.2.2}/src/terminal/reader.rs +50 -26
  6. {agent_dump-1.2.1 → agent_dump-1.2.2}/LICENSE +0 -0
  7. {agent_dump-1.2.1 → agent_dump-1.2.2}/README.md +0 -0
  8. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/Cargo.toml +0 -0
  9. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/compat/json/diagnostic.rs +0 -0
  10. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/compat/json/encoding.rs +0 -0
  11. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/compat/json.rs +0 -0
  12. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/compat/mod.rs +0 -0
  13. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/compat/value.rs +0 -0
  14. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/config.rs +0 -0
  15. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/lib.rs +0 -0
  16. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/output/diagnostics.rs +0 -0
  17. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/output/export.rs +0 -0
  18. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/output/formats.rs +0 -0
  19. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/output/i18n.rs +0 -0
  20. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/output/mod.rs +0 -0
  21. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/output/render.rs +0 -0
  22. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/parallel.rs +0 -0
  23. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/providers/claude/mod.rs +0 -0
  24. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/providers/claude/transcript.rs +0 -0
  25. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/providers/codex/enrichment.rs +0 -0
  26. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/providers/codex/mod.rs +0 -0
  27. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/providers/codex/patch.rs +0 -0
  28. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/providers/codex/transcript.rs +0 -0
  29. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/providers/contract.rs +0 -0
  30. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/providers/cursor/mod.rs +0 -0
  31. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/providers/cursor/transcript.rs +0 -0
  32. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/providers/desktop/cherry.rs +0 -0
  33. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/providers/desktop/deepchat.rs +0 -0
  34. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/providers/desktop/minimax.rs +0 -0
  35. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/providers/desktop/mod.rs +0 -0
  36. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/providers/desktop/tests.rs +0 -0
  37. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/providers/error.rs +0 -0
  38. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/providers/files.rs +0 -0
  39. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/providers/jsonl.rs +0 -0
  40. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/providers/kimi/mod.rs +0 -0
  41. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/providers/kimi/transcript.rs +0 -0
  42. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/providers/kimi/wire.rs +0 -0
  43. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/providers/mod.rs +0 -0
  44. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/providers/pi/mod.rs +0 -0
  45. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/providers/pi/transcript.rs +0 -0
  46. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/providers/registry.rs +0 -0
  47. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/providers/source_tests.rs +0 -0
  48. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/providers/sqlite/connection.rs +0 -0
  49. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/providers/sqlite/legacy.rs +0 -0
  50. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/providers/sqlite/mod.rs +0 -0
  51. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/providers/sqlite/v2.rs +0 -0
  52. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/providers/title.rs +0 -0
  53. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/query/filter.rs +0 -0
  54. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/query/index/tests.rs +0 -0
  55. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/query/index.rs +0 -0
  56. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/query/mod.rs +0 -0
  57. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/query/read.rs +0 -0
  58. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/query/scanner.rs +0 -0
  59. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/query/text.rs +0 -0
  60. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/query/transcript.rs +0 -0
  61. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/session/assembly.rs +0 -0
  62. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/session/cache/tests.rs +0 -0
  63. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/session/cache.rs +0 -0
  64. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/session/mod.rs +0 -0
  65. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/session/timestamp.rs +0 -0
  66. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/storage/mod.rs +0 -0
  67. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/storage/private_files.rs +0 -0
  68. {agent_dump-1.2.1 → agent_dump-1.2.2}/crates/agent-dump-core/src/storage/source_io.rs +0 -0
  69. {agent_dump-1.2.1 → agent_dump-1.2.2}/pyproject.toml +0 -0
  70. {agent_dump-1.2.1 → agent_dump-1.2.2}/resources/locales/en.json +0 -0
  71. {agent_dump-1.2.1 → agent_dump-1.2.2}/resources/locales/zh.json +0 -0
  72. {agent_dump-1.2.1 → agent_dump-1.2.2}/resources/prompts/.gitattributes +0 -0
  73. {agent_dump-1.2.1 → agent_dump-1.2.2}/resources/prompts/README.md +0 -0
  74. {agent_dump-1.2.1 → agent_dump-1.2.2}/resources/prompts/insight-chunk.txt +0 -0
  75. {agent_dump-1.2.1 → agent_dump-1.2.2}/resources/prompts/insight-handoff.txt +0 -0
  76. {agent_dump-1.2.1 → agent_dump-1.2.2}/resources/prompts/insight-merge.txt +0 -0
  77. {agent_dump-1.2.1 → agent_dump-1.2.2}/resources/prompts/insight-report.txt +0 -0
  78. {agent_dump-1.2.1 → agent_dump-1.2.2}/resources/prompts/insight-retry.txt +0 -0
  79. {agent_dump-1.2.1 → agent_dump-1.2.2}/resources/prompts/pm-chunk.txt +0 -0
  80. {agent_dump-1.2.1 → agent_dump-1.2.2}/resources/prompts/pm-handoff.txt +0 -0
  81. {agent_dump-1.2.1 → agent_dump-1.2.2}/resources/prompts/pm-merge.txt +0 -0
  82. {agent_dump-1.2.1 → agent_dump-1.2.2}/resources/prompts/pm-report.txt +0 -0
  83. {agent_dump-1.2.1 → agent_dump-1.2.2}/resources/prompts/pm-retry.txt +0 -0
  84. {agent_dump-1.2.1 → agent_dump-1.2.2}/resources/prompts/read-session-en.txt +0 -0
  85. {agent_dump-1.2.1 → agent_dump-1.2.2}/resources/prompts/read-session-zh.txt +0 -0
  86. {agent_dump-1.2.1 → agent_dump-1.2.2}/resources/prompts/system.txt +0 -0
  87. {agent_dump-1.2.1 → agent_dump-1.2.2}/resources/prompts/uri.txt +0 -0
  88. {agent_dump-1.2.1 → agent_dump-1.2.2}/rust-toolchain.toml +0 -0
  89. {agent_dump-1.2.1 → agent_dump-1.2.2}/rustfmt.toml +0 -0
  90. {agent_dump-1.2.1 → agent_dump-1.2.2}/src/cli_args.rs +0 -0
  91. {agent_dump-1.2.1 → agent_dump-1.2.2}/src/collect/events.rs +0 -0
  92. {agent_dump-1.2.1 → agent_dump-1.2.2}/src/collect/handoff.rs +0 -0
  93. {agent_dump-1.2.1 → agent_dump-1.2.2}/src/collect/llm.rs +0 -0
  94. {agent_dump-1.2.1 → agent_dump-1.2.2}/src/collect/log.rs +0 -0
  95. {agent_dump-1.2.1 → agent_dump-1.2.2}/src/collect/mod.rs +0 -0
  96. {agent_dump-1.2.1 → agent_dump-1.2.2}/src/collect/model.rs +0 -0
  97. {agent_dump-1.2.1 → agent_dump-1.2.2}/src/collect/progress.rs +0 -0
  98. {agent_dump-1.2.1 → agent_dump-1.2.2}/src/collect/prompts.rs +0 -0
  99. {agent_dump-1.2.1 → agent_dump-1.2.2}/src/collect/reduction.rs +0 -0
  100. {agent_dump-1.2.1 → agent_dump-1.2.2}/src/collect/sessions.rs +0 -0
  101. {agent_dump-1.2.1 → agent_dump-1.2.2}/src/collect/summary.rs +0 -0
  102. {agent_dump-1.2.1 → agent_dump-1.2.2}/src/command.rs +0 -0
  103. {agent_dump-1.2.1 → agent_dump-1.2.2}/src/date_input.rs +0 -0
  104. {agent_dump-1.2.1 → agent_dump-1.2.2}/src/main.rs +0 -0
  105. {agent_dump-1.2.1 → agent_dump-1.2.2}/src/shortcut.rs +0 -0
  106. {agent_dump-1.2.1 → agent_dump-1.2.2}/src/terminal/mod.rs +0 -0
  107. {agent_dump-1.2.1 → agent_dump-1.2.2}/src/terminal/selector.rs +0 -0
  108. {agent_dump-1.2.1 → agent_dump-1.2.2}/src/terminal/tui.rs +0 -0
  109. {agent_dump-1.2.1 → agent_dump-1.2.2}/src/workflows/collect.rs +0 -0
  110. {agent_dump-1.2.1 → agent_dump-1.2.2}/src/workflows/config.rs +0 -0
  111. {agent_dump-1.2.1 → agent_dump-1.2.2}/src/workflows/interactive.rs +0 -0
  112. {agent_dump-1.2.1 → agent_dump-1.2.2}/src/workflows/list.rs +0 -0
  113. {agent_dump-1.2.1 → agent_dump-1.2.2}/src/workflows/machine.rs +0 -0
  114. {agent_dump-1.2.1 → agent_dump-1.2.2}/src/workflows/maintenance.rs +0 -0
  115. {agent_dump-1.2.1 → agent_dump-1.2.2}/src/workflows/mod.rs +0 -0
  116. {agent_dump-1.2.1 → agent_dump-1.2.2}/src/workflows/read.rs +0 -0
  117. {agent_dump-1.2.1 → agent_dump-1.2.2}/src/workflows/reader.rs +0 -0
  118. {agent_dump-1.2.1 → agent_dump-1.2.2}/src/workflows/uri.rs +0 -0
@@ -10,7 +10,7 @@ checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa"
10
10
 
11
11
  [[package]]
12
12
  name = "agent-dump"
13
- version = "1.2.1"
13
+ version = "1.2.2"
14
14
  dependencies = [
15
15
  "agent-dump-core",
16
16
  "caseless",
@@ -46,7 +46,7 @@ nix = { version = "0.31", default-features = false, features = ["fs", "user"] }
46
46
 
47
47
  [package]
48
48
  name = "agent-dump"
49
- version = "1.2.1"
49
+ version = "1.2.2"
50
50
  edition = "2024"
51
51
  rust-version = "1.90"
52
52
  publish = false
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agent-dump
3
- Version: 1.2.1
3
+ Version: 1.2.2
4
4
  Classifier: Environment :: Console
5
5
  Classifier: License :: OSI Approved :: MIT License
6
6
  Classifier: Programming Language :: Rust
@@ -45,17 +45,41 @@ pub fn locate(
45
45
  query: &Query,
46
46
  ) -> crate::Result<Vec<Location>> {
47
47
  let revision = revision(data)?;
48
+ Ok(evidence(data, query)
49
+ .into_iter()
50
+ .map(|(index, snippet)| {
51
+ let position = index + 1;
52
+ Location {
53
+ position,
54
+ locator: format!("{revision}:{position}"),
55
+ role: data.messages[index].role.clone(),
56
+ snippet,
57
+ }
58
+ })
59
+ .collect())
60
+ }
61
+
62
+ pub fn hits(data: &SessionData, query: &Query) -> Vec<usize> {
63
+ evidence(data, query)
64
+ .into_iter()
65
+ .map(|(index, _)| index)
66
+ .collect()
67
+ }
68
+
69
+ fn evidence(data: &SessionData, query: &Query) -> Vec<(usize, String)> {
48
70
  let text = TextQuery::new(
49
71
  query.keyword.as_deref().unwrap_or(""),
50
72
  crate::query::text::Mode::Terms,
51
73
  );
74
+ if text.literals.is_empty() {
75
+ return Vec::new();
76
+ }
52
77
  let terms: Vec<_> = text
53
78
  .literals
54
79
  .iter()
55
80
  .map(|term| TextQuery::new(term, crate::query::text::Mode::Phrase))
56
81
  .collect();
57
- Ok(data
58
- .messages
82
+ data.messages
59
83
  .iter()
60
84
  .enumerate()
61
85
  .filter_map(|(index, message)| {
@@ -69,15 +93,9 @@ pub fn locate(
69
93
  let content = searchable_message(message);
70
94
  let evidence =
71
95
  terms.iter().find_map(|term| term.find(&[&content]))?;
72
- let position = index + 1;
73
- Some(Location {
74
- position,
75
- locator: format!("{revision}:{position}"),
76
- role: message.role.clone(),
77
- snippet: evidence.snippet,
78
- })
96
+ Some((index, evidence.snippet))
79
97
  })
80
- .collect())
98
+ .collect()
81
99
  }
82
100
 
83
101
  pub fn window(
@@ -18,6 +18,7 @@ use ratatui::{
18
18
  text::Line,
19
19
  widgets::{Block, Borders, List, ListItem, ListState, Paragraph, Wrap},
20
20
  };
21
+ use std::time::Duration;
21
22
  use unicode_width::UnicodeWidthChar;
22
23
 
23
24
  pub enum Action {
@@ -62,6 +63,7 @@ pub struct Reader {
62
63
  query: Query,
63
64
  scope: String,
64
65
  state: State,
66
+ pending: Option<Event>,
65
67
  zh: bool,
66
68
  pub status: String,
67
69
  }
@@ -81,6 +83,7 @@ impl Reader {
81
83
  state: State::with_query(query, 0),
82
84
  query: query.clone(),
83
85
  scope,
86
+ pending: None,
84
87
  zh,
85
88
  status: t("READER_READY", zh, &[]),
86
89
  })
@@ -170,7 +173,7 @@ impl Reader {
170
173
  ..Query::default()
171
174
  };
172
175
  self.state.context = None;
173
- self.state.search(data)?;
176
+ self.state.search(data);
174
177
  self.state.expanded = true;
175
178
  self.state.body_focus = true;
176
179
  self.status = t(
@@ -184,13 +187,40 @@ impl Reader {
184
187
  Ok(None)
185
188
  }
186
189
 
190
+ fn navigate(&mut self, key: KeyCode) -> crate::Result<usize> {
191
+ let mut selected = step(self.state.selected, key, self.rows.len());
192
+ // Fold keys queued during a slow load so only the final row loads.
193
+ while event::poll(Duration::ZERO)? {
194
+ match event::read()? {
195
+ Event::Key(key) if key.kind == KeyEventKind::Release => {}
196
+ Event::Key(key)
197
+ if matches!(
198
+ key.code,
199
+ KeyCode::Up
200
+ | KeyCode::Down
201
+ | KeyCode::Home
202
+ | KeyCode::End
203
+ | KeyCode::Char('k' | 'j')
204
+ ) =>
205
+ {
206
+ selected = step(selected, key.code, self.rows.len());
207
+ }
208
+ event => {
209
+ self.pending = Some(event);
210
+ break;
211
+ }
212
+ }
213
+ }
214
+ Ok(selected)
215
+ }
216
+
187
217
  pub fn next(
188
218
  &mut self,
189
219
  data: Option<&SessionData>,
190
220
  error: Option<&str>,
191
221
  ) -> crate::Result<Action> {
192
222
  let previous_hit = self.state.hit;
193
- self.state.search(data)?;
223
+ self.state.search(data);
194
224
  self.state.hit =
195
225
  previous_hit.min(self.state.hits.len().saturating_sub(1));
196
226
  let mut dirty = true;
@@ -221,7 +251,7 @@ impl Reader {
221
251
  .offset
222
252
  .min(self.state.lines.len().saturating_sub(1));
223
253
  self.render()?;
224
- match event::read()? {
254
+ match self.pending.take().map_or_else(event::read, Ok)? {
225
255
  Event::Resize(_, _) => {
226
256
  dirty = true;
227
257
  }
@@ -391,17 +421,7 @@ impl Reader {
391
421
  | KeyCode::Down
392
422
  | KeyCode::Home
393
423
  | KeyCode::End => {
394
- let selected = match key.code {
395
- KeyCode::Up | KeyCode::Char('k') => {
396
- self.state.selected.saturating_sub(1)
397
- }
398
- KeyCode::Home => 0,
399
- KeyCode::End => {
400
- self.rows.len().saturating_sub(1)
401
- }
402
- _ => (self.state.selected + 1)
403
- .min(self.rows.len().saturating_sub(1)),
404
- };
424
+ let selected = self.navigate(key.code)?;
405
425
  if selected != self.state.selected {
406
426
  let marked =
407
427
  std::mem::take(&mut self.state.marked);
@@ -421,6 +441,15 @@ impl Reader {
421
441
  }
422
442
  }
423
443
 
444
+ fn step(selected: usize, key: KeyCode, rows: usize) -> usize {
445
+ match key {
446
+ KeyCode::Up | KeyCode::Char('k') => selected.saturating_sub(1),
447
+ KeyCode::Home => 0,
448
+ KeyCode::End => rows.saturating_sub(1),
449
+ _ => (selected + 1).min(rows.saturating_sub(1)),
450
+ }
451
+ }
452
+
424
453
  impl State {
425
454
  fn export(&self, data: &SessionData, zh: bool) -> crate::Result<Action> {
426
455
  let locator = if self.context.is_some() {
@@ -486,17 +515,12 @@ impl State {
486
515
  self.hits.get(self.hit).map(|&hit| self.hit_offset(hit));
487
516
  }
488
517
 
489
- fn search(&mut self, data: Option<&SessionData>) -> crate::Result<()> {
518
+ fn search(&mut self, data: Option<&SessionData>) {
490
519
  self.hits = data
491
- .map(|data| context::locate(data, &self.query))
492
- .transpose()?
493
- .unwrap_or_default()
494
- .into_iter()
495
- .map(|location| location.position - 1)
496
- .collect();
520
+ .map(|data| context::hits(data, &self.query))
521
+ .unwrap_or_default();
497
522
  self.hit = 0;
498
523
  self.active_hit_line = None;
499
- Ok(())
500
524
  }
501
525
 
502
526
  fn reflow(
@@ -860,7 +884,7 @@ mod tests {
860
884
  ..Query::default()
861
885
  };
862
886
  let mut state = State::with_query(&query, 0);
863
- state.search(Some(&data)).unwrap();
887
+ state.search(Some(&data));
864
888
  assert_eq!(state.hits, [2, 4]);
865
889
  state.context = Some(0);
866
890
  state.reflow(Some(&data), None, 60, false);
@@ -974,7 +998,7 @@ mod tests {
974
998
  },
975
999
  ..State::default()
976
1000
  };
977
- state.search(Some(&data)).unwrap();
1001
+ state.search(Some(&data));
978
1002
  assert_eq!(state.hits, vec![0]);
979
1003
  state.reflow(Some(&data), None, 65, false);
980
1004
  state.offset = state.hit_offset(0);
@@ -1061,7 +1085,7 @@ mod tests {
1061
1085
  .any(|line| line.contains("hidden-needle"))
1062
1086
  );
1063
1087
  state.query.keyword = Some("hidden-needle".into());
1064
- state.search(Some(&data)).unwrap();
1088
+ state.search(Some(&data));
1065
1089
  assert_eq!(state.hits, vec![1]);
1066
1090
  state.reflow(Some(&data), None, 60, true);
1067
1091
  assert_eq!(state.active_hit_line, Some(state.starts[1]));
@@ -1133,7 +1157,7 @@ mod tests {
1133
1157
  state.reflow(Some(&data), None, 18, true);
1134
1158
  assert_eq!(state.active_hit_line, Some(state.starts[1]));
1135
1159
  state.query.keyword = None;
1136
- state.search(Some(&data)).unwrap();
1160
+ state.search(Some(&data));
1137
1161
  assert_eq!(state.active_hit_line, None);
1138
1162
  state.reflow(Some(&data), None, 18, true);
1139
1163
  assert_eq!(state.active_hit_line, None);
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes