Skip to content

[Experimental]

Gain full control over the appearance of the pillars of your tibble subclass in its body. This method is intended for implementers of subclasses of the "tbl" class. Users will rarely need them, and we also expect the default implementation to be sufficient for the vast majority of cases.

Usage

ctl_new_pillar_list(
  controller,
  x,
  width,
  ...,
  title = NULL,
  first_pillar = NULL
)

Arguments

controller

The object of class "tbl" currently printed.

x

A vector, can also be a data frame, matrix, or array.

width

The available width, can be a vector for multiple tiers. If NULL, only the first pillar is instantiated.

...

These dots are for future extensions and must be empty.

title

The title, derived from the name of the column in the data.

first_pillar

Can be passed to this method if the first pillar for a compound pillar (or the pillar itself for a simple pillar) has been constructed already.

Details

ctl_new_pillar_list() is called to construct a list of pillars. If x is a regular (one-dimensional) vector, the list contains one pillar constructed by ctl_new_pillar(). This method also works for compound columns: columns that are data frames, matrices or arrays, with the following behavior:

  • If width is NULL, the method always returns a list of length one containing one pillar object that represents the first sub-column in this compound column.

  • Otherwise, the returned list contains one pillar object for all sub-columns that can be fit in the available horizontal space. These pillar objects are obtained by calling ctl_new_pillar_list() with width = NULL on each sub-column until the available width is exhausted.

This method is called to initiate the construction of all pillars in the tibble to be printed. To ensure that all packed columns that fit the available space are printed, ctl_new_pillar_list() may be called twice on the same input: once with width = NULL, and once with width corresponding to the then known available space and with first_pillar set to the pillar object constructed in the first call.

Examples

# Simple column
ctl_new_pillar_list(
  tibble::tibble(),
  palmerpenguins::penguins$weight[1:3],
  width = 10
)
#> Warning: Unknown or uninitialised column: `weight`.
#> [[1]]
#> <pillar>
#> <NULL>
#> NULL  
#> 
#> attr(,"remaining_width")
#> [1] 4
#> attr(,"simple")
#> [1] TRUE

# Packed data frame: unknown width
ctl_new_pillar_list(
  tibble::tibble(),
  palmerpenguins::penguins[1:3, ],
  width = NULL
)
#> [[1]]
#> <pillar>
#> species
#> <fct>  
#> Adelie 
#> Adelie 
#> Adelie 
#> 

