./textproc/moor, Pager designed to just do the right thing without any configuration

[ Image CVSweb ] [ Image Homepage ] [ Image RSS ] [ Image Required by ]


Branch: CURRENT, Version: 2.17.0, Package name: moor-2.17.0, Maintainer: schmonz

Moor is a pager. It reads and displays UTF-8 encoded text from files or
pipelines. Moor should be trivial to get into if you have previously
been using Less.

`moor` is designed to just do the right thing without any configuration:

- Syntax highlight source code by default using Chroma
- Search is incremental / find-as-you-type just like in Chrome or Emacs
- Filtering is incremental: Press & to filter the input interactively
- Search becomes case sensitive if you add any UPPER CASE characters
- Regexp search if your search string is a valid regexp
- Snappy UI even on slow / large input by reading input in the
background and using multi-threaded search
- Supports displaying ANSI color coded texts (like the output from git
diff | riff for example)
- Supports UTF-8 input and output
- Transparent decompression when viewing compressed text files (.gz,
.bz2, .xz, .zst, .zstd) or streams
- The position in the file is always shown
- Supports word wrapping (on actual word boundaries) if requested using
--wrap or by pressing w
- Follows output as long as you are on the last line, just like tail -f
- Renders terminal hyperlinks properly
- Mouse Scrolling works out of the box


Master sites:

Filesize: 5255.653 KB

Version history: (Expand)


CVS history: (Expand)


   2026-08-16 14:17:37 by Thomas Klausner | Files touched by this commit (3) | Package updated
Log message:
moor: update to 2.17.0.

v2.17.0: Report loading progress to your terminal Latest

With this release, moor reports to the terminal when it's busy loading,
using the OSC 9;4 progress protocol supported by terminals such as
iTerm2.

Also in this release:

    Fixed a data loss bug where two moor instances sharing a search
    history file could silently overwrite each other's committed
    searches
    Pressing 'n'/'N' with no active search now resumes the most recently
    used search history entry instead of doing nothing. Thanks @knirch
    for #455!
    Fixed the status bar missing its separator between the filename and
    the percentage while the reader was still paused during initial
    loading
    Importing search history from less now only imports its search
    history, not its sub-command history
    --help now documents the existing "+/pattern" syntax for searching
    immediately on start

v2.16.3: Stop screen flash on --quit-if-one-screen

Before this release, --quit-if-one-screen made the terminal flash even
when the contents fit on one screen. Moor switched to the alternate
screen, painted a frame, and switched right back before printing the
contents where they belong.

With this release, when the contents fit on one screen moor prints them
without ever touching the alternate screen, so there is nothing to see
but the text.

Getting there also meant waiting for syntax highlighting before deciding
whether the contents fit: highlighting can turn one line of JSON into a
hundred, so source files and piped JSON used to flash where a .txt file
did not.

Also in this release:

    Moor now resets the terminal style before exiting, so a colored last
    line no longer bleeds into your next shell prompt. This affected
    --no-clear-on-exit and --quit-if-one-screen output as wide as the
    screen
    With --no-clear-on-exit-margin 0, the last line of the contents is
    no longer silently dropped on exit
    If the reader panics, moor now keeps going with whatever it read
    instead of spinning its spinner forever
    pkg/moor: the terminal is restored even if paging panics, rather than
    leaving the embedding process on the alternate screen in raw mode
    pkg/moor: embedders no longer lose the last line of short contents

Known limitation: input that is short but arrives slowly can still flash.
Fixing that requires waiting a fixed amount of time before showing
anything, and nobody has picked a number yet.
   2026-08-15 14:53:40 by Benny Siegert | Files touched by this commit (211) | Package updated
Log message:
Revbump all Go packages after Go 1.26 update
   2026-08-03 20:15:55 by Thomas Klausner | Files touched by this commit (3) | Package updated
Log message:
moor: update to 2.16.2.

2.16.2

Before this release, a file that the syntax highlighter saw as one
single token -- a file holding nothing but a number, for example --
came out with every character in the same color.

With this release, highlighting that would look uniform is skipped and
the text is shown plain. Thanks @knirch for reporting #445!

Also in this release:

    On Windows, arrow and function keys now work immediately after
    returning from an editor opened with "v", instead of being ignored for
    up to a tenth of a second
    Faster .zst decompression on arm64 (Apple Silicon), and corrupt .zst
    input now reports an error rather than decoding to garbage
    Compressed files and streams are now properly closed, so moor no
    longer leaks file descriptors or goroutines while reading them
    Fixed a hang and a data race when a zstd stream was closed while still
    being read
    Fixed a hang on shutdown when moor was closed programmatically through
    pkg/moor

2.16.1

Before this release, searching a huge line (hundreds of MB long) for a
common character could take ten seconds of full CPU before hits got
highlighted, and pay that same cost again on every redraw.

With this release, that same search is close to instant.

2.16.0

Before this release, opening a file containing a huge line would take
enormous amounts of time to read that line, and never get further into
the stream.

With this release, moor can now read a file with a 250MB line in about
a second.

Also in this release:

    Pressing 'v' to open the current file in an editor now jumps to the
    line you were viewing, for vim, vi, nvim, nano, emacs and Pico.
    Thanks @joeledwardson for #447!
    Fixed a data race that could corrupt rendered text while a file was
    still being read
    Thanks @subotac for kicking off the escape sequence fix in #450!
   2026-07-08 20:32:45 by Benny Siegert | Files touched by this commit (208) | Package updated
Log message:
Revbump all Go packages after go126 update
   2026-06-18 10:52:24 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
moor: update to 2.15.1.

2.15.1

This release fixes a bug where providing an initial search query on the
command line would both search and scroll to the end of the document.

With this release, we just show the first hit. Which is what we always
should have done.

2.15.0

Accept +/pattern command line argument

This will make moor behave as if you started moor, typed / to start
searching, typed pattern as the search pattern and then pressed Enter.

For great less compatibility.
   2026-06-08 10:26:41 by Thomas Klausner | Files touched by this commit (3) | Package updated
Log message:
moor: update to 2.14.0.

Wrap text at PAGER_WRAP_COLUMNS if set Latest
Improve file format detection by checking file contents if the file extension \ 
didn't help
Fix a crash when switching between files
   2026-06-05 12:21:56 by Benny Siegert | Files touched by this commit (205) | Package updated
Log message:
Revbump all Go packages after go126 security update
   2026-05-17 16:17:23 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
moor: update to 2.13.2.

v2.13.2: Fix a crash when filtering Latest

This release fixes an intermittent crash that could happen when
filtering a file down to zero lines.

Also, this release improves performance for rendering long (100KB)
lines.

v2.13.1: Performance improvements for searching

Performance when searching and scrolling sideways to search hits has
been significantly improved. Hits are now also centered on the screen
when scrolling sideways.

Also in this release:

    Fix a goroutine leak and limit CPU usage when searching
    Detect JSONL files and apply JSON syntax highlighting, thanks @scudette in #407!