@@ -91,7 +91,6 @@ function print_col_keys(
9191 print (io, sep)
9292 end
9393 end
94- println (io)
9594end
9695
9796function print_row_key (io, axis, i, a, pre, post)
@@ -159,6 +158,7 @@ function Base.print_matrix(
159158 rA = row_alignment (io, axes (X, 1 ))
160159 print (io, " " * repeat (" " , rA + length (pre) + length (post))) # print space before column keys
161160 print_col_keys (io, X, A, colsA, sep)
161+ println (io)
162162 for i in rowsA
163163 print (io, i == first (rowsA) ? pre : presp)
164164 print_row_key (io, axes (X, 1 ), i, rA, pre, post)
@@ -171,11 +171,14 @@ function Base.print_matrix(
171171 else # rows fit down screen but cols don't, so need horizontal ellipsis
172172 c = div (screenwidth- length (hdots):: Int + 1 ,2 )+ 1 # what goes to right of ellipsis
173173 Ralign = reverse (alignment (io, X, rowsA, reverse (colsA), c, c, sepsize)) # alignments for right
174- c = screenwidth - sum (map (sum,Ralign)) - (length (Ralign)- 1 )* sepsize - length (hdots):: Int
174+ c = screenwidth - sum (map (sum, Ralign)) - (length (Ralign)- 1 )* sepsize - length (hdots):: Int
175175 Lalign = alignment (io, X, rowsA, colsA, c, c, sepsize) # alignments for left of ellipsis
176176 rA = row_alignment (io, axes (X, 1 ))
177177 print (io, " " * repeat (" " , rA + length (pre) + length (post))) # print space before column keys
178- print_col_keys (io, X, A, colsA, sep)
178+ print_col_keys (io, X, Lalign, colsA[1 : length (Lalign)], sep)
179+ print (io, repeat (" " , length (hdots):: Int ))
180+ print_col_keys (io, X, Ralign, (n - length (Ralign)) .+ colsA, sep)
181+ println (io)
179182 for i in rowsA
180183 print (io, i == first (rowsA) ? pre : presp)
181184 print_row_key (io, axes (X, 1 ), i, rA, pre, post)
@@ -193,6 +196,7 @@ function Base.print_matrix(
193196 rA = row_alignment (io, axes (X, 1 ))
194197 print (io, " " * repeat (" " , rA + length (pre) + length (post))) # print space before column keys
195198 print_col_keys (io, X, A, colsA, sep)
199+ println (io)
196200 for i in rowsA
197201 print_row_key (io, axes (X, 1 ), i, rA, pre, post)
198202 print (io, i == first (rowsA) ? pre : presp)
@@ -213,7 +217,10 @@ function Base.print_matrix(
213217 r = mod ((length (Ralign) - n + 1 ),vmod) # where to put dots on right half
214218 rA = row_alignment (io, axes (X, 1 ))
215219 print (io, " " * repeat (" " , rA + length (pre) + length (post))) # print space before column keys
216- print_col_keys (io, X, A, colsA, sep)
220+ print_col_keys (io, X, Lalign, colsA[1 : length (Lalign)], sep)
221+ print (io, repeat (" " , length (hdots):: Int ))
222+ print_col_keys (io, X, Ralign, (n - length (Ralign)) .+ colsA, sep)
223+ println (io)
217224 for i in rowsA
218225 print_row_key (io, axes (X, 1 ), i, rA, pre, post)
219226 print (io, i == first (rowsA) ? pre : presp)
@@ -225,6 +232,7 @@ function Base.print_matrix(
225232 if i == rowsA[halfheight]
226233 print (io, i == first (rowsA) ? pre : presp)
227234 Base. print_matrix_vdots (io, vdots, Lalign, sep, vmod, 1 , true )
235+ print (io, " " * repeat (" " , rA + length (pre) + length (post))) # print space before column keys
228236 print (io, ddots)
229237 Base. print_matrix_vdots (io, vdots, Ralign, sep, vmod, r, false )
230238 print (io, i == last (rowsA) ? post : postsp * ' \n ' )
0 commit comments