Skip to content

gdifiore/kestrel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kestrel

Interactive regex filter and text file viewer designed for log files.

Features

  • 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 parsed timestamps (ISO-8601, syslog)
  • 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+C to 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.

System dependencies

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-dev

Submodules

git submodule update --init --recursive

Third-party sources live under third_party/:

  • imgui/ — ocornut/imgui
  • ImGuiFileDialog/ — aiekick/ImGuiFileDialog
  • glfw/ — glfw/glfw
  • vectorscan/ — VectorCamp/vectorscan
  • pcre2/ — PCRE2Project/pcre2
  • doctest/ — doctest/doctest (vendored header)

Build

cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j

Run

./build/kestrel

Test

ctest --test-dir build --output-on-failure

Bug reports

Logs go to stderr. Capture with debug verbosity and attach to the issue:

KESTREL_LOG=debug ./build/kestrel 2> kestrel.log

Valid KESTREL_LOG values: trace, debug, info (default), warn, err, off.

About

Interactive regex filter and text file viewer designed for log files.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors