From 289094502d1977f59fecba42c14493f5ff589b8d Mon Sep 17 00:00:00 2001 From: Gary Burd Date: Tue, 14 May 2024 09:44:21 -0700 Subject: [PATCH] Rewrite interface{} to any The type any is an alias for type interface{}. --- msgpack/decode.go | 12 +- msgpack/decode_test.go | 234 +++++++++++++++--------------- msgpack/encode.go | 2 +- msgpack/encode_test.go | 70 ++++----- msgpack/msgpack_bench_test.go | 8 +- msgpack/msgpack_test.go | 18 +-- msgpack/pack_test.go | 2 +- msgpack/rpc/rpc.go | 32 ++--- msgpack/rpc/rpc_test.go | 26 ++-- msgpack/unpack.go | 2 +- msgpack/unpack_test.go | 2 +- nvim/api.go | 206 +++++++++++++------------- nvim/api_def.go | 102 ++++++------- nvim/api_deprecated.go | 10 +- nvim/api_test.go | 264 +++++++++++++++++----------------- nvim/api_tool.go | 24 ++-- nvim/nvim.go | 53 ++++--- nvim/plugin/eval_test.go | 2 +- nvim/plugin/plugin.go | 16 +-- nvim/plugin/plugin_test.go | 56 ++++---- nvim/types.go | 10 +- 21 files changed, 575 insertions(+), 576 deletions(-) diff --git a/msgpack/decode.go b/msgpack/decode.go index 19ab28e8..b055dac2 100644 --- a/msgpack/decode.go +++ b/msgpack/decode.go @@ -22,7 +22,7 @@ type DecodeConvertError struct { // The MessagePack type of the value. SrcType Type // Option value. - SrcValue interface{} + SrcValue any // Type of the Go value that could not be assigned to. DestType reflect.Type } @@ -57,7 +57,7 @@ func (ds *decodeState) skip() { } } -func (ds *decodeState) saveErrorAndSkip(destValue reflect.Value, srcValue interface{}) { +func (ds *decodeState) saveErrorAndSkip(destValue reflect.Value, srcValue any) { if ds.errSaved == nil { ds.errSaved = &DecodeConvertError{ SrcType: ds.Type(), @@ -95,7 +95,7 @@ func (ds *decodeState) saveErrorAndSkip(destValue reflect.Value, srcValue interf // completes the decoding as best it can. If no more serious errors are // encountered, Decode returns an DecodeConvertError describing the earliest // such error. -func (d *Decoder) Decode(v interface{}) (err error) { +func (d *Decoder) Decode(v any) (err error) { defer handleAbort(&err) ds := &decodeState{ Decoder: d, @@ -634,7 +634,7 @@ func (ev extensionValue) MarshalMsgPack(e *Encoder) error { return e.PackExtension(ev.kind, ev.data) } -func decodeNoReflect(ds *decodeState) (x interface{}) { +func decodeNoReflect(ds *decodeState) (x any) { switch ds.Type() { case Int: return ds.Int() @@ -652,7 +652,7 @@ func decodeNoReflect(ds *decodeState) (x interface{}) { return ds.Bytes() case ArrayLen: n := ds.Len() - a := make([]interface{}, n) + a := make([]any, n) for i := 0; i < n; i++ { ds.unpack() a[i] = decodeNoReflect(ds) @@ -661,7 +661,7 @@ func decodeNoReflect(ds *decodeState) (x interface{}) { case MapLen: n := ds.Len() - m := make(map[string]interface{}) + m := make(map[string]any) for i := 0; i < n; i++ { ds.unpack() diff --git a/msgpack/decode_test.go b/msgpack/decode_test.go index fb692d1f..deaec364 100644 --- a/msgpack/decode_test.go +++ b/msgpack/decode_test.go @@ -17,8 +17,8 @@ type testDecStruct struct { F64 float64 S string SS []string - M map[string]interface{} - IF interface{} + M map[string]any + IF any } type testDecEmptyStruct struct { @@ -39,141 +39,141 @@ func TestDecode(t *testing.T) { tests := map[string]struct { // arg is argument for Decode() - arg func() interface{} + arg func() any // data is data to decode - data []interface{} + data []any // expected is the expected decoded value - expected interface{} + expected any // wantErr is the whether the want error wantErr bool }{ "Bool/Bool/True": { - arg: func() interface{} { return new(bool) }, - data: []interface{}{true}, + arg: func() any { return new(bool) }, + data: []any{true}, expected: true, wantErr: false, }, "Bool/Bool/False": { - arg: func() interface{} { return new(bool) }, - data: []interface{}{false}, + arg: func() any { return new(bool) }, + data: []any{false}, expected: false, wantErr: false, }, "Bool/Int64/True": { - arg: func() interface{} { return new(bool) }, - data: []interface{}{int64(1234)}, + arg: func() any { return new(bool) }, + data: []any{int64(1234)}, expected: true, wantErr: false, }, "Bool/Int64/False": { - arg: func() interface{} { return new(bool) }, - data: []interface{}{int64(0)}, + arg: func() any { return new(bool) }, + data: []any{int64(0)}, expected: false, wantErr: false, }, "Bool/Uint64/True": { - arg: func() interface{} { return new(bool) }, - data: []interface{}{uint64(1234)}, + arg: func() any { return new(bool) }, + data: []any{uint64(1234)}, expected: true, wantErr: false, }, "Bool/Uint64/False": { - arg: func() interface{} { return new(bool) }, - data: []interface{}{uint64(0)}, + arg: func() any { return new(bool) }, + data: []any{uint64(0)}, expected: false, wantErr: false, }, "Int/Int64": { - arg: func() interface{} { return new(int) }, - data: []interface{}{int64(1234)}, + arg: func() any { return new(int) }, + data: []any{int64(1234)}, expected: int(1234), wantErr: false, }, "Int/Uint64": { - arg: func() interface{} { return new(int) }, - data: []interface{}{uint64(4321)}, + arg: func() any { return new(int) }, + data: []any{uint64(4321)}, expected: int(4321), wantErr: false, }, "Int/Float64": { - arg: func() interface{} { return new(int) }, - data: []interface{}{float64(5678)}, + arg: func() any { return new(int) }, + data: []any{float64(5678)}, expected: int(5678), wantErr: false, }, "Uint/Int64": { - arg: func() interface{} { return new(uint) }, - data: []interface{}{int64(1234)}, + arg: func() any { return new(uint) }, + data: []any{int64(1234)}, expected: uint(1234), wantErr: false, }, "Uint/Uint64": { - arg: func() interface{} { return new(uint) }, - data: []interface{}{uint64(4321)}, + arg: func() any { return new(uint) }, + data: []any{uint64(4321)}, expected: uint(4321), wantErr: false, }, "Uint/Float64": { - arg: func() interface{} { return new(uint) }, - data: []interface{}{float64(5678)}, + arg: func() any { return new(uint) }, + data: []any{float64(5678)}, expected: uint(5678), wantErr: false, }, "Float64/Int64": { - arg: func() interface{} { return new(float64) }, - data: []interface{}{int64(1234)}, + arg: func() any { return new(float64) }, + data: []any{int64(1234)}, expected: float64(1234), wantErr: false, }, "Float64/Uint64": { - arg: func() interface{} { return new(float64) }, - data: []interface{}{uint64(4321)}, + arg: func() any { return new(float64) }, + data: []any{uint64(4321)}, expected: float64(4321), wantErr: false, }, "Float64/Float64": { - arg: func() interface{} { return new(float64) }, - data: []interface{}{float64(5678)}, + arg: func() any { return new(float64) }, + data: []any{float64(5678)}, expected: float64(5678), wantErr: false, }, "String/Binary": { - arg: func() interface{} { return new(string) }, - data: []interface{}{[]byte("world")}, + arg: func() any { return new(string) }, + data: []any{[]byte("world")}, expected: "world", wantErr: false, }, "String/String": { - arg: func() interface{} { return new(string) }, - data: []interface{}{"hello"}, + arg: func() any { return new(string) }, + data: []any{"hello"}, expected: "hello", wantErr: false, }, "Binary/Nil": { - arg: func() interface{} { return new([]byte) }, - data: []interface{}{nil}, + arg: func() any { return new([]byte) }, + data: []any{nil}, expected: []byte(nil), wantErr: false, }, "Binary/Binary": { - arg: func() interface{} { return new([]byte) }, - data: []interface{}{ + arg: func() any { return new([]byte) }, + data: []any{ []byte("hello"), }, expected: []byte("hello"), wantErr: false, }, "Binary/String": { - arg: func() interface{} { return new([]byte) }, - data: []interface{}{ + arg: func() any { return new([]byte) }, + data: []any{ "world", }, expected: []byte("world"), wantErr: false, }, "StringSlice/ArrayLen/2": { - arg: func() interface{} { return []string{""} }, - data: []interface{}{ + arg: func() any { return []string{""} }, + data: []any{ arrayLen(2), "foo", "bar", @@ -184,8 +184,8 @@ func TestDecode(t *testing.T) { wantErr: false, }, "StringSlice/ArrayLen/2/ValueValue": { - arg: func() interface{} { return []string{"", ""} }, - data: []interface{}{ + arg: func() any { return []string{"", ""} }, + data: []any{ arrayLen(2), "foo", "bar", @@ -197,8 +197,8 @@ func TestDecode(t *testing.T) { wantErr: false, }, "StringSlice/ArrayLen/1/ValueEmpty": { - arg: func() interface{} { return []string{"", "bar"} }, - data: []interface{}{ + arg: func() any { return []string{"", "bar"} }, + data: []any{ arrayLen(1), "foo", }, @@ -209,8 +209,8 @@ func TestDecode(t *testing.T) { wantErr: false, }, "StringSlice/ArrayLen/2/Make/1": { - arg: func() interface{} { x := make([]string, 1); return &x }, - data: []interface{}{ + arg: func() any { x := make([]string, 1); return &x }, + data: []any{ arrayLen(2), "foo", "bar", @@ -222,8 +222,8 @@ func TestDecode(t *testing.T) { wantErr: false, }, "StringSlice/ArrayLen/2/Make/3": { - arg: func() interface{} { x := make([]string, 3); return &x }, - data: []interface{}{ + arg: func() any { x := make([]string, 3); return &x }, + data: []any{ arrayLen(2), "foo", "bar", @@ -235,8 +235,8 @@ func TestDecode(t *testing.T) { wantErr: false, }, "StringSlicePointer/ArrayLen/2": { - arg: func() interface{} { return new([]string) }, - data: []interface{}{ + arg: func() any { return new([]string) }, + data: []any{ arrayLen(2), "foo", "bar", @@ -248,8 +248,8 @@ func TestDecode(t *testing.T) { wantErr: false, }, "StringArray/ArrayLen/2/ValueValueEmpty": { - arg: func() interface{} { x := [...]string{"foo", "bar", "quux"}; return &x }, - data: []interface{}{ + arg: func() any { x := [...]string{"foo", "bar", "quux"}; return &x }, + data: []any{ arrayLen(2), "hello", "world", @@ -262,8 +262,8 @@ func TestDecode(t *testing.T) { wantErr: false, }, "StringArray/ArrayLen/2/Value": { - arg: func() interface{} { x := [...]string{"foo"}; return &x }, - data: []interface{}{ + arg: func() any { x := [...]string{"foo"}; return &x }, + data: []any{ arrayLen(2), "hello", "world", @@ -274,8 +274,8 @@ func TestDecode(t *testing.T) { wantErr: false, }, "StructArray/ArrayLen/Int": { - arg: func() interface{} { return new(testDecArrayStruct) }, - data: []interface{}{ + arg: func() any { return new(testDecArrayStruct) }, + data: []any{ arrayLen(2), int64(22), "skidoo", @@ -287,8 +287,8 @@ func TestDecode(t *testing.T) { wantErr: false, }, "Map/StringString": { - arg: func() interface{} { return make(map[string]string) }, - data: []interface{}{ + arg: func() any { return make(map[string]string) }, + data: []any{ mapLen(1), "foo", "bar", }, @@ -298,8 +298,8 @@ func TestDecode(t *testing.T) { wantErr: false, }, "MapPointer/StringString": { - arg: func() interface{} { return new(map[string]string) }, - data: []interface{}{ + arg: func() any { return new(map[string]string) }, + data: []any{ mapLen(1), "foo", "bar", }, @@ -309,24 +309,24 @@ func TestDecode(t *testing.T) { wantErr: false, }, "Pointer/Int": { - arg: func() interface{} { return new(*int) }, - data: []interface{}{ + arg: func() any { return new(*int) }, + data: []any{ int64(-1), }, expected: ptrInt(-1), wantErr: false, }, "Pointer/Uint": { - arg: func() interface{} { return new(*uint) }, - data: []interface{}{ + arg: func() any { return new(*uint) }, + data: []any{ uint64(1), }, expected: ptrUint(1), wantErr: false, }, "Struct/Bool": { - arg: func() interface{} { return &testDecStruct{B: true} }, - data: []interface{}{ + arg: func() any { return &testDecStruct{B: true} }, + data: []any{ mapLen(1), "B", bool(true), @@ -337,8 +337,8 @@ func TestDecode(t *testing.T) { wantErr: false, }, "Struct/Int": { - arg: func() interface{} { return &testDecStruct{I: int(1234)} }, - data: []interface{}{ + arg: func() any { return &testDecStruct{I: int(1234)} }, + data: []any{ mapLen(1), "I", int64(1234), @@ -349,8 +349,8 @@ func TestDecode(t *testing.T) { wantErr: false, }, "Struct/Uint": { - arg: func() interface{} { return &testDecStruct{U: uint(1234)} }, - data: []interface{}{ + arg: func() any { return &testDecStruct{U: uint(1234)} }, + data: []any{ mapLen(1), "U", uint64(1234), @@ -361,8 +361,8 @@ func TestDecode(t *testing.T) { wantErr: false, }, "Struct/Float": { - arg: func() interface{} { return &testDecStruct{F64: float64(1234)} }, - data: []interface{}{ + arg: func() any { return &testDecStruct{F64: float64(1234)} }, + data: []any{ mapLen(1), "F64", float64(1234), @@ -373,8 +373,8 @@ func TestDecode(t *testing.T) { wantErr: false, }, "Struct/String": { - arg: func() interface{} { return &testDecStruct{S: "hello"} }, - data: []interface{}{ + arg: func() any { return &testDecStruct{S: "hello"} }, + data: []any{ mapLen(1), "S", "hello", @@ -385,8 +385,8 @@ func TestDecode(t *testing.T) { wantErr: false, }, "Struct/StringSlice": { - arg: func() interface{} { return &testDecStruct{SS: []string{"hello", "world"}} }, - data: []interface{}{ + arg: func() any { return &testDecStruct{SS: []string{"hello", "world"}} }, + data: []any{ mapLen(1), "SS", arrayLen(2), @@ -398,8 +398,8 @@ func TestDecode(t *testing.T) { wantErr: false, }, "Interface/IntPointer": { - arg: func() interface{} { return &testDecStruct{IF: ptrInt(1234)} }, - data: []interface{}{ + arg: func() any { return &testDecStruct{IF: ptrInt(1234)} }, + data: []any{ mapLen(1), "IF", int64(5678), @@ -410,8 +410,8 @@ func TestDecode(t *testing.T) { wantErr: false, }, "Interface/UintPointer": { - arg: func() interface{} { return &testDecStruct{IF: ptrUint(1234)} }, - data: []interface{}{ + arg: func() any { return &testDecStruct{IF: ptrUint(1234)} }, + data: []any{ mapLen(1), "IF", uint64(5678), @@ -422,8 +422,8 @@ func TestDecode(t *testing.T) { wantErr: false, }, "Interface/StringSlice": { - arg: func() interface{} { return &testDecStruct{IF: []string{"hello", "world"}} }, - data: []interface{}{ + arg: func() any { return &testDecStruct{IF: []string{"hello", "world"}} }, + data: []any{ mapLen(1), "IF", arrayLen(1), @@ -435,32 +435,32 @@ func TestDecode(t *testing.T) { wantErr: false, }, "Interface/NoReflect/Bool": { - arg: func() interface{} { return new(interface{}) }, - data: []interface{}{bool(true)}, + arg: func() any { return new(any) }, + data: []any{bool(true)}, expected: bool(true), wantErr: false, }, "Interface/NoReflect/Float64": { - arg: func() interface{} { return new(interface{}) }, - data: []interface{}{float64(1234)}, + arg: func() any { return new(any) }, + data: []any{float64(1234)}, expected: float64(1234), wantErr: false, }, "Interface/NoReflect/Bytes": { - arg: func() interface{} { return new(interface{}) }, - data: []interface{}{[]byte("hello")}, + arg: func() any { return new(any) }, + data: []any{[]byte("hello")}, expected: []byte("hello"), wantErr: false, }, "Interface/NoReflect/String": { - arg: func() interface{} { return new(interface{}) }, - data: []interface{}{"hello"}, + arg: func() any { return new(any) }, + data: []any{"hello"}, expected: string("hello"), wantErr: false, }, "Interface/Extensions/ExtensionValue": { - arg: func() interface{} { return new(interface{}) }, - data: []interface{}{ + arg: func() any { return new(any) }, + data: []any{ extension{ 0, "hello", }, @@ -472,8 +472,8 @@ func TestDecode(t *testing.T) { wantErr: false, }, "Interface/Extensions/TestExtension": { - arg: func() interface{} { return new(interface{}) }, - data: []interface{}{ + arg: func() any { return new(any) }, + data: []any{ extension{ 1, "hello", }, @@ -484,8 +484,8 @@ func TestDecode(t *testing.T) { wantErr: false, }, "Extensions/TestExtension": { - arg: func() interface{} { return new(testExtension1) }, - data: []interface{}{ + arg: func() any { return new(testExtension1) }, + data: []any{ extension{ 1, "hello", }, @@ -496,8 +496,8 @@ func TestDecode(t *testing.T) { wantErr: false, }, "Empty/blank": { - arg: func() interface{} { return &testDecEmptyStruct{} }, - data: []interface{}{ + arg: func() any { return &testDecEmptyStruct{} }, + data: []any{ mapLen(0), }, expected: testDecEmptyStruct{ @@ -510,8 +510,8 @@ func TestDecode(t *testing.T) { wantErr: false, }, "Empty/NotBlank": { - arg: func() interface{} { return &testDecEmptyStruct{} }, - data: []interface{}{ + arg: func() any { return &testDecEmptyStruct{} }, + data: []any{ mapLen(1), "S", "not blank", }, @@ -525,32 +525,32 @@ func TestDecode(t *testing.T) { wantErr: false, }, "Error/Bool": { - arg: func() interface{} { return &testDecStruct{B: true} }, - data: []interface{}{mapLen(1), "B", false}, + arg: func() any { return &testDecStruct{B: true} }, + data: []any{mapLen(1), "B", false}, expected: testDecStruct{B: true}, wantErr: true, }, "Error/Int": { - arg: func() interface{} { return &testDecStruct{I: int(1234)} }, - data: []interface{}{mapLen(1), "I", int64(5678)}, + arg: func() any { return &testDecStruct{I: int(1234)} }, + data: []any{mapLen(1), "I", int64(5678)}, expected: testDecStruct{I: int(1234)}, wantErr: true, }, "Error/Uint": { - arg: func() interface{} { return &testDecStruct{U: uint(1234)} }, - data: []interface{}{mapLen(1), "U", uint64(5678)}, + arg: func() any { return &testDecStruct{U: uint(1234)} }, + data: []any{mapLen(1), "U", uint64(5678)}, expected: testDecStruct{U: uint(1234)}, wantErr: true, }, "Error/Float": { - arg: func() interface{} { return &testDecStruct{F64: float64(1234)} }, - data: []interface{}{mapLen(1), "F64", float64(5678)}, + arg: func() any { return &testDecStruct{F64: float64(1234)} }, + data: []any{mapLen(1), "F64", float64(5678)}, expected: testDecStruct{F64: float64(1234)}, wantErr: true, }, "Error/String": { - arg: func() interface{} { return &testDecStruct{S: "hello"} }, - data: []interface{}{mapLen(1), "S", "world"}, + arg: func() any { return &testDecStruct{S: "hello"} }, + data: []any{mapLen(1), "S", "world"}, expected: testDecStruct{S: "hello"}, wantErr: true, }, diff --git a/msgpack/encode.go b/msgpack/encode.go index 22ba89d0..84cde5d7 100644 --- a/msgpack/encode.go +++ b/msgpack/encode.go @@ -57,7 +57,7 @@ func encodeUnsupportedType(e *Encoder, v reflect.Value) { // // Interface values encode as the value contained in the interface. A nil // interface value encodes as the MessagePack nil value. -func (e *Encoder) Encode(v interface{}) (err error) { +func (e *Encoder) Encode(v any) (err error) { if v == nil { return e.PackNil() } diff --git a/msgpack/encode_test.go b/msgpack/encode_test.go index af65b72f..84dde4ba 100644 --- a/msgpack/encode_test.go +++ b/msgpack/encode_test.go @@ -42,94 +42,94 @@ func TestEncode(t *testing.T) { t.Parallel() encodeTests := map[string]struct { - v interface{} - data []interface{} + v any + data []any }{ "Bool": { v: true, - data: []interface{}{true}, + data: []any{true}, }, "Int": { v: int(1), - data: []interface{}{(1)}, + data: []any{(1)}, }, "Int8": { v: int8(2), - data: []interface{}{2}, + data: []any{2}, }, "Int16": { v: int16(3), - data: []interface{}{3}, + data: []any{3}, }, "Int32": { v: int32(4), - data: []interface{}{4}, + data: []any{4}, }, "Int64": { v: int64(5), - data: []interface{}{5}, + data: []any{5}, }, "Uint": { v: uint(1), - data: []interface{}{1}, + data: []any{1}, }, "Uint8": { v: uint8(2), - data: []interface{}{2}, + data: []any{2}, }, "Uint16": { v: uint16(3), - data: []interface{}{3}, + data: []any{3}, }, "Uint32": { v: uint32(4), - data: []interface{}{4}, + data: []any{4}, }, "Uint64": { v: uint64(5), - data: []interface{}{5}, + data: []any{5}, }, "Float32": { v: float32(5.0), - data: []interface{}{5.0}, + data: []any{5.0}, }, "Float64": { v: float64(6.0), - data: []interface{}{6.0}, + data: []any{6.0}, }, "String": { v: "hello", - data: []interface{}{"hello"}, + data: []any{"hello"}, }, "Bytes": { v: []byte("world"), - data: []interface{}{[]byte("world")}, + data: []any{[]byte("world")}, }, "typedString": { v: typedString("quux"), - data: []interface{}{"quux"}, + data: []any{"quux"}, }, "typedByteSlice": { v: typedByteSlice("foo"), - data: []interface{}{ + data: []any{ []byte("foo"), }, }, "typedTypedByteSlice": { v: typedTypedByteSlice("bar"), - data: []interface{}{[]byte("bar")}, + data: []any{[]byte("bar")}, }, "StringSlice/Nil": { v: []string(nil), - data: []interface{}{nil}, + data: []any{nil}, }, "StringSlice/Empty": { v: []string{}, - data: []interface{}{arrayLen(0)}, + data: []any{arrayLen(0)}, }, "StringSlice/Value": { v: []string{"hello", "world"}, - data: []interface{}{ + data: []any{ arrayLen(2), "hello", "world", @@ -137,7 +137,7 @@ func TestEncode(t *testing.T) { }, "StringArray/Value": { v: [2]string{"hello", "world"}, - data: []interface{}{ + data: []any{ arrayLen(2), "hello", "world", @@ -145,11 +145,11 @@ func TestEncode(t *testing.T) { }, "MapStringString/Nil": { v: map[string]string(nil), - data: []interface{}{nil}, + data: []any{nil}, }, "MapStringString/Value": { v: map[string]string{"hello": "world"}, - data: []interface{}{ + data: []any{ mapLen(1), "hello", "world", @@ -157,7 +157,7 @@ func TestEncode(t *testing.T) { }, "IntPointer": { v: new(int), - data: []interface{}{0}, + data: []any{0}, }, "TagNames": { v: struct { @@ -171,7 +171,7 @@ func TestEncode(t *testing.T) { C: 3, D: 4, }, - data: []interface{}{ + data: []any{ mapLen(3), "A", 1, "BB", 2, @@ -186,7 +186,7 @@ func TestEncode(t *testing.T) { I: 22, S: "skidoo", }, - data: []interface{}{arrayLen(2), 22, "skidoo"}, + data: []any{arrayLen(2), 22, "skidoo"}, }, "OmitEmpty": { v: struct { @@ -233,7 +233,7 @@ func TestEncode(t *testing.T) { M: map[string]string{"foo": "bar"}, P: new(int), }, - data: []interface{}{ + data: []any{ mapLen(8), "s", "1", "i", 2, @@ -247,7 +247,7 @@ func TestEncode(t *testing.T) { }, "Struct": { v: &ra{"foo", &rb{"bar", &ra{"quux", nil}}}, - data: []interface{}{ + data: []any{ mapLen(2), "Sa", "foo", "Ra", mapLen(2), @@ -259,15 +259,15 @@ func TestEncode(t *testing.T) { }, "MarshalMsgPack": { v: &me{"hello"}, - data: []interface{}{"hello"}, + data: []any{"hello"}, }, "Interface": { - v: []interface{}{"foo", "bar"}, - data: []interface{}{arrayLen(2), "foo", "bar"}, + v: []any{"foo", "bar"}, + data: []any{arrayLen(2), "foo", "bar"}, }, "Nil": { v: nil, - data: []interface{}{nil}, + data: []any{nil}, }, } for name, tt := range encodeTests { diff --git a/msgpack/msgpack_bench_test.go b/msgpack/msgpack_bench_test.go index 9448a909..9d41611d 100644 --- a/msgpack/msgpack_bench_test.go +++ b/msgpack/msgpack_bench_test.go @@ -16,7 +16,7 @@ func BenchmarkEncode(b *testing.B) { b.ReportAllocs() benchs := map[string]struct { - value interface{} + value any }{ "Bool/False": { value: false, @@ -817,7 +817,7 @@ func BenchmarkDecode(b *testing.B) { }) b.Run("Map/Interface", func(b *testing.B) { - m := map[string]interface{}{ + m := map[string]any{ "uint8": uint64(math.MaxUint8), "uint16": uint64(math.MaxUint16), "uint32": uint64(math.MaxUint32), @@ -832,7 +832,7 @@ func BenchmarkDecode(b *testing.B) { b.SetBytes(builder.Count()) b.ResetTimer() for i := 0; i < b.N; i++ { - v := make(map[string]interface{}) + v := make(map[string]any) if err := dec.Decode(&v); err != nil { b.Fatal(err) } @@ -950,7 +950,7 @@ func BenchmarkDecoderByteSlice(b *testing.B) { func benchmarkDecoderInterface(ds *decodeState) func(*testing.B) { return func(b *testing.B) { - v := reflect.ValueOf(new(interface{})).Elem() + v := reflect.ValueOf(new(any)).Elem() for i := 0; i < b.N; i++ { interfaceDecoder(ds, v) } diff --git a/msgpack/msgpack_test.go b/msgpack/msgpack_test.go index 0d763625..d9e37065 100644 --- a/msgpack/msgpack_test.go +++ b/msgpack/msgpack_test.go @@ -24,7 +24,7 @@ import ( // string PackString(s, false) // []byte PackBytes(s, true) // extension PackExtension(k, d) -func pack(vs ...interface{}) ([]byte, error) { +func pack(vs ...any) ([]byte, error) { var buf bytes.Buffer enc := NewEncoder(&buf) @@ -79,8 +79,8 @@ func pack(vs ...interface{}) ([]byte, error) { // // This function is not suitable for unpack tests because the integer and float // types are mapped to int and float64 respectively. -func unpack(p []byte) ([]interface{}, error) { - var data []interface{} +func unpack(p []byte) ([]any, error) { + var data []any u := NewDecoder(bytes.NewReader(p)) for { @@ -91,7 +91,7 @@ func unpack(p []byte) ([]interface{}, error) { return nil, err } - var v interface{} + var v any switch u.Type() { case Nil: v = nil @@ -162,7 +162,7 @@ func (x *testExtension1) UnmarshalMsgPack(dec *Decoder) error { } var testExtensionMap = ExtensionMap{ - 1: func(data []byte) (interface{}, error) { return testExtension1{data}, nil }, + 1: func(data []byte) (any, error) { return testExtension1{data}, nil }, } func ptrInt(i int) *int { @@ -213,7 +213,7 @@ type WriteByteWriter interface { } type testArrayBuilder struct { - buffer []interface{} + buffer []any tb testing.TB } @@ -223,7 +223,7 @@ func NewTestArrayBuilder(tb testing.TB) *testArrayBuilder { } } -func (e *testArrayBuilder) Add(v interface{}) { +func (e *testArrayBuilder) Add(v any) { e.buffer = append(e.buffer, v) } @@ -277,7 +277,7 @@ func (e testArrayBuilder) Bytes() []byte { } type testMapBuilder struct { - valuas []interface{} + valuas []any tb testing.TB } @@ -287,7 +287,7 @@ func NewTestMapBuilder(tb testing.TB) *testMapBuilder { } } -func (m *testMapBuilder) Add(key string, value interface{}) { +func (m *testMapBuilder) Add(key string, value any) { m.valuas = append(m.valuas, key, value) } diff --git a/msgpack/pack_test.go b/msgpack/pack_test.go index 898cb35a..e6e46c78 100644 --- a/msgpack/pack_test.go +++ b/msgpack/pack_test.go @@ -12,7 +12,7 @@ func TestPack(t *testing.T) { packTests := map[string]struct { // Expected value - v interface{} + v any // Hex encodings of typ, v hs string }{ diff --git a/msgpack/rpc/rpc.go b/msgpack/rpc/rpc.go index bc9e68a6..3869cb8f 100644 --- a/msgpack/rpc/rpc.go +++ b/msgpack/rpc/rpc.go @@ -50,7 +50,7 @@ var ( // Error represents a MessagePack RPC error. type Error struct { - Value interface{} + Value any } // Error implements the error interface. @@ -60,8 +60,8 @@ func (e Error) Error() string { // Call represents a MessagePack RPC call. type Call struct { - Args interface{} - Reply interface{} + Args any + Reply any Err error Done chan *Call Method string @@ -92,7 +92,7 @@ type notification struct { // Endpoint represents a MessagePack RPC peer. type Endpoint struct { err error - logf func(fmt string, args ...interface{}) + logf func(fmt string, args ...any) done chan struct{} closer io.Closer @@ -126,7 +126,7 @@ func WithExtensions(extensions msgpack.ExtensionMap) Option { } // WithLogf sets the log function to Endpoint. -func WithLogf(f func(fmt string, args ...interface{})) Option { +func WithLogf(f func(fmt string, args ...any)) Option { return Option{func(e *Endpoint) { e.logf = f }} @@ -255,7 +255,7 @@ var errorType = reflect.ValueOf(new(error)).Elem().Type() // // When servicing a call, the arguments to fn are the values in args followed // by the values passed from the peer. -func (e *Endpoint) Register(method string, fn interface{}, args ...interface{}) error { +func (e *Endpoint) Register(method string, fn any, args ...any) error { v := reflect.ValueOf(fn) t := v.Type() if t.Kind() != reflect.Func { @@ -295,15 +295,15 @@ func (e *Endpoint) Register(method string, fn interface{}, args ...interface{}) } // Call invokes the target method and waits for a response. -func (e *Endpoint) Call(method string, reply interface{}, args ...interface{}) error { +func (e *Endpoint) Call(method string, reply any, args ...any) error { c := <-e.Go(method, make(chan *Call, 1), reply, args...).Done return c.Err } // Go append method call to queue and returns the new Call. -func (e *Endpoint) Go(method string, done chan *Call, reply interface{}, args ...interface{}) *Call { +func (e *Endpoint) Go(method string, done chan *Call, reply any, args ...any) *Call { if args == nil { - args = []interface{}{} + args = []any{} } if done == nil { @@ -334,7 +334,7 @@ func (e *Endpoint) Go(method string, done chan *Call, reply interface{}, args .. Kind kind `msgpack:",array"` ID uint64 Method string - Args []interface{} + Args []any }{ requestMessage, id, @@ -363,15 +363,15 @@ func (e *Endpoint) Go(method string, done chan *Call, reply interface{}, args .. } // Notify invokes the target method with non-blocking. -func (e *Endpoint) Notify(method string, args ...interface{}) error { +func (e *Endpoint) Notify(method string, args ...any) error { if args == nil { - args = []interface{}{} + args = []any{} } message := &struct { Kind kind `msgpack:",array"` Method string - Args []interface{} + Args []any }{ notificationMessage, method, @@ -471,7 +471,7 @@ func (e *Endpoint) createCall(h *handler) (func([]reflect.Value) []reflect.Value return h.fn.CallSlice, args, nil } -func (e *Endpoint) reply(id uint64, replyErr error, reply interface{}) error { +func (e *Endpoint) reply(id uint64, replyErr error, reply any) error { e.encMu.Lock() defer e.encMu.Unlock() @@ -549,7 +549,7 @@ func (e *Endpoint) handleRequest(messageLen int) error { go func() { out := call(args) var replyErr error - var replyVal interface{} + var replyVal any switch h.fn.Type().NumOut() { case 1: replyErr, _ = out[0].Interface().(error) @@ -586,7 +586,7 @@ func (e *Endpoint) handleReply(messageLen int) error { return e.skip(2) } - var errorValue interface{} + var errorValue any if err := e.dec.Decode(&errorValue); err != nil { call.done(e, ErrInternal) return fmt.Errorf("msgpack/rpc: error decoding error value: %w", err) diff --git a/msgpack/rpc/rpc_test.go b/msgpack/rpc/rpc_test.go index 82c6540a..275ac6a7 100644 --- a/msgpack/rpc/rpc_test.go +++ b/msgpack/rpc/rpc_test.go @@ -128,67 +128,67 @@ func TestArgs(t *testing.T) { argsTests := []struct { sm string - args []interface{} + args []any result []string }{ { sm: "n", - args: []interface{}{}, + args: []any{}, result: []string{"", ""}, }, { sm: "n", - args: []interface{}{"a"}, + args: []any{"a"}, result: []string{"a", ""}, }, { sm: "n", - args: []interface{}{"a", "b"}, + args: []any{"a", "b"}, result: []string{"a", "b"}, }, { sm: "n", - args: []interface{}{"a", "b", "c"}, + args: []any{"a", "b", "c"}, result: []string{"a", "b"}, }, { sm: "v", - args: []interface{}{}, + args: []any{}, result: []string{"", ""}, }, { sm: "v", - args: []interface{}{"a"}, + args: []any{"a"}, result: []string{"a", ""}, }, { sm: "v", - args: []interface{}{"a", "b"}, + args: []any{"a", "b"}, result: []string{"a", "b"}, }, { sm: "v", - args: []interface{}{"a", "b", "x1"}, + args: []any{"a", "b", "x1"}, result: []string{"a", "b", "x1"}, }, { sm: "v", - args: []interface{}{"a", "b", "x1", "x2"}, + args: []any{"a", "b", "x1", "x2"}, result: []string{"a", "b", "x1", "x2"}, }, { sm: "v", - args: []interface{}{"a", "b", "x1", "x2", "x3"}, + args: []any{"a", "b", "x1", "x2", "x3"}, result: []string{"a", "b", "x1", "x2", "x3"}, }, { sm: "a", - args: []interface{}{}, + args: []any{}, result: []string(nil), }, { sm: "a", - args: []interface{}{"x1", "x2", "x3"}, + args: []any{"x1", "x2", "x3"}, result: []string{"x1", "x2", "x3"}, }, } diff --git a/msgpack/unpack.go b/msgpack/unpack.go index 2663b1bc..0e779ba0 100644 --- a/msgpack/unpack.go +++ b/msgpack/unpack.go @@ -82,7 +82,7 @@ func NewDecoder(r io.Reader) *Decoder { // // The key is the MessagePack extension type. // The value is a function that converts the extension data to a Go value. -type ExtensionMap map[int]func([]byte) (interface{}, error) +type ExtensionMap map[int]func([]byte) (any, error) // SetExtensions specifies functions for converting MessagePack extensions to Go // values. diff --git a/msgpack/unpack_test.go b/msgpack/unpack_test.go index e3d21d89..ec9ce103 100644 --- a/msgpack/unpack_test.go +++ b/msgpack/unpack_test.go @@ -79,7 +79,7 @@ var unpackTests = map[string]struct { // typ is Expected type typ Type // v is Expected value - v interface{} + v any // hs is Hex encodings of typ, v hs []string }{ diff --git a/nvim/api.go b/nvim/api.go index cb9f4655..1dcce5e1 100644 --- a/nvim/api.go +++ b/nvim/api.go @@ -16,17 +16,17 @@ const ( func withExtensions() rpc.Option { return rpc.WithExtensions(msgpack.ExtensionMap{ - 0: func(p []byte) (interface{}, error) { + 0: func(p []byte) (any, error) { x, err := decodeExt(p) return Buffer(x), err }, - 2: func(p []byte) (interface{}, error) { + 2: func(p []byte) (any, error) { x, err := decodeExt(p) return Tabpage(x), err }, - 1: func(p []byte) (interface{}, error) { + 1: func(p []byte) (any, error) { x, err := decodeExt(p) return Window(x), err }, @@ -101,7 +101,7 @@ func (x Window) String() string { // See: [nvim_get_autocmds()] // // [nvim_get_autocmds()]: https://neovim.io/doc/user/api.html#nvim_get_autocmds() -func (v *Nvim) Autocmds(opts map[string]interface{}) (result []*AutocmdType, err error) { +func (v *Nvim) Autocmds(opts map[string]any) (result []*AutocmdType, err error) { err = v.call("nvim_get_autocmds", &result, opts) return result, err } @@ -114,7 +114,7 @@ func (v *Nvim) Autocmds(opts map[string]interface{}) (result []*AutocmdType, err // See: [nvim_get_autocmds()] // // [nvim_get_autocmds()]: https://neovim.io/doc/user/api.html#nvim_get_autocmds() -func (b *Batch) Autocmds(opts map[string]interface{}, result *[]*AutocmdType) { +func (b *Batch) Autocmds(opts map[string]any, result *[]*AutocmdType) { b.call("nvim_get_autocmds", result, opts) } @@ -126,7 +126,7 @@ func (b *Batch) Autocmds(opts map[string]interface{}, result *[]*AutocmdType) { // See: [nvim_create_autocmd()] // // [nvim_create_autocmd()]: https://neovim.io/doc/user/api.html#nvim_create_autocmd() -func (v *Nvim) CreateAutocmd(event interface{}, opts map[string]interface{}) (id int, err error) { +func (v *Nvim) CreateAutocmd(event any, opts map[string]any) (id int, err error) { err = v.call("nvim_create_autocmd", &id, event, opts) return id, err } @@ -139,7 +139,7 @@ func (v *Nvim) CreateAutocmd(event interface{}, opts map[string]interface{}) (id // See: [nvim_create_autocmd()] // // [nvim_create_autocmd()]: https://neovim.io/doc/user/api.html#nvim_create_autocmd() -func (b *Batch) CreateAutocmd(event interface{}, opts map[string]interface{}, id *int) { +func (b *Batch) CreateAutocmd(event any, opts map[string]any, id *int) { b.call("nvim_create_autocmd", id, event, opts) } @@ -172,7 +172,7 @@ func (b *Batch) DeleteAutocmd(id int) { // See: [nvim_clear_autocmds()] // // [nvim_clear_autocmds()]: https://neovim.io/doc/user/api.html#nvim_clear_autocmds() -func (v *Nvim) ClearAutocmds(opts map[string]interface{}) error { +func (v *Nvim) ClearAutocmds(opts map[string]any) error { return v.call("nvim_clear_autocmds", nil, opts) } @@ -183,7 +183,7 @@ func (v *Nvim) ClearAutocmds(opts map[string]interface{}) error { // See: [nvim_clear_autocmds()] // // [nvim_clear_autocmds()]: https://neovim.io/doc/user/api.html#nvim_clear_autocmds() -func (b *Batch) ClearAutocmds(opts map[string]interface{}) { +func (b *Batch) ClearAutocmds(opts map[string]any) { b.call("nvim_clear_autocmds", nil, opts) } @@ -192,7 +192,7 @@ func (b *Batch) ClearAutocmds(opts map[string]interface{}) { // See: [nvim_create_augroup()] // // [nvim_create_augroup()]: https://neovim.io/doc/user/api.html#nvim_create_augroup() -func (v *Nvim) CreateAugroup(name string, opts map[string]interface{}) (id int, err error) { +func (v *Nvim) CreateAugroup(name string, opts map[string]any) (id int, err error) { err = v.call("nvim_create_augroup", &id, name, opts) return id, err } @@ -202,7 +202,7 @@ func (v *Nvim) CreateAugroup(name string, opts map[string]interface{}) (id int, // See: [nvim_create_augroup()] // // [nvim_create_augroup()]: https://neovim.io/doc/user/api.html#nvim_create_augroup() -func (b *Batch) CreateAugroup(name string, opts map[string]interface{}, id *int) { +func (b *Batch) CreateAugroup(name string, opts map[string]any, id *int) { b.call("nvim_create_augroup", id, name, opts) } @@ -247,7 +247,7 @@ func (b *Batch) DeleteAugroupByName(name string) { // See: [nvim_exec_autocmds()] // // [nvim_exec_autocmds()]: https://neovim.io/doc/user/api.html#nvim_exec_autocmds() -func (v *Nvim) ExecAutocmds(event interface{}, opts map[string]interface{}) error { +func (v *Nvim) ExecAutocmds(event any, opts map[string]any) error { return v.call("nvim_exec_autocmds", nil, event, opts) } @@ -256,7 +256,7 @@ func (v *Nvim) ExecAutocmds(event interface{}, opts map[string]interface{}) erro // See: [nvim_exec_autocmds()] // // [nvim_exec_autocmds()]: https://neovim.io/doc/user/api.html#nvim_exec_autocmds() -func (b *Batch) ExecAutocmds(event interface{}, opts map[string]interface{}) { +func (b *Batch) ExecAutocmds(event any, opts map[string]any) { b.call("nvim_exec_autocmds", nil, event, opts) } @@ -300,7 +300,7 @@ func (b *Batch) BufferLineCount(buffer Buffer, count *int) { // See: [nvim_buf_attach()] // // [nvim_buf_attach()]: https://neovim.io/doc/user/api.html#nvim_buf_attach() -func (v *Nvim) AttachBuffer(buffer Buffer, sendBuffer bool, opts map[string]interface{}) (attached bool, err error) { +func (v *Nvim) AttachBuffer(buffer Buffer, sendBuffer bool, opts map[string]any) (attached bool, err error) { err = v.call("nvim_buf_attach", &attached, buffer, sendBuffer, opts) return attached, err } @@ -318,7 +318,7 @@ func (v *Nvim) AttachBuffer(buffer Buffer, sendBuffer bool, opts map[string]inte // See: [nvim_buf_attach()] // // [nvim_buf_attach()]: https://neovim.io/doc/user/api.html#nvim_buf_attach() -func (b *Batch) AttachBuffer(buffer Buffer, sendBuffer bool, opts map[string]interface{}, attached *bool) { +func (b *Batch) AttachBuffer(buffer Buffer, sendBuffer bool, opts map[string]any, attached *bool) { b.call("nvim_buf_attach", attached, buffer, sendBuffer, opts) } @@ -472,7 +472,7 @@ func (b *Batch) SetBufferText(buffer Buffer, startRow int, startCol int, endRow // See: [nvim_buf_get_text()] // // [nvim_buf_get_text()]: https://neovim.io/doc/user/api.html#nvim_buf_get_text() -func (v *Nvim) BufferText(buffer Buffer, startRow int, startCol int, endRow int, endCol int, opts map[string]interface{}) ([][]byte, error) { +func (v *Nvim) BufferText(buffer Buffer, startRow int, startCol int, endRow int, endCol int, opts map[string]any) ([][]byte, error) { var result [][]byte err := v.call("nvim_buf_get_text", &result, buffer, startRow, startCol, endRow, endCol, opts) return result, err @@ -492,7 +492,7 @@ func (v *Nvim) BufferText(buffer Buffer, startRow int, startCol int, endRow int, // See: [nvim_buf_get_text()] // // [nvim_buf_get_text()]: https://neovim.io/doc/user/api.html#nvim_buf_get_text() -func (b *Batch) BufferText(buffer Buffer, startRow int, startCol int, endRow int, endCol int, opts map[string]interface{}, result *[][]byte) { +func (b *Batch) BufferText(buffer Buffer, startRow int, startCol int, endRow int, endCol int, opts map[string]any, result *[][]byte) { b.call("nvim_buf_get_text", result, buffer, startRow, startCol, endRow, endCol, opts) } @@ -540,7 +540,7 @@ func (b *Batch) BufferOffset(buffer Buffer, index int, offset *int) { // See: [nvim_buf_get_var()] // // [nvim_buf_get_var()]: https://neovim.io/doc/user/api.html#nvim_buf_get_var() -func (v *Nvim) BufferVar(buffer Buffer, name string, result interface{}) error { +func (v *Nvim) BufferVar(buffer Buffer, name string, result any) error { return v.call("nvim_buf_get_var", result, buffer, name) } @@ -549,7 +549,7 @@ func (v *Nvim) BufferVar(buffer Buffer, name string, result interface{}) error { // See: [nvim_buf_get_var()] // // [nvim_buf_get_var()]: https://neovim.io/doc/user/api.html#nvim_buf_get_var() -func (b *Batch) BufferVar(buffer Buffer, name string, result interface{}) { +func (b *Batch) BufferVar(buffer Buffer, name string, result any) { b.call("nvim_buf_get_var", &result, buffer, name) } @@ -637,7 +637,7 @@ func (b *Batch) DeleteBufferKeyMap(buffer Buffer, mode string, lhs string) { // See: [nvim_buf_set_var()] // // [nvim_buf_set_var()]: https://neovim.io/doc/user/api.html#nvim_buf_set_var() -func (v *Nvim) SetBufferVar(buffer Buffer, name string, value interface{}) error { +func (v *Nvim) SetBufferVar(buffer Buffer, name string, value any) error { return v.call("nvim_buf_set_var", nil, buffer, name, value) } @@ -646,7 +646,7 @@ func (v *Nvim) SetBufferVar(buffer Buffer, name string, value interface{}) error // See: [nvim_buf_set_var()] // // [nvim_buf_set_var()]: https://neovim.io/doc/user/api.html#nvim_buf_set_var() -func (b *Batch) SetBufferVar(buffer Buffer, name string, value interface{}) { +func (b *Batch) SetBufferVar(buffer Buffer, name string, value any) { b.call("nvim_buf_set_var", nil, buffer, name, value) } @@ -829,7 +829,7 @@ func (b *Batch) DeleteBufferMark(buffer Buffer, name string, deleted *bool) { // See: [nvim_buf_set_mark()] // // [nvim_buf_set_mark()]: https://neovim.io/doc/user/api.html#nvim_buf_set_mark() -func (v *Nvim) SetBufferMark(buffer Buffer, name string, line int, col int, opts map[string]interface{}) (set bool, err error) { +func (v *Nvim) SetBufferMark(buffer Buffer, name string, line int, col int, opts map[string]any) (set bool, err error) { err = v.call("nvim_buf_set_mark", &set, buffer, name, line, col, opts) return set, err } @@ -845,7 +845,7 @@ func (v *Nvim) SetBufferMark(buffer Buffer, name string, line int, col int, opts // See: [nvim_buf_set_mark()] // // [nvim_buf_set_mark()]: https://neovim.io/doc/user/api.html#nvim_buf_set_mark() -func (b *Batch) SetBufferMark(buffer Buffer, name string, line int, col int, opts map[string]interface{}, set *bool) { +func (b *Batch) SetBufferMark(buffer Buffer, name string, line int, col int, opts map[string]any, set *bool) { b.call("nvim_buf_set_mark", set, buffer, name, line, col, opts) } @@ -1032,7 +1032,7 @@ func (b *Batch) BufferMark(buffer Buffer, name string, pos *[2]int) { // See: [nvim_parse_cmd()] // // [nvim_parse_cmd()]: https://neovim.io/doc/user/api.html#nvim_parse_cmd() -func (v *Nvim) ParseCmd(str string, opts map[string]interface{}) (cmd *Cmd, err error) { +func (v *Nvim) ParseCmd(str string, opts map[string]any) (cmd *Cmd, err error) { var result Cmd err = v.call("nvim_parse_cmd", &result, str, opts) return &result, err @@ -1198,7 +1198,7 @@ func (v *Nvim) ParseCmd(str string, opts map[string]interface{}) (cmd *Cmd, err // See: [nvim_parse_cmd()] // // [nvim_parse_cmd()]: https://neovim.io/doc/user/api.html#nvim_parse_cmd() -func (b *Batch) ParseCmd(str string, opts map[string]interface{}, cmd *Cmd) { +func (b *Batch) ParseCmd(str string, opts map[string]any, cmd *Cmd) { b.call("nvim_parse_cmd", cmd, str, opts) } @@ -1281,7 +1281,7 @@ func (b *Batch) Cmd(cmd *Cmd, opts map[string]bool, output *string) { // See: [nvim_create_user_command()] // // [nvim_create_user_command()]: https://neovim.io/doc/user/api.html#nvim_create_user_command() -func (v *Nvim) CreateUserCommand(name string, command UserCommand, opts map[string]interface{}) error { +func (v *Nvim) CreateUserCommand(name string, command UserCommand, opts map[string]any) error { return v.call("nvim_create_user_command", nil, name, command, opts) } @@ -1309,7 +1309,7 @@ func (v *Nvim) CreateUserCommand(name string, command UserCommand, opts map[stri // See: [nvim_create_user_command()] // // [nvim_create_user_command()]: https://neovim.io/doc/user/api.html#nvim_create_user_command() -func (b *Batch) CreateUserCommand(name string, command UserCommand, opts map[string]interface{}) { +func (b *Batch) CreateUserCommand(name string, command UserCommand, opts map[string]any) { b.call("nvim_create_user_command", nil, name, command, opts) } @@ -1338,7 +1338,7 @@ func (b *Batch) DeleteUserCommand(name string) { // See: [nvim_buf_create_user_command()] // // [nvim_buf_create_user_command()]: https://neovim.io/doc/user/api.html#nvim_buf_create_user_command() -func (v *Nvim) CreateBufferUserCommand(buffer Buffer, name string, command UserCommand, opts map[string]interface{}) error { +func (v *Nvim) CreateBufferUserCommand(buffer Buffer, name string, command UserCommand, opts map[string]any) error { return v.call("nvim_buf_create_user_command", nil, buffer, name, command, opts) } @@ -1349,7 +1349,7 @@ func (v *Nvim) CreateBufferUserCommand(buffer Buffer, name string, command UserC // See: [nvim_buf_create_user_command()] // // [nvim_buf_create_user_command()]: https://neovim.io/doc/user/api.html#nvim_buf_create_user_command() -func (b *Batch) CreateBufferUserCommand(buffer Buffer, name string, command UserCommand, opts map[string]interface{}) { +func (b *Batch) CreateBufferUserCommand(buffer Buffer, name string, command UserCommand, opts map[string]any) { b.call("nvim_buf_create_user_command", nil, buffer, name, command, opts) } @@ -1385,7 +1385,7 @@ func (b *Batch) DeleteBufferUserCommand(buffer Buffer, name string) { // See: [nvim_get_commands()] // // [nvim_get_commands()]: https://neovim.io/doc/user/api.html#nvim_get_commands() -func (v *Nvim) Commands(opts map[string]interface{}) (commands map[string]*Command, err error) { +func (v *Nvim) Commands(opts map[string]any) (commands map[string]*Command, err error) { err = v.call("nvim_get_commands", &commands, opts) return commands, err } @@ -1400,7 +1400,7 @@ func (v *Nvim) Commands(opts map[string]interface{}) (commands map[string]*Comma // See: [nvim_get_commands()] // // [nvim_get_commands()]: https://neovim.io/doc/user/api.html#nvim_get_commands() -func (b *Batch) Commands(opts map[string]interface{}, commands *map[string]*Command) { +func (b *Batch) Commands(opts map[string]any, commands *map[string]*Command) { b.call("nvim_get_commands", commands, opts) } @@ -1411,7 +1411,7 @@ func (b *Batch) Commands(opts map[string]interface{}, commands *map[string]*Comm // See: [nvim_buf_get_commands()] // // [nvim_buf_get_commands()]: https://neovim.io/doc/user/api.html#nvim_buf_get_commands() -func (v *Nvim) BufferCommands(buffer Buffer, opts map[string]interface{}) (map[string]*Command, error) { +func (v *Nvim) BufferCommands(buffer Buffer, opts map[string]any) (map[string]*Command, error) { var result map[string]*Command err := v.call("nvim_buf_get_commands", &result, buffer, opts) return result, err @@ -1424,7 +1424,7 @@ func (v *Nvim) BufferCommands(buffer Buffer, opts map[string]interface{}) (map[s // See: [nvim_buf_get_commands()] // // [nvim_buf_get_commands()]: https://neovim.io/doc/user/api.html#nvim_buf_get_commands() -func (b *Batch) BufferCommands(buffer Buffer, opts map[string]interface{}, result *map[string]*Command) { +func (b *Batch) BufferCommands(buffer Buffer, opts map[string]any, result *map[string]*Command) { b.call("nvim_buf_get_commands", result, buffer, opts) } @@ -1452,7 +1452,7 @@ func (b *Batch) TabpageWindows(tabpage Tabpage, windows *[]Window) { // See: [nvim_tabpage_get_var()] // // [nvim_tabpage_get_var()]: https://neovim.io/doc/user/api.html#nvim_tabpage_get_var() -func (v *Nvim) TabpageVar(tabpage Tabpage, name string, result interface{}) error { +func (v *Nvim) TabpageVar(tabpage Tabpage, name string, result any) error { return v.call("nvim_tabpage_get_var", result, tabpage, name) } @@ -1461,7 +1461,7 @@ func (v *Nvim) TabpageVar(tabpage Tabpage, name string, result interface{}) erro // See: [nvim_tabpage_get_var()] // // [nvim_tabpage_get_var()]: https://neovim.io/doc/user/api.html#nvim_tabpage_get_var() -func (b *Batch) TabpageVar(tabpage Tabpage, name string, result interface{}) { +func (b *Batch) TabpageVar(tabpage Tabpage, name string, result any) { b.call("nvim_tabpage_get_var", &result, tabpage, name) } @@ -1470,7 +1470,7 @@ func (b *Batch) TabpageVar(tabpage Tabpage, name string, result interface{}) { // See: [nvim_tabpage_set_var()] // // [nvim_tabpage_set_var()]: https://neovim.io/doc/user/api.html#nvim_tabpage_set_var() -func (v *Nvim) SetTabpageVar(tabpage Tabpage, name string, value interface{}) error { +func (v *Nvim) SetTabpageVar(tabpage Tabpage, name string, value any) error { return v.call("nvim_tabpage_set_var", nil, tabpage, name, value) } @@ -1479,7 +1479,7 @@ func (v *Nvim) SetTabpageVar(tabpage Tabpage, name string, value interface{}) er // See: [nvim_tabpage_set_var()] // // [nvim_tabpage_set_var()]: https://neovim.io/doc/user/api.html#nvim_tabpage_set_var() -func (b *Batch) SetTabpageVar(tabpage Tabpage, name string, value interface{}) { +func (b *Batch) SetTabpageVar(tabpage Tabpage, name string, value any) { b.call("nvim_tabpage_set_var", nil, tabpage, name, value) } @@ -1607,7 +1607,7 @@ func (b *Batch) CreateNamespace(name string, nsID *int) { // See: [nvim_buf_get_extmark_by_id()] // // [nvim_buf_get_extmark_by_id()]: https://neovim.io/doc/user/api.html#nvim_buf_get_extmark_by_id() -func (v *Nvim) BufferExtmarkByID(buffer Buffer, nsID int, id int, opt map[string]interface{}) (pos []int, err error) { +func (v *Nvim) BufferExtmarkByID(buffer Buffer, nsID int, id int, opt map[string]any) (pos []int, err error) { err = v.call("nvim_buf_get_extmark_by_id", &pos, buffer, nsID, id, opt) return pos, err } @@ -1623,7 +1623,7 @@ func (v *Nvim) BufferExtmarkByID(buffer Buffer, nsID int, id int, opt map[string // See: [nvim_buf_get_extmark_by_id()] // // [nvim_buf_get_extmark_by_id()]: https://neovim.io/doc/user/api.html#nvim_buf_get_extmark_by_id() -func (b *Batch) BufferExtmarkByID(buffer Buffer, nsID int, id int, opt map[string]interface{}, pos *[]int) { +func (b *Batch) BufferExtmarkByID(buffer Buffer, nsID int, id int, opt map[string]any, pos *[]int) { b.call("nvim_buf_get_extmark_by_id", pos, buffer, nsID, id, opt) } @@ -1656,7 +1656,7 @@ func (b *Batch) BufferExtmarkByID(buffer Buffer, nsID int, id int, opt map[strin // See: [nvim_buf_get_extmarks()] // // [nvim_buf_get_extmarks()]: https://neovim.io/doc/user/api.html#nvim_buf_get_extmarks() -func (v *Nvim) BufferExtmarks(buffer Buffer, nsID int, start interface{}, end interface{}, opt map[string]interface{}) (marks []ExtMark, err error) { +func (v *Nvim) BufferExtmarks(buffer Buffer, nsID int, start any, end any, opt map[string]any) (marks []ExtMark, err error) { err = v.call("nvim_buf_get_extmarks", &marks, buffer, nsID, start, end, opt) return marks, err } @@ -1690,7 +1690,7 @@ func (v *Nvim) BufferExtmarks(buffer Buffer, nsID int, start interface{}, end in // See: [nvim_buf_get_extmarks()] // // [nvim_buf_get_extmarks()]: https://neovim.io/doc/user/api.html#nvim_buf_get_extmarks() -func (b *Batch) BufferExtmarks(buffer Buffer, nsID int, start interface{}, end interface{}, opt map[string]interface{}, marks *[]ExtMark) { +func (b *Batch) BufferExtmarks(buffer Buffer, nsID int, start any, end any, opt map[string]any, marks *[]ExtMark) { b.call("nvim_buf_get_extmarks", marks, buffer, nsID, start, end, opt) } @@ -1794,7 +1794,7 @@ func (b *Batch) BufferExtmarks(buffer Buffer, nsID int, start interface{}, end i // See: [nvim_buf_set_extmark()] // // [nvim_buf_set_extmark()]: https://neovim.io/doc/user/api.html#nvim_buf_set_extmark() -func (v *Nvim) SetBufferExtmark(buffer Buffer, nsID int, line int, col int, opts map[string]interface{}) (id int, err error) { +func (v *Nvim) SetBufferExtmark(buffer Buffer, nsID int, line int, col int, opts map[string]any) (id int, err error) { err = v.call("nvim_buf_set_extmark", &id, buffer, nsID, line, col, opts) return id, err } @@ -1899,7 +1899,7 @@ func (v *Nvim) SetBufferExtmark(buffer Buffer, nsID int, line int, col int, opts // See: [nvim_buf_set_extmark()] // // [nvim_buf_set_extmark()]: https://neovim.io/doc/user/api.html#nvim_buf_set_extmark() -func (b *Batch) SetBufferExtmark(buffer Buffer, nsID int, line int, col int, opts map[string]interface{}, id *int) { +func (b *Batch) SetBufferExtmark(buffer Buffer, nsID int, line int, col int, opts map[string]any, id *int) { b.call("nvim_buf_set_extmark", id, buffer, nsID, line, col, opts) } @@ -2024,7 +2024,7 @@ func (b *Batch) ClearBufferNamespace(buffer Buffer, nsID int, lineStart int, lin // See: [nvim_get_option_value()] // // [nvim_get_option_value()]: https://neovim.io/doc/user/api.html#nvim_get_option_value() -func (v *Nvim) OptionValue(name string, opts map[string]OptionValueScope, result interface{}) error { +func (v *Nvim) OptionValue(name string, opts map[string]OptionValueScope, result any) error { return v.call("nvim_get_option_value", result, name, opts) } @@ -2047,7 +2047,7 @@ func (v *Nvim) OptionValue(name string, opts map[string]OptionValueScope, result // See: [nvim_get_option_value()] // // [nvim_get_option_value()]: https://neovim.io/doc/user/api.html#nvim_get_option_value() -func (b *Batch) OptionValue(name string, opts map[string]OptionValueScope, result interface{}) { +func (b *Batch) OptionValue(name string, opts map[string]OptionValueScope, result any) { b.call("nvim_get_option_value", &result, name, opts) } @@ -2065,7 +2065,7 @@ func (b *Batch) OptionValue(name string, opts map[string]OptionValueScope, resul // See: [nvim_set_option_value()] // // [nvim_set_option_value()]: https://neovim.io/doc/user/api.html#nvim_set_option_value() -func (v *Nvim) SetOptionValue(name string, value interface{}, opts map[string]OptionValueScope) error { +func (v *Nvim) SetOptionValue(name string, value any, opts map[string]OptionValueScope) error { return v.call("nvim_set_option_value", nil, name, value, opts) } @@ -2083,7 +2083,7 @@ func (v *Nvim) SetOptionValue(name string, value interface{}, opts map[string]Op // See: [nvim_set_option_value()] // // [nvim_set_option_value()]: https://neovim.io/doc/user/api.html#nvim_set_option_value() -func (b *Batch) SetOptionValue(name string, value interface{}, opts map[string]OptionValueScope) { +func (b *Batch) SetOptionValue(name string, value any, opts map[string]OptionValueScope) { b.call("nvim_set_option_value", nil, name, value, opts) } @@ -2268,7 +2268,7 @@ func (b *Batch) AllOptionsInfo(opinfo *OptionInfo) { // See: [nvim_get_option_info2()] // // [nvim_get_option_info2()]: https://neovim.io/doc/user/api.html#nvim_get_option_info2() -func (v *Nvim) OptionInfo(name string, opts map[string]interface{}) (opinfo *OptionInfo, err error) { +func (v *Nvim) OptionInfo(name string, opts map[string]any) (opinfo *OptionInfo, err error) { var result OptionInfo err = v.call("nvim_get_option_info2", &result, name, opts) return &result, err @@ -2329,7 +2329,7 @@ func (v *Nvim) OptionInfo(name string, opts map[string]interface{}) (opinfo *Opt // See: [nvim_get_option_info2()] // // [nvim_get_option_info2()]: https://neovim.io/doc/user/api.html#nvim_get_option_info2() -func (b *Batch) OptionInfo(name string, opts map[string]interface{}, opinfo *OptionInfo) { +func (b *Batch) OptionInfo(name string, opts map[string]any, opinfo *OptionInfo) { b.call("nvim_get_option_info2", opinfo, name, opts) } @@ -2338,7 +2338,7 @@ func (b *Batch) OptionInfo(name string, opts map[string]interface{}, opinfo *Opt // See: [nvim_set_option()] // // [nvim_set_option()]: https://neovim.io/doc/user/api.html#nvim_set_option() -func (v *Nvim) SetOption(name string, value interface{}) error { +func (v *Nvim) SetOption(name string, value any) error { return v.call("nvim_set_option", nil, name, value) } @@ -2347,7 +2347,7 @@ func (v *Nvim) SetOption(name string, value interface{}) error { // See: [nvim_set_option()] // // [nvim_set_option()]: https://neovim.io/doc/user/api.html#nvim_set_option() -func (b *Batch) SetOption(name string, value interface{}) { +func (b *Batch) SetOption(name string, value any) { b.call("nvim_set_option", nil, name, value) } @@ -2356,7 +2356,7 @@ func (b *Batch) SetOption(name string, value interface{}) { // See: [nvim_get_option()] // // [nvim_get_option()]: https://neovim.io/doc/user/api.html#nvim_get_option() -func (v *Nvim) Option(name string, result interface{}) error { +func (v *Nvim) Option(name string, result any) error { return v.call("nvim_get_option", result, name) } @@ -2365,7 +2365,7 @@ func (v *Nvim) Option(name string, result interface{}) error { // See: [nvim_get_option()] // // [nvim_get_option()]: https://neovim.io/doc/user/api.html#nvim_get_option() -func (b *Batch) Option(name string, result interface{}) { +func (b *Batch) Option(name string, result any) { b.call("nvim_get_option", &result, name) } @@ -2374,7 +2374,7 @@ func (b *Batch) Option(name string, result interface{}) { // See: [nvim_buf_get_option()] // // [nvim_buf_get_option()]: https://neovim.io/doc/user/api.html#nvim_buf_get_option() -func (v *Nvim) BufferOption(buffer Buffer, name string, result interface{}) error { +func (v *Nvim) BufferOption(buffer Buffer, name string, result any) error { return v.call("nvim_buf_get_option", result, buffer, name) } @@ -2383,7 +2383,7 @@ func (v *Nvim) BufferOption(buffer Buffer, name string, result interface{}) erro // See: [nvim_buf_get_option()] // // [nvim_buf_get_option()]: https://neovim.io/doc/user/api.html#nvim_buf_get_option() -func (b *Batch) BufferOption(buffer Buffer, name string, result interface{}) { +func (b *Batch) BufferOption(buffer Buffer, name string, result any) { b.call("nvim_buf_get_option", &result, buffer, name) } @@ -2394,7 +2394,7 @@ func (b *Batch) BufferOption(buffer Buffer, name string, result interface{}) { // See: [nvim_buf_set_option()] // // [nvim_buf_set_option()]: https://neovim.io/doc/user/api.html#nvim_buf_set_option() -func (v *Nvim) SetBufferOption(buffer Buffer, name string, value interface{}) error { +func (v *Nvim) SetBufferOption(buffer Buffer, name string, value any) error { return v.call("nvim_buf_set_option", nil, buffer, name, value) } @@ -2405,7 +2405,7 @@ func (v *Nvim) SetBufferOption(buffer Buffer, name string, value interface{}) er // See: [nvim_buf_set_option()] // // [nvim_buf_set_option()]: https://neovim.io/doc/user/api.html#nvim_buf_set_option() -func (b *Batch) SetBufferOption(buffer Buffer, name string, value interface{}) { +func (b *Batch) SetBufferOption(buffer Buffer, name string, value any) { b.call("nvim_buf_set_option", nil, buffer, name, value) } @@ -2414,7 +2414,7 @@ func (b *Batch) SetBufferOption(buffer Buffer, name string, value interface{}) { // See: [nvim_win_get_option()] // // [nvim_win_get_option()]: https://neovim.io/doc/user/api.html#nvim_win_get_option() -func (v *Nvim) WindowOption(window Window, name string, result interface{}) error { +func (v *Nvim) WindowOption(window Window, name string, result any) error { return v.call("nvim_win_get_option", result, window, name) } @@ -2423,7 +2423,7 @@ func (v *Nvim) WindowOption(window Window, name string, result interface{}) erro // See: [nvim_win_get_option()] // // [nvim_win_get_option()]: https://neovim.io/doc/user/api.html#nvim_win_get_option() -func (b *Batch) WindowOption(window Window, name string, result interface{}) { +func (b *Batch) WindowOption(window Window, name string, result any) { b.call("nvim_win_get_option", &result, window, name) } @@ -2432,7 +2432,7 @@ func (b *Batch) WindowOption(window Window, name string, result interface{}) { // See: [nvim_win_set_option()] // // [nvim_win_set_option()]: https://neovim.io/doc/user/api.html#nvim_win_set_option() -func (v *Nvim) SetWindowOption(window Window, name string, value interface{}) error { +func (v *Nvim) SetWindowOption(window Window, name string, value any) error { return v.call("nvim_win_set_option", nil, window, name, value) } @@ -2441,7 +2441,7 @@ func (v *Nvim) SetWindowOption(window Window, name string, value interface{}) er // See: [nvim_win_set_option()] // // [nvim_win_set_option()]: https://neovim.io/doc/user/api.html#nvim_win_set_option() -func (b *Batch) SetWindowOption(window Window, name string, value interface{}) { +func (b *Batch) SetWindowOption(window Window, name string, value any) { b.call("nvim_win_set_option", nil, window, name, value) } @@ -2453,7 +2453,7 @@ func (b *Batch) SetWindowOption(window Window, name string, value interface{}) { // The redraw notification method has variadic arguments. Register a handler // for the method like this: // -// v.RegisterHandler("redraw", func(updates ...[]interface{}) { +// v.RegisterHandler("redraw", func(updates ...[]any) { // for _, update := range updates { // // handle update // } @@ -2462,7 +2462,7 @@ func (b *Batch) SetWindowOption(window Window, name string, value interface{}) { // See: [nvim_ui_attach()] // // [nvim_ui_attach()]: https://neovim.io/doc/user/api.html#nvim_ui_attach() -func (v *Nvim) AttachUI(width int, height int, options map[string]interface{}) error { +func (v *Nvim) AttachUI(width int, height int, options map[string]any) error { return v.call("nvim_ui_attach", nil, width, height, options) } @@ -2474,7 +2474,7 @@ func (v *Nvim) AttachUI(width int, height int, options map[string]interface{}) e // The redraw notification method has variadic arguments. Register a handler // for the method like this: // -// v.RegisterHandler("redraw", func(updates ...[]interface{}) { +// v.RegisterHandler("redraw", func(updates ...[]any) { // for _, update := range updates { // // handle update // } @@ -2483,7 +2483,7 @@ func (v *Nvim) AttachUI(width int, height int, options map[string]interface{}) e // See: [nvim_ui_attach()] // // [nvim_ui_attach()]: https://neovim.io/doc/user/api.html#nvim_ui_attach() -func (b *Batch) AttachUI(width int, height int, options map[string]interface{}) { +func (b *Batch) AttachUI(width int, height int, options map[string]any) { b.call("nvim_ui_attach", nil, width, height, options) } @@ -2548,7 +2548,7 @@ func (b *Batch) TryResizeUI(width int, height int) { // See: [nvim_ui_set_option()] // // [nvim_ui_set_option()]: https://neovim.io/doc/user/api.html#nvim_ui_set_option() -func (v *Nvim) SetUIOption(name string, value interface{}) error { +func (v *Nvim) SetUIOption(name string, value any) error { return v.call("nvim_ui_set_option", nil, name, value) } @@ -2557,7 +2557,7 @@ func (v *Nvim) SetUIOption(name string, value interface{}) error { // See: [nvim_ui_set_option()] // // [nvim_ui_set_option()]: https://neovim.io/doc/user/api.html#nvim_ui_set_option() -func (b *Batch) SetUIOption(name string, value interface{}) { +func (b *Batch) SetUIOption(name string, value any) { b.call("nvim_ui_set_option", nil, name, value) } @@ -2654,7 +2654,7 @@ func (b *Batch) SetPumBounds(width float64, height float64, row float64, col flo // See: [nvim_exec2()] // // [nvim_exec2()]: https://neovim.io/doc/user/api.html#nvim_exec2() -func (v *Nvim) Exec(src string, opts map[string]interface{}) (out map[string]interface{}, err error) { +func (v *Nvim) Exec(src string, opts map[string]any) (out map[string]any, err error) { err = v.call("nvim_exec2", &out, src, opts) return out, err } @@ -2668,7 +2668,7 @@ func (v *Nvim) Exec(src string, opts map[string]interface{}) (out map[string]int // See: [nvim_exec2()] // // [nvim_exec2()]: https://neovim.io/doc/user/api.html#nvim_exec2() -func (b *Batch) Exec(src string, opts map[string]interface{}, out *map[string]interface{}) { +func (b *Batch) Exec(src string, opts map[string]any, out *map[string]any) { b.call("nvim_exec2", out, src, opts) } @@ -2699,7 +2699,7 @@ func (b *Batch) Command(cmd string) { // See: [nvim_parse_expression()] // // [nvim_parse_expression()]: https://neovim.io/doc/user/api.html#nvim_parse_expression() -func (v *Nvim) ParseExpression(expr string, flags string, highlight bool) (expression map[string]interface{}, err error) { +func (v *Nvim) ParseExpression(expr string, flags string, highlight bool) (expression map[string]any, err error) { err = v.call("nvim_parse_expression", &expression, expr, flags, highlight) return expression, err } @@ -2709,7 +2709,7 @@ func (v *Nvim) ParseExpression(expr string, flags string, highlight bool) (expre // See: [nvim_parse_expression()] // // [nvim_parse_expression()]: https://neovim.io/doc/user/api.html#nvim_parse_expression() -func (b *Batch) ParseExpression(expr string, flags string, highlight bool, expression *map[string]interface{}) { +func (b *Batch) ParseExpression(expr string, flags string, highlight bool, expression *map[string]any) { b.call("nvim_parse_expression", expression, expr, flags, highlight) } @@ -2736,7 +2736,7 @@ func (b *Batch) ParseExpression(expr string, flags string, highlight bool, expre // See: [nvim_get_hl()] // // [nvim_get_hl()]: https://neovim.io/doc/user/api.html#nvim_get_hl() -func (v *Nvim) HL(nsID int, opts map[string]interface{}) (highlight *HLAttrs, err error) { +func (v *Nvim) HL(nsID int, opts map[string]any) (highlight *HLAttrs, err error) { var result HLAttrs err = v.call("nvim_get_hl", &result, nsID, opts) return &result, err @@ -2765,7 +2765,7 @@ func (v *Nvim) HL(nsID int, opts map[string]interface{}) (highlight *HLAttrs, er // See: [nvim_get_hl()] // // [nvim_get_hl()]: https://neovim.io/doc/user/api.html#nvim_get_hl() -func (b *Batch) HL(nsID int, opts map[string]interface{}, highlight *HLAttrs) { +func (b *Batch) HL(nsID int, opts map[string]any, highlight *HLAttrs) { b.call("nvim_get_hl", highlight, nsID, opts) } @@ -3157,7 +3157,7 @@ func (b *Batch) ReplaceTermcodes(str string, fromPart bool, doLT bool, special b // See: [nvim_eval()] // // [nvim_eval()]: https://neovim.io/doc/user/api.html#nvim_eval() -func (v *Nvim) Eval(expr string, result interface{}) error { +func (v *Nvim) Eval(expr string, result any) error { return v.call("nvim_eval", result, expr) } @@ -3174,7 +3174,7 @@ func (v *Nvim) Eval(expr string, result interface{}) error { // See: [nvim_eval()] // // [nvim_eval()]: https://neovim.io/doc/user/api.html#nvim_eval() -func (b *Batch) Eval(expr string, result interface{}) { +func (b *Batch) Eval(expr string, result any) { b.call("nvim_eval", &result, expr) } @@ -3353,7 +3353,7 @@ func (b *Batch) DeleteCurrentLine() { // See: [nvim_get_var()] // // [nvim_get_var()]: https://neovim.io/doc/user/api.html#nvim_get_var() -func (v *Nvim) Var(name string, result interface{}) error { +func (v *Nvim) Var(name string, result any) error { return v.call("nvim_get_var", result, name) } @@ -3362,7 +3362,7 @@ func (v *Nvim) Var(name string, result interface{}) error { // See: [nvim_get_var()] // // [nvim_get_var()]: https://neovim.io/doc/user/api.html#nvim_get_var() -func (b *Batch) Var(name string, result interface{}) { +func (b *Batch) Var(name string, result any) { b.call("nvim_get_var", &result, name) } @@ -3371,7 +3371,7 @@ func (b *Batch) Var(name string, result interface{}) { // See: [nvim_set_var()] // // [nvim_set_var()]: https://neovim.io/doc/user/api.html#nvim_set_var() -func (v *Nvim) SetVar(name string, value interface{}) error { +func (v *Nvim) SetVar(name string, value any) error { return v.call("nvim_set_var", nil, name, value) } @@ -3380,7 +3380,7 @@ func (v *Nvim) SetVar(name string, value interface{}) error { // See: [nvim_set_var()] // // [nvim_set_var()]: https://neovim.io/doc/user/api.html#nvim_set_var() -func (b *Batch) SetVar(name string, value interface{}) { +func (b *Batch) SetVar(name string, value any) { b.call("nvim_set_var", nil, name, value) } @@ -3407,7 +3407,7 @@ func (b *Batch) DeleteVar(name string) { // See: [nvim_get_vvar()] // // [nvim_get_vvar()]: https://neovim.io/doc/user/api.html#nvim_get_vvar() -func (v *Nvim) VVar(name string, result interface{}) error { +func (v *Nvim) VVar(name string, result any) error { return v.call("nvim_get_vvar", result, name) } @@ -3416,7 +3416,7 @@ func (v *Nvim) VVar(name string, result interface{}) error { // See: [nvim_get_vvar()] // // [nvim_get_vvar()]: https://neovim.io/doc/user/api.html#nvim_get_vvar() -func (b *Batch) VVar(name string, result interface{}) { +func (b *Batch) VVar(name string, result any) { b.call("nvim_get_vvar", &result, name) } @@ -3425,7 +3425,7 @@ func (b *Batch) VVar(name string, result interface{}) { // See: [nvim_set_vvar()] // // [nvim_set_vvar()]: https://neovim.io/doc/user/api.html#nvim_set_vvar() -func (v *Nvim) SetVVar(name string, value interface{}) error { +func (v *Nvim) SetVVar(name string, value any) error { return v.call("nvim_set_vvar", nil, name, value) } @@ -3434,7 +3434,7 @@ func (v *Nvim) SetVVar(name string, value interface{}) error { // See: [nvim_set_vvar()] // // [nvim_set_vvar()]: https://neovim.io/doc/user/api.html#nvim_set_vvar() -func (b *Batch) SetVVar(name string, value interface{}) { +func (b *Batch) SetVVar(name string, value any) { b.call("nvim_set_vvar", nil, name, value) } @@ -3450,7 +3450,7 @@ func (b *Batch) SetVVar(name string, value interface{}) { // See: [nvim_echo()] // // [nvim_echo()]: https://neovim.io/doc/user/api.html#nvim_echo() -func (v *Nvim) Echo(chunks []TextChunk, history bool, opts map[string]interface{}) error { +func (v *Nvim) Echo(chunks []TextChunk, history bool, opts map[string]any) error { return v.call("nvim_echo", nil, chunks, history, opts) } @@ -3466,7 +3466,7 @@ func (v *Nvim) Echo(chunks []TextChunk, history bool, opts map[string]interface{ // See: [nvim_echo()] // // [nvim_echo()]: https://neovim.io/doc/user/api.html#nvim_echo() -func (b *Batch) Echo(chunks []TextChunk, history bool, opts map[string]interface{}) { +func (b *Batch) Echo(chunks []TextChunk, history bool, opts map[string]any) { b.call("nvim_echo", nil, chunks, history, opts) } @@ -3710,7 +3710,7 @@ func (b *Batch) CreateBuffer(listed bool, scratch bool, buffer *Buffer) { // See: [nvim_open_term()] // // [nvim_open_term()]: https://neovim.io/doc/user/api.html#nvim_open_term() -func (v *Nvim) OpenTerm(buffer Buffer, opts map[string]interface{}) (channel int, err error) { +func (v *Nvim) OpenTerm(buffer Buffer, opts map[string]any) (channel int, err error) { err = v.call("nvim_open_term", &channel, buffer, opts) return channel, err } @@ -3736,7 +3736,7 @@ func (v *Nvim) OpenTerm(buffer Buffer, opts map[string]interface{}) (channel int // See: [nvim_open_term()] // // [nvim_open_term()]: https://neovim.io/doc/user/api.html#nvim_open_term() -func (b *Batch) OpenTerm(buffer Buffer, opts map[string]interface{}, channel *int) { +func (b *Batch) OpenTerm(buffer Buffer, opts map[string]any, channel *int) { b.call("nvim_open_term", channel, buffer, opts) } @@ -4163,7 +4163,7 @@ func (b *Batch) ColorMap(colorMap *map[string]int) { // See: [nvim_get_context()] // // [nvim_get_context()]: https://neovim.io/doc/user/api.html#nvim_get_context() -func (v *Nvim) Context(opts map[string][]string) (context map[string]interface{}, err error) { +func (v *Nvim) Context(opts map[string][]string) (context map[string]any, err error) { err = v.call("nvim_get_context", &context, opts) return context, err } @@ -4186,7 +4186,7 @@ func (v *Nvim) Context(opts map[string][]string) (context map[string]interface{} // See: [nvim_get_context()] // // [nvim_get_context()]: https://neovim.io/doc/user/api.html#nvim_get_context() -func (b *Batch) Context(opts map[string][]string, context *map[string]interface{}) { +func (b *Batch) Context(opts map[string][]string, context *map[string]any) { b.call("nvim_get_context", context, opts) } @@ -4195,7 +4195,7 @@ func (b *Batch) Context(opts map[string][]string, context *map[string]interface{ // See: [nvim_load_context()] // // [nvim_load_context()]: https://neovim.io/doc/user/api.html#nvim_load_context() -func (v *Nvim) LoadContext(context map[string]interface{}, result interface{}) error { +func (v *Nvim) LoadContext(context map[string]any, result any) error { return v.call("nvim_load_context", result, context) } @@ -4204,7 +4204,7 @@ func (v *Nvim) LoadContext(context map[string]interface{}, result interface{}) e // See: [nvim_load_context()] // // [nvim_load_context()]: https://neovim.io/doc/user/api.html#nvim_load_context() -func (b *Batch) LoadContext(context map[string]interface{}, result interface{}) { +func (b *Batch) LoadContext(context map[string]any, result any) { b.call("nvim_load_context", &result, context) } @@ -4349,7 +4349,7 @@ func (b *Batch) DeleteKeyMap(mode string, lhs string) { // See: [nvim_get_api_info()] // // [nvim_get_api_info()]: https://neovim.io/doc/user/api.html#nvim_get_api_info() -func (v *Nvim) APIInfo() (apiInfo []interface{}, err error) { +func (v *Nvim) APIInfo() (apiInfo []any, err error) { err = v.call("nvim_get_api_info", &apiInfo) return apiInfo, err } @@ -4362,7 +4362,7 @@ func (v *Nvim) APIInfo() (apiInfo []interface{}, err error) { // See: [nvim_get_api_info()] // // [nvim_get_api_info()]: https://neovim.io/doc/user/api.html#nvim_get_api_info() -func (b *Batch) APIInfo(apiInfo *[]interface{}) { +func (b *Batch) APIInfo(apiInfo *[]any) { b.call("nvim_get_api_info", apiInfo) } @@ -4612,7 +4612,7 @@ func (b *Batch) Proc(pid int, process *Process) { // See: [nvim_select_popupmenu_item()] // // [nvim_select_popupmenu_item()]: https://neovim.io/doc/user/api.html#nvim_select_popupmenu_item() -func (v *Nvim) SelectPopupmenuItem(item int, insert bool, finish bool, opts map[string]interface{}) error { +func (v *Nvim) SelectPopupmenuItem(item int, insert bool, finish bool, opts map[string]any) error { return v.call("nvim_select_popupmenu_item", nil, item, insert, finish, opts) } @@ -4628,7 +4628,7 @@ func (v *Nvim) SelectPopupmenuItem(item int, insert bool, finish bool, opts map[ // See: [nvim_select_popupmenu_item()] // // [nvim_select_popupmenu_item()]: https://neovim.io/doc/user/api.html#nvim_select_popupmenu_item() -func (b *Batch) SelectPopupmenuItem(item int, insert bool, finish bool, opts map[string]interface{}) { +func (b *Batch) SelectPopupmenuItem(item int, insert bool, finish bool, opts map[string]any) { b.call("nvim_select_popupmenu_item", nil, item, insert, finish, opts) } @@ -4662,7 +4662,7 @@ func (b *Batch) DeleteMark(name string, deleted *bool) { // See: [nvim_get_mark()] // // [nvim_get_mark()]: https://neovim.io/doc/user/api.html#nvim_get_mark() -func (v *Nvim) Mark(name string, opts map[string]interface{}) (mark *Mark, err error) { +func (v *Nvim) Mark(name string, opts map[string]any) (mark *Mark, err error) { var result Mark err = v.call("nvim_get_mark", &result, name, opts) return &result, err @@ -4677,7 +4677,7 @@ func (v *Nvim) Mark(name string, opts map[string]interface{}) (mark *Mark, err e // See: [nvim_get_mark()] // // [nvim_get_mark()]: https://neovim.io/doc/user/api.html#nvim_get_mark() -func (b *Batch) Mark(name string, opts map[string]interface{}, mark *Mark) { +func (b *Batch) Mark(name string, opts map[string]any, mark *Mark) { b.call("nvim_get_mark", mark, name, opts) } @@ -4708,7 +4708,7 @@ func (b *Batch) Mark(name string, opts map[string]interface{}, mark *Mark) { // See: [nvim_eval_statusline()] // // [nvim_eval_statusline()]: https://neovim.io/doc/user/api.html#nvim_eval_statusline() -func (v *Nvim) EvalStatusLine(name string, opts map[string]interface{}) (statusline map[string]interface{}, err error) { +func (v *Nvim) EvalStatusLine(name string, opts map[string]any) (statusline map[string]any, err error) { err = v.call("nvim_eval_statusline", &statusline, name, opts) return statusline, err } @@ -4740,7 +4740,7 @@ func (v *Nvim) EvalStatusLine(name string, opts map[string]interface{}) (statusl // See: [nvim_eval_statusline()] // // [nvim_eval_statusline()]: https://neovim.io/doc/user/api.html#nvim_eval_statusline() -func (b *Batch) EvalStatusLine(name string, opts map[string]interface{}, statusline *map[string]interface{}) { +func (b *Batch) EvalStatusLine(name string, opts map[string]any, statusline *map[string]any) { b.call("nvim_eval_statusline", statusline, name, opts) } @@ -4897,7 +4897,7 @@ func (b *Batch) SetWindowWidth(window Window, width int) { // See: [nvim_win_get_var()] // // [nvim_win_get_var()]: https://neovim.io/doc/user/api.html#nvim_win_get_var() -func (v *Nvim) WindowVar(window Window, name string, result interface{}) error { +func (v *Nvim) WindowVar(window Window, name string, result any) error { return v.call("nvim_win_get_var", result, window, name) } @@ -4906,7 +4906,7 @@ func (v *Nvim) WindowVar(window Window, name string, result interface{}) error { // See: [nvim_win_get_var()] // // [nvim_win_get_var()]: https://neovim.io/doc/user/api.html#nvim_win_get_var() -func (b *Batch) WindowVar(window Window, name string, result interface{}) { +func (b *Batch) WindowVar(window Window, name string, result any) { b.call("nvim_win_get_var", &result, window, name) } @@ -4915,7 +4915,7 @@ func (b *Batch) WindowVar(window Window, name string, result interface{}) { // See: [nvim_win_set_var()] // // [nvim_win_set_var()]: https://neovim.io/doc/user/api.html#nvim_win_set_var() -func (v *Nvim) SetWindowVar(window Window, name string, value interface{}) error { +func (v *Nvim) SetWindowVar(window Window, name string, value any) error { return v.call("nvim_win_set_var", nil, window, name, value) } @@ -4924,7 +4924,7 @@ func (v *Nvim) SetWindowVar(window Window, name string, value interface{}) error // See: [nvim_win_set_var()] // // [nvim_win_set_var()]: https://neovim.io/doc/user/api.html#nvim_win_set_var() -func (b *Batch) SetWindowVar(window Window, name string, value interface{}) { +func (b *Batch) SetWindowVar(window Window, name string, value any) { b.call("nvim_win_set_var", nil, window, name, value) } diff --git a/nvim/api_def.go b/nvim/api_def.go index 4c4a3574..230133fd 100644 --- a/nvim/api_def.go +++ b/nvim/api_def.go @@ -18,7 +18,7 @@ package main // // Note that when multiple patterns or events are provided, it will find all the autocommands that // match any combination of them. -func Autocmds(opts map[string]interface{}) (result []*AutocmdType) { +func Autocmds(opts map[string]any) (result []*AutocmdType) { name(nvim_get_autocmds) } @@ -26,7 +26,7 @@ func Autocmds(opts map[string]interface{}) (result []*AutocmdType) { // // The API allows for two (mutually exclusive) types of actions to be executed when the autocommand // triggers: a callback function (Lua or Vimscript), or a command (like regular autocommands). -func CreateAutocmd(event interface{}, opts map[string]interface{}) (id int) { +func CreateAutocmd(event any, opts map[string]any) (id int) { name(nvim_create_autocmd) } @@ -40,12 +40,12 @@ func DeleteAutocmd(id int) { // ClearAutocmds clear all autocommands that match the corresponding {opts}. // // To delete a particular autocmd, see DeleteAutocmd. -func ClearAutocmds(opts map[string]interface{}) { +func ClearAutocmds(opts map[string]any) { name(nvim_clear_autocmds) } // CreateAugroup create or get an autocommand group(autocmd-groups). -func CreateAugroup(name string, opts map[string]interface{}) (id int) { +func CreateAugroup(name string, opts map[string]any) (id int) { name(nvim_create_augroup) } @@ -60,7 +60,7 @@ func DeleteAugroupByName(name string) { } // ExecAutocmds execute all autocommands for {event} that match the corresponding {opts} autocmd-execute. -func ExecAutocmds(event interface{}, opts map[string]interface{}) { +func ExecAutocmds(event any, opts map[string]any) { name(nvim_exec_autocmds) } @@ -84,7 +84,7 @@ func BufferLineCount(buffer Buffer) (count int) { // Otherwise, the first notification will be a "nvim_buf_changedtick_event". // // Returns whether the updates couldn't be enabled because the buffer isn't loaded or opts contained an invalid key. -func AttachBuffer(buffer Buffer, sendBuffer bool, opts map[string]interface{}) (attached bool) { +func AttachBuffer(buffer Buffer, sendBuffer bool, opts map[string]any) (attached bool) { name(nvim_buf_attach) } @@ -149,7 +149,7 @@ func SetBufferText(buffer Buffer, startRow, startCol, endRow, endCol int, replac // Prefer BufferLines when retrieving entire lines. // // opts is optional parameters. Currently unused. -func BufferText(buffer Buffer, startRow, startCol, endRow, endCol int, opts map[string]interface{}) [][]byte { +func BufferText(buffer Buffer, startRow, startCol, endRow, endCol int, opts map[string]any) [][]byte { name(nvim_buf_get_text) } @@ -169,7 +169,7 @@ func BufferOffset(buffer Buffer, index int) (offset int) { } // BufferVar gets a buffer-scoped (b:) variable. -func BufferVar(buffer Buffer, name string) (value interface{}) { +func BufferVar(buffer Buffer, name string) (value any) { name(nvim_buf_get_var) } @@ -196,7 +196,7 @@ func DeleteBufferKeyMap(buffer Buffer, mode, lhs string) { } // SetBufferVar sets a buffer-scoped (b:) variable. -func SetBufferVar(buffer Buffer, name string, value interface{}) { +func SetBufferVar(buffer Buffer, name string, value any) { name(nvim_buf_set_var) } @@ -269,7 +269,7 @@ func DeleteBufferMark(buffer Buffer, name string) (deleted bool) { // line and col are (1,0)-indexed. // // opts is optional parameters. Reserved for future use. -func SetBufferMark(buffer Buffer, name string, line, col int, opts map[string]interface{}) (set bool) { +func SetBufferMark(buffer Buffer, name string, line, col int, opts map[string]any) (set bool) { name(nvim_buf_set_mark) } @@ -316,7 +316,7 @@ func ClearBufferHighlight(buffer Buffer, srcID, startLine, endLine int) { // The opts arg is reserved for future use. // // Deprecated: Use SetBufferExtmark instead. -func SetBufferVirtualText(buffer Buffer, nsID, line int, chunks []TextChunk, opts map[string]interface{}) (id int) { +func SetBufferVirtualText(buffer Buffer, nsID, line int, chunks []TextChunk, opts map[string]any) (id int) { name(nvim_buf_set_virtual_text) deprecatedSince(8) } @@ -479,7 +479,7 @@ func SetBufferVirtualText(buffer Buffer, nsID, line int, chunks []TextChunk, opt // belowright // topleft // botright -func ParseCmd(str string, opts map[string]interface{}) (cmd Cmd) { +func ParseCmd(str string, opts map[string]any) (cmd Cmd) { name(nvim_parse_cmd) returnPtr() } @@ -527,7 +527,7 @@ func Cmd(cmd *Cmd, opts map[string]bool) (output string) { // force (bool, default true) // // Override any previous definition. -func CreateUserCommand(name string, command UserCommand, opts map[string]interface{}) { +func CreateUserCommand(name string, command UserCommand, opts map[string]any) { name(nvim_create_user_command) } @@ -539,7 +539,7 @@ func DeleteUserCommand(name string) { // CreateBufferUserCommand create a new user command |user-commands| in the given buffer. // // Only commands created with |:command-buffer| or this function can be deleted with this function. -func CreateBufferUserCommand(buffer Buffer, name string, command UserCommand, opts map[string]interface{}) { +func CreateBufferUserCommand(buffer Buffer, name string, command UserCommand, opts map[string]any) { name(nvim_buf_create_user_command) } @@ -556,14 +556,14 @@ func DeleteBufferUserCommand(buffer Buffer, name string) { // opts is optional parameters. Currently only supports: // // {"builtin":false} -func Commands(opts map[string]interface{}) (commands map[string]*Command) { +func Commands(opts map[string]any) (commands map[string]*Command) { name(nvim_get_commands) } // BufferCommands gets a map of buffer-local user-commands. // // opts is optional parameters. Currently not used. -func BufferCommands(buffer Buffer, opts map[string]interface{}) map[string]*Command { +func BufferCommands(buffer Buffer, opts map[string]any) map[string]*Command { name(nvim_buf_get_commands) } @@ -575,12 +575,12 @@ func TabpageWindows(tabpage Tabpage) (windows []Window) { } // TabpageVar gets a tab-scoped (t:) variable. -func TabpageVar(tabpage Tabpage, name string) (value interface{}) { +func TabpageVar(tabpage Tabpage, name string) (value any) { name(nvim_tabpage_get_var) } // SetTabpageVar sets a tab-scoped (t:) variable. -func SetTabpageVar(tabpage Tabpage, name string, value interface{}) { +func SetTabpageVar(tabpage Tabpage, name string, value any) { name(nvim_tabpage_set_var) } @@ -627,7 +627,7 @@ func CreateNamespace(name string) (nsID int) { // details // // Whether to include the details dict. bool type. -func BufferExtmarkByID(buffer Buffer, nsID, id int, opt map[string]interface{}) (pos []int) { +func BufferExtmarkByID(buffer Buffer, nsID, id int, opt map[string]any) (pos []int) { name(nvim_buf_get_extmark_by_id) } @@ -656,7 +656,7 @@ func BufferExtmarkByID(buffer Buffer, nsID, id int, opt map[string]interface{}) // details // // Whether to include the details dict. bool type. -func BufferExtmarks(buffer Buffer, nsID int, start, end interface{}, opt map[string]interface{}) (marks []ExtMark) { +func BufferExtmarks(buffer Buffer, nsID int, start, end any, opt map[string]any) (marks []ExtMark) { name(nvim_buf_get_extmarks) } @@ -756,7 +756,7 @@ func BufferExtmarks(buffer Buffer, nsID int, start, end interface{}, opt map[str // priority // // A priority value for the highlight group. For example treesitter highlighting uses a value of 100. -func SetBufferExtmark(buffer Buffer, nsID, line, col int, opts map[string]interface{}) (id int) { +func SetBufferExtmark(buffer Buffer, nsID, line, col int, opts map[string]any) (id int) { name(nvim_buf_set_extmark) } @@ -815,7 +815,7 @@ func ClearBufferNamespace(buffer Buffer, nsID, lineStart, lineEnd int) { // scope // // Analogous to |:setglobal| and |:setlocal|, respectively. -func OptionValue(name string, opts map[string]OptionValueScope) (optionValue interface{}) { +func OptionValue(name string, opts map[string]OptionValueScope) (optionValue any) { name(nvim_get_option_value) } @@ -829,7 +829,7 @@ func OptionValue(name string, opts map[string]OptionValueScope) (optionValue int // scope // // Analogous to |:setglobal| and |:setlocal|, respectively. -func SetOptionValue(name string, value interface{}, opts map[string]OptionValueScope) { +func SetOptionValue(name string, value any, opts map[string]OptionValueScope) { name(nvim_set_option_value) } @@ -943,40 +943,40 @@ func AllOptionsInfo() (opinfo OptionInfo) { // flaglist // // List of single char flags. -func OptionInfo(name string, opts map[string]interface{}) (opinfo OptionInfo) { +func OptionInfo(name string, opts map[string]any) (opinfo OptionInfo) { name(nvim_get_option_info2) returnPtr() } // SetOption sets an option value. -func SetOption(name string, value interface{}) { +func SetOption(name string, value any) { name(nvim_set_option) } // Option gets an option value string. -func Option(name string) (option interface{}) { +func Option(name string) (option any) { name(nvim_get_option) } // BufferOption gets a buffer option value. -func BufferOption(buffer Buffer, name string) (value interface{}) { +func BufferOption(buffer Buffer, name string) (value any) { name(nvim_buf_get_option) } // SetBufferOption sets a buffer option value. // // Passing nil as value arg to deletes the option (only works if there's a global fallback). -func SetBufferOption(buffer Buffer, name string, value interface{}) { +func SetBufferOption(buffer Buffer, name string, value any) { name(nvim_buf_set_option) } // WindowOption gets a window option value. -func WindowOption(window Window, name string) (value interface{}) { +func WindowOption(window Window, name string) (value any) { name(nvim_win_get_option) } // SetWindowOption sets a window option value. Passing "nil" as value deletes the option(only works if there's a global fallback). -func SetWindowOption(window Window, name string, value interface{}) { +func SetWindowOption(window Window, name string, value any) { name(nvim_win_set_option) } @@ -990,12 +990,12 @@ func SetWindowOption(window Window, name string, value interface{}) { // The redraw notification method has variadic arguments. Register a handler // for the method like this: // -// v.RegisterHandler("redraw", func(updates ...[]interface{}) { +// v.RegisterHandler("redraw", func(updates ...[]any) { // for _, update := range updates { // // handle update // } // }) -func AttachUI(width, height int, options map[string]interface{}) { +func AttachUI(width, height int, options map[string]any) { name(nvim_ui_attach) } @@ -1016,7 +1016,7 @@ func TryResizeUI(width, height int) { } // SetUIOption sets a UI option. -func SetUIOption(name string, value interface{}) { +func SetUIOption(name string, value any) { name(nvim_ui_set_option) } @@ -1057,7 +1057,7 @@ func SetPumBounds(width, height, row, col float64) { // Unlike Command, this function supports heredocs, script-scope (s:), etc. // // When fails with VimL error, does not update "v:errmsg". -func Exec(src string, opts map[string]interface{}) (out map[string]interface{}) { +func Exec(src string, opts map[string]any) (out map[string]any) { name(nvim_exec2) } @@ -1069,7 +1069,7 @@ func Command(cmd string) { } // ParseExpression parse a VimL expression. -func ParseExpression(expr, flags string, highlight bool) (expression map[string]interface{}) { +func ParseExpression(expr, flags string, highlight bool) (expression map[string]any) { name(nvim_parse_expression) } @@ -1094,7 +1094,7 @@ func ParseExpression(expr, flags string, highlight bool) (expression map[string] // Show linked group name instead of effective definition. // // The returned HLAttrs highlight groups as a map from group name to a highlight definition map as in SetHighlight, or only a single highlight definition map if requested by name or id. -func HL(nsID int, opts map[string]interface{}) (highlight HLAttrs) { +func HL(nsID int, opts map[string]any) (highlight HLAttrs) { name(nvim_get_hl) returnPtr() } @@ -1296,7 +1296,7 @@ func CommandOutput(cmd string) (out string) { // expr is VimL expression string. // // :help expression -func Eval(expr string) (result interface{}) { +func Eval(expr string) (result any) { name(nvim_eval) } @@ -1356,12 +1356,12 @@ func DeleteCurrentLine() { } // Var gets a global (g:) variable. -func Var(name string) (value interface{}) { +func Var(name string) (value any) { name(nvim_get_var) } // SetVar sets a global (g:) variable. -func SetVar(name string, value interface{}) { +func SetVar(name string, value any) { name(nvim_set_var) } @@ -1371,12 +1371,12 @@ func DeleteVar(name string) { } // VVar gets a v: variable. -func VVar(name string) (value interface{}) { +func VVar(name string) (value any) { name(nvim_get_vvar) } // SetVVar sets a v: variable, if it is not readonly. -func SetVVar(name string, value interface{}) { +func SetVVar(name string, value any) { name(nvim_set_vvar) } @@ -1388,7 +1388,7 @@ func SetVVar(name string, value interface{}) { // If history is true, add to "message-history". // // opts is optional parameters. Reserved for future use. -func Echo(chunks []TextChunk, history bool, opts map[string]interface{}) { +func Echo(chunks []TextChunk, history bool, opts map[string]any) { name(nvim_echo) } @@ -1476,7 +1476,7 @@ func CreateBuffer(listed, scratch bool) (buffer Buffer) { // buffer is the buffer to use (expected to be empty). // // opts is optional parameters. Reserved for future use. -func OpenTerm(buffer Buffer, opts map[string]interface{}) (channel int) { +func OpenTerm(buffer Buffer, opts map[string]any) (channel int) { name(nvim_open_term) } @@ -1649,12 +1649,12 @@ func ColorMap() (colorMap map[string]int) { // gvars // funcs // sfuncs -func Context(opts map[string][]string) (context map[string]interface{}) { +func Context(opts map[string][]string) (context map[string]any) { name(nvim_get_context) } // LoadContext Sets the current editor state from the given context map. -func LoadContext(context map[string]interface{}) (contextMap interface{}) { +func LoadContext(context map[string]any) (contextMap any) { name(nvim_load_context) } @@ -1712,7 +1712,7 @@ func DeleteKeyMap(mode, lhs string) { // 1 is the "api-metadata" map (Dictionary). // // Returns 2-tuple [{channel-id}, {api-metadata}]. -func APIInfo() (apiInfo []interface{}) { +func APIInfo() (apiInfo []any) { name(nvim_get_api_info) } @@ -1815,7 +1815,7 @@ func Proc(pid int) (process Process) { // ensure the mapping doesn't end completion mode. // // opts optional parameters. Reserved for future use. -func SelectPopupmenuItem(item int, insert, finish bool, opts map[string]interface{}) { +func SelectPopupmenuItem(item int, insert, finish bool, opts map[string]any) { name(nvim_select_popupmenu_item) } @@ -1830,7 +1830,7 @@ func DeleteMark(name string) (deleted bool) { // See |help mark-motions|. // // opts is optional parameters. Reserved for future use. -func Mark(name string, opts map[string]interface{}) (mark Mark) { +func Mark(name string, opts map[string]any) (mark Mark) { name(nvim_get_mark) returnPtr() } @@ -1858,7 +1858,7 @@ func Mark(name string, opts map[string]interface{}) (mark Mark) { // use_tabline (bool) // // Evaluate tabline instead of statusline. When true, {winid} is ignored. -func EvalStatusLine(name string, opts map[string]interface{}) (statusline map[string]interface{}) { +func EvalStatusLine(name string, opts map[string]any) (statusline map[string]any) { name(nvim_eval_statusline) } @@ -1905,12 +1905,12 @@ func SetWindowWidth(window Window, width int) { } // WindowVar gets a window-scoped (w:) variable. -func WindowVar(window Window, name string) (value interface{}) { +func WindowVar(window Window, name string) (value any) { name(nvim_win_get_var) } // SetWindowVar sets a window-scoped (w:) variable. -func SetWindowVar(window Window, name string, value interface{}) { +func SetWindowVar(window Window, name string, value any) { name(nvim_win_set_var) } diff --git a/nvim/api_deprecated.go b/nvim/api_deprecated.go index 4cc96b1a..77f349a4 100644 --- a/nvim/api_deprecated.go +++ b/nvim/api_deprecated.go @@ -7,7 +7,7 @@ package nvim // Deprecated: Use ChildProcessOption instead. type EmbedOptions struct { // Logf log function for rpc.WithLogf. - Logf func(string, ...interface{}) + Logf func(string, ...any) // Dir specifies the working directory of the command. The working // directory in the current process is used if Dir is "". @@ -51,7 +51,7 @@ func NewEmbedded(options *EmbedOptions) (*Nvim, error) { // ExecuteLua executes a Lua block. // // Deprecated: Use ExecLua instead. -func (v *Nvim) ExecuteLua(code string, result interface{}, args ...interface{}) error { +func (v *Nvim) ExecuteLua(code string, result any, args ...any) error { if args == nil { args = emptyArgs } @@ -61,7 +61,7 @@ func (v *Nvim) ExecuteLua(code string, result interface{}, args ...interface{}) // ExecuteLua executes a Lua block. // // Deprecated: Use ExecLua instead. -func (b *Batch) ExecuteLua(code string, result interface{}, args ...interface{}) { +func (b *Batch) ExecuteLua(code string, result any, args ...any) { if args == nil { args = emptyArgs } @@ -152,7 +152,7 @@ func (b *Batch) ClearBufferHighlight(buffer Buffer, srcID int, startLine int, en // See: [nvim_buf_set_virtual_text()] // // [nvim_buf_set_virtual_text()]: https://neovim.io/doc/user/api.html#nvim_buf_set_virtual_text() -func (v *Nvim) SetBufferVirtualText(buffer Buffer, nsID int, line int, chunks []TextChunk, opts map[string]interface{}) (id int, err error) { +func (v *Nvim) SetBufferVirtualText(buffer Buffer, nsID int, line int, chunks []TextChunk, opts map[string]any) (id int, err error) { err = v.call("nvim_buf_set_virtual_text", &id, buffer, nsID, line, chunks, opts) return id, err } @@ -182,7 +182,7 @@ func (v *Nvim) SetBufferVirtualText(buffer Buffer, nsID int, line int, chunks [] // See: [nvim_buf_set_virtual_text()] // // [nvim_buf_set_virtual_text()]: https://neovim.io/doc/user/api.html#nvim_buf_set_virtual_text() -func (b *Batch) SetBufferVirtualText(buffer Buffer, nsID int, line int, chunks []TextChunk, opts map[string]interface{}, id *int) { +func (b *Batch) SetBufferVirtualText(buffer Buffer, nsID int, line int, chunks []TextChunk, opts map[string]any, id *int) { b.call("nvim_buf_set_virtual_text", id, buffer, nsID, line, chunks, opts) } diff --git a/nvim/api_test.go b/nvim/api_test.go index 3066e7ee..81a2d861 100644 --- a/nvim/api_test.go +++ b/nvim/api_test.go @@ -115,11 +115,11 @@ func TestAPI(t *testing.T) { t.Fatalf("apiInfo[0] is not int64 type: %T", apiInfo[0]) } - info, ok := apiInfo[1].(map[string]interface{}) + info, ok := apiInfo[1].(map[string]any) if !ok { - t.Fatalf("apiInfo[1] is not map[string]interface{} type: %T", apiInfo[1]) + t.Fatalf("apiInfo[1] is not map[string]any type: %T", apiInfo[1]) } - infoV := info["version"].(map[string]interface{}) + infoV := info["version"].(map[string]any) nvimVersion.Major = infoV["major"].(int64) nvimVersion.Minor = infoV["minor"].(int64) nvimVersion.Patch = infoV["patch"].(int64) @@ -167,7 +167,7 @@ func testBufAttach(v *Nvim) func(*testing.T) { clearBuffer(t, v, 0) // clear curret buffer text changedtickChan := make(chan *ChangedtickEvent) - v.RegisterHandler(EventBufChangedtick, func(changedtickEvent ...interface{}) { + v.RegisterHandler(EventBufChangedtick, func(changedtickEvent ...any) { ev := &ChangedtickEvent{ Buffer: changedtickEvent[0].(Buffer), Changetick: changedtickEvent[1].(int64), @@ -176,7 +176,7 @@ func testBufAttach(v *Nvim) func(*testing.T) { }) bufLinesChan := make(chan *BufLinesEvent) - v.RegisterHandler(EventBufLines, func(bufLinesEvent ...interface{}) { + v.RegisterHandler(EventBufLines, func(bufLinesEvent ...any) { ev := &BufLinesEvent{ Buffer: bufLinesEvent[0].(Buffer), Changetick: bufLinesEvent[1].(int64), @@ -184,21 +184,21 @@ func testBufAttach(v *Nvim) func(*testing.T) { LastLine: bufLinesEvent[3].(int64), IsMultipart: bufLinesEvent[5].(bool), } - for _, line := range bufLinesEvent[4].([]interface{}) { + for _, line := range bufLinesEvent[4].([]any) { ev.LineData = append(ev.LineData, line.(string)) } bufLinesChan <- ev }) bufDetachChan := make(chan *BufDetachEvent) - v.RegisterHandler(EventBufDetach, func(bufDetachEvent ...interface{}) { + v.RegisterHandler(EventBufDetach, func(bufDetachEvent ...any) { ev := &BufDetachEvent{ Buffer: bufDetachEvent[0].(Buffer), } bufDetachChan <- ev }) - ok, err := v.AttachBuffer(0, false, make(map[string]interface{})) // first 0 arg refers to the current buffer + ok, err := v.AttachBuffer(0, false, make(map[string]any)) // first 0 arg refers to the current buffer if err != nil { t.Fatal(err) } @@ -277,7 +277,7 @@ func testBufAttach(v *Nvim) func(*testing.T) { clearBuffer(t, v, 0) // clear curret buffer text changedtickChan := make(chan *ChangedtickEvent) - v.RegisterHandler(EventBufChangedtick, func(changedtickEvent ...interface{}) { + v.RegisterHandler(EventBufChangedtick, func(changedtickEvent ...any) { ev := &ChangedtickEvent{ Buffer: changedtickEvent[0].(Buffer), Changetick: changedtickEvent[1].(int64), @@ -286,7 +286,7 @@ func testBufAttach(v *Nvim) func(*testing.T) { }) bufLinesChan := make(chan *BufLinesEvent) - v.RegisterHandler(EventBufLines, func(bufLinesEvent ...interface{}) { + v.RegisterHandler(EventBufLines, func(bufLinesEvent ...any) { ev := &BufLinesEvent{ Buffer: bufLinesEvent[0].(Buffer), Changetick: bufLinesEvent[1].(int64), @@ -294,14 +294,14 @@ func testBufAttach(v *Nvim) func(*testing.T) { LastLine: bufLinesEvent[3].(int64), IsMultipart: bufLinesEvent[5].(bool), } - for _, line := range bufLinesEvent[4].([]interface{}) { + for _, line := range bufLinesEvent[4].([]any) { ev.LineData = append(ev.LineData, line.(string)) } bufLinesChan <- ev }) bufDetachChan := make(chan *BufDetachEvent) - v.RegisterHandler(EventBufDetach, func(bufDetachEvent ...interface{}) { + v.RegisterHandler(EventBufDetach, func(bufDetachEvent ...any) { ev := &BufDetachEvent{ Buffer: bufDetachEvent[0].(Buffer), } @@ -311,7 +311,7 @@ func testBufAttach(v *Nvim) func(*testing.T) { b := v.NewBatch() var attached bool - b.AttachBuffer(0, false, make(map[string]interface{}), &attached) // first 0 arg refers to the current buffer + b.AttachBuffer(0, false, make(map[string]any), &attached) // first 0 arg refers to the current buffer if err := b.Execute(); err != nil { t.Fatal(err) } @@ -405,7 +405,7 @@ func testAPIInfo(v *Nvim) func(*testing.T) { t.Run("Batch", func(t *testing.T) { b := v.NewBatch() - var apiinfo []interface{} + var apiinfo []any b.APIInfo(&apiinfo) if err := b.Execute(); err != nil { t.Fatal(err) @@ -615,7 +615,7 @@ func testBuffer(v *Nvim) func(*testing.T) { }) t.Run("BufferCommands", func(t *testing.T) { - commands, err := v.BufferCommands(Buffer(0), make(map[string]interface{})) + commands, err := v.BufferCommands(Buffer(0), make(map[string]any)) if err != nil { t.Fatal(err) } @@ -699,7 +699,7 @@ func testBuffer(v *Nvim) func(*testing.T) { wantLine = 3 wantCol = 0 ) - set, err := v.SetBufferMark(Buffer(0), mark, wantLine, wantCol, make(map[string]interface{})) + set, err := v.SetBufferMark(Buffer(0), mark, wantLine, wantCol, make(map[string]any)) if err != nil { t.Fatal(err) } @@ -922,7 +922,7 @@ func testBuffer(v *Nvim) func(*testing.T) { b := v.NewBatch() var commands map[string]*Command - b.BufferCommands(Buffer(0), make(map[string]interface{}), &commands) + b.BufferCommands(Buffer(0), make(map[string]any), &commands) if err := b.Execute(); err != nil { t.Fatal(err) } @@ -1020,7 +1020,7 @@ func testBuffer(v *Nvim) func(*testing.T) { wantCol = 0 ) var set bool - b.SetBufferMark(Buffer(0), mark, wantLine, wantCol, make(map[string]interface{}), &set) + b.SetBufferMark(Buffer(0), mark, wantLine, wantCol, make(map[string]any), &set) if err := b.Execute(); err != nil { t.Fatal(err) } @@ -1896,7 +1896,7 @@ func testLines(v *Nvim) func(*testing.T) { t.Fatal(err) } - got, err := v.BufferText(buf, 0, 0, 1, -1, make(map[string]interface{})) + got, err := v.BufferText(buf, 0, 0, 1, -1, make(map[string]any)) if err != nil { t.Fatal(err) } @@ -2068,7 +2068,7 @@ func testLines(v *Nvim) func(*testing.T) { } var got [][]byte - b.BufferText(buf, 0, 0, 1, -1, make(map[string]interface{}), &got) + b.BufferText(buf, 0, 0, 1, -1, make(map[string]any), &got) if err := b.Execute(); err != nil { t.Fatal(err) } @@ -2151,7 +2151,7 @@ func testCmd(v *Nvim) func(*testing.T) { t.Fatalf("failed to SetVVar: %v", err) } // clear messages - if _, err := v.Exec(":messages clear", make(map[string]interface{})); err != nil { + if _, err := v.Exec(":messages clear", make(map[string]any)); err != nil { t.Fatalf("failed to SetVVar: %v", err) } }() @@ -2176,7 +2176,7 @@ func testCmd(v *Nvim) func(*testing.T) { t.Fatalf("failed to SetVVar: %v", err) } // clear messages - if _, err := v.Exec(":messages clear", make(map[string]interface{})); err != nil { + if _, err := v.Exec(":messages clear", make(map[string]any)); err != nil { t.Fatalf("failed to SetVVar: %v", err) } }() @@ -2214,7 +2214,7 @@ func testCmd(v *Nvim) func(*testing.T) { } t.Run("Nvim", func(t *testing.T) { - got, err := v.ParseCmd(`echomsg 'hello'`, make(map[string]interface{})) + got, err := v.ParseCmd(`echomsg 'hello'`, make(map[string]any)) if err != nil { t.Fatal(err) } @@ -2227,7 +2227,7 @@ func testCmd(v *Nvim) func(*testing.T) { b := v.NewBatch() var got Cmd - b.ParseCmd(`echomsg 'hello'`, make(map[string]interface{}), &got) + b.ParseCmd(`echomsg 'hello'`, make(map[string]any), &got) if err := b.Execute(); err != nil { t.Fatal(err) } @@ -2243,7 +2243,7 @@ func testCommand(v *Nvim) func(*testing.T) { return func(t *testing.T) { t.Run("Commands", func(t *testing.T) { t.Run("Nvim", func(t *testing.T) { - opts := map[string]interface{}{ + opts := map[string]any{ "builtin": false, } cmds, err := v.Commands(opts) @@ -2258,7 +2258,7 @@ func testCommand(v *Nvim) func(*testing.T) { t.Run("Batch", func(t *testing.T) { b := v.NewBatch() - opts := map[string]interface{}{ + opts := map[string]any{ "builtin": false, } var cmds map[string]*Command @@ -2276,16 +2276,16 @@ func testCommand(v *Nvim) func(*testing.T) { tests := map[string]struct { name string command UserCommand - opts map[string]interface{} - want map[string]interface{} + opts map[string]any + want map[string]any }{ "SayHello": { name: "SayHello", command: UserVimCommand(`echo "Hello world!"`), - opts: map[string]interface{}{ + opts: map[string]any{ "force": false, }, - want: map[string]interface{}{ + want: map[string]any{ "output": "Hello world!", }, }, @@ -2303,7 +2303,7 @@ func testCommand(v *Nvim) func(*testing.T) { } }) - opts := map[string]interface{}{ + opts := map[string]any{ "output": true, } got, err := v.Exec(tt.name, opts) @@ -2331,10 +2331,10 @@ func testCommand(v *Nvim) func(*testing.T) { } }) - opts := map[string]interface{}{ + opts := map[string]any{ "output": true, } - var got map[string]interface{} + var got map[string]any b.Exec(tt.name, opts, &got) if err := b.Execute(); err != nil { t.Fatal(err) @@ -2350,16 +2350,16 @@ func testCommand(v *Nvim) func(*testing.T) { tests := map[string]struct { name string command UserCommand - opts map[string]interface{} - want map[string]interface{} + opts map[string]any + want map[string]any }{ "SayHello": { name: "SayHello", command: UserVimCommand(`echo "Hello world!"`), - opts: map[string]interface{}{ + opts: map[string]any{ "force": false, }, - want: map[string]interface{}{ + want: map[string]any{ "output": "Hello world!", }, }, @@ -2377,7 +2377,7 @@ func testCommand(v *Nvim) func(*testing.T) { } }) - opts := map[string]interface{}{ + opts := map[string]any{ "output": true, } got, err := v.Exec(tt.name, opts) @@ -2405,10 +2405,10 @@ func testCommand(v *Nvim) func(*testing.T) { } }) - opts := map[string]interface{}{ + opts := map[string]any{ "output": true, } - var got map[string]interface{} + var got map[string]any b.Exec(tt.name, opts, &got) if err := b.Execute(); err != nil { t.Fatal(err) @@ -2440,7 +2440,7 @@ func testVar(v *Nvim) func(*testing.T) { t.Fatal(err) } - var value interface{} + var value any if err := v.Var(varKey, &value); err != nil { t.Fatal(err) } @@ -2486,7 +2486,7 @@ func testVar(v *Nvim) func(*testing.T) { b.SetVar(varKey, varVal) - var value interface{} + var value any b.Var(varKey, &value) if err := b.Execute(); err != nil { t.Fatal(err) @@ -2543,11 +2543,11 @@ func testMessage(v *Nvim) func(*testing.T) { Text: wantEcho, }, } - if err := v.Echo(chunk, true, make(map[string]interface{})); err != nil { + if err := v.Echo(chunk, true, make(map[string]any)); err != nil { t.Fatalf("failed to Echo: %v", err) } - opts := map[string]interface{}{ + opts := map[string]any{ "output": true, } gotEcho, err := v.Exec("message", opts) @@ -2555,7 +2555,7 @@ func testMessage(v *Nvim) func(*testing.T) { t.Fatalf("could not get v:statusmsg nvim variable: %v", err) } - want := map[string]interface{}{ + want := map[string]any{ "output": wantEcho, } if !reflect.DeepEqual(gotEcho, want) { @@ -2570,7 +2570,7 @@ func testMessage(v *Nvim) func(*testing.T) { t.Fatalf("failed to SetVVar: %v", err) } // clear messages - if _, err := v.Exec(":messages clear", make(map[string]interface{})); err != nil { + if _, err := v.Exec(":messages clear", make(map[string]any)); err != nil { t.Fatalf("failed to SetVVar: %v", err) } }() @@ -2596,7 +2596,7 @@ func testMessage(v *Nvim) func(*testing.T) { t.Fatalf("failed to SetVVar: %v", err) } // clear messages - if _, err := v.Exec(":messages clear", make(map[string]interface{})); err != nil { + if _, err := v.Exec(":messages clear", make(map[string]any)); err != nil { t.Fatalf("failed to SetVVar: %v", err) } }() @@ -2622,7 +2622,7 @@ func testMessage(v *Nvim) func(*testing.T) { t.Fatalf("failed to SetVVar: %v", err) } // clear messages - if _, err := v.Exec(":messages clear", make(map[string]interface{})); err != nil { + if _, err := v.Exec(":messages clear", make(map[string]any)); err != nil { t.Fatalf("failed to SetVVar: %v", err) } }() @@ -2648,20 +2648,20 @@ func testMessage(v *Nvim) func(*testing.T) { t.Fatalf("failed to SetVVar: %v", err) } // clear messages - if _, err := v.Exec(":messages clear", make(map[string]interface{})); err != nil { + if _, err := v.Exec(":messages clear", make(map[string]any)); err != nil { t.Fatalf("failed to SetVVar: %v", err) } }() const wantNotifyMsg = `hello Notify` - want := map[string]interface{}{ + want := map[string]any{ "output": wantNotifyMsg, } - if err := v.Notify(wantNotifyMsg, LogInfoLevel, make(map[string]interface{})); err != nil { + if err := v.Notify(wantNotifyMsg, LogInfoLevel, make(map[string]any)); err != nil { t.Fatalf("failed to Notify: %v", err) } - opts := map[string]interface{}{ + opts := map[string]any{ "output": true, } gotNotifyMsg, err := v.Exec(":messages", opts) @@ -2680,13 +2680,13 @@ func testMessage(v *Nvim) func(*testing.T) { t.Fatalf("failed to SetVVar: %v", err) } // clear messages - if _, err := v.Exec(":messages clear", make(map[string]interface{})); err != nil { + if _, err := v.Exec(":messages clear", make(map[string]any)); err != nil { t.Fatalf("failed to SetVVar: %v", err) } }() const wantNotifyErr = `hello Notify Error` - if err := v.Notify(wantNotifyErr, LogErrorLevel, make(map[string]interface{})); err != nil { + if err := v.Notify(wantNotifyErr, LogErrorLevel, make(map[string]any)); err != nil { t.Fatalf("failed to Notify: %v", err) } var gotNotifyErr string @@ -2709,18 +2709,18 @@ func testMessage(v *Nvim) func(*testing.T) { Text: wantEcho, }, } - b.Echo(chunk, true, make(map[string]interface{})) + b.Echo(chunk, true, make(map[string]any)) - opts := map[string]interface{}{ + opts := map[string]any{ "output": true, } - var gotEcho map[string]interface{} + var gotEcho map[string]any b.Exec("message", opts, &gotEcho) if err := b.Execute(); err != nil { t.Fatalf("failed to Execute: %v", err) } - want := map[string]interface{}{ + want := map[string]any{ "output": wantEcho, } if !reflect.DeepEqual(gotEcho, want) { @@ -2734,7 +2734,7 @@ func testMessage(v *Nvim) func(*testing.T) { t.Fatalf("failed to SetVVar: %v", err) } // clear messages - if _, err := v.Exec(":messages clear", make(map[string]interface{})); err != nil { + if _, err := v.Exec(":messages clear", make(map[string]any)); err != nil { t.Fatalf("failed to SetVVar: %v", err) } }() @@ -2764,7 +2764,7 @@ func testMessage(v *Nvim) func(*testing.T) { t.Fatalf("failed to SetVVar: %v", err) } // clear messages - if _, err := v.Exec(":messages clear", make(map[string]interface{})); err != nil { + if _, err := v.Exec(":messages clear", make(map[string]any)); err != nil { t.Fatalf("failed to SetVVar: %v", err) } }() @@ -2793,7 +2793,7 @@ func testMessage(v *Nvim) func(*testing.T) { t.Fatalf("failed to SetVVar: %v", err) } // clear messages - if _, err := v.Exec(":messages clear", make(map[string]interface{})); err != nil { + if _, err := v.Exec(":messages clear", make(map[string]any)); err != nil { t.Fatalf("failed to SetVVar: %v", err) } }() @@ -2822,7 +2822,7 @@ func testMessage(v *Nvim) func(*testing.T) { t.Fatalf("failed to SetVVar: %v", err) } // clear messages - if _, err := v.Exec(":messages clear", make(map[string]interface{})); err != nil { + if _, err := v.Exec(":messages clear", make(map[string]any)); err != nil { t.Fatalf("failed to SetVVar: %v", err) } }() @@ -2830,21 +2830,21 @@ func testMessage(v *Nvim) func(*testing.T) { b := v.NewBatch() const wantNotifyMsg = `hello Notify` - b.Notify(wantNotifyMsg, LogInfoLevel, make(map[string]interface{})) + b.Notify(wantNotifyMsg, LogInfoLevel, make(map[string]any)) if err := b.Execute(); err != nil { t.Fatalf("failed to Notify: %v", err) } - opts := map[string]interface{}{ + opts := map[string]any{ "output": true, } - var gotNotifyMsg map[string]interface{} + var gotNotifyMsg map[string]any b.Exec(":messages", opts, &gotNotifyMsg) if err := b.Execute(); err != nil { t.Fatalf("failed to \":messages\" command: %v", err) } - want := map[string]interface{}{ + want := map[string]any{ "output": wantNotifyMsg, } if !reflect.DeepEqual(gotNotifyMsg, want) { @@ -2859,7 +2859,7 @@ func testMessage(v *Nvim) func(*testing.T) { t.Fatalf("failed to SetVVar: %v", err) } // clear messages - if _, err := v.Exec(":messages clear", make(map[string]interface{})); err != nil { + if _, err := v.Exec(":messages clear", make(map[string]any)); err != nil { t.Fatalf("failed to SetVVar: %v", err) } }() @@ -2867,7 +2867,7 @@ func testMessage(v *Nvim) func(*testing.T) { b := v.NewBatch() const wantNotifyErr = `hello Notify Error` - b.Notify(wantNotifyErr, LogErrorLevel, make(map[string]interface{})) + b.Notify(wantNotifyErr, LogErrorLevel, make(map[string]any)) if err := b.Execute(); err != nil { t.Fatalf("failed to Notify: %v", err) } @@ -3851,7 +3851,7 @@ func testHighlight(v *Nvim) func(*testing.T) { t.Fatal(err) } - opts := map[string]interface{}{ + opts := map[string]any{ "id": testHLID, } got, err := v.HL(nsID, opts) @@ -3931,7 +3931,7 @@ func testHighlight(v *Nvim) func(*testing.T) { t.Fatal(err) } - opts := map[string]interface{}{ + opts := map[string]any{ "id": testHLID, } var got HLAttrs @@ -4001,7 +4001,7 @@ func testVirtualText(v *Nvim) func(*testing.T) { HLGroup: "String", }, } - nsID2, err := v.SetBufferVirtualText(Buffer(0), nsID, 0, chunks, make(map[string]interface{})) + nsID2, err := v.SetBufferVirtualText(Buffer(0), nsID, 0, chunks, make(map[string]any)) if err != nil { t.Fatal(err) } @@ -4253,7 +4253,7 @@ func testContext(v *Nvim) func(*testing.T) { t.Fatal(err) } - var result interface{} + var result any if err := v.LoadContext(ctxt, &result); err != nil { t.Fatal(err) } @@ -4265,13 +4265,13 @@ func testContext(v *Nvim) func(*testing.T) { t.Run("Batch", func(t *testing.T) { b := v.NewBatch() - var ctxt map[string]interface{} + var ctxt map[string]any b.Context(make(map[string][]string), &ctxt) if err := b.Execute(); err != nil { t.Fatal(err) } - var result interface{} + var result any b.LoadContext(ctxt, &result) if err := b.Execute(); err != nil { t.Fatal(err) @@ -4306,12 +4306,12 @@ func testExtmarks(v *Nvim) func(*testing.T) { wantLine = 1 wantCol = 3 ) - gotExtMarkID, err := v.SetBufferExtmark(Buffer(0), nsID, wantLine, wantCol, make(map[string]interface{})) + gotExtMarkID, err := v.SetBufferExtmark(Buffer(0), nsID, wantLine, wantCol, make(map[string]any)) if err != nil { t.Fatal(err) } - extmarks, err := v.BufferExtmarks(Buffer(0), nsID, 0, -1, make(map[string]interface{})) + extmarks, err := v.BufferExtmarks(Buffer(0), nsID, 0, -1, make(map[string]any)) if err != nil { t.Fatal(err) } @@ -4328,7 +4328,7 @@ func testExtmarks(v *Nvim) func(*testing.T) { t.Fatalf("got %d extmarks Col but want %d", extmarks[0].Col, wantCol) } - pos, err := v.BufferExtmarkByID(Buffer(0), nsID, gotExtMarkID, make(map[string]interface{})) + pos, err := v.BufferExtmarkByID(Buffer(0), nsID, gotExtMarkID, make(map[string]any)) if err != nil { t.Fatal(err) } @@ -4382,13 +4382,13 @@ func testExtmarks(v *Nvim) func(*testing.T) { wantCol = 3 ) var gotExtMarkID int - b.SetBufferExtmark(Buffer(0), nsID, wantLine, wantCol, make(map[string]interface{}), &gotExtMarkID) + b.SetBufferExtmark(Buffer(0), nsID, wantLine, wantCol, make(map[string]any), &gotExtMarkID) if err := b.Execute(); err != nil { t.Fatal(err) } var extmarks []ExtMark - b.BufferExtmarks(Buffer(0), nsID, 0, -1, make(map[string]interface{}), &extmarks) + b.BufferExtmarks(Buffer(0), nsID, 0, -1, make(map[string]any), &extmarks) if err := b.Execute(); err != nil { t.Fatal(err) } @@ -4407,7 +4407,7 @@ func testExtmarks(v *Nvim) func(*testing.T) { } var pos []int - b.BufferExtmarkByID(Buffer(0), nsID, gotExtMarkID, make(map[string]interface{}), &pos) + b.BufferExtmarkByID(Buffer(0), nsID, gotExtMarkID, make(map[string]any), &pos) if err := b.Execute(); err != nil { t.Fatal(err) } @@ -4732,7 +4732,7 @@ func testOptions(v *Nvim) func(*testing.T) { t.Run("Option", func(t *testing.T) { tests := map[string]struct { name string - want interface{} + want any }{ "background": { name: "background", @@ -4742,7 +4742,7 @@ func testOptions(v *Nvim) func(*testing.T) { for name, tt := range tests { t.Run("Nvim/"+name, func(t *testing.T) { - var got interface{} + var got any if err := v.Option(tt.name, &got); err != nil { t.Fatal(err) } @@ -4756,7 +4756,7 @@ func testOptions(v *Nvim) func(*testing.T) { t.Run("Batch/"+name, func(t *testing.T) { b := v.NewBatch() - var got interface{} + var got any b.Option(tt.name, &got) if err := b.Execute(); err != nil { t.Fatal(err) @@ -4771,8 +4771,8 @@ func testOptions(v *Nvim) func(*testing.T) { t.Run("SetOption", func(t *testing.T) { tests := map[string]struct { name string - value interface{} - want interface{} + value any + want any }{ "background": { name: "background", @@ -4786,7 +4786,7 @@ func testOptions(v *Nvim) func(*testing.T) { t.Fatal(err) } - var got interface{} + var got any if err := v.Option(tt.name, &got); err != nil { t.Fatal(err) } @@ -4804,7 +4804,7 @@ func testOptions(v *Nvim) func(*testing.T) { t.Fatal(err) } - var got interface{} + var got any b.Option(tt.name, &got) if err := b.Execute(); err != nil { t.Fatal(err) @@ -4880,7 +4880,7 @@ func testOptions(v *Nvim) func(*testing.T) { skipVersion(t, "v0.7.0") } - got, err := v.OptionInfo(tt.name, make(map[string]interface{})) + got, err := v.OptionInfo(tt.name, make(map[string]any)) if err != nil { t.Fatal(err) } @@ -4899,7 +4899,7 @@ func testOptions(v *Nvim) func(*testing.T) { b := v.NewBatch() var got OptionInfo - b.OptionInfo(tt.name, make(map[string]interface{}), &got) + b.OptionInfo(tt.name, make(map[string]any), &got) if err := b.Execute(); err != nil { t.Fatal(err) } @@ -5014,7 +5014,7 @@ func testOptionsInfo(v *Nvim) func(*testing.T) { skipVersion(t, "v0.7.0") } - got, err := v.OptionInfo(tt.name, make(map[string]interface{})) + got, err := v.OptionInfo(tt.name, make(map[string]any)) if err != nil { t.Fatal(err) } @@ -5033,7 +5033,7 @@ func testOptionsInfo(v *Nvim) func(*testing.T) { b := v.NewBatch() var got OptionInfo - b.OptionInfo(tt.name, make(map[string]interface{}), &got) + b.OptionInfo(tt.name, make(map[string]any), &got) if err := b.Execute(); err != nil { t.Fatal(err) } @@ -5050,8 +5050,8 @@ func testOptionsValue(v *Nvim) func(*testing.T) { tests := map[string]struct { name string opts map[string]OptionValueScope - want interface{} - value interface{} + want any + value any }{ "equalalways": { name: "equalalways", @@ -5074,7 +5074,7 @@ func testOptionsValue(v *Nvim) func(*testing.T) { t.Run(path.Join(name, "Nvim"), func(t *testing.T) { skipVersion(t, "v0.8.0") - var result interface{} + var result any if err := v.OptionValue(tt.name, tt.opts, &result); err != nil { t.Fatal(err) } @@ -5086,7 +5086,7 @@ func testOptionsValue(v *Nvim) func(*testing.T) { t.Fatal(err) } - var result2 interface{} + var result2 any if err := v.OptionValue(tt.name, tt.opts, &result2); err != nil { t.Fatal(err) } @@ -5106,7 +5106,7 @@ func testOptionsValue(v *Nvim) func(*testing.T) { b := v.NewBatch() - var result interface{} + var result any b.OptionValue(tt.name, tt.opts, &result) if err := b.Execute(); err != nil { t.Fatal(err) @@ -5120,7 +5120,7 @@ func testOptionsValue(v *Nvim) func(*testing.T) { t.Fatal(err) } - var result2 interface{} + var result2 any b.OptionValue(tt.name, tt.opts, &result2) if err := b.Execute(); err != nil { t.Fatal(err) @@ -5159,7 +5159,7 @@ func testTerm(v *Nvim) func(*testing.T) { t.Fatal(err) } - termID, err := v.OpenTerm(buf, make(map[string]interface{})) + termID, err := v.OpenTerm(buf, make(map[string]any)) if err != nil { t.Fatal(err) } @@ -5191,7 +5191,7 @@ func testTerm(v *Nvim) func(*testing.T) { b.OpenWindow(buf, false, cfg, &win) var termID int - b.OpenTerm(buf, make(map[string]interface{}), &termID) + b.OpenTerm(buf, make(map[string]any), &termID) if err := b.Execute(); err != nil { t.Fatal(err) @@ -5348,8 +5348,8 @@ func testUI(v *Nvim) func(*testing.T) { t.Fatalf("expected ui empty but non-zero: %#v", gotUIs) } - v.RegisterHandler("redraw", func(updates ...[]interface{}) {}) - if err := v.AttachUI(500, 400, make(map[string]interface{})); err != nil { + v.RegisterHandler("redraw", func(updates ...[]any) {}) + if err := v.AttachUI(500, 400, make(map[string]any)); err != nil { t.Fatal(err) } t.Cleanup(func() { @@ -5388,8 +5388,8 @@ func testUI(v *Nvim) func(*testing.T) { t.Fatalf("expected ui empty but non-zero: %#v", gotUIs) } - v.RegisterHandler("redraw", func(updates ...[]interface{}) {}) - b.AttachUI(500, 400, make(map[string]interface{})) + v.RegisterHandler("redraw", func(updates ...[]any) {}) + b.AttachUI(500, 400, make(map[string]any)) if err := b.Execute(); err != nil { t.Fatal(err) } @@ -5554,7 +5554,7 @@ func testMark(v *Nvim) func(*testing.T) { t.Fatal(err) } - gotMark, err := v.Mark(mark, make(map[string]interface{})) + gotMark, err := v.Mark(mark, make(map[string]any)) if err != nil { t.Fatal(err) } @@ -5577,7 +5577,7 @@ func testMark(v *Nvim) func(*testing.T) { t.Fatalf("could not delete %s mark", mark) } - gotMark2, err := v.Mark(mark, make(map[string]interface{})) + gotMark2, err := v.Mark(mark, make(map[string]any)) if err != nil { t.Fatal(err) } @@ -5637,7 +5637,7 @@ func testMark(v *Nvim) func(*testing.T) { } gotMark := new(Mark) - b.Mark(mark, make(map[string]interface{}), gotMark) + b.Mark(mark, make(map[string]any), gotMark) if err := b.Execute(); err != nil { t.Fatal(err) } @@ -5662,7 +5662,7 @@ func testMark(v *Nvim) func(*testing.T) { } gotMark2 := new(Mark) - b.Mark(mark, make(map[string]interface{}), gotMark2) + b.Mark(mark, make(map[string]any), gotMark2) if err := b.Execute(); err != nil { t.Fatal(err) } @@ -5683,7 +5683,7 @@ func testMark(v *Nvim) func(*testing.T) { func testStatusLine(v *Nvim) func(*testing.T) { return func(t *testing.T) { t.Run("Nvim", func(t *testing.T) { - opts := map[string]interface{}{ + opts := map[string]any{ "highlights": true, } gotStatusLine, err := v.EvalStatusLine("TextWithNoHighlight", opts) @@ -5691,9 +5691,9 @@ func testStatusLine(v *Nvim) func(*testing.T) { t.Fatal(err) } - wantStatusLine := map[string]interface{}{ - "highlights": []interface{}{ - map[string]interface{}{ + wantStatusLine := map[string]any{ + "highlights": []any{ + map[string]any{ "group": "StatusLine", "start": int64(0), }, @@ -5702,8 +5702,8 @@ func testStatusLine(v *Nvim) func(*testing.T) { "width": 19, } - gotHighlight := gotStatusLine["highlights"].([]interface{})[0].(map[string]interface{}) - wantHighlight := wantStatusLine["highlights"].([]interface{})[0].(map[string]interface{}) + gotHighlight := gotStatusLine["highlights"].([]any)[0].(map[string]any) + wantHighlight := wantStatusLine["highlights"].([]any)[0].(map[string]any) if !reflect.DeepEqual(gotHighlight["group"], wantHighlight["group"]) { t.Fatalf("got %#v highlight group but want %#v", gotHighlight["group"], wantHighlight["group"]) } @@ -5727,18 +5727,18 @@ func testStatusLine(v *Nvim) func(*testing.T) { t.Run("Batch", func(t *testing.T) { b := v.NewBatch() - opts := map[string]interface{}{ + opts := map[string]any{ "highlights": true, } - var gotStatusLine map[string]interface{} + var gotStatusLine map[string]any b.EvalStatusLine("TextWithNoHighlight", opts, &gotStatusLine) if err := b.Execute(); err != nil { t.Fatal(err) } - wantStatusLine := map[string]interface{}{ - "highlights": []interface{}{ - map[string]interface{}{ + wantStatusLine := map[string]any{ + "highlights": []any{ + map[string]any{ "group": "StatusLine", "start": int64(0), }, @@ -5747,8 +5747,8 @@ func testStatusLine(v *Nvim) func(*testing.T) { "width": 19, } - gotHighlight := gotStatusLine["highlights"].([]interface{})[0].(map[string]interface{}) - wantHighlight := wantStatusLine["highlights"].([]interface{})[0].(map[string]interface{}) + gotHighlight := gotStatusLine["highlights"].([]any)[0].(map[string]any) + wantHighlight := wantStatusLine["highlights"].([]any)[0].(map[string]any) if !reflect.DeepEqual(gotHighlight["group"], wantHighlight["group"]) { t.Fatalf("got %#v highlight group but want %#v", gotHighlight["group"], wantHighlight["group"]) } @@ -5775,7 +5775,7 @@ func testAutocmd(v *Nvim) func(*testing.T) { return func(t *testing.T) { t.Run("Nvim", func(t *testing.T) { t.Run("CreateAndClear", func(t *testing.T) { - augID, err := v.CreateAugroup("TestNvimAucmd", map[string]interface{}{ + augID, err := v.CreateAugroup("TestNvimAucmd", map[string]any{ "clear": false, }) if err != nil { @@ -5787,7 +5787,7 @@ func testAutocmd(v *Nvim) func(*testing.T) { } }) - auOpts := map[string]interface{}{ + auOpts := map[string]any{ "group": augID, "pattern": `AutocmdTest`, "callback": `echomsg 'Hello Autocmd'`, @@ -5795,7 +5795,7 @@ func testAutocmd(v *Nvim) func(*testing.T) { if _, err := v.CreateAutocmd(`User`, auOpts); err != nil { t.Fatal(err) } - auOpts2 := map[string]interface{}{ + auOpts2 := map[string]any{ "group": augID, "pattern": `AutocmdTest2`, "callback": `echomsg 'Hello Autocmd'`, @@ -5805,7 +5805,7 @@ func testAutocmd(v *Nvim) func(*testing.T) { t.Fatal(err) } - if err := v.ExecAutocmds(`User`, map[string]interface{}{"group": augID}); err != nil { + if err := v.ExecAutocmds(`User`, map[string]any{"group": augID}); err != nil { t.Fatal(err) } @@ -5824,7 +5824,7 @@ func testAutocmd(v *Nvim) func(*testing.T) { want[0].Command = `` } - args := map[string]interface{}{ + args := map[string]any{ "group": augID, "event": []string{`User`}, "pattern": `AutocmdTest`, @@ -5862,7 +5862,7 @@ func testAutocmd(v *Nvim) func(*testing.T) { }) t.Run("DeleteAugroupByName", func(t *testing.T) { - _, err := v.CreateAugroup("TestDeleteAucmd", map[string]interface{}{ + _, err := v.CreateAugroup("TestDeleteAucmd", map[string]any{ "clear": false, }) if err != nil { @@ -5880,7 +5880,7 @@ func testAutocmd(v *Nvim) func(*testing.T) { b := v.NewBatch() var augID int - b.CreateAugroup(`TestNvimAugroup`, map[string]interface{}{ + b.CreateAugroup(`TestNvimAugroup`, map[string]any{ "clear": false, }, &augID) if err := b.Execute(); err != nil { @@ -5893,7 +5893,7 @@ func testAutocmd(v *Nvim) func(*testing.T) { } }) - auOpts := map[string]interface{}{ + auOpts := map[string]any{ "group": augID, "pattern": `AutocmdTest`, "callback": `echomsg 'Hello Autocmd'`, @@ -5903,7 +5903,7 @@ func testAutocmd(v *Nvim) func(*testing.T) { t.Fatal(err) } - auOpts2 := map[string]interface{}{ + auOpts2 := map[string]any{ "group": augID, "pattern": `AutocmdTest2`, "callback": `echomsg 'Hello Autocmd'`, @@ -5914,7 +5914,7 @@ func testAutocmd(v *Nvim) func(*testing.T) { t.Fatal(err) } - b.ExecAutocmds(`User`, map[string]interface{}{"group": augID}) + b.ExecAutocmds(`User`, map[string]any{"group": augID}) if err := b.Execute(); err != nil { t.Fatal(err) } @@ -5934,7 +5934,7 @@ func testAutocmd(v *Nvim) func(*testing.T) { want[0].Command = `` } - args := map[string]interface{}{ + args := map[string]any{ "group": augID, "event": []string{`User`}, "pattern": `AutocmdTest`, @@ -5979,7 +5979,7 @@ func testAutocmd(v *Nvim) func(*testing.T) { t.Run("DeleteAugroupByName", func(t *testing.T) { b := v.NewBatch() - b.CreateAugroup("TestNvimAucmd", map[string]interface{}{ + b.CreateAugroup("TestNvimAucmd", map[string]any{ "clear": false, }, new(int)) if err := b.Execute(); err != nil { diff --git a/nvim/api_tool.go b/nvim/api_tool.go index a95ae31a..768e249d 100644 --- a/nvim/api_tool.go +++ b/nvim/api_tool.go @@ -94,7 +94,7 @@ var extensionTypes = map[string]ExtensionType{ }, } -func formatNode(fset *token.FileSet, node interface{}) string { +func formatNode(fset *token.FileSet, node any) string { var buf strings.Builder if err := format.Node(&buf, fset, node); err != nil { panic(err) @@ -208,14 +208,14 @@ const genTemplate = ` {{- end}} {{range .Functions}} -{{if eq "interface{}" .ReturnType}} +{{if eq "any" .ReturnType}} {{template "doc" .}} -func (v *Nvim) {{.GoName}}({{range .Parameters}}{{.Name}} {{.Type}},{{end}} result interface{}) error { +func (v *Nvim) {{.GoName}}({{range .Parameters}}{{.Name}} {{.Type}},{{end}} result any) error { return v.call("{{.Name}}", result, {{range .Parameters}}{{.Name}},{{end}}) } {{template "doc" .}} -func (b *Batch) {{.GoName}}({{range .Parameters}}{{.Name}} {{.Type}},{{end}} result interface{}) { +func (b *Batch) {{.GoName}}({{range .Parameters}}{{.Name}} {{.Type}},{{end}} result any) { b.call("{{.Name}}", &result, {{range .Parameters}}{{.Name}},{{end}}) } @@ -287,7 +287,7 @@ const ( func withExtensions() rpc.Option { return rpc.WithExtensions(msgpack.ExtensionMap{ {{- range $name, $type := .Types}} - {{$type.ID}}: func(p []byte) (interface{}, error) { + {{$type.ID}}: func(p []byte) (any, error) { x, err := decodeExt(p) return {{$name}}(x), err }, @@ -329,7 +329,7 @@ package nvim // Deprecated: Use ChildProcessOption instead. type EmbedOptions struct { // Logf log function for rpc.WithLogf. - Logf func(string, ...interface{}) + Logf func(string, ...any) // Dir specifies the working directory of the command. The working // directory in the current process is used if Dir is "". @@ -373,7 +373,7 @@ func NewEmbedded(options *EmbedOptions) (*Nvim, error) { // ExecuteLua executes a Lua block. // // Deprecated: Use ExecLua instead. -func (v *Nvim) ExecuteLua(code string, result interface{}, args ...interface{}) error { +func (v *Nvim) ExecuteLua(code string, result any, args ...any) error { if args == nil { args = emptyArgs } @@ -383,7 +383,7 @@ func (v *Nvim) ExecuteLua(code string, result interface{}, args ...interface{}) // ExecuteLua executes a Lua block. // // Deprecated: Use ExecLua instead. -func (b *Batch) ExecuteLua(code string, result interface{}, args ...interface{}) { +func (b *Batch) ExecuteLua(code string, result any, args ...any) { if args == nil { args = emptyArgs } @@ -435,10 +435,10 @@ var nvimTypes = map[string]string{ "": "void", "[]byte": "String", "[]uint": "Array", - "[]interface{}": "Array", + "[]any": "Array", "bool": "Boolean", "int": "Integer", - "interface{}": "Object", + "any": "Object", "string": "String", "float64": "Float", @@ -463,7 +463,7 @@ var nvimTypes = map[string]string{ "map[string][]string": "Dictionary", "map[string]bool": "Dictionary", "map[string]int": "Dictionary", - "map[string]interface{}": "Dictionary", + "map[string]any": "Dictionary", "map[string]OptionValueScope": "Dictionary", "Mode": "Dictionary", "OptionInfo": "Dictionary", @@ -613,7 +613,7 @@ func dumpAPI(cmdName string) error { return fmt.Errorf("error getting API info: %w", err) } - var v interface{} + var v any if err := msgpack.NewDecoder(bytes.NewReader(output)).Decode(&v); err != nil { return fmt.Errorf("error parsing msppack: %w", err) } diff --git a/nvim/nvim.go b/nvim/nvim.go index b827390e..763c16f0 100644 --- a/nvim/nvim.go +++ b/nvim/nvim.go @@ -104,7 +104,7 @@ func (v *Nvim) ExitCode() int { // The application must call Serve() to handle RPC requests and responses. // // :help rpc-connecting -func New(r io.Reader, w io.Writer, c io.Closer, logf func(string, ...interface{})) (*Nvim, error) { +func New(r io.Reader, w io.Writer, c io.Closer, logf func(string, ...any)) (*Nvim, error) { ep, err := rpc.NewEndpoint(r, w, c, rpc.WithLogf(logf), withExtensions()) if err != nil { return nil, err @@ -119,7 +119,7 @@ type ChildProcessOption struct { type childProcessOptions struct { ctx context.Context - logf func(string, ...interface{}) + logf func(string, ...any) command string dir string args []string @@ -179,7 +179,7 @@ func ChildProcessServe(serve bool) ChildProcessOption { // ChildProcessLogf specifies function for logging output. The log.Printf // function is used by default. -func ChildProcessLogf(logf func(string, ...interface{})) ChildProcessOption { +func ChildProcessLogf(logf func(string, ...any)) ChildProcessOption { return ChildProcessOption{func(cpos *childProcessOptions) { cpos.logf = logf }} @@ -261,7 +261,7 @@ type DialOption struct { type dialOptions struct { ctx context.Context - logf func(string, ...interface{}) + logf func(string, ...any) netDial func(ctx context.Context, network, address string) (net.Conn, error) serve bool } @@ -291,7 +291,7 @@ func DialServe(serve bool) DialOption { } // DialLogf specifies function for logging output. The log.Printf function is used by default. -func DialLogf(logf func(string, ...interface{})) DialOption { +func DialLogf(logf func(string, ...any)) DialOption { return DialOption{func(dos *dialOptions) { dos.logf = logf }} @@ -350,9 +350,8 @@ func Dial(address string, options ...DialOption) (*Nvim, error) { // // :help rpcrequest() // :help rpcnotify() -// -func (v *Nvim) RegisterHandler(method string, fn interface{}) error { - var args []interface{} +func (v *Nvim) RegisterHandler(method string, fn any) error { + var args []any t := reflect.TypeOf(fn) if t.Kind() == reflect.Func && t.NumIn() > 0 && t.In(0) == reflect.TypeOf(v) { args = append(args, v) @@ -368,8 +367,8 @@ func (v *Nvim) ChannelID() int { return v.channelID } var info struct { - ChannelID int `msgpack:",array"` - Info interface{} `msgpack:"-"` + ChannelID int `msgpack:",array"` + Info any `msgpack:"-"` } if err := v.ep.Call("nvim_get_api_info", &info); err != nil { // TODO: log error and exit process? @@ -378,7 +377,7 @@ func (v *Nvim) ChannelID() int { return v.channelID } -func (v *Nvim) call(sm string, result interface{}, args ...interface{}) error { +func (v *Nvim) call(sm string, result any, args ...any) error { return fixError(sm, v.ep.Call(sm, result, args...)) } @@ -407,7 +406,7 @@ type Batch struct { ep *rpc.Endpoint enc *msgpack.Encoder sms []string - results []interface{} + results []any buf bytes.Buffer } @@ -425,7 +424,7 @@ func (b *Batch) Execute() error { } result := struct { - Results []interface{} `msgpack:",array"` + Results []any `msgpack:",array"` Error *struct { Index int `msgpack:",array"` Type int @@ -461,9 +460,9 @@ func (b *Batch) Execute() error { } // emptyArgs represents a empty interface slice which use to empty args. -var emptyArgs = []interface{}{} +var emptyArgs = []any{} -func (b *Batch) call(sm string, result interface{}, args ...interface{}) { +func (b *Batch) call(sm string, result any, args ...any) { if b.err != nil { return } @@ -509,7 +508,7 @@ func (e *BatchError) Error() string { func fixError(sm string, err error) error { if e, ok := err.(rpc.Error); ok { - if a, ok := e.Value.([]interface{}); ok && len(a) == 2 { + if a, ok := e.Value.([]any); ok && len(a) == 2 { switch a[0] { case int64(exceptionError), uint64(exceptionError): return fmt.Errorf("nvim:%s exception: %v", sm, a[1]) @@ -530,12 +529,12 @@ func (el ErrorList) Error() string { } // Request makes a any RPC request. -func (v *Nvim) Request(procedure string, result interface{}, args ...interface{}) error { +func (v *Nvim) Request(procedure string, result any, args ...any) error { return v.call(procedure, result, args...) } // Request makes a any RPC request atomically as a part of batch request. -func (b *Batch) Request(procedure string, result interface{}, args ...interface{}) { +func (b *Batch) Request(procedure string, result any, args ...any) { b.call(procedure, result, args...) } @@ -548,7 +547,7 @@ func (b *Batch) Request(procedure string, result interface{}, args ...interface{ // args is Function arguments packed in an Array. // // result is the result of the function call. -func (v *Nvim) Call(fname string, result interface{}, args ...interface{}) error { +func (v *Nvim) Call(fname string, result any, args ...any) error { if args == nil { args = emptyArgs } @@ -564,7 +563,7 @@ func (v *Nvim) Call(fname string, result interface{}, args ...interface{}) error // args is function arguments packed in an array. // // result is the result of the function call. -func (b *Batch) Call(fname string, result interface{}, args ...interface{}) { +func (b *Batch) Call(fname string, result any, args ...any) { if args == nil { args = emptyArgs } @@ -582,7 +581,7 @@ func (b *Batch) Call(fname string, result interface{}, args ...interface{}) { // args is function arguments packed in an array. // // result is the result of the function call. -func (v *Nvim) CallDict(dict []interface{}, fname string, result interface{}, args ...interface{}) error { +func (v *Nvim) CallDict(dict []any, fname string, result any, args ...any) error { if args == nil { args = emptyArgs } @@ -600,7 +599,7 @@ func (v *Nvim) CallDict(dict []interface{}, fname string, result interface{}, ar // args is Function arguments packed in an Array. // // result is the result of the function call. -func (b *Batch) CallDict(dict []interface{}, fname string, result interface{}, args ...interface{}) { +func (b *Batch) CallDict(dict []any, fname string, result any, args ...any) { if args == nil { args = emptyArgs } @@ -619,7 +618,7 @@ func (b *Batch) CallDict(dict []interface{}, fname string, result interface{}, a // args is arguments to the code. // // The returned result value of Lua code if present or nil. -func (v *Nvim) ExecLua(code string, result interface{}, args ...interface{}) error { +func (v *Nvim) ExecLua(code string, result any, args ...any) error { if args == nil { args = emptyArgs } @@ -638,7 +637,7 @@ func (v *Nvim) ExecLua(code string, result interface{}, args ...interface{}) err // args is arguments to the code. // // The returned result value of Lua code if present or nil. -func (b *Batch) ExecLua(code string, result interface{}, args ...interface{}) { +func (b *Batch) ExecLua(code string, result any, args ...any) { if args == nil { args = emptyArgs } @@ -655,7 +654,7 @@ func (b *Batch) ExecLua(code string, result interface{}, args ...interface{}) { // logLevel is the LogLevel. // // opts is reserved for future use. -func (v *Nvim) Notify(msg string, logLevel LogLevel, opts map[string]interface{}) error { +func (v *Nvim) Notify(msg string, logLevel LogLevel, opts map[string]any) error { if logLevel == LogErrorLevel { return v.WritelnErr(msg) } @@ -678,7 +677,7 @@ func (v *Nvim) Notify(msg string, logLevel LogLevel, opts map[string]interface{} // logLevel is the LogLevel. // // opts is reserved for future use. -func (b *Batch) Notify(msg string, logLevel LogLevel, opts map[string]interface{}) { +func (b *Batch) Notify(msg string, logLevel LogLevel, opts map[string]any) { if logLevel == LogErrorLevel { b.WritelnErr(msg) return @@ -721,7 +720,7 @@ func encodeExt(n int) []byte { return []byte{0xd2, byte(n >> 24), byte(n >> 16), byte(n >> 8), byte(n)} } -func unmarshalExt(dec *msgpack.Decoder, id int, v interface{}) (int, error) { +func unmarshalExt(dec *msgpack.Decoder, id int, v any) (int, error) { if dec.Type() != msgpack.Extension || dec.Extension() != id { err := &msgpack.DecodeConvertError{ SrcType: dec.Type(), diff --git a/nvim/plugin/eval_test.go b/nvim/plugin/eval_test.go index 27d0cd7d..149ca41e 100644 --- a/nvim/plugin/eval_test.go +++ b/nvim/plugin/eval_test.go @@ -8,7 +8,7 @@ type env struct { } var evalTests = []struct { - fn interface{} + fn any eval string }{ {func(x *struct { diff --git a/nvim/plugin/plugin.go b/nvim/plugin/plugin.go index 970ebd09..0dbf359f 100644 --- a/nvim/plugin/plugin.go +++ b/nvim/plugin/plugin.go @@ -51,13 +51,13 @@ func (spec *pluginSpec) path() string { return "" } -func isSync(f interface{}) bool { +func isSync(f any) bool { t := reflect.TypeOf(f) return t.Kind() == reflect.Func && t.NumOut() > 0 } -func (p *Plugin) handle(fn interface{}, spec *pluginSpec) { +func (p *Plugin) handle(fn any, spec *pluginSpec) { p.pluginSpecs = append(p.pluginSpecs, spec) if p.Nvim == nil { return @@ -81,7 +81,7 @@ func (p *Plugin) handle(fn interface{}, spec *pluginSpec) { // // :help rpcrequest() // :help rpcnotify() -func (p *Plugin) Handle(method string, fn interface{}) { +func (p *Plugin) Handle(method string, fn any) { if p.Nvim == nil { return } @@ -126,7 +126,7 @@ type FunctionOptions struct { // is // // {'GOPATH': $GOPATH, Cwd: getcwd()} -func (p *Plugin) HandleFunction(options *FunctionOptions, fn interface{}) { +func (p *Plugin) HandleFunction(options *FunctionOptions, fn any) { m := make(map[string]string) if options.Eval != "" { @@ -222,7 +222,7 @@ type CommandOptions struct { // range int when options.Range == N or Count != "" // bang bool when options.Bang == true // register string when options.Register == true -// eval interface{} when options.Eval != "" +// eval any when options.Eval != "" // // The function fn must return an error. // @@ -230,7 +230,7 @@ type CommandOptions struct { // evaluate in Nvim from the type of fn's last argument. See the // HandleFunction documentation for information on how the expression is // generated. -func (p *Plugin) HandleCommand(options *CommandOptions, fn interface{}) { +func (p *Plugin) HandleCommand(options *CommandOptions, fn any) { m := make(map[string]string) if options.NArgs != "" { @@ -313,7 +313,7 @@ type AutocmdOptions struct { // If options.Eval == "*", then HandleAutocmd constructs the expression to // evaluate in Nvim from the type of fn's last argument. See the HandleFunction // documentation for information on how the expression is generated. -func (p *Plugin) HandleAutocmd(options *AutocmdOptions, fn interface{}) { +func (p *Plugin) HandleAutocmd(options *AutocmdOptions, fn any) { pattern := "" m := make(map[string]string) @@ -374,7 +374,7 @@ func (p *Plugin) RegisterForTests() error { return err } -func eval(eval string, f interface{}) string { +func eval(eval string, f any) string { if eval != `*` { return eval } diff --git a/nvim/plugin/plugin_test.go b/nvim/plugin/plugin_test.go index 8015bf8d..b515d79a 100644 --- a/nvim/plugin/plugin_test.go +++ b/nvim/plugin/plugin_test.go @@ -63,7 +63,7 @@ func TestRegister(t *testing.T) { chunks = append(chunks, nvim.TextChunk{Text: arg}) } - return n.Echo(chunks, true, make(map[string]interface{})) + return n.Echo(chunks, true, make(map[string]any)) }, ) @@ -78,7 +78,7 @@ func TestRegister(t *testing.T) { {Text: `Hello`}, } - return n.Echo(chunks, true, make(map[string]interface{})) + return n.Echo(chunks, true, make(map[string]any)) }, ) @@ -93,7 +93,7 @@ func TestRegister(t *testing.T) { {Text: `Hello`}, } - return n.Echo(chunks, true, make(map[string]interface{})) + return n.Echo(chunks, true, make(map[string]any)) }, ) @@ -110,7 +110,7 @@ func TestRegister(t *testing.T) { }, } - return n.Echo(chunks, true, make(map[string]interface{})) + return n.Echo(chunks, true, make(map[string]any)) }, ) @@ -133,7 +133,7 @@ func TestRegister(t *testing.T) { }, } - return n.Echo(chunks, true, make(map[string]interface{})) + return n.Echo(chunks, true, make(map[string]any)) }, ) @@ -152,7 +152,7 @@ func TestRegister(t *testing.T) { }, } - return n.Echo(chunks, true, make(map[string]interface{})) + return n.Echo(chunks, true, make(map[string]any)) }, ) @@ -178,7 +178,7 @@ func TestRegister(t *testing.T) { }, } - return n.Echo(chunks, true, make(map[string]interface{})) + return n.Echo(chunks, true, make(map[string]any)) }, ) @@ -187,7 +187,7 @@ func TestRegister(t *testing.T) { } t.Run("SimpleHandler", func(t *testing.T) { - opts := map[string]interface{}{ + opts := map[string]any{ "output": true, } result, err := p.Nvim.Exec(`:echo Hello('John', 'Doe')`, opts) @@ -196,7 +196,7 @@ func TestRegister(t *testing.T) { } expected := `Hello, John Doe` - want := map[string]interface{}{ + want := map[string]any{ "output": expected, } if !reflect.DeepEqual(result, want) { @@ -230,7 +230,7 @@ func TestRegister(t *testing.T) { }) t.Run("CommandHandler", func(t *testing.T) { - opts := map[string]interface{}{ + opts := map[string]any{ "output": true, } result, err := p.Nvim.Exec(`Hello World`, opts) @@ -239,7 +239,7 @@ func TestRegister(t *testing.T) { } expected := `Helloorld` - want := map[string]interface{}{ + want := map[string]any{ "output": expected, } if !reflect.DeepEqual(result, want) { @@ -248,7 +248,7 @@ func TestRegister(t *testing.T) { }) t.Run("CommandRangeDotHandler", func(t *testing.T) { - opts := map[string]interface{}{ + opts := map[string]any{ "output": true, } result, err := p.Nvim.Exec(`HelloRangeDot`, opts) @@ -257,7 +257,7 @@ func TestRegister(t *testing.T) { } expected := `Hello` - want := map[string]interface{}{ + want := map[string]any{ "output": expected, } if !reflect.DeepEqual(result, want) { @@ -266,7 +266,7 @@ func TestRegister(t *testing.T) { }) t.Run("CommandCountHandler", func(t *testing.T) { - opts := map[string]interface{}{ + opts := map[string]any{ "output": true, } result, err := p.Nvim.Exec(`HelloCount`, opts) @@ -275,7 +275,7 @@ func TestRegister(t *testing.T) { } expected := `Hello` - want := map[string]interface{}{ + want := map[string]any{ "output": expected, } if !reflect.DeepEqual(result, want) { @@ -284,7 +284,7 @@ func TestRegister(t *testing.T) { }) t.Run("CommandEvalHandler", func(t *testing.T) { - opts := map[string]interface{}{ + opts := map[string]any{ "output": true, } result, err := p.Nvim.Exec(`HelloEval`, opts) @@ -293,7 +293,7 @@ func TestRegister(t *testing.T) { } expected := `plugin` - want := map[string]interface{}{ + want := map[string]any{ "output": expected, } if !reflect.DeepEqual(result, want) { @@ -302,7 +302,7 @@ func TestRegister(t *testing.T) { }) t.Run("AutocmdHandler", func(t *testing.T) { - opts := map[string]interface{}{ + opts := map[string]any{ "output": true, } result, err := p.Nvim.Exec(`doautocmd User Test`, opts) @@ -311,14 +311,14 @@ func TestRegister(t *testing.T) { } expected := `HelloAutocmd` - want := map[string]interface{}{ + want := map[string]any{ "output": expected, } if !reflect.DeepEqual(result, want) { t.Fatalf("'doautocmd User Test' returned %v, want %v", result, want) } - opts2 := map[string]interface{}{ + opts2 := map[string]any{ "output": true, } result2, err := p.Nvim.Exec(`doautocmd User Test`, opts2) @@ -331,7 +331,7 @@ func TestRegister(t *testing.T) { }) t.Run("AutocmdEvalHandler", func(t *testing.T) { - opts := map[string]interface{}{ + opts := map[string]any{ "output": true, } result, err := p.Nvim.Exec(`doautocmd User Eval`, opts) @@ -340,7 +340,7 @@ func TestRegister(t *testing.T) { } expected := `plugin` - want := map[string]interface{}{ + want := map[string]any{ "output": expected, } if !reflect.DeepEqual(result, want) { @@ -349,7 +349,7 @@ func TestRegister(t *testing.T) { }) t.Run("AutocmdOnceHandler", func(t *testing.T) { - opts := map[string]interface{}{ + opts := map[string]any{ "output": true, } result, err := p.Nvim.Exec(`doautocmd User Once`, opts) @@ -358,14 +358,14 @@ func TestRegister(t *testing.T) { } expected := `HelloAutocmdOnce` - want := map[string]interface{}{ + want := map[string]any{ "output": expected, } if !reflect.DeepEqual(result, want) { t.Fatalf("'doautocmd User Once' returned %v, want %v", result, want) } - opts2 := map[string]interface{}{ + opts2 := map[string]any{ "output": true, } result2, err := p.Nvim.Exec(`doautocmd User Once`, opts2) @@ -373,7 +373,7 @@ func TestRegister(t *testing.T) { t.Fatalf("exec 'doautocmd User Once' command: %v", err) } - want2 := map[string]interface{}{ + want2 := map[string]any{ "output": "", } if !reflect.DeepEqual(result2, want2) { @@ -389,7 +389,7 @@ func TestSubscribe(t *testing.T) { const event1 = "event1" eventFn1 := func(t *testing.T, v *nvim.Nvim) error { - return v.RegisterHandler(event1, func(event ...interface{}) { + return v.RegisterHandler(event1, func(event ...any) { if event[0] != int64(1) { t.Fatalf("expected event[0] is 1 but got %d", event[0]) } @@ -405,7 +405,7 @@ func TestSubscribe(t *testing.T) { const event2 = "event2" eventFn2 := func(t *testing.T, v *nvim.Nvim) error { - return v.RegisterHandler(event1, func(event ...interface{}) { + return v.RegisterHandler(event1, func(event ...any) { if event[0] != int64(4) { t.Fatalf("expected event[0] is 4 but got %d", event[0]) } diff --git a/nvim/types.go b/nvim/types.go index a5ca34f1..7c408411 100644 --- a/nvim/types.go +++ b/nvim/types.go @@ -724,7 +724,7 @@ type WindowConfig struct { Style string `msgpack:"style,omitempty"` // Border is the style of window border. - Border interface{} `msgpack:"border,omitempty"` + Border any `msgpack:"border,omitempty"` // NoAutocmd whether the fire buffer-related autocommand events NoAutocmd bool `msgpack:"noautocmd,omitempty"` @@ -781,7 +781,7 @@ type OptionInfo struct { Type string `msgpack:"type"` // Default is the default value for the option. - Default interface{} `msgpack:"default"` + Default any `msgpack:"default"` // Scope one of "global", "win", or "buf". Scope string `msgpack:"scope"` @@ -851,9 +851,9 @@ func (level LogLevel) String() string { // AutocmdArg is the type of autocmd API arguments. type AutocmdArg struct { - Group int `msgpack:"group,omitempty"` - Event interface{} `msgpack:"event,omitempty"` - Pattern interface{} `msgpack:"pattern,omitempty"` + Group int `msgpack:"group,omitempty"` + Event any `msgpack:"event,omitempty"` + Pattern any `msgpack:"pattern,omitempty"` } // AutocmdType is the type of autocmd API return type.