(state: &EditorState)
| 1049 | picker_node_types(state, &state.node_picker_filter) |
| 1050 | .get(state.node_picker_offset + row) |
| 1051 | .copied() |
| 1052 | }) |
| 1053 | }).unwrap_or_default(); |
| 1054 | if let Some(node_type) = node_type { |
| 1055 | add_node(ctx, node_type.name()); |
| 1056 | } |
| 1057 | } |
| 1058 | |
| 1059 | pub fn exact_picker_node_type(filter: &str) -> Option<perro_scene::NodeType> { |
| 1060 | let filter = NodePickerFilter::parse(filter); |
| 1061 | if !filter.tags.is_empty() || filter.text.len() != 1 { |
| 1062 | return None; |
| 1063 | } |
| 1064 | let needle = filter.text.first()?; |
| 1065 | perro_scene::NodeType::ALL |
| 1066 | .iter() |
| 1067 | .copied() |
| 1068 | .find(|node_type| node_type.name().eq_ignore_ascii_case(needle)) |
| 1069 | } |
no test coverage detected