diff --git a/go.mod b/go.mod
index 039e7c2d48..95ad7b5379 100644
--- a/go.mod
+++ b/go.mod
@@ -21,10 +21,11 @@ require (
github.com/fatih/color v1.15.0
github.com/glebarez/sqlite v1.10.0
github.com/gofrs/uuid v4.4.0+incompatible
+ github.com/golang/protobuf v1.5.3
github.com/google/uuid v1.4.0
github.com/gorilla/mux v1.8.1
github.com/grpc-ecosystem/go-grpc-middleware v1.4.0
- github.com/jedib0t/go-pretty/v6 v6.4.6
+ github.com/jedib0t/go-pretty/v6 v6.5.4
github.com/kbinani/screenshot v0.0.0-20191211154542-3a185f1ce18f
github.com/klauspost/compress v1.17.0
github.com/lesnuages/go-winio v0.4.19
@@ -48,8 +49,8 @@ require (
golang.org/x/crypto v0.17.0
golang.org/x/exp v0.0.0-20230905200255-921286631fa9
golang.org/x/net v0.17.0
- golang.org/x/sys v0.15.0
- golang.org/x/term v0.15.0
+ golang.org/x/sys v0.16.0
+ golang.org/x/term v0.16.0
golang.org/x/text v0.14.0
golang.zx2c4.com/wireguard v0.0.0-20231022001213-2e0774f246fb
golang.zx2c4.com/wireguard/wgctrl v0.0.0-20220208144051-fde48d68ee68
@@ -109,7 +110,6 @@ require (
github.com/gobwas/ws v1.3.0 // indirect
github.com/godbus/dbus/v5 v5.1.1-0.20230522191255-76236955d466 // indirect
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
- github.com/golang/protobuf v1.5.3 // indirect
github.com/google/btree v1.1.2 // indirect
github.com/google/go-cmp v0.5.9 // indirect
github.com/google/nftables v0.1.1-0.20230115205135-9aa6fdf5a28c // indirect
@@ -136,7 +136,7 @@ require (
github.com/mailru/easyjson v0.7.7 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect
github.com/mattn/go-isatty v0.0.19 // indirect
- github.com/mattn/go-runewidth v0.0.14 // indirect
+ github.com/mattn/go-runewidth v0.0.15 // indirect
github.com/mdlayher/genetlink v1.3.2 // indirect
github.com/mdlayher/netlink v1.7.2 // indirect
github.com/mdlayher/sdnotify v1.0.0 // indirect
diff --git a/go.sum b/go.sum
index 77cccae63e..81a2821ddb 100644
--- a/go.sum
+++ b/go.sum
@@ -230,8 +230,8 @@ github.com/jackc/pgx/v5 v5.3.1 h1:Fcr8QJ1ZeLi5zsPZqQeUZhNhxfkkKBOgJuYkJHoBOtU=
github.com/jackc/pgx/v5 v5.3.1/go.mod h1:t3JDKnCBlYIc0ewLF0Q7B8MXmoIaBOZj/ic7iHozM/8=
github.com/jcmturner/gofork v1.0.0 h1:J7uCkflzTEhUZ64xqKnkDxq3kzc96ajM1Gli5ktUem8=
github.com/jcmturner/gofork v1.0.0/go.mod h1:MK8+TM0La+2rjBD4jE12Kj1pCCxK7d2LK/UM3ncEo0o=
-github.com/jedib0t/go-pretty/v6 v6.4.6 h1:v6aG9h6Uby3IusSSEjHaZNXpHFhzqMmjXcPq1Rjl9Jw=
-github.com/jedib0t/go-pretty/v6 v6.4.6/go.mod h1:Ndk3ase2CkQbXLLNf5QDHoYb6J9WtVfmHZu9n8rk2xs=
+github.com/jedib0t/go-pretty/v6 v6.5.4 h1:gOGo0613MoqUcf0xCj+h/V3sHDaZasfv152G6/5l91s=
+github.com/jedib0t/go-pretty/v6 v6.5.4/go.mod h1:5LQIxa52oJ/DlDSLv0HEkWOFMDGoWkJb9ss5KqPpJBg=
github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E=
github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc=
github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ=
@@ -295,9 +295,8 @@ github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Ky
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA=
github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
-github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
-github.com/mattn/go-runewidth v0.0.14 h1:+xnbZSEeDbOIg5/mE6JF0w6n9duR1l3/WmbinWVwUuU=
-github.com/mattn/go-runewidth v0.0.14/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
+github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U=
+github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
github.com/mattn/go-sqlite3 v1.14.18 h1:JL0eqdCOq6DJVNPSvArO/bIV9/P7fbGrV00LZHc+5aI=
github.com/mattn/go-sqlite3 v1.14.18/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg=
github.com/mdlayher/genetlink v1.2.0/go.mod h1:ra5LDov2KrUCZJiAtEvXXZBxGMInICMXIwshlJ+qRxQ=
@@ -342,7 +341,6 @@ github.com/pierrec/lz4/v4 v4.1.18/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFu
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
-github.com/pkg/profile v1.6.0/go.mod h1:qBsxPvzyUincmltOk6iyRVxHYg4adc0OFOv72ZdLa18=
github.com/pkg/sftp v1.13.6 h1:JFZT4XbOU7l77xGSpOdW+pwIMqP044IyjXX6FGyEKFo=
github.com/pkg/sftp v1.13.6/go.mod h1:tz1ryNURKu77RL+GuCzmoJYxQczL3wLNNpPWagdg4Qk=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
@@ -352,8 +350,6 @@ github.com/reeflective/carapace v0.25.2-0.20230602202234-e8d757e458ca h1:tD797h1
github.com/reeflective/carapace v0.25.2-0.20230602202234-e8d757e458ca/go.mod h1:jkLt41Ne2TD2xPuMdX/2O05Smhy8vMgG7O2TYvC0yOc=
github.com/reeflective/console v0.1.6 h1:BhhvQU/m8QOpaIRzrXfwcbtkGQJX9jVR5qIqAy/Mcuw=
github.com/reeflective/console v0.1.6/go.mod h1:7owTBE9k2lg2QpVw7g4DrK1HxEgr/5DQCmA3O2Znoek=
-github.com/reeflective/readline v1.0.11 h1:4+aiebj7a89hTRJOMM98H+md1Kxu+v1XkfdCs0n6odQ=
-github.com/reeflective/readline v1.0.11/go.mod h1:mcD0HxNVJVteVwDm9caXKg52nQACVyfh8EyuBmgVlzY=
github.com/reeflective/readline v1.0.13 h1:TeJmYw9B7VRPZWfNExr9QHxL1m0iSicyqBSQIRn39Ss=
github.com/reeflective/readline v1.0.13/go.mod h1:3iOe/qyb2jEy0KqLrNlb/CojBVqxga9ACqz/VU22H6A=
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE=
@@ -377,15 +373,12 @@ github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
-github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/testify v1.2.1/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
-github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
-github.com/stretchr/testify v1.7.4/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/tailscale/certstore v0.1.1-0.20231020161753-77811a65f4ff h1:vnxdYZUJbsSRcIcduDW3DcQqfqaiv4FUgy25q8X+vfI=
@@ -529,12 +522,12 @@ golang.org/x/sys v0.0.0-20220817070843-5a390386f1f2/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.4.1-0.20230131160137-e7d7f63158de/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc=
-golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU=
+golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
-golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4=
-golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0=
+golang.org/x/term v0.16.0 h1:m+B6fahuftsE9qjo0VWp2FW0mB3MTJvR0BaMQrq0pmE=
+golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
diff --git a/vendor/github.com/jedib0t/go-pretty/v6/table/README.md b/vendor/github.com/jedib0t/go-pretty/v6/table/README.md
index 406532a7da..956b652187 100644
--- a/vendor/github.com/jedib0t/go-pretty/v6/table/README.md
+++ b/vendor/github.com/jedib0t/go-pretty/v6/table/README.md
@@ -21,6 +21,7 @@ Pretty-print tables into ASCII/Unicode strings.
- Mirror output to an `io.Writer` (ex. `os.StdOut`) (`SetOutputMirror`)
- Sort by one or more Columns (`SortBy`)
- Suppress/hide columns with no content (`SuppressEmptyColumns`)
+ - Suppress trailing spaces in the last column (`SupressTrailingSpaces`)
- Customizable Cell rendering per Column (`ColumnConfig.Transformer*`)
- Hide any columns that you don't want displayed (`ColumnConfig.Hidden`)
- Reset Headers/Rows/Footers at will to reuse the same Table Writer (`Reset*`)
@@ -205,7 +206,7 @@ it specifically for each row/column using `RowConfig` or `ColumnConfig`.
t := table.NewWriter()
t.AppendHeader(table.Row{"Node IP", "Pods", "Namespace", "Container", "RCE", "RCE"}, rowConfigAutoMerge)
- t.AppendHeader(table.Row{"", "", "", "", "EXE", "RUN"})
+ t.AppendHeader(table.Row{"Node IP", "Pods", "Namespace", "Container", "EXE", "RUN"})
t.AppendRow(table.Row{"1.1.1.1", "Pod 1A", "NS 1A", "C 1", "Y", "Y"}, rowConfigAutoMerge)
t.AppendRow(table.Row{"1.1.1.1", "Pod 1A", "NS 1A", "C 2", "Y", "N"}, rowConfigAutoMerge)
t.AppendRow(table.Row{"1.1.1.1", "Pod 1A", "NS 1B", "C 3", "N", "N"}, rowConfigAutoMerge)
@@ -223,7 +224,6 @@ it specifically for each row/column using `RowConfig` or `ColumnConfig`.
{Number: 5, Align: text.AlignCenter, AlignFooter: text.AlignCenter, AlignHeader: text.AlignCenter},
{Number: 6, Align: text.AlignCenter, AlignFooter: text.AlignCenter, AlignHeader: text.AlignCenter},
})
- t.SetOutputMirror(os.Stdout)
t.SetStyle(table.StyleLight)
t.Style().Options.SeparateRows = true
fmt.Println(t.Render())
diff --git a/vendor/github.com/jedib0t/go-pretty/v6/table/config.go b/vendor/github.com/jedib0t/go-pretty/v6/table/config.go
index 23d54f31a5..fb96d70864 100644
--- a/vendor/github.com/jedib0t/go-pretty/v6/table/config.go
+++ b/vendor/github.com/jedib0t/go-pretty/v6/table/config.go
@@ -71,7 +71,7 @@ type ColumnConfig struct {
}
func (c ColumnConfig) getWidthMaxEnforcer() WidthEnforcer {
- if c.WidthMax == 0 {
+ if c.WidthMax <= 0 {
return widthEnforcerNone
}
if c.WidthMaxEnforcer != nil {
diff --git a/vendor/github.com/jedib0t/go-pretty/v6/table/render.go b/vendor/github.com/jedib0t/go-pretty/v6/table/render.go
index ca4bc9908c..2e93da5c08 100644
--- a/vendor/github.com/jedib0t/go-pretty/v6/table/render.go
+++ b/vendor/github.com/jedib0t/go-pretty/v6/table/render.go
@@ -9,15 +9,16 @@ import (
)
// Render renders the Table in a human-readable "pretty" format. Example:
-// ┌─────┬────────────┬───────────┬────────┬─────────────────────────────┐
-// │ # │ FIRST NAME │ LAST NAME │ SALARY │ │
-// ├─────┼────────────┼───────────┼────────┼─────────────────────────────┤
-// │ 1 │ Arya │ Stark │ 3000 │ │
-// │ 20 │ Jon │ Snow │ 2000 │ You know nothing, Jon Snow! │
-// │ 300 │ Tyrion │ Lannister │ 5000 │ │
-// ├─────┼────────────┼───────────┼────────┼─────────────────────────────┤
-// │ │ │ TOTAL │ 10000 │ │
-// └─────┴────────────┴───────────┴────────┴─────────────────────────────┘
+//
+// ┌─────┬────────────┬───────────┬────────┬─────────────────────────────┐
+// │ # │ FIRST NAME │ LAST NAME │ SALARY │ │
+// ├─────┼────────────┼───────────┼────────┼─────────────────────────────┤
+// │ 1 │ Arya │ Stark │ 3000 │ │
+// │ 20 │ Jon │ Snow │ 2000 │ You know nothing, Jon Snow! │
+// │ 300 │ Tyrion │ Lannister │ 5000 │ │
+// ├─────┼────────────┼───────────┼────────┼─────────────────────────────┤
+// │ │ │ TOTAL │ 10000 │ │
+// └─────┴────────────┴───────────┴────────┴─────────────────────────────┘
func (t *Table) Render() string {
t.initForRender()
diff --git a/vendor/github.com/jedib0t/go-pretty/v6/table/render_csv.go b/vendor/github.com/jedib0t/go-pretty/v6/table/render_csv.go
index 07da673e88..831194ef33 100644
--- a/vendor/github.com/jedib0t/go-pretty/v6/table/render_csv.go
+++ b/vendor/github.com/jedib0t/go-pretty/v6/table/render_csv.go
@@ -7,11 +7,12 @@ import (
)
// RenderCSV renders the Table in CSV format. Example:
-// #,First Name,Last Name,Salary,
-// 1,Arya,Stark,3000,
-// 20,Jon,Snow,2000,"You know nothing\, Jon Snow!"
-// 300,Tyrion,Lannister,5000,
-// ,,Total,10000,
+//
+// #,First Name,Last Name,Salary,
+// 1,Arya,Stark,3000,
+// 20,Jon,Snow,2000,"You know nothing\, Jon Snow!"
+// 300,Tyrion,Lannister,5000,
+// ,,Total,10000,
func (t *Table) RenderCSV() string {
t.initForRender()
diff --git a/vendor/github.com/jedib0t/go-pretty/v6/table/render_html.go b/vendor/github.com/jedib0t/go-pretty/v6/table/render_html.go
index 10a7325270..fcea86bc99 100644
--- a/vendor/github.com/jedib0t/go-pretty/v6/table/render_html.go
+++ b/vendor/github.com/jedib0t/go-pretty/v6/table/render_html.go
@@ -13,49 +13,50 @@ const (
)
// RenderHTML renders the Table in HTML format. Example:
-//
-//
-//
-// # |
-// First Name |
-// Last Name |
-// Salary |
-// |
-//
-//
-//
-//
-// 1 |
-// Arya |
-// Stark |
-// 3000 |
-// |
-//
-//
-// 20 |
-// Jon |
-// Snow |
-// 2000 |
-// You know nothing, Jon Snow! |
-//
-//
-// 300 |
-// Tyrion |
-// Lannister |
-// 5000 |
-// |
-//
-//
-//
-//
-// |
-// |
-// Total |
-// 10000 |
-// |
-//
-//
-//
+//
+//
+//
+//
+// # |
+// First Name |
+// Last Name |
+// Salary |
+// |
+//
+//
+//
+//
+// 1 |
+// Arya |
+// Stark |
+// 3000 |
+// |
+//
+//
+// 20 |
+// Jon |
+// Snow |
+// 2000 |
+// You know nothing, Jon Snow! |
+//
+//
+// 300 |
+// Tyrion |
+// Lannister |
+// 5000 |
+// |
+//
+//
+//
+//
+// |
+// |
+// Total |
+// 10000 |
+// |
+//
+//
+//
func (t *Table) RenderHTML() string {
t.initForRender()
@@ -112,7 +113,7 @@ func (t *Table) htmlRenderColumn(out *strings.Builder, colStr string) {
out.WriteString(colStr)
}
-func (t *Table) htmlRenderColumnAttributes(out *strings.Builder, row rowStr, colIdx int, hint renderHint) {
+func (t *Table) htmlRenderColumnAttributes(out *strings.Builder, colIdx int, hint renderHint) {
// determine the HTML "align"/"valign" property values
align := t.getAlign(colIdx, hint).HTMLProperty()
vAlign := t.getVAlign(colIdx, hint).HTMLProperty()
@@ -161,7 +162,7 @@ func (t *Table) htmlRenderRow(out *strings.Builder, row rowStr, hint renderHint)
// write the row
out.WriteString(" <")
out.WriteString(colTagName)
- t.htmlRenderColumnAttributes(out, row, colIdx, hint)
+ t.htmlRenderColumnAttributes(out, colIdx, hint)
out.WriteString(">")
if len(colStr) == 0 {
out.WriteString(t.style.HTML.EmptyColumn)
diff --git a/vendor/github.com/jedib0t/go-pretty/v6/table/render_init.go b/vendor/github.com/jedib0t/go-pretty/v6/table/render_init.go
index c6fd97c9a1..4aa0eea4d4 100644
--- a/vendor/github.com/jedib0t/go-pretty/v6/table/render_init.go
+++ b/vendor/github.com/jedib0t/go-pretty/v6/table/render_init.go
@@ -43,12 +43,8 @@ func (t *Table) analyzeAndStringifyColumn(colIdx int, col interface{}, hint rend
} else {
colStr = fmt.Sprint(col)
}
- if strings.Contains(colStr, "\t") {
- colStr = strings.Replace(colStr, "\t", " ", -1)
- }
- if strings.Contains(colStr, "\r") {
- colStr = strings.Replace(colStr, "\r", "", -1)
- }
+ colStr = strings.ReplaceAll(colStr, "\t", " ")
+ colStr = text.ProcessCRLF(colStr)
return fmt.Sprintf("%s%s", t.style.Format.Direction.Modifier(), colStr)
}
diff --git a/vendor/github.com/jedib0t/go-pretty/v6/table/render_markdown.go b/vendor/github.com/jedib0t/go-pretty/v6/table/render_markdown.go
index 127adcdec3..adf573fc91 100644
--- a/vendor/github.com/jedib0t/go-pretty/v6/table/render_markdown.go
+++ b/vendor/github.com/jedib0t/go-pretty/v6/table/render_markdown.go
@@ -6,12 +6,13 @@ import (
)
// RenderMarkdown renders the Table in Markdown format. Example:
-// | # | First Name | Last Name | Salary | |
-// | ---:| --- | --- | ---:| --- |
-// | 1 | Arya | Stark | 3000 | |
-// | 20 | Jon | Snow | 2000 | You know nothing, Jon Snow! |
-// | 300 | Tyrion | Lannister | 5000 | |
-// | | | Total | 10000 | |
+//
+// | # | First Name | Last Name | Salary | |
+// | ---:| --- | --- | ---:| --- |
+// | 1 | Arya | Stark | 3000 | |
+// | 20 | Jon | Snow | 2000 | You know nothing, Jon Snow! |
+// | 300 | Tyrion | Lannister | 5000 | |
+// | | | Total | 10000 | |
func (t *Table) RenderMarkdown() string {
t.initForRender()
@@ -54,12 +55,8 @@ func (t *Table) markdownRenderRow(out *strings.Builder, row rowStr, hint renderH
colStr = row[colIdx]
}
out.WriteRune(' ')
- if strings.Contains(colStr, "|") {
- colStr = strings.Replace(colStr, "|", "\\|", -1)
- }
- if strings.Contains(colStr, "\n") {
- colStr = strings.Replace(colStr, "\n", "
", -1)
- }
+ colStr = strings.ReplaceAll(colStr, "|", "\\|")
+ colStr = strings.ReplaceAll(colStr, "\n", "
")
out.WriteString(colStr)
out.WriteRune(' ')
}
@@ -94,7 +91,6 @@ func (t *Table) markdownRenderRows(out *strings.Builder, rows []rowStr, hint ren
func (t *Table) markdownRenderRowsFooter(out *strings.Builder) {
t.markdownRenderRows(out, t.rowsFooter, renderHint{isFooterRow: true})
-
}
func (t *Table) markdownRenderRowsHeader(out *strings.Builder) {
diff --git a/vendor/github.com/jedib0t/go-pretty/v6/table/render_tsv.go b/vendor/github.com/jedib0t/go-pretty/v6/table/render_tsv.go
new file mode 100644
index 0000000000..bb7397506f
--- /dev/null
+++ b/vendor/github.com/jedib0t/go-pretty/v6/table/render_tsv.go
@@ -0,0 +1,73 @@
+package table
+
+import (
+ "fmt"
+ "strings"
+)
+
+func (t *Table) RenderTSV() string {
+ t.initForRender()
+
+ var out strings.Builder
+
+ if t.numColumns > 0 {
+ if t.title != "" {
+ out.WriteString(t.title)
+ }
+
+ if t.autoIndex && len(t.rowsHeader) == 0 {
+ t.tsvRenderRow(&out, t.getAutoIndexColumnIDs(), renderHint{isAutoIndexRow: true, isHeaderRow: true})
+ }
+
+ t.tsvRenderRows(&out, t.rowsHeader, renderHint{isHeaderRow: true})
+ t.tsvRenderRows(&out, t.rows, renderHint{})
+ t.tsvRenderRows(&out, t.rowsFooter, renderHint{isFooterRow: true})
+
+ if t.caption != "" {
+ out.WriteRune('\n')
+ out.WriteString(t.caption)
+ }
+ }
+
+ return t.render(&out)
+}
+
+func (t *Table) tsvRenderRow(out *strings.Builder, row rowStr, hint renderHint) {
+ if out.Len() > 0 {
+ out.WriteRune('\n')
+ }
+
+ for idx, col := range row {
+ if idx == 0 && t.autoIndex {
+ if hint.isRegularRow() {
+ out.WriteString(fmt.Sprint(hint.rowNumber))
+ }
+ out.WriteRune('\t')
+ }
+
+ if idx > 0 {
+ out.WriteRune('\t')
+ }
+
+ if strings.ContainsAny(col, "\t\n\"") || strings.Contains(col, " ") {
+ out.WriteString(fmt.Sprintf("\"%s\"", t.tsvFixDoubleQuotes(col)))
+ } else {
+ out.WriteString(col)
+ }
+ }
+
+ for colIdx := len(row); colIdx < t.numColumns; colIdx++ {
+ out.WriteRune('\t')
+ }
+}
+
+func (t *Table) tsvFixDoubleQuotes(str string) string {
+ return strings.Replace(str, "\"", "\"\"", -1)
+}
+
+func (t *Table) tsvRenderRows(out *strings.Builder, rows []rowStr, hint renderHint) {
+ for idx, row := range rows {
+ hint.rowNumber = idx + 1
+ t.tsvRenderRow(out, row, hint)
+ }
+}
diff --git a/vendor/github.com/jedib0t/go-pretty/v6/table/style.go b/vendor/github.com/jedib0t/go-pretty/v6/table/style.go
index ee87ef83ba..cb850e88b4 100644
--- a/vendor/github.com/jedib0t/go-pretty/v6/table/style.go
+++ b/vendor/github.com/jedib0t/go-pretty/v6/table/style.go
@@ -675,14 +675,12 @@ type FormatOptions struct {
Row text.Format // (data) row(s) text format
}
-var (
- // FormatOptionsDefault defines sensible formatting options.
- FormatOptionsDefault = FormatOptions{
- Footer: text.FormatUpper,
- Header: text.FormatUpper,
- Row: text.FormatDefault,
- }
-)
+// FormatOptionsDefault defines sensible formatting options.
+var FormatOptionsDefault = FormatOptions{
+ Footer: text.FormatUpper,
+ Header: text.FormatUpper,
+ Row: text.FormatDefault,
+}
// HTMLOptions defines the global options to control HTML rendering.
type HTMLOptions struct {
@@ -692,15 +690,13 @@ type HTMLOptions struct {
Newline string // string to replace "\n" characters with
}
-var (
- // DefaultHTMLOptions defines sensible HTML rendering defaults.
- DefaultHTMLOptions = HTMLOptions{
- CSSClass: DefaultHTMLCSSClass,
- EmptyColumn: " ",
- EscapeText: true,
- Newline: "
",
- }
-)
+// DefaultHTMLOptions defines sensible HTML rendering defaults.
+var DefaultHTMLOptions = HTMLOptions{
+ CSSClass: DefaultHTMLCSSClass,
+ EmptyColumn: " ",
+ EscapeText: true,
+ Newline: "
",
+}
// Options defines the global options that determine how the Table is
// rendered.
diff --git a/vendor/github.com/jedib0t/go-pretty/v6/table/table.go b/vendor/github.com/jedib0t/go-pretty/v6/table/table.go
index 684974c188..94127b039f 100644
--- a/vendor/github.com/jedib0t/go-pretty/v6/table/table.go
+++ b/vendor/github.com/jedib0t/go-pretty/v6/table/table.go
@@ -4,6 +4,7 @@ import (
"fmt"
"io"
"strings"
+ "unicode"
"github.com/jedib0t/go-pretty/v6/text"
)
@@ -32,13 +33,13 @@ func (row rowStr) areEqual(colIdx1 int, colIdx2 int) bool {
return colIdx1 >= 0 && colIdx2 < len(row) && row[colIdx1] == row[colIdx2]
}
-// Table helps print a 2-dimensional array in a human readable pretty-table.
+// Table helps print a 2-dimensional array in a human-readable pretty-table.
type Table struct {
// allowedRowLength is the max allowed length for a row (or line of output)
allowedRowLength int
// enable automatic indexing of the rows and columns like a spreadsheet?
autoIndex bool
- // autoIndexVIndexMaxLength denotes the length in chars for the last rownum
+ // autoIndexVIndexMaxLength denotes the length in chars for the last row
autoIndexVIndexMaxLength int
// caption stores the text to be rendered just below the table; and doesn't
// get used when rendered as a CSV
@@ -106,6 +107,8 @@ type Table struct {
// suppressEmptyColumns hides columns which have no content on all regular
// rows
suppressEmptyColumns bool
+ // supressTrailingSpaces removes all trailing spaces from the end of the last column
+ supressTrailingSpaces bool
// title contains the text to appear above the table
title string
}
@@ -164,14 +167,15 @@ func (t *Table) AppendRows(rows []Row, config ...RowConfig) {
// append is a separator, it will not be rendered in addition to the usual table
// separator.
//
-//******************************************************************************
+// ******************************************************************************
// Please note the following caveats:
-// 1. SetPageSize(): this may end up creating consecutive separator rows near
-// the end of a page or at the beginning of a page
-// 2. SortBy(): since SortBy could inherently alter the ordering of rows, the
-// separators may not appear after the row it was originally intended to
-// follow
-//******************************************************************************
+// 1. SetPageSize(): this may end up creating consecutive separator rows near
+// the end of a page or at the beginning of a page
+// 2. SortBy(): since SortBy could inherently alter the ordering of rows, the
+// separators may not appear after the row it was originally intended to
+// follow
+//
+// ******************************************************************************
func (t *Table) AppendSeparator() {
if t.separators == nil {
t.separators = make(map[int]bool)
@@ -228,7 +232,7 @@ func (t *Table) SetColumnConfigs(configs []ColumnConfig) {
t.columnConfigs = configs
}
-// SetHTMLCSSClass sets the the HTML CSS Class to use on the node
+// SetHTMLCSSClass sets the HTML CSS Class to use on the node
// when rendering the Table in HTML format.
//
// Deprecated: in favor of Style().HTML.CSSClass
@@ -296,6 +300,11 @@ func (t *Table) SuppressEmptyColumns() {
t.suppressEmptyColumns = true
}
+// SuppressTrailingSpaces removes all trailing spaces from the output.
+func (t *Table) SuppressTrailingSpaces() {
+ t.supressTrailingSpaces = true
+}
+
func (t *Table) getAlign(colIdx int, hint renderHint) text.Align {
align := text.AlignDefault
if cfg, ok := t.columnConfigMap[colIdx]; ok {
@@ -388,7 +397,7 @@ func (t *Table) getBorderRight(hint renderHint) string {
func (t *Table) getColumnColors(colIdx int, hint renderHint) text.Colors {
if hint.isBorderOrSeparator() {
- if colors := t.getColumnColorsForBorderOrSeparator(colIdx, hint); colors != nil {
+ if colors := t.getColumnColorsForBorderOrSeparator(hint); colors != nil {
return colors
}
}
@@ -410,7 +419,7 @@ func (t *Table) getColumnColors(colIdx int, hint renderHint) text.Colors {
return nil
}
-func (t *Table) getColumnColorsForBorderOrSeparator(colIdx int, hint renderHint) text.Colors {
+func (t *Table) getColumnColorsForBorderOrSeparator(hint renderHint) text.Colors {
if t.style.Options.DoNotColorBordersAndSeparators {
return text.Colors{} // not nil to force caller to paint with no colors
}
@@ -439,12 +448,9 @@ func (t *Table) getColumnSeparator(row rowStr, colIdx int, hint renderHint) stri
separator = t.style.Box.BottomSeparator
}
} else {
- separator = t.getColumnSeparatorNonBorder(
- t.shouldMergeCellsHorizontallyAbove(row, colIdx, hint),
- t.shouldMergeCellsHorizontallyBelow(row, colIdx, hint),
- colIdx,
- hint,
- )
+ sm1 := t.shouldMergeCellsHorizontallyAbove(row, colIdx, hint)
+ sm2 := t.shouldMergeCellsHorizontallyBelow(row, colIdx, hint)
+ separator = t.getColumnSeparatorNonBorder(sm1, sm2, colIdx, hint)
}
}
return separator
@@ -681,6 +687,13 @@ func (t *Table) isIndexColumn(colIdx int, hint renderHint) bool {
func (t *Table) render(out *strings.Builder) string {
outStr := out.String()
+ if t.supressTrailingSpaces {
+ var trimmed []string
+ for _, line := range strings.Split(outStr, "\n") {
+ trimmed = append(trimmed, strings.TrimRightFunc(line, unicode.IsSpace))
+ }
+ outStr = strings.Join(trimmed, "\n")
+ }
if t.outputMirror != nil && len(outStr) > 0 {
_, _ = t.outputMirror.Write([]byte(outStr))
_, _ = t.outputMirror.Write([]byte("\n"))
@@ -721,7 +734,10 @@ func (t *Table) shouldMergeCellsHorizontallyBelow(row rowStr, colIdx int, hint r
var rowConfig RowConfig
if hint.isSeparatorRow {
- if hint.isHeaderRow && hint.rowNumber == 0 {
+ if hint.isRegularRow() {
+ rowConfig = t.getRowConfig(renderHint{rowNumber: hint.rowNumber + 1})
+ row = t.getRow(hint.rowNumber, renderHint{})
+ } else if hint.isHeaderRow && hint.rowNumber == 0 {
rowConfig = t.getRowConfig(renderHint{isHeaderRow: true, rowNumber: 1})
row = t.getRow(0, hint)
} else if hint.isHeaderRow && hint.isLastRow {
@@ -733,9 +749,6 @@ func (t *Table) shouldMergeCellsHorizontallyBelow(row rowStr, colIdx int, hint r
} else if hint.isFooterRow && hint.rowNumber >= 0 {
rowConfig = t.getRowConfig(renderHint{isFooterRow: true, rowNumber: 1})
row = t.getRow(hint.rowNumber, renderHint{isFooterRow: true})
- } else if hint.isRegularRow() {
- rowConfig = t.getRowConfig(renderHint{rowNumber: hint.rowNumber + 1})
- row = t.getRow(hint.rowNumber, renderHint{})
}
}
@@ -751,13 +764,13 @@ func (t *Table) shouldMergeCellsVertically(colIdx int, hint renderHint) bool {
rowPrev := t.getRow(hint.rowNumber-1, hint)
rowNext := t.getRow(hint.rowNumber, hint)
if colIdx < len(rowPrev) && colIdx < len(rowNext) {
- return rowPrev[colIdx] == rowNext[colIdx] || "" == rowNext[colIdx]
+ return rowPrev[colIdx] == rowNext[colIdx]
}
} else {
rowPrev := t.getRow(hint.rowNumber-2, hint)
rowCurr := t.getRow(hint.rowNumber-1, hint)
if colIdx < len(rowPrev) && colIdx < len(rowCurr) {
- return rowPrev[colIdx] == rowCurr[colIdx] || "" == rowCurr[colIdx]
+ return rowPrev[colIdx] == rowCurr[colIdx]
}
}
}
diff --git a/vendor/github.com/jedib0t/go-pretty/v6/table/util.go b/vendor/github.com/jedib0t/go-pretty/v6/table/util.go
index e6d2ed7124..aa710125eb 100644
--- a/vendor/github.com/jedib0t/go-pretty/v6/table/util.go
+++ b/vendor/github.com/jedib0t/go-pretty/v6/table/util.go
@@ -21,7 +21,7 @@ func AutoIndexColumnID(colIdx int) string {
type WidthEnforcer func(col string, maxLen int) string
// widthEnforcerNone returns the input string as is without any modifications.
-func widthEnforcerNone(col string, maxLen int) string {
+func widthEnforcerNone(col string, _ int) string {
return col
}
diff --git a/vendor/github.com/jedib0t/go-pretty/v6/table/writer.go b/vendor/github.com/jedib0t/go-pretty/v6/table/writer.go
index c70ba33637..f993d86751 100644
--- a/vendor/github.com/jedib0t/go-pretty/v6/table/writer.go
+++ b/vendor/github.com/jedib0t/go-pretty/v6/table/writer.go
@@ -4,7 +4,7 @@ import (
"io"
)
-// Writer declares the interfaces that can be used to setup and render a table.
+// Writer declares the interfaces that can be used to set up and render a table.
type Writer interface {
AppendFooter(row Row, configs ...RowConfig)
AppendHeader(row Row, configs ...RowConfig)
@@ -16,6 +16,7 @@ type Writer interface {
RenderCSV() string
RenderHTML() string
RenderMarkdown() string
+ RenderTSV() string
ResetFooters()
ResetHeaders()
ResetRows()
@@ -32,6 +33,7 @@ type Writer interface {
SortBy(sortBy []SortBy)
Style() *Style
SuppressEmptyColumns()
+ SuppressTrailingSpaces()
// deprecated; in favor of Style().HTML.CSSClass
SetHTMLCSSClass(cssClass string)
diff --git a/vendor/github.com/jedib0t/go-pretty/v6/text/align.go b/vendor/github.com/jedib0t/go-pretty/v6/text/align.go
index ade9dedc16..7a6d92c4f7 100644
--- a/vendor/github.com/jedib0t/go-pretty/v6/text/align.go
+++ b/vendor/github.com/jedib0t/go-pretty/v6/text/align.go
@@ -20,11 +20,11 @@ const (
)
// Apply aligns the text as directed. For ex.:
-// * AlignDefault.Apply("Jon Snow", 12) returns "Jon Snow "
-// * AlignLeft.Apply("Jon Snow", 12) returns "Jon Snow "
-// * AlignCenter.Apply("Jon Snow", 12) returns " Jon Snow "
-// * AlignJustify.Apply("Jon Snow", 12) returns "Jon Snow"
-// * AlignRight.Apply("Jon Snow", 12) returns " Jon Snow"
+// - AlignDefault.Apply("Jon Snow", 12) returns "Jon Snow "
+// - AlignLeft.Apply("Jon Snow", 12) returns "Jon Snow "
+// - AlignCenter.Apply("Jon Snow", 12) returns " Jon Snow "
+// - AlignJustify.Apply("Jon Snow", 12) returns "Jon Snow"
+// - AlignRight.Apply("Jon Snow", 12) returns " Jon Snow"
func (a Align) Apply(text string, maxLength int) string {
text = a.trimString(text)
sLen := utf8.RuneCountInString(text)
@@ -39,7 +39,7 @@ func (a Align) Apply(text string, maxLength int) string {
if sLenWoE < maxLength {
// left pad with half the number of spaces needed before using %text
return fmt.Sprintf("%"+strconv.Itoa(maxLength+numEscChars)+"s",
- text+strings.Repeat(" ", int((maxLength-sLenWoE)/2)))
+ text+strings.Repeat(" ", (maxLength-sLenWoE)/2))
}
case AlignJustify:
return a.justifyText(text, sLenWoE, maxLength)
diff --git a/vendor/github.com/jedib0t/go-pretty/v6/text/ansi.go b/vendor/github.com/jedib0t/go-pretty/v6/text/ansi.go
index aaf5b30594..6a396b1e6e 100644
--- a/vendor/github.com/jedib0t/go-pretty/v6/text/ansi.go
+++ b/vendor/github.com/jedib0t/go-pretty/v6/text/ansi.go
@@ -8,7 +8,8 @@ var ANSICodesSupported = areANSICodesSupported()
// Escape encodes the string with the ANSI Escape Sequence.
// For ex.:
-// Escape("Ghost", "") == "Ghost"
+//
+// Escape("Ghost", "") == "Ghost"
// Escape("Ghost", "\x1b[91m") == "\x1b[91mGhost\x1b[0m"
// Escape("\x1b[94mGhost\x1b[0mLady", "\x1b[91m") == "\x1b[94mGhost\x1b[0m\x1b[91mLady\x1b[0m"
// Escape("Nymeria\x1b[94mGhost\x1b[0mLady", "\x1b[91m") == "\x1b[91mNymeria\x1b[94mGhost\x1b[0m\x1b[91mLady\x1b[0m"
@@ -30,7 +31,8 @@ func Escape(str string, escapeSeq string) string {
// StripEscape strips all ANSI Escape Sequence from the string.
// For ex.:
-// StripEscape("Ghost") == "Ghost"
+//
+// StripEscape("Ghost") == "Ghost"
// StripEscape("\x1b[91mGhost\x1b[0m") == "Ghost"
// StripEscape("\x1b[94mGhost\x1b[0m\x1b[91mLady\x1b[0m") == "GhostLady"
// StripEscape("\x1b[91mNymeria\x1b[94mGhost\x1b[0m\x1b[91mLady\x1b[0m") == "NymeriaGhostLady"
diff --git a/vendor/github.com/jedib0t/go-pretty/v6/text/ansi_windows.go b/vendor/github.com/jedib0t/go-pretty/v6/text/ansi_windows.go
index d2a3288174..4f8b42f068 100644
--- a/vendor/github.com/jedib0t/go-pretty/v6/text/ansi_windows.go
+++ b/vendor/github.com/jedib0t/go-pretty/v6/text/ansi_windows.go
@@ -10,9 +10,7 @@ import (
"golang.org/x/sys/windows"
)
-var (
- enableVTPMutex = sync.Mutex{}
-)
+var enableVTPMutex = sync.Mutex{}
func areANSICodesSupported() bool {
enableVTPMutex.Lock()
diff --git a/vendor/github.com/jedib0t/go-pretty/v6/text/color.go b/vendor/github.com/jedib0t/go-pretty/v6/text/color.go
index f5b7bdd397..f42dfb385d 100644
--- a/vendor/github.com/jedib0t/go-pretty/v6/text/color.go
+++ b/vendor/github.com/jedib0t/go-pretty/v6/text/color.go
@@ -8,9 +8,7 @@ import (
"sync"
)
-var (
- colorsEnabled = areANSICodesSupported()
-)
+var colorsEnabled = areANSICodesSupported()
// DisableColors (forcefully) disables color coding globally.
func DisableColors() {
@@ -23,7 +21,7 @@ func EnableColors() {
}
// The logic here is inspired from github.com/fatih/color; the following is
-// the the bare minimum logic required to print Colored to the console.
+// the bare minimum logic required to print Colored to the console.
// The differences:
// * This one caches the escape sequences for cases with multiple colors
// * This one handles cases where the incoming already has colors in the
@@ -123,10 +121,8 @@ func (c Color) Sprintf(format string, a ...interface{}) string {
// Example: Colors{FgCyan, BgBlack}
type Colors []Color
-var (
- // colorsSeqMap caches the escape sequence for a set of colors
- colorsSeqMap = sync.Map{}
-)
+// colorsSeqMap caches the escape sequence for a set of colors
+var colorsSeqMap = sync.Map{}
// EscapeSeq returns the ANSI escape sequence for the colors set.
func (c Colors) EscapeSeq() string {
diff --git a/vendor/github.com/jedib0t/go-pretty/v6/text/color_html.go b/vendor/github.com/jedib0t/go-pretty/v6/text/color_html.go
index 3e5c55be6d..14fa17432e 100644
--- a/vendor/github.com/jedib0t/go-pretty/v6/text/color_html.go
+++ b/vendor/github.com/jedib0t/go-pretty/v6/text/color_html.go
@@ -1,48 +1,46 @@
package text
-var (
- // colorCSSClassMap contains the equivalent CSS-class for all colors
- colorCSSClassMap = map[Color]string{
- Bold: "bold",
- Faint: "faint",
- Italic: "italic",
- Underline: "underline",
- BlinkSlow: "blink-slow",
- BlinkRapid: "blink-rapid",
- ReverseVideo: "reverse-video",
- Concealed: "concealed",
- CrossedOut: "crossed-out",
- FgBlack: "fg-black",
- FgRed: "fg-red",
- FgGreen: "fg-green",
- FgYellow: "fg-yellow",
- FgBlue: "fg-blue",
- FgMagenta: "fg-magenta",
- FgCyan: "fg-cyan",
- FgWhite: "fg-white",
- FgHiBlack: "fg-hi-black",
- FgHiRed: "fg-hi-red",
- FgHiGreen: "fg-hi-green",
- FgHiYellow: "fg-hi-yellow",
- FgHiBlue: "fg-hi-blue",
- FgHiMagenta: "fg-hi-magenta",
- FgHiCyan: "fg-hi-cyan",
- FgHiWhite: "fg-hi-white",
- BgBlack: "bg-black",
- BgRed: "bg-red",
- BgGreen: "bg-green",
- BgYellow: "bg-yellow",
- BgBlue: "bg-blue",
- BgMagenta: "bg-magenta",
- BgCyan: "bg-cyan",
- BgWhite: "bg-white",
- BgHiBlack: "bg-hi-black",
- BgHiRed: "bg-hi-red",
- BgHiGreen: "bg-hi-green",
- BgHiYellow: "bg-hi-yellow",
- BgHiBlue: "bg-hi-blue",
- BgHiMagenta: "bg-hi-magenta",
- BgHiCyan: "bg-hi-cyan",
- BgHiWhite: "bg-hi-white",
- }
-)
+// colorCSSClassMap contains the equivalent CSS-class for all colors
+var colorCSSClassMap = map[Color]string{
+ Bold: "bold",
+ Faint: "faint",
+ Italic: "italic",
+ Underline: "underline",
+ BlinkSlow: "blink-slow",
+ BlinkRapid: "blink-rapid",
+ ReverseVideo: "reverse-video",
+ Concealed: "concealed",
+ CrossedOut: "crossed-out",
+ FgBlack: "fg-black",
+ FgRed: "fg-red",
+ FgGreen: "fg-green",
+ FgYellow: "fg-yellow",
+ FgBlue: "fg-blue",
+ FgMagenta: "fg-magenta",
+ FgCyan: "fg-cyan",
+ FgWhite: "fg-white",
+ FgHiBlack: "fg-hi-black",
+ FgHiRed: "fg-hi-red",
+ FgHiGreen: "fg-hi-green",
+ FgHiYellow: "fg-hi-yellow",
+ FgHiBlue: "fg-hi-blue",
+ FgHiMagenta: "fg-hi-magenta",
+ FgHiCyan: "fg-hi-cyan",
+ FgHiWhite: "fg-hi-white",
+ BgBlack: "bg-black",
+ BgRed: "bg-red",
+ BgGreen: "bg-green",
+ BgYellow: "bg-yellow",
+ BgBlue: "bg-blue",
+ BgMagenta: "bg-magenta",
+ BgCyan: "bg-cyan",
+ BgWhite: "bg-white",
+ BgHiBlack: "bg-hi-black",
+ BgHiRed: "bg-hi-red",
+ BgHiGreen: "bg-hi-green",
+ BgHiYellow: "bg-hi-yellow",
+ BgHiBlue: "bg-hi-blue",
+ BgHiMagenta: "bg-hi-magenta",
+ BgHiCyan: "bg-hi-cyan",
+ BgHiWhite: "bg-hi-white",
+}
diff --git a/vendor/github.com/jedib0t/go-pretty/v6/text/escape.go b/vendor/github.com/jedib0t/go-pretty/v6/text/escape.go
index d54e66eb72..abccef75e3 100644
--- a/vendor/github.com/jedib0t/go-pretty/v6/text/escape.go
+++ b/vendor/github.com/jedib0t/go-pretty/v6/text/escape.go
@@ -47,5 +47,4 @@ func (e *escSeq) InspectRune(r rune) {
}
e.content.WriteRune(r)
}
- return
}
diff --git a/vendor/github.com/jedib0t/go-pretty/v6/text/hyperlink.go b/vendor/github.com/jedib0t/go-pretty/v6/text/hyperlink.go
new file mode 100644
index 0000000000..00a551ae27
--- /dev/null
+++ b/vendor/github.com/jedib0t/go-pretty/v6/text/hyperlink.go
@@ -0,0 +1,14 @@
+package text
+
+import "fmt"
+
+func Hyperlink(url, text string) string {
+ if url == "" {
+ return text
+ }
+ if text == "" {
+ return url
+ }
+ // source https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda
+ return fmt.Sprintf("\x1b]8;;%s\x1b\\%s\x1b]8;;\x1b\\", url, text)
+}
diff --git a/vendor/github.com/jedib0t/go-pretty/v6/text/string.go b/vendor/github.com/jedib0t/go-pretty/v6/text/string.go
index 6a21ddaf13..dbc32425ef 100644
--- a/vendor/github.com/jedib0t/go-pretty/v6/text/string.go
+++ b/vendor/github.com/jedib0t/go-pretty/v6/text/string.go
@@ -13,11 +13,12 @@ var (
)
// InsertEveryN inserts the rune every N characters in the string. For ex.:
-// InsertEveryN("Ghost", '-', 1) == "G-h-o-s-t"
-// InsertEveryN("Ghost", '-', 2) == "Gh-os-t"
-// InsertEveryN("Ghost", '-', 3) == "Gho-st"
-// InsertEveryN("Ghost", '-', 4) == "Ghos-t"
-// InsertEveryN("Ghost", '-', 5) == "Ghost"
+//
+// InsertEveryN("Ghost", '-', 1) == "G-h-o-s-t"
+// InsertEveryN("Ghost", '-', 2) == "Gh-os-t"
+// InsertEveryN("Ghost", '-', 3) == "Gho-st"
+// InsertEveryN("Ghost", '-', 4) == "Ghos-t"
+// InsertEveryN("Ghost", '-', 5) == "Ghost"
func InsertEveryN(str string, runeToInsert rune, n int) string {
if n <= 0 {
return str
@@ -47,7 +48,8 @@ func InsertEveryN(str string, runeToInsert rune, n int) string {
// LongestLineLen returns the length of the longest "line" within the
// argument string. For ex.:
-// LongestLineLen("Ghost!\nCome back here!\nRight now!") == 15
+//
+// LongestLineLen("Ghost!\nCome back here!\nRight now!") == 15
func LongestLineLen(str string) int {
maxLength, currLength, eSeq := 0, 0, escSeq{}
for _, c := range str {
@@ -91,11 +93,12 @@ func OverrideRuneWidthEastAsianWidth(val bool) {
// Pad pads the given string with as many characters as needed to make it as
// long as specified (maxLen). This function does not count escape sequences
// while calculating length of the string. Ex.:
-// Pad("Ghost", 0, ' ') == "Ghost"
-// Pad("Ghost", 3, ' ') == "Ghost"
-// Pad("Ghost", 5, ' ') == "Ghost"
-// Pad("Ghost", 7, ' ') == "Ghost "
-// Pad("Ghost", 10, '.') == "Ghost....."
+//
+// Pad("Ghost", 0, ' ') == "Ghost"
+// Pad("Ghost", 3, ' ') == "Ghost"
+// Pad("Ghost", 5, ' ') == "Ghost"
+// Pad("Ghost", 7, ' ') == "Ghost "
+// Pad("Ghost", 10, '.') == "Ghost....."
func Pad(str string, maxLen int, paddingChar rune) string {
strLen := RuneWidthWithoutEscSequences(str)
if strLen < maxLen {
@@ -104,13 +107,57 @@ func Pad(str string, maxLen int, paddingChar rune) string {
return str
}
+// ProcessCRLF converts "\r\n" to "\n", and processes lone "\r" by moving the
+// cursor/carriage to the start of the line and overwrites the contents
+// accordingly. Ex.:
+//
+// ProcessCRLF("abc") == "abc"
+// ProcessCRLF("abc\r\ndef") == "abc\ndef"
+// ProcessCRLF("abc\r\ndef\rghi") == "abc\nghi"
+// ProcessCRLF("abc\r\ndef\rghi\njkl") == "abc\nghi\njkl"
+// ProcessCRLF("abc\r\ndef\rghi\njkl\r") == "abc\nghi\njkl"
+// ProcessCRLF("abc\r\ndef\rghi\rjkl\rmn") == "abc\nmnl"
+func ProcessCRLF(str string) string {
+ str = strings.ReplaceAll(str, "\r\n", "\n")
+ if !strings.Contains(str, "\r") {
+ return str
+ }
+
+ lines := strings.Split(str, "\n")
+ for lineIdx, line := range lines {
+ if !strings.Contains(line, "\r") {
+ continue
+ }
+
+ lineRunes, newLineRunes := []rune(line), make([]rune, 0)
+ for idx, realIdx := 0, 0; idx < len(lineRunes); idx++ {
+ // if a CR, move "cursor" back to beginning of line
+ if lineRunes[idx] == '\r' {
+ realIdx = 0
+ continue
+ }
+
+ // if cursor is not at end, overwrite
+ if realIdx < len(newLineRunes) {
+ newLineRunes[realIdx] = lineRunes[idx]
+ } else { // else append
+ newLineRunes = append(newLineRunes, lineRunes[idx])
+ }
+ realIdx++
+ }
+ lines[lineIdx] = string(newLineRunes)
+ }
+ return strings.Join(lines, "\n")
+}
+
// RepeatAndTrim repeats the given string until it is as long as maxRunes.
// For ex.:
-// RepeatAndTrim("", 5) == ""
-// RepeatAndTrim("Ghost", 0) == ""
-// RepeatAndTrim("Ghost", 5) == "Ghost"
-// RepeatAndTrim("Ghost", 7) == "GhostGh"
-// RepeatAndTrim("Ghost", 10) == "GhostGhost"
+//
+// RepeatAndTrim("", 5) == ""
+// RepeatAndTrim("Ghost", 0) == ""
+// RepeatAndTrim("Ghost", 5) == "Ghost"
+// RepeatAndTrim("Ghost", 7) == "GhostGh"
+// RepeatAndTrim("Ghost", 10) == "GhostGhost"
func RepeatAndTrim(str string, maxRunes int) string {
if str == "" || maxRunes == 0 {
return ""
@@ -123,10 +170,12 @@ func RepeatAndTrim(str string, maxRunes int) string {
// RuneCount is similar to utf8.RuneCountInString, except for the fact that it
// ignores escape sequences while counting. For ex.:
-// RuneCount("") == 0
-// RuneCount("Ghost") == 5
-// RuneCount("\x1b[33mGhost\x1b[0m") == 5
-// RuneCount("\x1b[33mGhost\x1b[0") == 5
+//
+// RuneCount("") == 0
+// RuneCount("Ghost") == 5
+// RuneCount("\x1b[33mGhost\x1b[0m") == 5
+// RuneCount("\x1b[33mGhost\x1b[0") == 5
+//
// Deprecated: in favor of RuneWidthWithoutEscSequences
func RuneCount(str string) int {
return RuneWidthWithoutEscSequences(str)
@@ -135,21 +184,23 @@ func RuneCount(str string) int {
// RuneWidth returns the mostly accurate character-width of the rune. This is
// not 100% accurate as the character width is usually dependent on the
// typeface (font) used in the console/terminal. For ex.:
-// RuneWidth('A') == 1
-// RuneWidth('ツ') == 2
-// RuneWidth('⊙') == 1
-// RuneWidth('︿') == 2
-// RuneWidth(0x27) == 0
+//
+// RuneWidth('A') == 1
+// RuneWidth('ツ') == 2
+// RuneWidth('⊙') == 1
+// RuneWidth('︿') == 2
+// RuneWidth(0x27) == 0
func RuneWidth(r rune) int {
return rwCondition.RuneWidth(r)
}
// RuneWidthWithoutEscSequences is similar to RuneWidth, except for the fact
// that it ignores escape sequences while counting. For ex.:
-// RuneWidthWithoutEscSequences("") == 0
-// RuneWidthWithoutEscSequences("Ghost") == 5
-// RuneWidthWithoutEscSequences("\x1b[33mGhost\x1b[0m") == 5
-// RuneWidthWithoutEscSequences("\x1b[33mGhost\x1b[0") == 5
+//
+// RuneWidthWithoutEscSequences("") == 0
+// RuneWidthWithoutEscSequences("Ghost") == 5
+// RuneWidthWithoutEscSequences("\x1b[33mGhost\x1b[0m") == 5
+// RuneWidthWithoutEscSequences("\x1b[33mGhost\x1b[0") == 5
func RuneWidthWithoutEscSequences(str string) int {
count, eSeq := 0, escSeq{}
for _, c := range str {
@@ -166,12 +217,13 @@ func RuneWidthWithoutEscSequences(str string) int {
}
// Snip returns the given string with a fixed length. For ex.:
-// Snip("Ghost", 0, "~") == "Ghost"
-// Snip("Ghost", 1, "~") == "~"
-// Snip("Ghost", 3, "~") == "Gh~"
-// Snip("Ghost", 5, "~") == "Ghost"
-// Snip("Ghost", 7, "~") == "Ghost "
-// Snip("\x1b[33mGhost\x1b[0m", 7, "~") == "\x1b[33mGhost\x1b[0m "
+//
+// Snip("Ghost", 0, "~") == "Ghost"
+// Snip("Ghost", 1, "~") == "~"
+// Snip("Ghost", 3, "~") == "Gh~"
+// Snip("Ghost", 5, "~") == "Ghost"
+// Snip("Ghost", 7, "~") == "Ghost "
+// Snip("\x1b[33mGhost\x1b[0m", 7, "~") == "\x1b[33mGhost\x1b[0m "
func Snip(str string, length int, snipIndicator string) string {
if length > 0 {
lenStr := RuneWidthWithoutEscSequences(str)
@@ -185,10 +237,11 @@ func Snip(str string, length int, snipIndicator string) string {
// Trim trims a string to the given length while ignoring escape sequences. For
// ex.:
-// Trim("Ghost", 3) == "Gho"
-// Trim("Ghost", 6) == "Ghost"
-// Trim("\x1b[33mGhost\x1b[0m", 3) == "\x1b[33mGho\x1b[0m"
-// Trim("\x1b[33mGhost\x1b[0m", 6) == "\x1b[33mGhost\x1b[0m"
+//
+// Trim("Ghost", 3) == "Gho"
+// Trim("Ghost", 6) == "Ghost"
+// Trim("\x1b[33mGhost\x1b[0m", 3) == "\x1b[33mGho\x1b[0m"
+// Trim("\x1b[33mGhost\x1b[0m", 6) == "\x1b[33mGhost\x1b[0m"
func Trim(str string, maxLen int) string {
if maxLen <= 0 {
return ""
diff --git a/vendor/github.com/jedib0t/go-pretty/v6/text/transformer.go b/vendor/github.com/jedib0t/go-pretty/v6/text/transformer.go
index 872d663ccb..193a721cce 100644
--- a/vendor/github.com/jedib0t/go-pretty/v6/text/transformer.go
+++ b/vendor/github.com/jedib0t/go-pretty/v6/text/transformer.go
@@ -37,9 +37,9 @@ var (
type Transformer func(val interface{}) string
// NewNumberTransformer returns a number Transformer that:
-// * transforms the number as directed by 'format' (ex.: %.2f)
-// * colors negative values Red
-// * colors positive values Green
+// - transforms the number as directed by 'format' (ex.: %.2f)
+// - colors negative values Red
+// - colors positive values Green
func NewNumberTransformer(format string) Transformer {
return func(val interface{}) string {
if valStr := transformInt(format, val); valStr != "" {
@@ -79,7 +79,7 @@ func transformInt(format string, val interface{}) string {
return transform(int64(number))
}
if number, ok := val.(int64); ok {
- return transform(int64(number))
+ return transform(number)
}
return ""
}
@@ -105,7 +105,7 @@ func transformUint(format string, val interface{}) string {
return transform(uint64(number))
}
if number, ok := val.(uint64); ok {
- return transform(uint64(number))
+ return transform(number)
}
return ""
}
@@ -125,7 +125,7 @@ func transformFloat(format string, val interface{}) string {
return transform(float64(number))
}
if number, ok := val.(float64); ok {
- return transform(float64(number))
+ return transform(number)
}
return ""
}
@@ -137,7 +137,7 @@ func NewJSONTransformer(prefix string, indent string) Transformer {
if valStr, ok := val.(string); ok {
var b bytes.Buffer
if err := json.Indent(&b, []byte(strings.TrimSpace(valStr)), prefix, indent); err == nil {
- return string(b.Bytes())
+ return b.String()
}
} else if b, err := json.MarshalIndent(val, prefix, indent); err == nil {
return string(b)
diff --git a/vendor/github.com/jedib0t/go-pretty/v6/text/valign.go b/vendor/github.com/jedib0t/go-pretty/v6/text/valign.go
index 76b1943ce3..f1a75e96d5 100644
--- a/vendor/github.com/jedib0t/go-pretty/v6/text/valign.go
+++ b/vendor/github.com/jedib0t/go-pretty/v6/text/valign.go
@@ -14,12 +14,12 @@ const (
)
// Apply aligns the lines vertically. For ex.:
-// * VAlignTop.Apply({"Game", "Of", "Thrones"}, 5)
-// returns {"Game", "Of", "Thrones", "", ""}
-// * VAlignMiddle.Apply({"Game", "Of", "Thrones"}, 5)
-// returns {"", "Game", "Of", "Thrones", ""}
-// * VAlignBottom.Apply({"Game", "Of", "Thrones"}, 5)
-// returns {"", "", "Game", "Of", "Thrones"}
+// - VAlignTop.Apply({"Game", "Of", "Thrones"}, 5)
+// returns {"Game", "Of", "Thrones", "", ""}
+// - VAlignMiddle.Apply({"Game", "Of", "Thrones"}, 5)
+// returns {"", "Game", "Of", "Thrones", ""}
+// - VAlignBottom.Apply({"Game", "Of", "Thrones"}, 5)
+// returns {"", "", "Game", "Of", "Thrones"}
func (va VAlign) Apply(lines []string, maxLines int) []string {
if len(lines) == maxLines {
return lines
@@ -42,12 +42,12 @@ func (va VAlign) Apply(lines []string, maxLines int) []string {
}
// ApplyStr aligns the string (of 1 or more lines) vertically. For ex.:
-// * VAlignTop.ApplyStr("Game\nOf\nThrones", 5)
-// returns {"Game", "Of", "Thrones", "", ""}
-// * VAlignMiddle.ApplyStr("Game\nOf\nThrones", 5)
-// returns {"", "Game", "Of", "Thrones", ""}
-// * VAlignBottom.ApplyStr("Game\nOf\nThrones", 5)
-// returns {"", "", "Game", "Of", "Thrones"}
+// - VAlignTop.ApplyStr("Game\nOf\nThrones", 5)
+// returns {"Game", "Of", "Thrones", "", ""}
+// - VAlignMiddle.ApplyStr("Game\nOf\nThrones", 5)
+// returns {"", "Game", "Of", "Thrones", ""}
+// - VAlignBottom.ApplyStr("Game\nOf\nThrones", 5)
+// returns {"", "", "Game", "Of", "Thrones"}
func (va VAlign) ApplyStr(text string, maxLines int) []string {
return va.Apply(strings.Split(text, "\n"), maxLines)
}
diff --git a/vendor/github.com/reeflective/readline/inputrc/testdata/spaces.inputrc b/vendor/github.com/reeflective/readline/inputrc/testdata/spaces.inputrc
new file mode 100644
index 0000000000..cae93ca759
--- /dev/null
+++ b/vendor/github.com/reeflective/readline/inputrc/testdata/spaces.inputrc
@@ -0,0 +1,12 @@
+app: usql
+term: xterm-256
+mode: vi
+####----####
+set editing-mode vi
+set vi-ins-mode-string "\1\e[4 q\2"
+set my-other-string 'a b'
+####----####
+vars:
+ editing-mode: vi
+ my-other-string: 'a b'
+ vi-ins-mode-string: "\1\e[4 q\2"
diff --git a/vendor/golang.org/x/sys/unix/mkerrors.sh b/vendor/golang.org/x/sys/unix/mkerrors.sh
index 6202638bae..c6492020ec 100644
--- a/vendor/golang.org/x/sys/unix/mkerrors.sh
+++ b/vendor/golang.org/x/sys/unix/mkerrors.sh
@@ -248,6 +248,7 @@ struct ltchars {
#include
#include
#include
+#include
#include
#include
#include
@@ -283,10 +284,6 @@ struct ltchars {
#include
#endif
-#ifndef MSG_FASTOPEN
-#define MSG_FASTOPEN 0x20000000
-#endif
-
#ifndef PTRACE_GETREGS
#define PTRACE_GETREGS 0xc
#endif
@@ -295,14 +292,6 @@ struct ltchars {
#define PTRACE_SETREGS 0xd
#endif
-#ifndef SOL_NETLINK
-#define SOL_NETLINK 270
-#endif
-
-#ifndef SOL_SMC
-#define SOL_SMC 286
-#endif
-
#ifdef SOL_BLUETOOTH
// SPARC includes this in /usr/include/sparc64-linux-gnu/bits/socket.h
// but it is already in bluetooth_linux.go
@@ -319,10 +308,23 @@ struct ltchars {
#undef TIPC_WAIT_FOREVER
#define TIPC_WAIT_FOREVER 0xffffffff
-// Copied from linux/l2tp.h
-// Including linux/l2tp.h here causes conflicts between linux/in.h
-// and netinet/in.h included via net/route.h above.
-#define IPPROTO_L2TP 115
+// Copied from linux/netfilter/nf_nat.h
+// Including linux/netfilter/nf_nat.h here causes conflicts between linux/in.h
+// and netinet/in.h.
+#define NF_NAT_RANGE_MAP_IPS (1 << 0)
+#define NF_NAT_RANGE_PROTO_SPECIFIED (1 << 1)
+#define NF_NAT_RANGE_PROTO_RANDOM (1 << 2)
+#define NF_NAT_RANGE_PERSISTENT (1 << 3)
+#define NF_NAT_RANGE_PROTO_RANDOM_FULLY (1 << 4)
+#define NF_NAT_RANGE_PROTO_OFFSET (1 << 5)
+#define NF_NAT_RANGE_NETMAP (1 << 6)
+#define NF_NAT_RANGE_PROTO_RANDOM_ALL \
+ (NF_NAT_RANGE_PROTO_RANDOM | NF_NAT_RANGE_PROTO_RANDOM_FULLY)
+#define NF_NAT_RANGE_MASK \
+ (NF_NAT_RANGE_MAP_IPS | NF_NAT_RANGE_PROTO_SPECIFIED | \
+ NF_NAT_RANGE_PROTO_RANDOM | NF_NAT_RANGE_PERSISTENT | \
+ NF_NAT_RANGE_PROTO_RANDOM_FULLY | NF_NAT_RANGE_PROTO_OFFSET | \
+ NF_NAT_RANGE_NETMAP)
// Copied from linux/hid.h.
// Keep in sync with the size of the referenced fields.
@@ -603,6 +605,9 @@ ccflags="$@"
$2 ~ /^FSOPT_/ ||
$2 ~ /^WDIO[CFS]_/ ||
$2 ~ /^NFN/ ||
+ $2 !~ /^NFT_META_IIFTYPE/ &&
+ $2 ~ /^NFT_/ ||
+ $2 ~ /^NF_NAT_/ ||
$2 ~ /^XDP_/ ||
$2 ~ /^RWF_/ ||
$2 ~ /^(HDIO|WIN|SMART)_/ ||
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux.go b/vendor/golang.org/x/sys/unix/zerrors_linux.go
index c73cfe2f10..a5d3ff8df9 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux.go
@@ -2127,6 +2127,60 @@ const (
NFNL_SUBSYS_QUEUE = 0x3
NFNL_SUBSYS_ULOG = 0x4
NFS_SUPER_MAGIC = 0x6969
+ NFT_CHAIN_FLAGS = 0x7
+ NFT_CHAIN_MAXNAMELEN = 0x100
+ NFT_CT_MAX = 0x17
+ NFT_DATA_RESERVED_MASK = 0xffffff00
+ NFT_DATA_VALUE_MAXLEN = 0x40
+ NFT_EXTHDR_OP_MAX = 0x4
+ NFT_FIB_RESULT_MAX = 0x3
+ NFT_INNER_MASK = 0xf
+ NFT_LOGLEVEL_MAX = 0x8
+ NFT_NAME_MAXLEN = 0x100
+ NFT_NG_MAX = 0x1
+ NFT_OBJECT_CONNLIMIT = 0x5
+ NFT_OBJECT_COUNTER = 0x1
+ NFT_OBJECT_CT_EXPECT = 0x9
+ NFT_OBJECT_CT_HELPER = 0x3
+ NFT_OBJECT_CT_TIMEOUT = 0x7
+ NFT_OBJECT_LIMIT = 0x4
+ NFT_OBJECT_MAX = 0xa
+ NFT_OBJECT_QUOTA = 0x2
+ NFT_OBJECT_SECMARK = 0x8
+ NFT_OBJECT_SYNPROXY = 0xa
+ NFT_OBJECT_TUNNEL = 0x6
+ NFT_OBJECT_UNSPEC = 0x0
+ NFT_OBJ_MAXNAMELEN = 0x100
+ NFT_OSF_MAXGENRELEN = 0x10
+ NFT_QUEUE_FLAG_BYPASS = 0x1
+ NFT_QUEUE_FLAG_CPU_FANOUT = 0x2
+ NFT_QUEUE_FLAG_MASK = 0x3
+ NFT_REG32_COUNT = 0x10
+ NFT_REG32_SIZE = 0x4
+ NFT_REG_MAX = 0x4
+ NFT_REG_SIZE = 0x10
+ NFT_REJECT_ICMPX_MAX = 0x3
+ NFT_RT_MAX = 0x4
+ NFT_SECMARK_CTX_MAXLEN = 0x100
+ NFT_SET_MAXNAMELEN = 0x100
+ NFT_SOCKET_MAX = 0x3
+ NFT_TABLE_F_MASK = 0x3
+ NFT_TABLE_MAXNAMELEN = 0x100
+ NFT_TRACETYPE_MAX = 0x3
+ NFT_TUNNEL_F_MASK = 0x7
+ NFT_TUNNEL_MAX = 0x1
+ NFT_TUNNEL_MODE_MAX = 0x2
+ NFT_USERDATA_MAXLEN = 0x100
+ NFT_XFRM_KEY_MAX = 0x6
+ NF_NAT_RANGE_MAP_IPS = 0x1
+ NF_NAT_RANGE_MASK = 0x7f
+ NF_NAT_RANGE_NETMAP = 0x40
+ NF_NAT_RANGE_PERSISTENT = 0x8
+ NF_NAT_RANGE_PROTO_OFFSET = 0x20
+ NF_NAT_RANGE_PROTO_RANDOM = 0x4
+ NF_NAT_RANGE_PROTO_RANDOM_ALL = 0x14
+ NF_NAT_RANGE_PROTO_RANDOM_FULLY = 0x10
+ NF_NAT_RANGE_PROTO_SPECIFIED = 0x2
NILFS_SUPER_MAGIC = 0x3434
NL0 = 0x0
NL1 = 0x100
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go
index a1d061597c..9dc42410b7 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go
@@ -2297,5 +2297,3 @@ func unveil(path *byte, flags *byte) (err error) {
var libc_unveil_trampoline_addr uintptr
//go:cgo_import_dynamic libc_unveil unveil "libc.so"
-
-
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go
index 5b2a740977..0d3a0751cd 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go
@@ -2297,5 +2297,3 @@ func unveil(path *byte, flags *byte) (err error) {
var libc_unveil_trampoline_addr uintptr
//go:cgo_import_dynamic libc_unveil unveil "libc.so"
-
-
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go
index f6eda1344a..c39f7776db 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go
@@ -2297,5 +2297,3 @@ func unveil(path *byte, flags *byte) (err error) {
var libc_unveil_trampoline_addr uintptr
//go:cgo_import_dynamic libc_unveil unveil "libc.so"
-
-
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go
index 55df20ae9d..57571d072f 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go
@@ -2297,5 +2297,3 @@ func unveil(path *byte, flags *byte) (err error) {
var libc_unveil_trampoline_addr uintptr
//go:cgo_import_dynamic libc_unveil unveil "libc.so"
-
-
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go
index 8c1155cbc0..e62963e67e 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go
@@ -2297,5 +2297,3 @@ func unveil(path *byte, flags *byte) (err error) {
var libc_unveil_trampoline_addr uintptr
//go:cgo_import_dynamic libc_unveil unveil "libc.so"
-
-
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go
index 7cc80c58d9..00831354c8 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go
@@ -2297,5 +2297,3 @@ func unveil(path *byte, flags *byte) (err error) {
var libc_unveil_trampoline_addr uintptr
//go:cgo_import_dynamic libc_unveil unveil "libc.so"
-
-
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go
index 0688737f49..79029ed584 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go
@@ -2297,5 +2297,3 @@ func unveil(path *byte, flags *byte) (err error) {
var libc_unveil_trampoline_addr uintptr
//go:cgo_import_dynamic libc_unveil unveil "libc.so"
-
-
diff --git a/vendor/golang.org/x/sys/windows/syscall_windows.go b/vendor/golang.org/x/sys/windows/syscall_windows.go
index 47dc579676..ffb8708ccf 100644
--- a/vendor/golang.org/x/sys/windows/syscall_windows.go
+++ b/vendor/golang.org/x/sys/windows/syscall_windows.go
@@ -194,6 +194,7 @@ func NewCallbackCDecl(fn interface{}) uintptr {
//sys GetComputerName(buf *uint16, n *uint32) (err error) = GetComputerNameW
//sys GetComputerNameEx(nametype uint32, buf *uint16, n *uint32) (err error) = GetComputerNameExW
//sys SetEndOfFile(handle Handle) (err error)
+//sys SetFileValidData(handle Handle, validDataLength int64) (err error)
//sys GetSystemTimeAsFileTime(time *Filetime)
//sys GetSystemTimePreciseAsFileTime(time *Filetime)
//sys GetTimeZoneInformation(tzi *Timezoneinformation) (rc uint32, err error) [failretval==0xffffffff]
diff --git a/vendor/golang.org/x/sys/windows/zsyscall_windows.go b/vendor/golang.org/x/sys/windows/zsyscall_windows.go
index 146a1f0196..e8791c82c3 100644
--- a/vendor/golang.org/x/sys/windows/zsyscall_windows.go
+++ b/vendor/golang.org/x/sys/windows/zsyscall_windows.go
@@ -342,6 +342,7 @@ var (
procSetDefaultDllDirectories = modkernel32.NewProc("SetDefaultDllDirectories")
procSetDllDirectoryW = modkernel32.NewProc("SetDllDirectoryW")
procSetEndOfFile = modkernel32.NewProc("SetEndOfFile")
+ procSetFileValidData = modkernel32.NewProc("SetFileValidData")
procSetEnvironmentVariableW = modkernel32.NewProc("SetEnvironmentVariableW")
procSetErrorMode = modkernel32.NewProc("SetErrorMode")
procSetEvent = modkernel32.NewProc("SetEvent")
@@ -2988,6 +2989,14 @@ func SetEndOfFile(handle Handle) (err error) {
return
}
+func SetFileValidData(handle Handle, validDataLength int64) (err error) {
+ r1, _, e1 := syscall.Syscall(procSetFileValidData.Addr(), 2, uintptr(handle), uintptr(validDataLength), 0)
+ if r1 == 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
func SetEnvironmentVariable(name *uint16, value *uint16) (err error) {
r1, _, e1 := syscall.Syscall(procSetEnvironmentVariableW.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(value)), 0)
if r1 == 0 {
diff --git a/vendor/modules.txt b/vendor/modules.txt
index bdf17c1ca5..6e47ce1051 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -419,8 +419,8 @@ github.com/jackc/pgx/v5/stdlib
## explicit
github.com/jcmturner/gofork/encoding/asn1
github.com/jcmturner/gofork/x/crypto/pbkdf2
-# github.com/jedib0t/go-pretty/v6 v6.4.6
-## explicit; go 1.16
+# github.com/jedib0t/go-pretty/v6 v6.5.4
+## explicit; go 1.17
github.com/jedib0t/go-pretty/v6/table
github.com/jedib0t/go-pretty/v6/text
# github.com/jinzhu/inflection v1.0.0
@@ -485,7 +485,7 @@ github.com/mattn/go-colorable
# github.com/mattn/go-isatty v0.0.19
## explicit; go 1.15
github.com/mattn/go-isatty
-# github.com/mattn/go-runewidth v0.0.14
+# github.com/mattn/go-runewidth v0.0.15
## explicit; go 1.9
github.com/mattn/go-runewidth
# github.com/mattn/go-sqlite3 v1.14.18
@@ -804,7 +804,7 @@ golang.org/x/net/trace
# golang.org/x/sync v0.4.0
## explicit; go 1.17
golang.org/x/sync/errgroup
-# golang.org/x/sys v0.15.0
+# golang.org/x/sys v0.16.0
## explicit; go 1.18
golang.org/x/sys/cpu
golang.org/x/sys/execabs
@@ -814,7 +814,7 @@ golang.org/x/sys/windows
golang.org/x/sys/windows/registry
golang.org/x/sys/windows/svc
golang.org/x/sys/windows/svc/mgr
-# golang.org/x/term v0.15.0
+# golang.org/x/term v0.16.0
## explicit; go 1.18
golang.org/x/term
# golang.org/x/text v0.14.0