diff --git a/MODULES.md b/MODULES.md index 1763300..8889edd 100644 --- a/MODULES.md +++ b/MODULES.md @@ -711,6 +711,8 @@ substituted. [#:table-border #f] [#:row-border #f] [#:col-border #f] + [#:row0-border #f] + [#:col0-border #f] [#:border-style (*table-border-style*)] [#:ansi #f]) @@ -718,6 +720,8 @@ substituted. * ```#:table-border``` - if ```#t```, the table has outer border * ```#:row-border``` - if ```#t```, the rows are separated by borders * ```#:col-border``` - if ```#t```, the columns are separated by borders +* ```#:row0-border``` - if ```#t```, the first row is separated by border +* ```#:col0-border``` - if ```#t```, the first column is separated by border * ```#:border-style``` - which border style to use (see ```*table-border-style*``` which is the default) * ```#:ansi``` - if ```#t```, all cell line strings are terminated diff --git a/table.scm b/table.scm index ef4c38a..c1b1b5c 100644 --- a/table.scm +++ b/table.scm @@ -259,6 +259,8 @@ (let* ((table-border (get-keyword #:table-border args (lambda () #f))) (row-border (get-keyword #:row-border args (lambda () #f))) (column-border (get-keyword #:col-border args (lambda () #f))) + (row0-border (get-keyword #:row0-border args (lambda () #f))) + (col0-border (get-keyword #:col0-border args (lambda () #f))) (border-style (get-keyword #:border-style args (lambda () (*table-border-style*)))) (ansi? (get-keyword #:ansi args (lambda () #f))) (stylepair (assq border-style table-borders-lookup)) @@ -293,8 +295,10 @@ (flatten (reverse res0)) "\n")) (let* ((res0 - (if (and row-border - (> idx 0)) + (if (or (and row-border + (> idx 0)) + (and row0-border + (= idx 1))) (cons (table-row-delimiter/styled table-border column-border cws