}
pub fn space_if_not_bol(&mut self) {
- if !self.is_bol() {
+ if !self.s.is_beginning_of_line() {
self.s.space();
}
}
pub fn break_offset_if_not_bol(&mut self, n: usize, off: isize) {
- if !self.is_bol() {
+ if !self.s.is_beginning_of_line() {
self.s.break_offset(n, off)
} else {
if off != 0 && self.s.last_token().is_hardbreak_tok() {
}
impl Printer {
- pub fn last_token(&mut self) -> Token {
+ pub fn last_token(&self) -> Token {
self.buf[self.right].token.clone()
}
self.spaces(SIZE_INFINITY as usize)
}
+ pub fn is_beginning_of_line(&self) -> bool {
+ self.last_token().is_eof() || self.last_token().is_hardbreak_tok()
+ }
+
pub fn hardbreak_tok_offset(off: isize) -> Token {
Token::Break(BreakToken {offset: off, blank_space: SIZE_INFINITY})
}
fn pclose(&mut self) { self.writer().word(")") }
- // is this the beginning of a line?
- fn is_bol(&mut self) -> bool {
- self.writer().last_token().is_eof() || self.writer().last_token().is_hardbreak_tok()
- }
-
fn hardbreak_if_not_bol(&mut self) {
- if !self.is_bol() {
+ if !self.writer().is_beginning_of_line() {
self.writer().hardbreak()
}
}
}
}
comments::Trailing => {
- if !self.is_bol() {
+ if !self.writer().is_beginning_of_line() {
self.writer().word(" ");
}
if cmnt.lines.len() == 1 {
}
fn space_if_not_bol(&mut self) {
- if !self.is_bol() { self.writer().space(); }
+ if !self.writer().is_beginning_of_line() { self.writer().space(); }
}
fn nbsp(&mut self) { self.writer().word(" ") }
crate fn break_offset_if_not_bol(&mut self, n: usize,
off: isize) {
- if !self.is_bol() {
+ if !self.s.is_beginning_of_line() {
self.s.break_offset(n, off)
} else {
if off != 0 && self.s.last_token().is_hardbreak_tok() {