Command line API

Hexerator aims to support a wide variety of use cases, so it exposes a lot of different options.

Here is the help generated by hexerator --help:

Usage: hexerator [OPTIONS] [FILE]

Arguments:
  [FILE]
          The file to read

Options:
  -j, --jump <offset>
          Jump to offset on startup

      --hard-seek <offset>
          Seek to offset, consider it beginning of the file in the editor

      --take <bytes>
          Read only this many bytes

      --read-only
          Open file as read-only, without writing privileges

      --stream
          Specify source as a streaming source (for example, standard streams). Sets read-only attribute

      --stream-buffer-size <STREAM_BUFFER_SIZE>
          The buffer size in bytes to use for reading when streaming

      --unsafe-mmap <mode>
          Try to open the source using mmap rather than load into a buffer

          Possible values:
          - ro:            Read-only memory map. Note: Some features may not work, as Hexerator was designed for a mutable data buffer
          - cow:           Copy-on-write memory map. Changes are only visible locally
          - dangerous-mut: Mutable memory map. *WARNING*: Any edits will immediately take effect. THEY CANNOT BE UNDONE

      --mmap-len <len>
          Assume the memory mapped file is of this length (might be needed for looking at block devices, etc.)

      --recent
          Open most recently used file

      --meta <path>
          Load this metafile

      --version
          Show version information and exit

      --debug
          Start with debug logging enabled

      --spawn-command <command>...
          Spawn and open memory of a command with arguments (must be last option)

      --look-for-proc <name>
          When spawning a command, open the process list with this filter, rather than selecting a pid

      --autoreload [<interval>]
          Automatically reload the source for the current buffer in millisecond intervals (default:250)

      --autoreload-only-visible
          Only autoreload the data visible in the current layout

      --autosave
          Automatically save if there is an edited region in the file

      --layout <name>
          Open this layout on startup instead of the default

      --view <name>
          Focus the first instance of this view on startup

      --load-plugin <LOAD_PLUGIN>
          Load a dynamic library plugin at startup

      --new <length>
          Allocate a new (zero-filled) buffer. Also creates the provided file argument if it doesn't exist

  -h, --help
          Print help (see a summary with '-h')