Path to this page:
./
textproc/moor,
Pager designed to just do the right thing without any configuration
Branch: CURRENT,
Version: 2.17.0,
Package name: moor-2.17.0,
Maintainer: schmonzMoor 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)
- (2026-08-16) Updated to version: moor-2.17.0
- (2026-08-15) Updated to version: moor-2.16.2nb1
- (2026-08-03) Updated to version: moor-2.16.2
- (2026-07-08) Updated to version: moor-2.15.1nb1
- (2026-06-18) Updated to version: moor-2.15.1
- (2026-06-08) Updated to version: moor-2.14.0
CVS history: (Expand)
2026-08-16 14:17:37 by Thomas Klausner | Files touched by this commit (3) |  |
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) |  |
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) |  |
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) |  |
Log message:
Revbump all Go packages after go126 update
|
2026-06-18 10:52:24 by Thomas Klausner | Files touched by this commit (2) |  |
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) |  |
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) |  |
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) |  |
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!
|