diff options
Diffstat (limited to 'stdoutFakefile.go')
| -rw-r--r-- | stdoutFakefile.go | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/stdoutFakefile.go b/stdoutFakefile.go deleted file mode 100644 index 21e3d49..0000000 --- a/stdoutFakefile.go +++ /dev/null @@ -1,73 +0,0 @@ -// Copyright 2017-2025 WIT.COM Inc. All rights reserved. -// Use of this source code is governed by the GPL 3.0 - -package main - -import ( - "bytes" - "errors" - "io" - - "github.com/awesome-gocui/gocui" -) - -type FakeFile struct { - reader *bytes.Reader - buffer *bytes.Buffer - offset int64 - view *gocui.View -} - -func (f *FakeFile) Read(p []byte) (n int, err error) { - n, err = f.reader.ReadAt(p, f.offset) - f.offset += int64(n) - return n, err -} - -var fakecount int = 0 - -func (f *FakeFile) Write(p []byte) (n int, err error) { - n, err = f.buffer.Write(p) - f.offset += int64(n) - f.reader.Reset(f.buffer.Bytes()) - f.view.Write(p) - fakecount += 1 - if fakecount > 20 { - fakecount = 0 - f.view.Clear() - } - return n, err -} - -func (f *FakeFile) Seek(offset int64, whence int) (int64, error) { - newOffset := f.offset - - switch whence { - case io.SeekStart: - newOffset = offset - case io.SeekCurrent: - newOffset += offset - case io.SeekEnd: - newOffset = int64(f.buffer.Len()) + offset - default: - return 0, errors.New("Seek: whence not at start,current or end") - } - // never can get here right? - - if newOffset < 0 { - return 0, errors.New("Seek: offset < 0") - } - - f.offset = newOffset - return f.offset, nil -} - -func NewFakeFile(v *gocui.View) *FakeFile { - buf := &bytes.Buffer{} - return &FakeFile{ - reader: bytes.NewReader(buf.Bytes()), - buffer: buf, - offset: 0, - view: v, - } -} |
