Interactive regex filter and text file viewer designed for log files.
- Live regex filter (Hyperscan/Vectorscan) with PCRE2 capture-group highlighting
- Match counter (X of Y), next/prev match (
n/Shift+N) - Filter view: show only matched lines
- Time-range filter for leading ISO-8601 timestamps (including UTC offsets)
- Log-level auto-tint (ERROR / WARN / INFO / DEBUG)
- Synthetic minimap with click-to-jump and viewport indicator
- Light/dark theme; configurable match/cursor colors
- Line-range selection: click + Shift+click (or Shift+arrows / PgUp / PgDn) →
Ctrl+Cto copy - Go-to-line (
Ctrl+G), copy/paste search pattern (Ctrl+C/Ctrl+V) - Recent-files list, drag-and-drop file open
In-app help: Help → Keyboard Shortcuts.
Debian / Ubuntu / Mint:
sudo apt update
sudo apt install -y build-essential cmake pkg-config ragel libboost-dev libsqlite3-dev libgl1-mesa-dev libx11-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-devgit submodule update --init --recursiveThird-party sources live under third_party/:
imgui/— ocornut/imguiImGuiFileDialog/— aiekick/ImGuiFileDialogglfw/— glfw/glfwvectorscan/— VectorCamp/vectorscanpcre2/— PCRE2Project/pcre2doctest/— doctest/doctest (vendored header)
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j4The first configure downloads spdlog and JetBrains Mono. To install outside the source checkout (including the icon and font assets):
cmake --install build./build/kestrelctest --test-dir build --output-on-failureFor an AddressSanitizer build, configure with -DKESTREL_ENABLE_ASAN=ON.
Pushing a semantic-version tag (for example, v1.2.3) builds, tests, and
publishes Linux and Apple Silicon macOS release archives. Each archive contains
the files that belong under /usr/local, including the executable, font, and
icon assets.
git tag v1.2.3
git push origin v1.2.3To install a downloaded release archive:
tar -xzf kestrel-<platform>-<version>.tar.gz -C /tmp/kestrel
sudo cp -a /tmp/kestrel/. /usr/local/
kestrelLogs go to stderr. Capture with debug verbosity and attach to the issue:
KESTREL_LOG=debug ./build/kestrel 2> kestrel.logValid KESTREL_LOG values: trace, debug, info, warn (default), err, off.

