Documentation ¶
Overview ¶
Package oviewer provides a pager for terminals.
package main import ( "github.com/noborus/ov/oviewer" ) func main() { ov, err := oviewer.Open("main.go") if err != nil { panic(err) } if err := ov.Run(); err != nil { panic(err) } }
Index ¶
- Variables
- func GetKeyBinds(bind map[string][]string) map[string][]string
- func KeyBindString(k KeyBind) string
- func RangeStyle(lc lineContents, start int, end int, style ovStyle)
- type Compressed
- type Config
- type Document
- func (m *Document) BufEOF() bool
- func (m *Document) BufEndNum() int
- func (m *Document) ClearCache()
- func (m *Document) ContinueReadAll(r io.Reader) error
- func (m *Document) GetLine(n int) string
- func (m *Document) NewCache() error
- func (m *Document) ReadAll(r io.Reader) error
- func (m *Document) ReadFile(fileName string) error
- func (m *Document) Write(p []byte) (int, error)
- type EventInput
- type Input
- type InputMode
- type KeyBind
- type Root
- func (root *Root) AddDocument(m *Document)
- func (root *Root) BackSearch(str string)
- func (root *Root) Cancel()
- func (root *Root) Close()
- func (root *Root) CloseDocument(m *Document)
- func (root *Root) CopySelect()
- func (root *Root) DocumentLen() int
- func (root *Root) Help()
- func (root *Root) MoveBottom()
- func (root *Root) MoveLine(num int)
- func (root *Root) MoveTop()
- func (root *Root) Paste()
- func (root *Root) Quit()
- func (root *Root) Run() error
- func (root *Root) Search(str string)
- func (root *Root) SetConfig(config Config)
- func (root *Root) SetDocument(docNum int)
- func (root *Root) SetWatcher(watcher *fsnotify.Watcher)
- func (root *Root) TailSync()
- func (root *Root) ViewSync()
- func (root *Root) WriteLog()
- func (root *Root) WriteOriginal()
- func (root *Root) WriteQuit()
- type ScreenMode
- type SearchType
Constants ¶
This section is empty.
Variables ¶
var ( // OverStrikeStyle represents the overstrike style. OverStrikeStyle tcell.Style // OverLineStyle represents the overline underline style. OverLineStyle tcell.Style )
var ( // ErrOutOfRange indicates that value is out of range. ErrOutOfRange = errors.New("out of range") // ErrFatalCache indicates that the cache value had a fatal error. ErrFatalCache = errors.New("fatal error in cache value") // ErrMissingFile indicates that the file does not exist. ErrMissingFile = errors.New("missing filename") // ErrNotFound indicates not found. ErrNotFound = errors.New("not found") // ErrCancel indicates cancel. ErrCancel = errors.New("cancel") // ErrInvalidNumber indicates an invalid number. ErrInvalidNumber = errors.New("invalid number") // ErrFailedKeyBind indicates keybinding failed. ErrFailedKeyBind = errors.New("failed to set keybind") // ErrSignalCatch indicates that the signal has been caught. ErrSignalCatch = errors.New("signal catch") )
var DefaultContent = content{ // contains filtered or unexported fields }
DefaultContent is a blank Content.
Functions ¶
func GetKeyBinds ¶
GetKeyBinds returns the current key mapping.
func KeyBindString ¶
KeyBindString returns keybind as a string for help.
func RangeStyle ¶ added in v0.9.0
RangeStyle applies the style to the specified range.
Types ¶
type Compressed ¶ added in v0.8.9
type Compressed int
Compressed represents the type of compression.
const ( // UNCOMPRESSED is an uncompressed format. UNCOMPRESSED Compressed = iota // GZIP is gzip compressed format. GZIP // BZIP2 is bzip2 compressed format. BZIP2 // ZSTD is zstd compressed format. ZSTD // LZ4 is lz4 compressed format. LZ4 // XZ is xz compressed format. XZ )
func (Compressed) String ¶ added in v0.8.9
func (c Compressed) String() string
type Config ¶
type Config struct { // StyleAlternate is a style that applies line by line. StyleAlternate ovStyle // StyleHeader is the style that applies to the header. StyleHeader ovStyle // StyleHeader is the style that applies to the header. StyleBody ovStyle // StyleOverStrike is a style that applies to overstrikes. StyleOverStrike ovStyle // OverLineS is a style that applies to overstrike underlines. StyleOverLine ovStyle // StyleLineNumber is a style that applies line number. StyleLineNumber ovStyle // StyleSearchHighlight is the style that applies to the search highlight. StyleSearchHighlight ovStyle // StyleColumnHighlight is the style that applies to the column highlight. StyleColumnHighlight ovStyle // Old setting method. // Alternating background color. ColorAlternate string // Header color. ColorHeader string // OverStrike color. ColorOverStrike string // OverLine color. ColorOverLine string // General represents the general behavior. General general // Mode represents the operation of the customized mode. Mode map[string]general // Mouse support disable. DisableMouse bool // AfterWrite writes the current screen on exit. AfterWrite bool // QuiteSmall Quit if the output fits on one screen. QuitSmall bool // CaseSensitive is case-sensitive if true CaseSensitive bool // Debug represents whether to enable the debug output. Debug bool // KeyBinding Keybind map[string][]string }
Config represents the settings of ov.
type Document ¶
type Document struct { // fileName is the file name to display. FileName string // CFormat is a compressed format. CFormat Compressed // contains filtered or unexported fields }
The Document structure contains the values for the logical screen.
func (*Document) ContinueReadAll ¶ added in v0.9.0
ContinueReadAll continues to read even if it reaches EOF.
type EventInput ¶
type EventInput interface { // Prompt returns the prompt string in the input field. Prompt() string // Confirm returns the event when the input is confirmed. Confirm(i string) tcell.Event // Up returns strings when the up key is pressed during input. Up(i string) string // Down returns strings when the down key is pressed during input. Down(i string) string }
EventInput is a generic interface for inputs.
type Input ¶
type Input struct { EventInput EventInput ModeCandidate *candidate SearchCandidate *candidate GoCandidate *candidate DelimiterCandidate *candidate TabWidthCandidate *candidate // contains filtered or unexported fields }
Input represents the status of various inputs. Retain each input list to save the input history.
type InputMode ¶
type InputMode int
InputMode represents the state of the input.
const ( // Normal is normal mode. Normal InputMode = iota // ViewMode is a view selection input mode. ViewMode // Search is a search input mode. Search // Backsearch is a backward search input mode. Backsearch // Goline is a move input mode. Goline // Header is the number of headers input mode. Header // Delimiter is a delimiter input mode. Delimiter // TabWidth is the tab number input mode. TabWidth // SkipLines is the number of lines to skip. SkipLines )
type Root ¶
type Root struct { // tcell.Screen is the root screen. tcell.Screen // Config contains settings that determine the behavior of ov. Config // Doc contains the model of ov Doc *Document // DocList DocList []*Document CurrentDoc int // contains filtered or unexported fields }
Root structure contains information about the drawing.
func ExecCommand ¶ added in v0.8.9
ExecCommand return the structure of oviewer. ExecCommand executes the command and opens stdout/stderr as document.
func NewOviewer ¶
NewOviewer return the structure of oviewer. NewOviewer requires one or more documents.
func (*Root) AddDocument ¶ added in v0.8.0
AddDocument fires a add document event.
func (*Root) BackSearch ¶
BackSearch fires a backward search event. This is for calling Search from the outside. Normally, the event is executed from Confirm.
func (*Root) Cancel ¶ added in v0.6.2
func (root *Root) Cancel()
Cancel follow mode and follow all mode.
func (*Root) CloseDocument ¶ added in v0.8.0
CloseDocument fires a del document event.
func (*Root) CopySelect ¶ added in v0.6.0
func (root *Root) CopySelect()
CopySelect executes a copy select event.
func (*Root) DocumentLen ¶ added in v0.9.0
DocumentLen returns the number of Docs.
func (*Root) Help ¶
func (root *Root) Help()
Help is to switch between Help screen and normal screen.
func (*Root) MoveBottom ¶
func (root *Root) MoveBottom()
MoveBottom fires the event of moving to bottom.
func (*Root) Paste ¶ added in v0.6.0
func (root *Root) Paste()
Paste executes the mouse paste event.
func (*Root) Search ¶
Search fires a forward search event. This is for calling Search from the outside. Normally, the event is executed from Confirm.
func (*Root) SetDocument ¶
SetDocument fires a set document event.
func (*Root) SetWatcher ¶ added in v0.8.9
SetWatcher sets file monitoring.
func (*Root) TailSync ¶ added in v0.8.0
func (root *Root) TailSync()
TailSync move to tail and sync.
func (*Root) ViewSync ¶ added in v0.8.0
func (root *Root) ViewSync()
ViewSync redraws the whole thing.
func (*Root) WriteLog ¶ added in v0.7.1
func (root *Root) WriteLog()
WriteLog write to the log terminal.
func (*Root) WriteOriginal ¶
func (root *Root) WriteOriginal()
WriteOriginal writes to the original terminal.
type ScreenMode ¶ added in v0.9.0
type ScreenMode int
ScreenMode represents the state of the screen.
const ( // Docs is a normal document screen mode. Docs ScreenMode = iota // Help is Help screen mode. Help // LogDoc is Error screen mode. LogDoc )