# Packed data frame: known width
ctl_new_pillar_list(
  tibble::tibble(),
  palmerpenguins::penguins,
  width = 60
)
#> [[1]]
#> <pillar>
#> species  
#> <fct>    
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Adelie   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Gentoo   
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> Chinstrap
#> 
#> [[2]]
#> <pillar>
#> island   
#> <fct>    
#> Torgersen
#> Torgersen
#> Torgersen
#> Torgersen
#> Torgersen
#> Torgersen
#> Torgersen
#> Torgersen
#> Torgersen
#> Torgersen
#> Torgersen
#> Torgersen
#> Torgersen
#> Torgersen
#> Torgersen
#> Torgersen
#> Torgersen
#> Torgersen
#> Torgersen
#> Torgersen
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Torgersen
#> Torgersen
#> Torgersen
#> Torgersen
#> Torgersen
#> Torgersen
#> Torgersen
#> Torgersen
#> Torgersen
#> Torgersen
#> Torgersen
#> Torgersen
#> Torgersen
#> Torgersen
#> Torgersen
#> Torgersen
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Torgersen
#> Torgersen
#> Torgersen
#> Torgersen
#> Torgersen
#> Torgersen
#> Torgersen
#> Torgersen
#> Torgersen
#> Torgersen
#> Torgersen
#> Torgersen
#> Torgersen
#> Torgersen
#> Torgersen
#> Torgersen
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Biscoe   
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> Dream    
#> 
#> [[3]]
#> <pillar>
#> bill_length_mm
#>          <dbl>
#>           39.1
#>           39.5
#>           40.3
#>           NA  
#>           36.7
#>           39.3
#>           38.9
#>           39.2
#>           34.1
#>           42  
#>           37.8
#>           37.8
#>           41.1
#>           38.6
#>           34.6
#>           36.6
#>           38.7
#>           42.5
#>           34.4
#>           46  
#>           37.8
#>           37.7
#>           35.9
#>           38.2
#>           38.8
#>           35.3
#>           40.6
#>           40.5
#>           37.9
#>           40.5
#>           39.5
#>           37.2
#>           39.5
#>           40.9
#>           36.4
#>           39.2
#>           38.8
#>           42.2
#>           37.6
#>           39.8
#>           36.5
#>           40.8
#>           36  
#>           44.1
#>           37  
#>           39.6
#>           41.1
#>           37.5
#>           36  
#>           42.3
#>           39.6
#>           40.1
#>           35  
#>           42  
#>           34.5
#>           41.4
#>           39  
#>           40.6
#>           36.5
#>           37.6
#>           35.7
#>           41.3
#>           37.6
#>           41.1
#>           36.4
#>           41.6
#>           35.5
#>           41.1
#>           35.9
#>           41.8
#>           33.5
#>           39.7
#>           39.6
#>           45.8
#>           35.5
#>           42.8
#>           40.9
#>           37.2
#>           36.2
#>           42.1
#>           34.6
#>           42.9
#>           36.7
#>           35.1
#>           37.3
#>           41.3
#>           36.3
#>           36.9
#>           38.3
#>           38.9
#>           35.7
#>           41.1
#>           34  
#>           39.6
#>           36.2
#>           40.8
#>           38.1
#>           40.3
#>           33.1
#>           43.2
#>           35  
#>           41  
#>           37.7
#>           37.8
#>           37.9
#>           39.7
#>           38.6
#>           38.2
#>           38.1
#>           43.2
#>           38.1
#>           45.6
#>           39.7
#>           42.2
#>           39.6
#>           42.7
#>           38.6
#>           37.3
#>           35.7
#>           41.1
#>           36.2
#>           37.7
#>           40.2
#>           41.4
#>           35.2
#>           40.6
#>           38.8
#>           41.5
#>           39  
#>           44.1
#>           38.5
#>           43.1
#>           36.8
#>           37.5
#>           38.1
#>           41.1
#>           35.6
#>           40.2
#>           37  
#>           39.7
#>           40.2
#>           40.6
#>           32.1
#>           40.7
#>           37.3
#>           39  
#>           39.2
#>           36.6
#>           36  
#>           37.8
#>           36  
#>           41.5
#>           46.1
#>           50  
#>           48.7
#>           50  
#>           47.6
#>           46.5
#>           45.4
#>           46.7
#>           43.3
#>           46.8
#>           40.9
#>           49  
#>           45.5
#>           48.4
#>           45.8
#>           49.3
#>           42  
#>           49.2
#>           46.2
#>           48.7
#>           50.2
#>           45.1
#>           46.5
#>           46.3
#>           42.9
#>           46.1
#>           44.5
#>           47.8
#>           48.2
#>           50  
#>           47.3
#>           42.8
#>           45.1
#>           59.6
#>           49.1
#>           48.4
#>           42.6
#>           44.4
#>           44  
#>           48.7
#>           42.7
#>           49.6
#>           45.3
#>           49.6
#>           50.5
#>           43.6
#>           45.5
#>           50.5
#>           44.9
#>           45.2
#>           46.6
#>           48.5
#>           45.1
#>           50.1
#>           46.5
#>           45  
#>           43.8
#>           45.5
#>           43.2
#>           50.4
#>           45.3
#>           46.2
#>           45.7
#>           54.3
#>           45.8
#>           49.8
#>           46.2
#>           49.5
#>           43.5
#>           50.7
#>           47.7
#>           46.4
#>           48.2
#>           46.5
#>           46.4
#>           48.6
#>           47.5
#>           51.1
#>           45.2
#>           45.2
#>           49.1
#>           52.5
#>           47.4
#>           50  
#>           44.9
#>           50.8
#>           43.4
#>           51.3
#>           47.5
#>           52.1
#>           47.5
#>           52.2
#>           45.5
#>           49.5
#>           44.5
#>           50.8
#>           49.4
#>           46.9
#>           48.4
#>           51.1
#>           48.5
#>           55.9
#>           47.2
#>           49.1
#>           47.3
#>           46.8
#>           41.7
#>           53.4
#>           43.3
#>           48.1
#>           50.5
#>           49.8
#>           43.5
#>           51.5
#>           46.2
#>           55.1
#>           44.5
#>           48.8
#>           47.2
#>           NA  
#>           46.8
#>           50.4
#>           45.2
#>           49.9
#>           46.5
#>           50  
#>           51.3
#>           45.4
#>           52.7
#>           45.2
#>           46.1
#>           51.3
#>           46  
#>           51.3
#>           46.6
#>           51.7
#>           47  
#>           52  
#>           45.9
#>           50.5
#>           50.3
#>           58  
#>           46.4
#>           49.2
#>           42.4
#>           48.5
#>           43.2
#>           50.6
#>           46.7
#>           52  
#>           50.5
#>           49.5
#>           46.4
#>           52.8
#>           40.9
#>           54.2
#>           42.5
#>           51  
#>           49.7
#>           47.5
#>           47.6
#>           52  
#>           46.9
#>           53.5
#>           49  
#>           46.2
#>           50.9
#>           45.5
#>           50.9
#>           50.8
#>           50.1
#>           49  
#>           51.5
#>           49.8
#>           48.1
#>           51.4
#>           45.7
#>           50.7
#>           42.5
#>           52.2
#>           45.2
#>           49.3
#>           50.2
#>           45.6
#>           51.9
#>           46.8
#>           45.7
#>           55.8
#>           43.5
#>           49.6
#>           50.8
#>           50.2
#> 
#> [[4]]
#> <pillar>
#> bill_depth_mm
#>         <dbl>
#>          18.7
#>          17.4
#>          18  
#>          NA  
#>          19.3
#>          20.6
#>          17.8
#>          19.6
#>          18.1
#>          20.2
#>          17.1
#>          17.3
#>          17.6
#>          21.2
#>          21.1
#>          17.8
#>          19  
#>          20.7
#>          18.4
#>          21.5
#>          18.3
#>          18.7
#>          19.2
#>          18.1
#>          17.2
#>          18.9
#>          18.6
#>          17.9
#>          18.6
#>          18.9
#>          16.7
#>          18.1
#>          17.8
#>          18.9
#>          17  
#>          21.1
#>          20  
#>          18.5
#>          19.3
#>          19.1
#>          18  
#>          18.4
#>          18.5
#>          19.7
#>          16.9
#>          18.8
#>          19  
#>          18.9
#>          17.9
#>          21.2
#>          17.7
#>          18.9
#>          17.9
#>          19.5
#>          18.1
#>          18.6
#>          17.5
#>          18.8
#>          16.6
#>          19.1
#>          16.9
#>          21.1
#>          17  
#>          18.2
#>          17.1
#>          18  
#>          16.2
#>          19.1
#>          16.6
#>          19.4
#>          19  
#>          18.4
#>          17.2
#>          18.9
#>          17.5
#>          18.5
#>          16.8
#>          19.4
#>          16.1
#>          19.1
#>          17.2
#>          17.6
#>          18.8
#>          19.4
#>          17.8
#>          20.3
#>          19.5
#>          18.6
#>          19.2
#>          18.8
#>          18  
#>          18.1
#>          17.1
#>          18.1
#>          17.3
#>          18.9
#>          18.6
#>          18.5
#>          16.1
#>          18.5
#>          17.9
#>          20  
#>          16  
#>          20  
#>          18.6
#>          18.9
#>          17.2
#>          20  
#>          17  
#>          19  
#>          16.5
#>          20.3
#>          17.7
#>          19.5
#>          20.7
#>          18.3
#>          17  
#>          20.5
#>          17  
#>          18.6
#>          17.2
#>          19.8
#>          17  
#>          18.5
#>          15.9
#>          19  
#>          17.6
#>          18.3
#>          17.1
#>          18  
#>          17.9
#>          19.2
#>          18.5
#>          18.5
#>          17.6
#>          17.5
#>          17.5
#>          20.1
#>          16.5
#>          17.9
#>          17.1
#>          17.2
#>          15.5
#>          17  
#>          16.8
#>          18.7
#>          18.6
#>          18.4
#>          17.8
#>          18.1
#>          17.1
#>          18.5
#>          13.2
#>          16.3
#>          14.1
#>          15.2
#>          14.5
#>          13.5
#>          14.6
#>          15.3
#>          13.4
#>          15.4
#>          13.7
#>          16.1
#>          13.7
#>          14.6
#>          14.6
#>          15.7
#>          13.5
#>          15.2
#>          14.5
#>          15.1
#>          14.3
#>          14.5
#>          14.5
#>          15.8
#>          13.1
#>          15.1
#>          14.3
#>          15  
#>          14.3
#>          15.3
#>          15.3
#>          14.2
#>          14.5
#>          17  
#>          14.8
#>          16.3
#>          13.7
#>          17.3
#>          13.6
#>          15.7
#>          13.7
#>          16  
#>          13.7
#>          15  
#>          15.9
#>          13.9
#>          13.9
#>          15.9
#>          13.3
#>          15.8
#>          14.2
#>          14.1
#>          14.4
#>          15  
#>          14.4
#>          15.4
#>          13.9
#>          15  
#>          14.5
#>          15.3
#>          13.8
#>          14.9
#>          13.9
#>          15.7
#>          14.2
#>          16.8
#>          14.4
#>          16.2
#>          14.2
#>          15  
#>          15  
#>          15.6
#>          15.6
#>          14.8
#>          15  
#>          16  
#>          14.2
#>          16.3
#>          13.8
#>          16.4
#>          14.5
#>          15.6
#>          14.6
#>          15.9
#>          13.8
#>          17.3
#>          14.4
#>          14.2
#>          14  
#>          17  
#>          15  
#>          17.1
#>          14.5
#>          16.1
#>          14.7
#>          15.7
#>          15.8
#>          14.6
#>          14.4
#>          16.5
#>          15  
#>          17  
#>          15.5
#>          15  
#>          13.8
#>          16.1
#>          14.7
#>          15.8
#>          14  
#>          15.1
#>          15.2
#>          15.9
#>          15.2
#>          16.3
#>          14.1
#>          16  
#>          15.7
#>          16.2
#>          13.7
#>          NA  
#>          14.3
#>          15.7
#>          14.8
#>          16.1
#>          17.9
#>          19.5
#>          19.2
#>          18.7
#>          19.8
#>          17.8
#>          18.2
#>          18.2
#>          18.9
#>          19.9
#>          17.8
#>          20.3
#>          17.3
#>          18.1
#>          17.1
#>          19.6
#>          20  
#>          17.8
#>          18.6
#>          18.2
#>          17.3
#>          17.5
#>          16.6
#>          19.4
#>          17.9
#>          19  
#>          18.4
#>          19  
#>          17.8
#>          20  
#>          16.6
#>          20.8
#>          16.7
#>          18.8
#>          18.6
#>          16.8
#>          18.3
#>          20.7
#>          16.6
#>          19.9
#>          19.5
#>          17.5
#>          19.1
#>          17  
#>          17.9
#>          18.5
#>          17.9
#>          19.6
#>          18.7
#>          17.3
#>          16.4
#>          19  
#>          17.3
#>          19.7
#>          17.3
#>          18.8
#>          16.6
#>          19.9
#>          18.8
#>          19.4
#>          19.5
#>          16.5
#>          17  
#>          19.8
#>          18.1
#>          18.2
#>          19  
#>          18.7
#> 
#> attr(,"extra")
#> [1] "flipper_length_mm" "body_mass_g"       "sex"              
#> [4] "year"             
#> attr(,"remaining_width")
#> [1] 16
#> attr(,"simple")
#> [1] FALSE

