diff --git a/src/filter_plugin/grep.rs b/src/filter_plugin/grep.rs index 3f4a80a..cedad4c 100644 --- a/src/filter_plugin/grep.rs +++ b/src/filter_plugin/grep.rs @@ -1,4 +1,4 @@ -use super::FilterPlugin; +use super::{FilterPlugin, FilterOption}; use std::io::{Result, Read, Write, BufRead}; use regex::Regex; diff --git a/src/filter_plugin/head.rs b/src/filter_plugin/head.rs index 55f7500..3d9eb87 100644 --- a/src/filter_plugin/head.rs +++ b/src/filter_plugin/head.rs @@ -1,4 +1,4 @@ -use super::FilterPlugin; +use super::{FilterPlugin, FilterOption}; use std::io::{Result, Read, Write, BufRead}; use crate::common::PIPESIZE; @@ -48,6 +48,16 @@ impl FilterPlugin for HeadBytesFilter { } ] } + + fn options(&self) -> Vec { + vec![ + FilterOption { + name: "count".to_string(), + default: None, + required: true, + } + ] + } } pub struct HeadLinesFilter { diff --git a/src/filter_plugin/skip.rs b/src/filter_plugin/skip.rs index 7112cd4..96b1b77 100644 --- a/src/filter_plugin/skip.rs +++ b/src/filter_plugin/skip.rs @@ -1,4 +1,4 @@ -use super::FilterPlugin; +use super::{FilterPlugin, FilterOption}; use std::io::{Result, Read, Write, BufRead}; use crate::common::PIPESIZE; @@ -60,6 +60,26 @@ impl FilterPlugin for SkipBytesFilter { remaining: self.remaining, }) } + + fn options(&self) -> Vec { + vec![ + FilterOption { + name: "count".to_string(), + default: None, + required: true, + } + ] + } + + fn options(&self) -> Vec { + vec![ + FilterOption { + name: "count".to_string(), + default: None, + required: true, + } + ] + } } pub struct SkipLinesFilter { diff --git a/src/filter_plugin/strip_ansi.rs b/src/filter_plugin/strip_ansi.rs index e72f975..9a043bb 100644 --- a/src/filter_plugin/strip_ansi.rs +++ b/src/filter_plugin/strip_ansi.rs @@ -1,6 +1,6 @@ use std::io::{Result, Read, Write}; use strip_ansi_escapes::Writer; -use super::FilterPlugin; +use super::{FilterPlugin, FilterOption}; pub struct StripAnsiFilter; diff --git a/src/filter_plugin/tail.rs b/src/filter_plugin/tail.rs index 072229e..a44a5e3 100644 --- a/src/filter_plugin/tail.rs +++ b/src/filter_plugin/tail.rs @@ -1,4 +1,4 @@ -use super::FilterPlugin; +use super::{FilterPlugin, FilterOption}; use std::io::{Result, Read, Write, BufRead}; use std::collections::VecDeque; use crate::common::PIPESIZE; @@ -68,6 +68,16 @@ impl FilterPlugin for TailBytesFilter { count: self.count, }) } + + fn options(&self) -> Vec { + vec![ + FilterOption { + name: "count".to_string(), + default: None, + required: true, + } + ] + } } pub struct TailLinesFilter { @@ -129,4 +139,14 @@ impl FilterPlugin for TailLinesFilter { count: self.count, }) } + + fn options(&self) -> Vec { + vec![ + FilterOption { + name: "count".to_string(), + default: None, + required: true, + } + ] + } }