File tree Expand file tree Collapse file tree 1 file changed +7
-2
lines changed Expand file tree Collapse file tree 1 file changed +7
-2
lines changed Original file line number Diff line number Diff line change @@ -70,6 +70,9 @@ type bufferReader struct {
70
70
err error
71
71
}
72
72
73
+ // compile time check whether the bufferReader implements io.Reader interface.
74
+ var _ io.Reader = (* bufferReader )(nil )
75
+
73
76
// NewBufferReader returns a reader for the specified buffer. If b = 0, then
74
77
// the current buffer is used.
75
78
func NewBufferReader (v * Nvim , b Buffer ) io.Reader {
@@ -78,7 +81,8 @@ func NewBufferReader(v *Nvim, b Buffer) io.Reader {
78
81
79
82
var lineEnd = []byte {'\n' }
80
83
81
- func (r * bufferReader ) Read (p []byte ) (int , error ) {
84
+ // Read implements io.Reader.
85
+ func (r * bufferReader ) Read (p []byte ) (n int , err error ) {
82
86
if r .err != nil {
83
87
return 0 , r .err
84
88
}
@@ -88,7 +92,6 @@ func (r *bufferReader) Read(p []byte) (int, error) {
88
92
return 0 , r .err
89
93
}
90
94
}
91
- n := 0
92
95
for {
93
96
if len (r .lines ) == 0 {
94
97
r .err = io .EOF
@@ -97,6 +100,7 @@ func (r *bufferReader) Read(p []byte) (int, error) {
97
100
if len (p ) == 0 {
98
101
return n , nil
99
102
}
103
+
100
104
line0 := r .lines [0 ]
101
105
if len (line0 ) == 0 {
102
106
p [0 ] = '\n'
@@ -105,6 +109,7 @@ func (r *bufferReader) Read(p []byte) (int, error) {
105
109
r .lines = r .lines [1 :]
106
110
continue
107
111
}
112
+
108
113
nn := copy (p , line0 )
109
114
n += nn
110
115
p = p [nn :]
You can’t perform that action at this time.
0 commit comments