function observeNewline( state: LayoutState, current: PreviewToken, frameDepth: int, ) -> LayoutState { let pipeContinues = previousIs(state.previous, "pipe") && patternContinuesAt(state.pattern, frameDepth) let frame = topFrame(state.frames) if frame.mode == LayoutMode.Separator && frame.hasItem && lastTokenKind(state.output) != "separator" && !previousIsTrailing(state.previous) && !pipeContinues { match state.pending { case Some(_) => () case None => return LayoutState { ...state, pending: Some(current), } } } state }