[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-76360":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":33,"readmeContent":34,"aiSummary":35,"trendingCount":16,"starSnapshotCount":16,"syncStatus":14,"lastSyncTime":36,"discoverSource":37},76360,"rura","tlipinski\u002Frura","tlipinski","Interactive TUI scratchpad for building shell pipelines","",null,"Rust",292,4,2,1,0,31,60,232,93,92.1,"MIT License",false,"master",true,[27,28,29,30,31,32],"cli","pipeline","rust","shell","terminal","tui","2026-06-12 04:01:21","\u003Cimg src=\"rura.svg\" height=\"80\">\n\nRura transforms the tedious \"edit, up-arrow, rerun\" shell cycle into a fluid, interactive TUI scratchpad. It features live previews, syntax highlighting, and partial execution, allowing you to debug and iterate on commands in real time.\n\n![Made with VHS](https:\u002F\u002Fvhs.charm.sh\u002Fvhs-1Fv1rbJ2qMfPYx21lF5tDG.gif)\n\n## Features\n\n- **Partial Pipeline Execution**: Execute only up to the current subcommand to debug complex pipes.\n- **Context-aware Completion**: Tab-complete commands and file paths using your system's bash tools.\n- **Live Execution Modes**: Real-time feedback as you type, with optional \"Live Until Cursor\" or \"Live Full\" modes.\n- **Search**: Search and highlight text within the output pane with regex support.\n- **Syntax Highlighting**: Visual feedback for subcommand boundaries, quotes, and pipes.\n- **Persistent History**: Quickly access and reuse previous commands.\n- **Line Wrapping**: Toggle whether long output lines wrap to fit the view.\n- **Flexible Error Display**: Choose between \"inline\" errors (replacing the main view) or a dedicated \"pane\" (showing both output and errors).\n- **Customizable**: Fully configurable key bindings, themes, and UI placement via TOML.\n\n## Demos\n\n**Live Execution**\n\n![Made with VHS](https:\u002F\u002Fvhs.charm.sh\u002Fvhs-62Hf1lkCtIMz5DDCeZ0uFr.gif)\n\n**History**\n\n![Made with VHS](https:\u002F\u002Fvhs.charm.sh\u002Fvhs-7m80OhHcR9MohlEa32I1WI.gif)\n\n**Search with regex support**\n\n![Made with VHS](https:\u002F\u002Fvhs.charm.sh\u002Fvhs-WDHLj84DGQsjmYVKbsMJi.gif)\n\n**Configurable layout**\n\n![Made with VHS](https:\u002F\u002Fvhs.charm.sh\u002Fvhs-2WVQxVCGJ8tbSNgVoChMpC.gif)\n\n**Command and filename completion**\n\n![Made with VHS](https:\u002F\u002Fvhs.charm.sh\u002Fvhs-734scXMBN5VuOmc6nVlXjx.gif)\n\n**Line wrapping**\n\n![Made with VHS](https:\u002F\u002Fvhs.charm.sh\u002Fvhs-5yI8kU23FHKtOa2B7O4QNT.gif)\n\n## Installation\n\nCheck the [Releases](https:\u002F\u002Fgithub.com\u002Ftlipinski\u002Frura\u002Freleases) page for pre-compiled binaries for your platform.\n\n**Homebrew (macOS\u002FLinux)**:\n```bash\nbrew install tlipinski\u002Ftap\u002Frura\n```\n\n**Arch Linux (AUR)**: Install via your AUR helper:\n\n```bash\n# Pre-compiled binary\nyay -S rura-bin\n\n# Build from latest git source\nyay -S rura-git\n```\n\n**Cargo**:\n```bash\n# From crates.io\ncargo install rura\n\n# From source\ncargo install --git https:\u002F\u002Fgithub.com\u002Ftlipinski\u002Frura\n```\n\n## Usage\n\nYou can start Rura by passing a file as an argument, piping data into it, or providing an initial command.\n\n```bash\n# Open a file\nrura --file data.json\n\n# Pipe data into rura\ncat logs.txt | rura\n\n# Start with an initial command\nrura --command \"grep error | sort\"\n\n# Print the last executed command from history without opening the UI\nrura --last\n```\n\n### CLI Arguments\n\n- `-f, --file \u003CFILE>`: Path to the input file.\n- `-c, --command \u003CCOMMAND>`: Initial command to populate the input field.\n- `-C, --config \u003CFILE>`: Path to a custom TOML configuration file.\n- `-l, --last`: Print the last command from history and exit.\n- `-V, --version`: Print version information.\n\n## Key Bindings\n\n### Command Execution\n\n- **Enter**: Execute the full command pipeline.\n- **Alt + \\\\**: Execute the pipeline up to the current subcommand (where your cursor is).\n- **Alt + |**: Execute the pipeline up to the *previous* subcommand.\n- **Alt + i**: Reset view to show the original input data.\n\n### Navigation & View\n\n- **Arrows** or **Alt + h\u002Fj\u002Fk\u002Fl**: Scroll the output (Left, Down, Up, Right).\n- **PageUp \u002F PageDown** or **Alt + Up \u002F Down**: Scroll the output by page.\n- **Ctrl + u \u002F Ctrl + d**: Scroll up or down quickly.\n- **Alt + w**: Toggle line wrapping.\n\n### Search\n- **F3 \u002F F4**: Search forward or backward in the output.\n- **Alt + x**: Toggle regex mode.\n- **Alt + c**: Toggle case sensitivity.\n\n### Live Execution Modes\n\n- **F11**: Toggle \"Live Until Cursor\" mode. Executes the pipeline up to the cursor as you type (requires confirmation).\n- **F12**: Toggle \"Live Full\" mode. Executes the entire pipeline as you type (requires confirmation).\n\n### Command Input & Subcommands\n\n- **Tab**: Trigger forward command or file completion (requires `bash` with `compgen` available).\n- **Shift + Tab**: Trigger backward command or file completion.\n- **Alt + Right**: Move cursor to the next subcommand.\n- **Alt + Left**: Move cursor to the previous subcommand.\n- **Home \u002F End**: Move cursor to the beginning or end of the command line.\n- **Ctrl + p**: Previous command in history.\n- **Ctrl + n**: Next command in history.\n\n### General\n\n- **F1**: Toggle help screen.\n- **Ctrl + c**: Exit Rura. The last executed command is printed to your terminal.\n\n## Configuration\n\nRura can be configured via a TOML file. The configuration path is determined as follows:\n1. Path specified by the `--config` (or `-C`) CLI argument.\n2. Path specified by the `RURA_CONFIG` environment variable.\n3. Default path:\n    - **Linux**: `~\u002F.config\u002Frura\u002Fconfig.toml`\n    - **macOS**: `~\u002FLibrary\u002FApplication Support\u002Frura\u002Fconfig.toml`\n\n### General Options\n\n- `command_line_placement`: Set to `\"top\"` or `\"bottom\"` (default) to change where the input field is rendered.\n- `error_display_mode`: Set to `\"inline\"` or `\"pane\"` (default) to choose how errors are shown:\n    - `inline`: Errors replace the main output view. A status indicator (e.g., `ERR(1)`) appears in the status bar.\n    - `pane`: A dedicated error pane appears, allowing you to see the error message while still viewing the last successful output in the main area.\n- `highlight_duration_ms`: Duration in milliseconds for the temporary highlighting when executing commands (default: `250`).\n- `debounce_duration_ms`: Duration in milliseconds to wait before executing commands in live mode (default: `500`).\n\n### Customizing Key Bindings\n\nYou can override any default key binding in the `[keybindings]` section. Multiple keys can be assigned to the same action.\n\n```toml\n[keybindings]\nquit = [\"ctrl+q\", \"ctrl+c\"]\nexecute_full = [\"enter\"]\ncomplete = [\"tab\"]\ncomplete_prev = [\"shift+tab\"]\nsubcommand_next = [\"alt+right\"]\n```\n\n### Customizing Theme\n\nColors and styles can be adjusted in the `[theme]` section. Supported colors include `red`, `green`, `yellow`, `blue`, `magenta`, `cyan`, `gray`, `black`, `white`, and hex codes (e.g., `\"#ffffff\"`).\n\nAvailable theme keys:\n- `cmd_regular`: Default subcommand style.\n- `cmd_regular_pipe`: Style for the pipe character in regular mode.\n- `cmd_regular_current`: Background style for the currently selected subcommand.\n- `cmd_highlight`: Style for the subcommand being executed.\n- `cmd_highlight_pipe`: Style for the pipe character during execution.\n- `cmd_highlight_current`: Style for the current subcommand during execution.\n- `cmd_quoted`: Style for quoted strings.\n- `cmd_invalid`: Style for invalid subcommands (if parsing fails).\n- `output_highlight`: Style for search results in the output.\n- `output_highlight_current`: Style for the currently selected search result.\n- `line_nums`: Style for line numbers in the output.\n\n```toml\n[theme.cmd_highlight]\nfg = \"black\"\nbg = \"yellow\"\nbold = true\n\n[theme.line_nums]\nfg = \"magenta\"\n```\n\n## Storage & Logs\n\n### History\nRura maintains a persistent command history. The history file is located at:\n- **Linux**: `~\u002F.local\u002Fshare\u002Frura\u002Fhistory.txt`\n- **macOS**: `~\u002FLibrary\u002FApplication Support\u002Frura\u002Fhistory.txt`\n\n### Logs\nApplication logs are useful for troubleshooting. They are stored at:\n- **Linux**: `~\u002F.cache\u002Frura\u002Flogs.txt`\n- **macOS**: `~\u002FLibrary\u002FCaches\u002Frura\u002Flogs.txt`","Rura 是一个用于构建 shell 管道的交互式 TUI 便签本，它通过实时预览、语法高亮和部分执行等功能，将繁琐的“编辑-上箭头-重新运行”循环转变为流畅的互动体验。其核心功能包括部分管道执行、上下文感知补全、实时执行模式、搜索、持久历史记录等，这些特性使用户能够即时调试和迭代命令。该项目使用 Rust 语言开发，适合需要频繁进行 shell 脚本编写与调试的开发者，尤其是在处理复杂数据流时，能显著提高工作效率。","2026-06-11 03:54:58","CREATED_QUERY"]