diff options
author | dennisschagt <dennisschagt@gmail.com> | 2020-03-19 00:29:54 +0100 |
---|---|---|
committer | dennisschagt <dennisschagt@gmail.com> | 2020-03-19 00:29:54 +0100 |
commit | d17a3437fa311a8c9a0fb57caf58c42b144f55ad (patch) | |
tree | 8ba320bda30b4f2478d867128af93384c7c8ebd4 | |
parent | cf084235fb0c34ded3df57e83c3009519cc9f457 (diff) |
Add inline documentation for strwidth_stfl()
-rw-r--r-- | rust/libnewsboat/src/utils.rs | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/rust/libnewsboat/src/utils.rs b/rust/libnewsboat/src/utils.rs index 05a9d19e..7c338329 100644 --- a/rust/libnewsboat/src/utils.rs +++ b/rust/libnewsboat/src/utils.rs @@ -288,6 +288,17 @@ pub fn strwidth(rs_str: &str) -> usize { UnicodeWidthStr::width(rs_str) } +/// Returns the with of `rs_str` when displayed on screen. +/// +/// STFL tags (e.g. `<b>`, `<foobar>`, `</>`) are counted as having 0 width. +/// Escaped less-than sign (`<` escaped as `<>`) is counted as having a width of 1 character. +/// ``` +/// use libnewsboat::utils::strwidth_stfl; +/// assert_eq!(strwidth_stfl("a"), 1); +/// assert_eq!(strwidth_stfl("abc<tag>def"), 6); +/// assert_eq!(strwidth_stfl("less-than: <>"), 12); +/// assert_eq!(strwidth_stfl("ABCDEF"), 12); +///``` pub fn strwidth_stfl(rs_str: &str) -> usize { let mut s = &rs_str[..]; let mut width = 0; |