Skip to content

Commit 03b0d5a

Browse files
committed
nvim: add documentation to bufferReader.Read and use named return
1 parent 83dc199 commit 03b0d5a

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

nvim/helpers.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,9 @@ type bufferReader struct {
7070
err error
7171
}
7272

73+
// compile time check whether the bufferReader implements io.Reader interface.
74+
var _ io.Reader = (*bufferReader)(nil)
75+
7376
// NewBufferReader returns a reader for the specified buffer. If b = 0, then
7477
// the current buffer is used.
7578
func NewBufferReader(v *Nvim, b Buffer) io.Reader {
@@ -78,7 +81,8 @@ func NewBufferReader(v *Nvim, b Buffer) io.Reader {
7881

7982
var lineEnd = []byte{'\n'}
8083

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) {
8286
if r.err != nil {
8387
return 0, r.err
8488
}
@@ -88,7 +92,6 @@ func (r *bufferReader) Read(p []byte) (int, error) {
8892
return 0, r.err
8993
}
9094
}
91-
n := 0
9295
for {
9396
if len(r.lines) == 0 {
9497
r.err = io.EOF
@@ -97,6 +100,7 @@ func (r *bufferReader) Read(p []byte) (int, error) {
97100
if len(p) == 0 {
98101
return n, nil
99102
}
103+
100104
line0 := r.lines[0]
101105
if len(line0) == 0 {
102106
p[0] = '\n'
@@ -105,6 +109,7 @@ func (r *bufferReader) Read(p []byte) (int, error) {
105109
r.lines = r.lines[1:]
106110
continue
107111
}
112+
108113
nn := copy(p, line0)
109114
n += nn
110115
p = p[nn:]

0 commit comments

Comments
 (0)