SYMBOL INDEX (350 symbols across 39 files) FILE: crates/common-structs/src/app_status.rs type AppStatus (line 2) | pub enum AppStatus { FILE: crates/common-structs/src/music_download_status.rs type MusicDownloadStatus (line 2) | pub enum MusicDownloadStatus { method character (line 10) | pub fn character(&self, playing: Option) -> String { FILE: crates/database/src/lib.rs type YTLocalDatabase (line 9) | pub struct YTLocalDatabase { method new (line 15) | pub fn new(cache_dir: PathBuf) -> Self { method clone_from (line 22) | pub fn clone_from(&self, videos: &Vec) { method remove_video (line 26) | pub fn remove_video(&self, video: &YoutubeMusicVideoRef) { method append (line 33) | pub fn append(&self, video: YoutubeMusicVideoRef) { FILE: crates/database/src/reader.rs method read (line 9) | pub fn read(&self) -> Option> { function read_video (line 20) | fn read_video(buffer: &mut Cursor>) -> Option>) -> Option { function read_u32 (line 38) | fn read_u32(cursor: &mut Cursor>) -> Option { FILE: crates/database/src/writer.rs method write (line 9) | pub fn write(&self) { method fix_db (line 24) | pub fn fix_db(&self) { function write_video (line 130) | pub fn write_video(buffer: &mut impl Write, video: &YoutubeMusicVideoRef) { function write_str (line 139) | fn write_str(cursor: &mut impl Write, value: &str) { function write_u32 (line 145) | fn write_u32(cursor: &mut impl Write, value: u32) { FILE: crates/download-manager/src/lib.rs type MessageHandler (line 16) | pub type MessageHandler = Arc Option { method run_service_stream (line 59) | pub fn run_service_stream( method spawn_system (line 82) | pub fn spawn_system( method clean (line 92) | pub fn clean( method set_download_list (line 109) | pub fn set_download_list(&self, to_add: impl IntoIterator Result, VideoError> { function download (line 31) | pub async fn download>( method handle_download (line 72) | async fn handle_download(&self, id: &str, sender: MessageHandler) -> Res... method start_download (line 89) | pub async fn start_download(&self, song: YoutubeMusicVideoRef, s: Messag... method start_task_unary (line 142) | pub fn start_task_unary( function video_download_test (line 162) | async fn video_download_test() { FILE: crates/player/src/error.rs type PlayError (line 3) | pub enum PlayError { method from (line 12) | fn from(err: rodio::PlayError) -> Self { FILE: crates/player/src/player.rs type Player (line 11) | pub struct Player { method try_from_device (line 20) | fn try_from_device(device: rodio::cpal::Device) -> Result Result { method new (line 49) | pub fn new(error_sender: Sender, options: PlayerOptions) ->... method update (line 66) | pub fn update(&self) -> Result { method change_volume (line 80) | pub fn change_volume(&mut self, positive: bool) { method is_finished (line 85) | pub fn is_finished(&self) -> bool { method play_at (line 89) | pub fn play_at(&mut self, path: &Path, time: Duration) -> Result<(), P... method play (line 100) | pub fn play(&mut self, path: &Path) -> Result<(), PlayError> { method stop (line 131) | pub fn stop(&mut self) { method elapsed (line 138) | pub fn elapsed(&self) -> Duration { method duration (line 142) | pub fn duration(&self) -> Option { method toggle_playback (line 148) | pub fn toggle_playback(&mut self) { method seek_fw (line 156) | pub fn seek_fw(&mut self) { method seek_bw (line 163) | pub fn seek_bw(&mut self) { method seek_to (line 169) | pub fn seek_to(&mut self, time: Duration) { method percentage (line 192) | pub fn percentage(&self) -> f64 { method volume_percent (line 199) | pub fn volume_percent(&self) -> u8 { method volume (line 203) | pub fn volume(&self) -> i32 { method volume_up (line 207) | pub fn volume_up(&mut self) { method volume_down (line 212) | pub fn volume_down(&mut self) { method set_volume (line 217) | pub fn set_volume(&mut self, mut volume: i32) { method pause (line 223) | pub fn pause(&mut self) { method resume (line 229) | pub fn resume(&mut self) { method is_paused (line 235) | pub fn is_paused(&self) -> bool { method seek (line 239) | pub fn seek(&mut self, secs: i64) { method get_progress (line 247) | pub fn get_progress(&self) -> (f64, u32, u32) { FILE: crates/player/src/player_data.rs type PlayerData (line 6) | pub struct PlayerData { method new (line 13) | pub fn new(volume: u8) -> Self { method change_volume (line 22) | pub fn change_volume(&mut self, positive: bool) { method volume_f32 (line 31) | pub fn volume_f32(&self) -> f32 { method volume (line 36) | pub fn volume(&self) -> u8 { method set_volume (line 41) | pub fn set_volume(&mut self, volume: u8) { method total_duration (line 46) | pub fn total_duration(&self) -> Option { method set_total_duration (line 51) | pub fn set_total_duration(&mut self, total_duration: Option) { method current_file (line 56) | pub fn current_file(&self) -> Option { method set_current_file (line 61) | pub fn set_current_file(&mut self, current_file: Option) { FILE: crates/player/src/player_options.rs type PlayerOptions (line 2) | pub struct PlayerOptions { method new (line 8) | pub fn new(initial_volume: u8) -> Self { method initial_volume (line 15) | pub fn initial_volume(&self) -> u8 { method initial_volume_f32 (line 20) | pub fn initial_volume_f32(&self) -> f32 { FILE: crates/ytermusic/src/config.rs type GlobalConfig (line 9) | pub struct GlobalConfig { type MusicPlayerConfig (line 20) | pub struct MusicPlayerConfig { type StyleDef (line 60) | struct StyleDef { method default (line 74) | fn default() -> Self { function default_searching_style (line 96) | fn default_searching_style() -> Style { function default_error_style (line 100) | fn default_error_style() -> Style { function parallel_downloads (line 104) | fn parallel_downloads() -> u16 { function default_false (line 108) | fn default_false() -> bool { function default_true (line 112) | fn default_true() -> bool { function enable_volume_slider (line 116) | fn enable_volume_slider() -> bool { function default_paused_style (line 120) | fn default_paused_style() -> Style { function default_playing_style (line 124) | fn default_playing_style() -> Style { function default_nomusic_style (line 128) | fn default_nomusic_style() -> Style { function default_downloading_style (line 132) | fn default_downloading_style() -> Style { function default_volume (line 136) | fn default_volume() -> u8 { type PlaylistConfig (line 142) | pub struct PlaylistConfig {} type SearchConfig (line 146) | pub struct SearchConfig {} type Config (line 151) | pub struct Config { method new (line 163) | pub fn new() -> Self { FILE: crates/ytermusic/src/consts.rs constant HEADER_TUTORIAL (line 8) | pub const HEADER_TUTORIAL: &str = r#"To configure the YTerMusic: constant INTRODUCTION (line 29) | pub const INTRODUCTION: &str = r#"Usage: ytermusic [options] FILE: crates/ytermusic/src/errors.rs function handle_error_option (line 6) | pub fn handle_error_option( function handle_error (line 32) | pub fn handle_error(updater: &Sender, error_type: &'s... FILE: crates/ytermusic/src/main.rs function run_service (line 45) | fn run_service(future: T) -> tokio::task::JoinHandle<()> function try_get_cookies (line 59) | pub fn try_get_cookies() -> Option { function main (line 64) | fn main() { function cookies (line 133) | fn cookies(specific_browser: Option) -> Option { function get_header_file (line 191) | fn get_header_file() -> Result<(String, PathBuf), (std::io::Error, PathB... function app_start_main (line 215) | async fn app_start_main(updater_r: Receiver, updater_s: ... function app_start (line 255) | fn app_start() { FILE: crates/ytermusic/src/shutdown.rs type SharedEvent (line 12) | pub struct SharedEvent { method new (line 19) | pub const fn new() -> Self { method wait (line 27) | pub fn wait(&self) { method notify (line 35) | pub fn notify(&self) { function block_until_shutdown (line 46) | pub fn block_until_shutdown() { function is_shutdown_sent (line 52) | pub fn is_shutdown_sent() -> bool { type ShutdownSignal (line 57) | pub struct ShutdownSignal; type Output (line 60) | type Output = (); method poll (line 62) | fn poll(self: Pin<&mut Self>, _cx: &mut Context<'_>) -> Poll) -> Style; method style (line 15) | fn style(&self, playing: Option) -> Style { type AppStatusExt (line 8) | pub trait AppStatusExt { method style (line 9) | fn style(&self) -> Style; method style (line 41) | fn style(&self) -> Style { FILE: crates/ytermusic/src/structures/media.rs type Media (line 16) | pub struct Media { method new (line 24) | pub fn new(updater: Sender, soundaction_sender: Sender... method update (line 48) | pub fn update( function connect (line 101) | fn connect(mpris: &mut MediaControls, sender: Sender) -> Re... function get_handle (line 151) | fn get_handle(updater: &Sender) -> Option { function run_window_handler (line 166) | pub fn run_window_handler(_updater: &Sender) -> Option<(... function run_window_handler (line 182) | pub fn run_window_handler(updater: &Sender) -> Option<()> { function get_handle (line 219) | fn get_handle(updater: &Sender) -> Option { FILE: crates/ytermusic/src/structures/performance.rs type Performance (line 6) | pub struct Performance { method new (line 11) | pub fn new() -> Self { method get_ms (line 17) | pub fn get_ms(&self) -> u128 { method log (line 21) | pub fn log(&self, message: &str) { function guard (line 26) | pub fn guard<'a>(name: &'a str) -> PerformanceGuard<'a> { type PerformanceGuard (line 30) | pub struct PerformanceGuard<'a> { function new (line 36) | pub fn new(name: &'a str) -> Self { method drop (line 45) | fn drop(&mut self) { function mesure (line 51) | pub fn mesure(name: &str, f: impl FnOnce() -> T) -> T { FILE: crates/ytermusic/src/structures/sound_action.rs type SoundAction (line 17) | pub enum SoundAction { method insert (line 39) | fn insert(player: &mut PlayerState, video: String, status: MusicDownlo... method apply_sound_action (line 56) | pub fn apply_sound_action(self, player: &mut PlayerState) { function download_manager_handler (line 181) | pub fn download_manager_handler(sender: Sender) -> MessageH... FILE: crates/ytermusic/src/systems/logger.rs function get_log_file_path (line 28) | pub fn get_log_file_path() -> PathBuf { function init (line 53) | pub fn init() -> Result<(), SetLoggerError> { type SimpleLogger (line 65) | struct SimpleLogger; method enabled (line 68) | fn enabled(&self, metadata: &Metadata) -> bool { method log (line 72) | fn log(&self, record: &Record) { method flush (line 87) | fn flush(&self) {} FILE: crates/ytermusic/src/systems/player.rs type PlayerState (line 22) | pub struct PlayerState { method new (line 38) | fn new( method current (line 69) | pub fn current(&self) -> Option<&YoutubeMusicVideoRef> { method relative_current (line 73) | pub fn relative_current(&self, n: isize) -> Option<&YoutubeMusicVideoR... method set_relative_current (line 77) | pub fn set_relative_current(&mut self, n: isize) { method is_current_download_failed (line 81) | pub fn is_current_download_failed(&self) -> bool { method is_current_downloaded (line 90) | pub fn is_current_downloaded(&self) -> bool { method update (line 97) | pub fn update(&mut self) { method handle_stream_errors (line 181) | fn handle_stream_errors(&self) { method update_controls (line 187) | fn update_controls(&mut self) { function player_system (line 197) | pub fn player_system(updater: Sender) -> (Sender String { function spawn_api_task (line 24) | pub fn spawn_api_task(updater_s: Sender) { function spawn_browse_playlist_task (line 127) | fn spawn_browse_playlist_task( FILE: crates/ytermusic/src/tasks/clean.rs function spawn_clean_task (line 5) | pub fn spawn_clean_task() { FILE: crates/ytermusic/src/tasks/last_playlist.rs function spawn_last_playlist_task (line 12) | pub fn spawn_last_playlist_task(updater_s: Sender) { FILE: crates/ytermusic/src/tasks/local_musics.rs function spawn_local_musics_task (line 14) | pub fn spawn_local_musics_task(updater_s: Sender) { function shuffle_and_send (line 39) | fn shuffle_and_send(mut videos: Vec, updater_s: &S... FILE: crates/ytermusic/src/term/device_lost.rs type DeviceLost (line 13) | pub struct DeviceLost(pub Vec, pub Option); method on_mouse_press (line 16) | fn on_mouse_press(&mut self, _: crossterm::event::MouseEvent, _: &Rect) ... method on_key_press (line 20) | fn on_key_press(&mut self, key: KeyEvent, _: &Rect) -> EventResponse { method render (line 36) | fn render(&mut self, frame: &mut Frame) { method handle_global_message (line 55) | fn handle_global_message(&mut self, m: ManagerMessage) -> EventResponse { method close (line 66) | fn close(&mut self, _: Screens) -> EventResponse { method open (line 71) | fn open(&mut self) -> EventResponse { FILE: crates/ytermusic/src/term/item_list.rs type ListItemAction (line 12) | pub trait ListItemAction { method render_style (line 13) | fn render_style(&self, string: &str, selected: bool) -> Style; type ListItem (line 16) | pub struct ListItem { method default (line 23) | fn default() -> Self { function new (line 33) | pub fn new(title: String) -> Self { function on_mouse_press (line 41) | pub fn on_mouse_press( function on_key_press (line 68) | pub fn on_key_press(&mut self, key: KeyEvent) -> Option<&Action> { function get_item_frame (line 82) | pub fn get_item_frame(&self, height: usize) -> Vec<(usize, &(String, Act... function click_on (line 98) | pub fn click_on(&mut self, y_position: usize, height: usize) -> Option<(... function select (line 106) | pub fn select(&self) -> Option<&Action> { function select_down (line 112) | pub fn select_down(&mut self) { function select_up (line 120) | pub fn select_up(&mut self) { function select_to (line 128) | pub fn select_to(&mut self, position: usize) { function update (line 132) | pub fn update(&mut self, list: Vec<(String, Action)>, current: usize) { function update_contents (line 137) | pub fn update_contents(&mut self, list: Vec<(String, Action)>) { function clear (line 141) | pub fn clear(&mut self) { function add_element (line 146) | pub fn add_element(&mut self, element: (String, Action)) { function set_title (line 150) | pub fn set_title(&mut self, a: String) { function current_position (line 154) | pub fn current_position(&self) -> usize { method render (line 160) | fn render(self, area: Rect, buf: &mut Buffer) { FILE: crates/ytermusic/src/term/list_selector.rs type ListSelector (line 10) | pub struct ListSelector { method get_item_frame (line 17) | pub fn get_item_frame(&self, height: usize) -> (usize, usize) { method get_relative_position (line 31) | pub fn get_relative_position(&self) -> isize { method is_scrolling (line 43) | pub fn is_scrolling(&self) -> bool { method click_on (line 47) | pub fn click_on(&mut self, y_position: usize, height: usize) -> Option... method play (line 55) | pub fn play(&mut self) -> Option { method scroll_down (line 60) | pub fn scroll_down(&mut self) { method scroll_up (line 64) | pub fn scroll_up(&mut self) { method scroll_to (line 68) | pub fn scroll_to(&mut self, position: usize) { method select (line 72) | pub fn select(&self) -> Option { method update (line 80) | pub fn update(&mut self, list_size: usize, current: usize) { method render (line 90) | pub fn render( FILE: crates/ytermusic/src/term/mod.rs type Screen (line 36) | pub trait Screen { method on_mouse_press (line 37) | fn on_mouse_press(&mut self, mouse_event: MouseEvent, frame_data: &Rec... method on_key_press (line 38) | fn on_key_press(&mut self, mouse_event: KeyEvent, frame_data: &Rect) -... method render (line 39) | fn render(&mut self, frame: &mut Frame); method handle_global_message (line 40) | fn handle_global_message(&mut self, message: ManagerMessage) -> EventR... method close (line 41) | fn close(&mut self, new_screen: Screens) -> EventResponse; method open (line 42) | fn open(&mut self) -> EventResponse; type EventResponse (line 46) | pub enum EventResponse { type ManagerMessage (line 53) | pub enum ManagerMessage { method pass_to (line 68) | pub fn pass_to(self, screen: Screens) -> Self { method event (line 71) | pub fn event(self) -> EventResponse { type Screens (line 79) | pub enum Screens { type Manager (line 88) | pub struct Manager { method new (line 98) | pub async fn new(action_sender: Sender, music_player: Pla... method current_screen (line 117) | pub fn current_screen(&mut self) -> &mut dyn Screen { method get_screen (line 120) | pub fn get_screen(&mut self, screen: Screens) -> &mut dyn Screen { method set_current_screen (line 129) | pub fn set_current_screen(&mut self, screen: Screens) { method handle_event (line 134) | pub fn handle_event(&mut self, event: EventResponse) -> bool { method handle_manager_message (line 147) | pub fn handle_manager_message(&mut self, e: ManagerMessage) -> bool { method run (line 193) | pub fn run(&mut self, updater: &Receiver) -> Result<()... function split_y_start (line 268) | pub fn split_y_start(f: Rect, start_size: u16) -> [Rect; 2] { function split_y (line 276) | pub fn split_y(f: Rect, end_size: u16) -> [Rect; 2] { function split_x (line 284) | pub fn split_x(f: Rect, end_size: u16) -> [Rect; 2] { function rect_contains (line 293) | pub fn rect_contains(rect: &Rect, x: u16, y: u16, margin: u16) -> bool { function relative_pos (line 300) | pub fn relative_pos(rect: &Rect, x: u16, y: u16, margin: u16) -> (u16, u... FILE: crates/ytermusic/src/term/music_player.rs method activate (line 23) | pub fn activate(&mut self, index: usize) { method on_mouse_press (line 38) | fn on_mouse_press( method on_key_press (line 93) | fn on_key_press(&mut self, key: KeyEvent, _: &ratatui::layout::Rect) -> ... method render (line 175) | fn render(&mut self, f: &mut ratatui::Frame) { method handle_global_message (line 263) | fn handle_global_message(&mut self, message: ManagerMessage) -> EventRes... method close (line 273) | fn close(&mut self, _: Screens) -> EventResponse { method open (line 277) | fn open(&mut self) -> EventResponse { FILE: crates/ytermusic/src/term/playlist.rs type ChooserAction (line 22) | pub enum ChooserAction { method render_style (line 27) | fn render_style(&self, _: &str, selected: bool) -> Style { type Chooser (line 36) | pub struct Chooser { method play (line 142) | fn play(&mut self, a: &PlayListEntry) { method add_element (line 159) | fn add_element(&mut self, element: (String, Vec)) { type PlayListEntry (line 43) | pub struct PlayListEntry { method new (line 50) | pub fn new(name: String, videos: Vec) -> Self { method tupplelize (line 58) | pub fn tupplelize(&self) -> (&String, &Vec) { function format_playlist (line 62) | pub fn format_playlist(name: &str, videos: &[YoutubeMusicVideoRef]) -> S... method on_mouse_press (line 77) | fn on_mouse_press( method on_key_press (line 99) | fn on_key_press(&mut self, key: KeyEvent, _: &Rect) -> EventResponse { method render (line 120) | fn render(&mut self, frame: &mut Frame) { method handle_global_message (line 124) | fn handle_global_message(&mut self, message: super::ManagerMessage) -> E... method close (line 131) | fn close(&mut self, _: Screens) -> EventResponse { method open (line 135) | fn open(&mut self) -> EventResponse { FILE: crates/ytermusic/src/term/playlist_view.rs type PlayListAction (line 19) | pub struct PlayListAction(usize, bool); method render_style (line 22) | fn render_style(&self, _: &str, selected: bool) -> Style { type PlaylistView (line 38) | pub struct PlaylistView { method on_mouse_press (line 46) | fn on_mouse_press(&mut self, e: crossterm::event::MouseEvent, r: &Rect) ... method on_key_press (line 59) | fn on_key_press(&mut self, key: KeyEvent, _: &Rect) -> EventResponse { method render (line 75) | fn render(&mut self, frame: &mut Frame) { method handle_global_message (line 79) | fn handle_global_message(&mut self, m: ManagerMessage) -> EventResponse { method close (line 106) | fn close(&mut self, _: Screens) -> EventResponse { method open (line 110) | fn open(&mut self) -> EventResponse { FILE: crates/ytermusic/src/term/search.rs type Search (line 34) | pub struct Search { method new (line 227) | pub async fn new(action_sender: Sender) -> Self { method execute_status (line 255) | pub fn execute_status(&self, e: Status, modifiers: KeyModifiers) -> Ev... type Status (line 43) | pub enum Status { method render_style (line 49) | fn render_style(&self, _: &str, selected: bool) -> Style { method on_mouse_press (line 64) | fn on_mouse_press( method on_key_press (line 82) | fn on_key_press(&mut self, key: KeyEvent, _: &Rect) -> EventResponse { method render (line 194) | fn render(&mut self, frame: &mut Frame) { method handle_global_message (line 214) | fn handle_global_message(&mut self, _: super::ManagerMessage) -> EventRe... method close (line 218) | fn close(&mut self, _: Screens) -> EventResponse { method open (line 222) | fn open(&mut self) -> EventResponse { FILE: crates/ytermusic/src/term/vertical_gauge.rs type VerticalGauge (line 8) | pub struct VerticalGauge<'a> { method render (line 16) | fn render(mut self, area: Rect, buf: &mut Buffer) { method default (line 79) | fn default() -> VerticalGauge<'a> { function block (line 90) | pub fn block(mut self, block: Block<'a>) -> VerticalGauge<'a> { function ratio (line 96) | pub fn ratio(mut self, ratio: f64) -> VerticalGauge<'a> { function gauge_style (line 105) | pub fn gauge_style(mut self, style: Style) -> VerticalGauge<'a> { FILE: crates/ytermusic/src/utils.rs function get_project_dirs (line 6) | pub fn get_project_dirs() -> Option { function invert (line 10) | pub fn invert(style: Style) -> Style { function color_contrast (line 30) | pub fn color_contrast(color: Color) -> Color { function to_bidi_string (line 68) | pub fn to_bidi_string(s: &str) -> String { FILE: crates/ytpapi2/src/json_extractor.rs function from_json (line 10) | pub(crate) fn from_json( type YoutubeMusicVideoRef (line 44) | pub struct YoutubeMusicVideoRef { method fmt (line 53) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function get_playlist (line 60) | pub(crate) fn get_playlist(value: &Value) -> Option Option { function get_playlist_search (line 99) | pub fn get_playlist_search(value: &Value) -> Option Option<(String, String)> { function get_video_from_album (line 136) | pub fn get_video_from_album(value: &Value) -> Option Option { function join_clean (line 190) | fn join_clean(strings: &[String], dot: bool) -> String { function get_videoid (line 200) | pub fn get_videoid(value: &Value) -> Option { function get_video (line 214) | pub(crate) fn get_video(value: &Value) -> Option { FILE: crates/ytpapi2/src/lib.rs type Result (line 24) | pub type Result = std::result::Result; constant YTM_DOMAIN (line 26) | const YTM_DOMAIN: &str = "https://music.youtube.com"; function get_headers (line 29) | fn get_headers() -> HeaderMap { function get_account_id (line 53) | fn get_account_id() -> Option { function advanced_like (line 63) | fn advanced_like() { function advanced_test (line 81) | fn advanced_test() { function home_test (line 96) | fn home_test() { type YoutubeMusicPlaylistRef (line 111) | pub struct YoutubeMusicPlaylistRef { type YoutubeMusicInstance (line 117) | pub struct YoutubeMusicInstance { method from_header_file (line 126) | pub async fn from_header_file(path: &Path) -> Result { method new (line 178) | pub async fn new(headers: HeaderMap, account_id: Option) -> Re... method compute_sapi_hash (line 234) | fn compute_sapi_hash(&self) -> String { method browse_continuation (line 250) | async fn browse_continuation( method browse_continuation_raw (line 271) | async fn browse_continuation_raw( method browse_raw (line 314) | async fn browse_raw( method browse (line 352) | async fn browse( method get_library (line 380) | pub async fn get_library( method get_playlist (line 410) | pub async fn get_playlist( method get_playlist_raw (line 418) | pub async fn get_playlist_raw( method search (line 455) | pub async fn search( method get_home (line 490) | pub async fn get_home(&self, mut n_continuations: usize) -> Result Result String { method get_param (line 567) | fn get_param(&self) -> String { method get_route (line 576) | fn get_route(&self) -> String { type YoutubeMusicError (line 588) | pub enum YoutubeMusicError { FILE: crates/ytpapi2/src/string_utils.rs type StringUtils (line 4) | pub trait StringUtils { method after (line 5) | fn after(&self, needle: &str) -> Option<&str>; method before (line 6) | fn before(&self, needle: &str) -> Option<&str>; method between (line 7) | fn between(&self, start: &str, end: &str) -> Option<&str>; method to_owned_ (line 9) | fn to_owned_(&self) -> Option; method parse_ (line 10) | fn parse_(&self) -> Option; method trim_ (line 11) | fn trim_(&self) -> Option<&str>; method after (line 15) | fn after(&self, needle: &str) -> Option<&str> { method before (line 19) | fn before(&self, needle: &str) -> Option<&str> { method between (line 23) | fn between(&self, start: &str, end: &str) -> Option<&str> { method to_owned_ (line 28) | fn to_owned_(&self) -> Option { method parse_ (line 32) | fn parse_(&self) -> Option { method trim_ (line 36) | fn trim_(&self) -> Option<&str> { method after (line 42) | fn after(&self, needle: &str) -> Option<&str> { method before (line 46) | fn before(&self, needle: &str) -> Option<&str> { method between (line 50) | fn between(&self, start: &str, end: &str) -> Option<&str> { method to_owned_ (line 55) | fn to_owned_(&self) -> Option { method parse_ (line 59) | fn parse_(&self) -> Option { method trim_ (line 63) | fn trim_(&self) -> Option<&str> { method after (line 69) | fn after(&self, needle: &str) -> Option<&str> { method before (line 73) | fn before(&self, needle: &str) -> Option<&str> { method between (line 77) | fn between(&self, start: &str, end: &str) -> Option<&str> { method to_owned_ (line 81) | fn to_owned_(&self) -> Option { method parse_ (line 85) | fn parse_(&self) -> Option { method trim_ (line 89) | fn trim_(&self) -> Option<&str> {