Documentation

Overview

    Package acme is a simple interface for interacting with acme windows.

    Many of the functions in this package take a format string and optional parameters. In the documentation, the notation format, ... denotes the result of formatting the string and arguments using fmt.Sprintf.

    Index

    Constants

    This section is empty.

    Variables

    This section is empty.

    Functions

    func AutoExit

    func AutoExit(exit bool)

      AutoExit sets whether to call os.Exit the next time the last managed acme window is deleted. If there are no acme windows at the time of the call, the exit does not happen until one is created and then deleted.

      func DeleteAll

      func DeleteAll()

        DeleteAll deletes all windows.

        func Err

        func Err(src, msg string)

          Err finds or creates a window appropriate for showing errors related to a window titled src and then prints msg to that window. It adds a final newline to msg if needed.

          func Errf

          func Errf(src, format string, args ...interface{})

            Errf is like Err but accepts a printf-style formatting.

            Types

            type Event

            type Event struct {
            	// The two event characters, indicating origin and type of action
            	C1, C2 rune
            
            	// The character addresses of the action.
            	// If the original event had an empty selection (OrigQ0=OrigQ1)
            	// and was accompanied by an expansion (the 2 bit is set in Flag),
            	// then Q0 and Q1 will indicate the expansion rather than the
            	// original event.
            	Q0, Q1 int
            
            	// The Q0 and Q1 of the original event, even if it was expanded.
            	// If there was no expansion, OrigQ0=Q0 and OrigQ1=Q1.
            	OrigQ0, OrigQ1 int
            
            	// The flag bits.
            	Flag int
            
            	// The number of bytes in the optional text.
            	Nb int
            
            	// The number of characters (UTF-8 sequences) in the optional text.
            	Nr int
            
            	// The optional text itself, encoded in UTF-8.
            	Text []byte
            
            	// The chorded argument, if present (the 8 bit is set in the flag).
            	Arg []byte
            
            	// The chorded location, if present (the 8 bit is set in the flag).
            	Loc []byte
            }

              An Event represents an event originating in a particular window. The fields correspond to the fields in acme's event messages. See http://swtch.com/plan9port/man/man4/acme.html for details.

              type EventHandler

              type EventHandler interface {
              	Execute(cmd string) bool
              	Look(arg string) bool
              }

              type LogEvent

              type LogEvent struct {
              	ID   int
              	Op   string
              	Name string
              }

                A LogEvent is a single event in the acme log file.

                type LogReader

                type LogReader struct {
                	// contains filtered or unexported fields
                }

                  A LogReader provides read access to the acme log file.

                  func Log

                  func Log() (*LogReader, error)

                    Log returns a reader reading the acme/log file.

                    func (*LogReader) Close

                    func (r *LogReader) Close() error

                    func (*LogReader) Read

                    func (r *LogReader) Read() (LogEvent, error)

                      Read reads an event from the acme log file.

                      type Win

                      type Win struct {
                      	// contains filtered or unexported fields
                      }

                        A Win represents a single acme window and its control files.

                        func New

                        func New() (*Win, error)

                          New creates a new window.

                          func Open

                          func Open(id int, ctl *client.Fid) (*Win, error)

                            Open connects to the existing window with the given id. If ctl is non-nil, Open uses it as the window's control file and takes ownership of it.

                            func Show

                            func Show(name string) *Win

                              Show looks and causes acme to show the window with the given name, returning that window. If this process has not created a window with the given name (or if any such window has since been deleted), Show returns nil.

                              func (*Win) Addr

                              func (w *Win) Addr(format string, args ...interface{}) error

                                Addr writes format, ... to the window's addr file.

                                func (w *Win) Blink() (stop func())

                                  Blink starts the window tag blinking and returns a function that stops it. When stop returns, the blinking is over and the window state is clean.

                                  func (*Win) Clear

                                  func (w *Win) Clear()

                                    Clear clears the window body.

                                    func (*Win) CloseFiles

                                    func (w *Win) CloseFiles()

                                      CloseFiles closes all the open files associated with the window w. (These file descriptors are cached across calls to Ctl, etc.)

                                      func (*Win) Ctl

                                      func (w *Win) Ctl(format string, args ...interface{}) error

                                        Ctl writes the command format, ... to the window's ctl file.

                                        func (*Win) Del

                                        func (w *Win) Del(sure bool) error

                                          Winctl deletes the window, writing `del' (or, if sure is true, `delete') to the ctl file.

                                          func (*Win) Err

                                          func (w *Win) Err(msg string)

                                            Err finds or creates a window appropriate for showing errors related to w and then prints msg to that window. It adds a final newline to msg if needed.

                                            func (*Win) Errf

                                            func (w *Win) Errf(format string, args ...interface{})

                                            func (*Win) EventChan

                                            func (w *Win) EventChan() <-chan *Event

                                              EventChan returns a channel on which events can be read. The first call to EventChan allocates a channel and starts a new goroutine that loops calling ReadEvent and sending the result into the channel. Subsequent calls return the same channel. Clients should not call ReadEvent after calling EventChan.

                                              func (*Win) EventLoop

                                              func (w *Win) EventLoop(h EventHandler)

                                              func (*Win) Font

                                              func (w *Win) Font() (tab int, font *draw.Font, err error)

                                                Font returns the window's current tab width (in zeros) and font.

                                                func (*Win) Fprintf

                                                func (w *Win) Fprintf(file, format string, args ...interface{}) error

                                                func (*Win) ID

                                                func (w *Win) ID() int

                                                func (*Win) Name

                                                func (w *Win) Name(format string, args ...interface{}) error

                                                func (*Win) OpenEvent

                                                func (w *Win) OpenEvent() error

                                                func (*Win) PrintTabbed

                                                func (w *Win) PrintTabbed(text string)

                                                  PrintTabbed prints tab-separated columnated text to body, replacing single tabs with runs of tabs as needed to align columns.

                                                  func (*Win) Read

                                                  func (w *Win) Read(file string, b []byte) (n int, err error)

                                                  func (*Win) ReadAddr

                                                  func (w *Win) ReadAddr() (q0, q1 int, err error)

                                                  func (*Win) ReadAll

                                                  func (w *Win) ReadAll(file string) ([]byte, error)

                                                    ReadAll

                                                    func (*Win) ReadEvent

                                                    func (w *Win) ReadEvent() (e *Event, err error)

                                                      ReadEvent reads the next event from the window's event file.

                                                      func (*Win) Seek

                                                      func (w *Win) Seek(file string, offset int64, whence int) (int64, error)

                                                      func (*Win) Selection

                                                      func (w *Win) Selection() string

                                                      func (*Win) SetErrorPrefix

                                                      func (w *Win) SetErrorPrefix(p string)

                                                      func (*Win) Sort

                                                      func (w *Win) Sort(less func(x, y string) bool) error

                                                        Sort sorts the lines in the current address range according to the comparison function.

                                                        func (*Win) Write

                                                        func (w *Win) Write(file string, b []byte) (n int, err error)

                                                        func (*Win) WriteEvent

                                                        func (w *Win) WriteEvent(e *Event) error

                                                          WriteEvent writes an event back to the window's event file, indicating to acme that the event should be handled internally.

                                                          type WinInfo

                                                          type WinInfo struct {
                                                          	ID   int
                                                          	Name string
                                                          }

                                                          func Windows

                                                          func Windows() ([]WinInfo, error)

                                                            Windows returns a list of the existing acme windows.

                                                            Source Files

                                                            Directories

                                                            Path Synopsis
                                                            Dict module
                                                            Watch runs a command each time any file in the current directory is written.
                                                            Watch runs a command each time any file in the current directory is written.
                                                            Acmego watches acme for .go files being written.
                                                            Acmego watches acme for .go files being written.
                                                            Editinacme can be used as $EDITOR in a Unix environment.
                                                            Editinacme can be used as $EDITOR in a Unix environment.