# Deeply packed data frame with known width:
# showing only the first sub-column even if the width is sufficient
ctl_new_pillar_list(
  tibble::tibble(),
  tibble::tibble(x = tibble::tibble(b = 1, c = 2), y = 3),
  width = 60
)
#> [[1]]
#> <pillar>
#>   x$b
#> <dbl>
#>     1
#> 
#> [[2]]
#> <pillar>
#>     y
#> <dbl>
#>     3
#> 
#> attr(,"extra")
#> character(0)
#> attr(,"remaining_width")
#> [1] 48
#> attr(,"simple")
#> [1] FALSE

# Packed matrix: unknown width
ctl_new_pillar_list(tibble::tibble(), matrix(1:6, ncol = 2), width = NULL)
#> [[1]]
#> <pillar>
#>  [,1]
#> <int>
#>     1
#>     2
#>     3
#> 

# Packed matrix: known width
ctl_new_pillar_list(tibble::tibble(), matrix(1:6, ncol = 2), width = 60)
#> [[1]]
#> <pillar>
#>  [,1]
#> <int>
#>     1
#>     2
#>     3
#> 
#> [[2]]
#> <pillar>
#>  [,2]
#> <int>
#>     4
#>     5
#>     6
#> 
#> attr(,"extra")
#> integer(0)
#> attr(,"remaining_width")
#> [1] 48
#> attr(,"simple")
#> [1] FALSE

# Packed array
ctl_new_pillar_list(tibble::tibble(), Titanic, width = 60)
#> [[1]]
#> <pillar>
#> <table[,2,2,2]>
#>             0 …
#>             0 …
#>            35 …
#>             0 …
#> 
#> attr(,"remaining_width")
#> [1] 54
#> attr(,"simple")
#> [1] TRUE