Documentation

Overview

    Package editor provides utilities for editing and re-editing text files in an editor until the changes are accepted or the user aborts the attempt.

    Index

    Constants

    This section is empty.

    Variables

    This section is empty.

    Functions

    func EditRetryLoop

    func EditRetryLoop(args RetryLoopArgs) error

      EditRetryLoop seeds a temp file, prefixed with FilePrefix, with content from SelectFn and passes it to ApplyFn. If ApplyFn errors, the editor will be re-opened with recent error message included in the header comments. The current implementation prefixes comment lines with "#".

      Types

      type RetryLoopArgs

      type RetryLoopArgs struct {
      	// FilePrefix
      	FilePrefix string
      	// SelectFn returns content to be displayed within the editor.
      	// It is invoked on each retry of the editing loop.
      	SelectFn func() io.Reader
      	// ApplyFn attempts to apply the edited contents. If it returns
      	// an error, the editor will be re-opened with the error message.
      	ApplyFn func(b []byte) error
      	// AbortIfUnchanged indicates the editing loop should abort if the
      	// editor exits without making any file changes. In this case,
      	// ApplyFn is not called with edited content.
      	AbortIfUnchanged bool
      }

        RetryLoopArgs is arguments of EditRetryLoop.

        Source Files