• Home
  • Raw
  • Download

Lines Matching full:options

1 //! Options for wrapping text.
5 /// Holds configuration options for wrapping and filling text.
8 pub struct Options<'a> { struct
14 /// [`Options::initial_indent`] method. argument
17 /// [`Options::subsequent_indent`] method. argument
21 /// `self.width`. See the [`Options::break_words`] method. argument
35 impl<'a> From<&'a Options<'a>> for Options<'a> { argument
36 fn from(options: &'a Options<'a>) -> Self { in from()
38 width: options.width, in from()
39 line_ending: options.line_ending, in from()
40 initial_indent: options.initial_indent, in from()
41 subsequent_indent: options.subsequent_indent, in from()
42 break_words: options.break_words, in from()
43 word_separator: options.word_separator, in from()
44 wrap_algorithm: options.wrap_algorithm, in from()
45 word_splitter: options.word_splitter.clone(), in from()
50 impl From<usize> for Options<'_> { implementation
52 Options::new(width) in from()
56 impl<'a> Options<'a> { impl
57 /// Creates a new [`Options`] with the specified width.
62 /// # use textwrap::{LineEnding, Options, WordSplitter, WordSeparator, WrapAlgorithm};
64 /// let options = Options::new(width);
65 /// assert_eq!(options.line_ending, LineEnding::LF);
66 /// assert_eq!(options.initial_indent, "");
67 /// assert_eq!(options.subsequent_indent, "");
68 /// assert_eq!(options.break_words, true);
71 /// assert_eq!(options.word_separator, WordSeparator::UnicodeBreakProperties);
73 /// assert_eq!(options.word_separator, WordSeparator::AsciiSpace);
76 /// assert_eq!(options.wrap_algorithm, WrapAlgorithm::new_optimal_fit());
78 /// assert_eq!(options.wrap_algorithm, WrapAlgorithm::FirstFit);
80 /// assert_eq!(options.word_splitter, WordSplitter::HyphenSplitter);
87 Options { in new()
106 /// use textwrap::{refill, LineEnding, Options};
108 /// let options = Options::new(15).line_ending(LineEnding::CRLF);
109 /// assert_eq!(refill("This is a little example.", options),
115 Options { in line_ending()
125 Options { width, ..self } in width()
137 /// use textwrap::{wrap, Options};
139 /// let options = Options::new(16).initial_indent(" ");
140 /// assert_eq!(wrap("This is a little example.", options),
147 Options { in initial_indent()
162 /// use textwrap::{wrap, Options};
164 /// let options = Options::new(12)
168 /// assert_eq!(wrap("This is a little example.", options),
175 /// assert_eq!(wrap("This is a little example.", options),
183 Options { in subsequent_indent()
193 /// See [`Options::word_splitter`] instead if you want to control
199 /// use textwrap::{wrap, Options};
201 /// let options = Options::new(4).break_words(true);
202 /// assert_eq!(wrap("This is a little example.", options),
213 Options { in break_words()
224 pub fn word_separator(self, word_separator: WordSeparator) -> Options<'a> { in word_separator()
225 Options { in word_separator()
236 pub fn wrap_algorithm(self, wrap_algorithm: WrapAlgorithm) -> Options<'a> { in wrap_algorithm()
237 Options { in wrap_algorithm()
246 /// See [`Options::break_words`] instead if you want to control the
252 /// use textwrap::{wrap, Options, WordSplitter};
255 /// let options = Options::new(5);
256 /// assert_eq!(wrap("foo-bar-baz", &options),
260 /// let options = Options::new(5)
262 /// assert_eq!(wrap("foo-bar-baz", &options),
266 /// let options = Options::new(5)
269 /// assert_eq!(wrap("foo-bar-baz", &options),
274 pub fn word_splitter(self, word_splitter: WordSplitter) -> Options<'a> { in word_splitter()
275 Options { in word_splitter()
288 let opt_usize = Options::from(42_usize); in options_agree_with_usize()
289 let opt_options = Options::new(42); in options_agree_with_usize()