From 97055109c441fa6e659e89f2e43530fa661c73e7 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 15 Jul 2025 20:43:36 +0000 Subject: [PATCH] deploy: 313c0c32382e4977955c3a4d9e3fcb4f1f1556ce --- 404.html | 2 +- assets/js/2bf9f277.8f6a3f6b.js | 1 + assets/js/2bf9f277.dd4fb3cf.js | 1 - assets/js/2c30b35b.c2573e77.js | 1 + assets/js/2c30b35b.ee049977.js | 1 - assets/js/3fd760d6.4bc705e3.js | 1 + assets/js/3fd760d6.d38ad1db.js | 1 - assets/js/b6c63517.330968f9.js | 1 - assets/js/b6c63517.d21328c9.js | 1 + assets/js/e29aca6e.60bb70a8.js | 1 - assets/js/e29aca6e.eb674476.js | 1 + ...n.3ae42b85.js => runtime~main.1acb5b51.js} | 2 +- docs/Developers/ARCHITECTURE/index.html | 2 +- docs/Developers/contributing/index.html | 2 +- docs/Developers/patch-notes/index.html | 2 +- .../shell-integration-local/index.html | 2 +- docs/Developers/ui-features/index.html | 2 +- docs/Users/channels/index.html | 4 +- docs/Users/cli/index.html | 6 +-- docs/Users/community-channels-unix/index.html | 42 +++++++++++++------ .../community-channels-windows/index.html | 32 ++++++++------ docs/Users/configuration/index.html | 4 +- docs/Users/installation/index.html | 4 +- docs/Users/keybindings/index.html | 4 +- docs/Users/quickstart/index.html | 4 +- docs/Users/search-patterns/index.html | 4 +- docs/Users/shell-integration/index.html | 4 +- docs/Users/showcase/index.html | 4 +- docs/Users/terminal_emulators/index.html | 6 +-- docs/Users/themes/index.html | 4 +- index.html | 2 +- markdown-page/index.html | 2 +- 32 files changed, 87 insertions(+), 63 deletions(-) create mode 100644 assets/js/2bf9f277.8f6a3f6b.js delete mode 100644 assets/js/2bf9f277.dd4fb3cf.js create mode 100644 assets/js/2c30b35b.c2573e77.js delete mode 100644 assets/js/2c30b35b.ee049977.js create mode 100644 assets/js/3fd760d6.4bc705e3.js delete mode 100644 assets/js/3fd760d6.d38ad1db.js delete mode 100644 assets/js/b6c63517.330968f9.js create mode 100644 assets/js/b6c63517.d21328c9.js delete mode 100644 assets/js/e29aca6e.60bb70a8.js create mode 100644 assets/js/e29aca6e.eb674476.js rename assets/js/{runtime~main.3ae42b85.js => runtime~main.1acb5b51.js} (94%) diff --git a/404.html b/404.html index 6a7129e..c28e5f2 100644 --- a/404.html +++ b/404.html @@ -4,7 +4,7 @@ Page Not Found | Television - + diff --git a/assets/js/2bf9f277.8f6a3f6b.js b/assets/js/2bf9f277.8f6a3f6b.js new file mode 100644 index 0000000..e1ade03 --- /dev/null +++ b/assets/js/2bf9f277.8f6a3f6b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunktelevision_website=self.webpackChunktelevision_website||[]).push([[9090],{5404:(e,n,s)=>{s.d(n,{R:()=>d,x:()=>t});var i=s(6672);const r={},l=i.createContext(r);function d(e){const n=i.useContext(l);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function t(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:d(e.components),i.createElement(l.Provider,{value:n},e.children)}},9842:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>o,contentTitle:()=>t,default:()=>a,frontMatter:()=>d,metadata:()=>i,toc:()=>c});const i=JSON.parse('{"id":"Users/cli","title":"CLI Reference","description":"Television (tv) is a cross-platform, fast and extensible general purpose fuzzy finder TUI. This document provides a comprehensive reference for all CLI options, modes, restrictions, and usage patterns.","source":"@site/../docs/01-Users/09-cli.md","sourceDirName":"01-Users","slug":"/Users/cli","permalink":"/television/docs/Users/cli","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":9,"frontMatter":{},"sidebar":"docSidebar","previous":{"title":"Themes","permalink":"/television/docs/Users/themes"},"next":{"title":"Community Channels (unix)","permalink":"/television/docs/Users/community-channels-unix"}}');var r=s(3420),l=s(5404);const d={},t="CLI Reference",o={},c=[{value:"Table of Contents",id:"table-of-contents",level:2},{value:"Overview",id:"overview",level:2},{value:"Operating Modes",id:"operating-modes",level:2},{value:"Channel Mode",id:"channel-mode",level:3},{value:"Ad-hoc Mode",id:"ad-hoc-mode",level:3},{value:"Basic Usage",id:"basic-usage",level:2},{value:"Arguments",id:"arguments",level:3},{value:"Position 1: [CHANNEL]",id:"position-1-channel",level:4},{value:"Position 2: [PATH]",id:"position-2-path",level:4},{value:"\u26a1 Smart Path Detection Logic",id:"-smart-path-detection-logic",level:4},{value:"Options",id:"options",level:2},{value:"\ud83c\udfaf Source and Data Options",id:"-source-and-data-options",level:3},{value:"--source-command <STRING>",id:"--source-command-string",level:4},{value:"--source-display <STRING>",id:"--source-display-string",level:4},{value:"--source-output <STRING>",id:"--source-output-string",level:4},{value:"\ud83d\udc41\ufe0f Preview Options",id:"\ufe0f-preview-options",level:3},{value:"--no-preview",id:"--no-preview",level:4},{value:"--hide-preview",id:"--hide-preview",level:4},{value:"--show-preview",id:"--show-preview",level:4},{value:"-p, --preview-command <STRING>",id:"-p---preview-command-string",level:4},{value:"--preview-header <STRING>",id:"--preview-header-string",level:4},{value:"--preview-footer <STRING>",id:"--preview-footer-string",level:4},{value:"--preview-offset <STRING>",id:"--preview-offset-string",level:4},{value:"--preview-size <INTEGER>",id:"--preview-size-integer",level:4},{value:"\u2139\ufe0f Status Bar Options",id:"\u2139\ufe0f-status-bar-options",level:3},{value:"--no-status-bar",id:"--no-status-bar",level:4},{value:"--hide-status-bar",id:"--hide-status-bar",level:4},{value:"--show-status-bar",id:"--show-status-bar",level:4},{value:"\ud83d\udce1 Remote Control Options",id:"-remote-control-options",level:3},{value:"--no-remote",id:"--no-remote",level:4},{value:"--hide-remote",id:"--hide-remote",level:4},{value:"--show-remote",id:"--show-remote",level:4},{value:"\u2753 Help Panel Options",id:"-help-panel-options",level:3},{value:"--no-help-panel",id:"--no-help-panel",level:4},{value:"--hide-help-panel",id:"--hide-help-panel",level:4},{value:"--show-help-panel",id:"--show-help-panel",level:4},{value:"\ud83c\udfa8 Interface and Layout Options",id:"-interface-and-layout-options",level:3},{value:"--layout <LAYOUT>",id:"--layout-layout",level:4},{value:"--input-header <STRING>",id:"--input-header-string",level:4},{value:"--ui-scale <INTEGER>",id:"--ui-scale-integer",level:4},{value:"--height <INTEGER>",id:"--height-integer",level:4},{value:"--width <INTEGER>",id:"--width-integer",level:4},{value:"--inline",id:"--inline",level:4},{value:"\u2328\ufe0f Input and Interaction Options",id:"\ufe0f-input-and-interaction-options",level:3},{value:"-i, --input <STRING>",id:"-i---input-string",level:4},{value:"-k, --keybindings <STRING>",id:"-k---keybindings-string",level:4},{value:"--exact",id:"--exact",level:4},{value:"\u26a1 Selection Behavior Options",id:"-selection-behavior-options",level:3},{value:"--select-1",id:"--select-1",level:4},{value:"--take-1",id:"--take-1",level:4},{value:"--take-1-fast",id:"--take-1-fast",level:4},{value:"\u2699\ufe0f Performance and Monitoring Options",id:"\ufe0f-performance-and-monitoring-options",level:3},{value:"-t, --tick-rate <FLOAT>",id:"-t---tick-rate-float",level:4},{value:"--watch <FLOAT>",id:"--watch-float",level:4},{value:"\ud83d\udcc1 Directory and Configuration Options",id:"-directory-and-configuration-options",level:3},{value:"[PATH] (Positional Argument 2)",id:"path-positional-argument-2",level:4},{value:"--config-file <PATH>",id:"--config-file-path",level:4},{value:"--cable-dir <PATH>",id:"--cable-dir-path",level:4},{value:"\ud83d\udcda History Options",id:"-history-options",level:3},{value:"--global-history",id:"--global-history",level:4},{value:"\ud83d\udd27 Special Mode Options",id:"-special-mode-options",level:3},{value:"--autocomplete-prompt <STRING>",id:"--autocomplete-prompt-string",level:4},{value:"Subcommands",id:"subcommands",level:2},{value:"list-channels",id:"list-channels",level:3},{value:"init <SHELL>",id:"init-shell",level:3},{value:"update-channels",id:"update-channels",level:3},{value:"Usage Rules and Restrictions",id:"usage-rules-and-restrictions",level:2},{value:"\ud83c\udfaf Ad-hoc Mode Requirements",id:"-ad-hoc-mode-requirements",level:3},{value:"\ud83d\udeab Mutually Exclusive Options",id:"-mutually-exclusive-options",level:3},{value:"\u2705 Channel Mode Benefits",id:"-channel-mode-benefits",level:3},{value:"Configuration",id:"configuration",level:2},{value:"\u26a1 Configuration Priority",id:"-configuration-priority",level:3},{value:"\ud83d\udcc1 Configuration Locations",id:"-configuration-locations",level:3},{value:"User Configuration File",id:"user-configuration-file",level:4},{value:"Channel Definitions (Cable Directory)",id:"channel-definitions-cable-directory",level:4},{value:"\ud83c\udf9b\ufe0f Feature Configuration",id:"\ufe0f-feature-configuration",level:3},{value:"Quick Feature Overview",id:"quick-feature-overview",level:4},{value:"CLI Feature Override Examples",id:"cli-feature-override-examples",level:4},{value:"Template System",id:"template-system",level:2},{value:"Template-Enabled Flags",id:"template-enabled-flags",level:3},{value:"Basic Template Syntax",id:"basic-template-syntax",level:3},{value:"Core Template Operations",id:"core-template-operations",level:3},{value:"Advanced Template Operations",id:"advanced-template-operations",level:3},{value:"Template Examples",id:"template-examples",level:3},{value:"Range Specifications",id:"range-specifications",level:3},{value:"Examples",id:"examples",level:2},{value:"\ud83c\udfaf Quick Start Examples",id:"-quick-start-examples",level:3},{value:"Channel Mode (Recommended)",id:"channel-mode-recommended",level:4},{value:"Ad-hoc Mode (Custom Commands)",id:"ad-hoc-mode-custom-commands",level:4}];function h(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,l.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"cli-reference",children:"CLI Reference"})}),"\n",(0,r.jsxs)(n.p,{children:["Television (",(0,r.jsx)(n.code,{children:"tv"}),") is a cross-platform, fast and extensible general purpose fuzzy finder TUI. This document provides a comprehensive reference for all CLI options, modes, restrictions, and usage patterns."]}),"\n",(0,r.jsx)(n.h2,{id:"table-of-contents",children:"Table of Contents"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"#overview",children:"Overview"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"#operating-modes",children:"Operating Modes"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"#basic-usage",children:"Basic Usage"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"#arguments",children:"Arguments"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"#options",children:"Options"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"#subcommands",children:"Subcommands"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"#usage-rules-and-restrictions",children:"Usage Rules and Restrictions"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"#configuration",children:"Configuration"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"#template-system",children:"Template System"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"#examples",children:"Examples"})}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"overview",children:"Overview"}),"\n",(0,r.jsx)(n.p,{children:"Television supports two primary operating modes that determine how CLI flags are interpreted and validated:"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Channel Mode"}),": When a channel is specified, the application uses the channel's configuration as a base and CLI flags act as overrides"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Ad-hoc Mode"}),": When no channel is specified, the application creates a custom channel from CLI flags with stricter validation"]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"operating-modes",children:"Operating Modes"}),"\n",(0,r.jsx)(n.h3,{id:"channel-mode",children:"Channel Mode"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Activated when"}),": A channel name is provided as the first argument or via ",(0,r.jsx)(n.code,{children:"--autocomplete-prompt"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Behavior"}),":"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Channel provides base configuration (source commands, preview commands, UI settings)"}),"\n",(0,r.jsxs)(n.li,{children:["CLI flags act as ",(0,r.jsx)(n.strong,{children:"overrides"})," to channel defaults"]}),"\n",(0,r.jsx)(n.li,{children:"More permissive validation - allows most combination of flags"}),"\n",(0,r.jsx)(n.li,{children:"Minimal dependency checking since channel provides sensible defaults"}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Example"}),":"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"tv files --preview-command \"bat -n --color=always '{}'\"\n"})}),"\n",(0,r.jsx)(n.h3,{id:"ad-hoc-mode",children:"Ad-hoc Mode"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Activated when"}),": No channel is specified and no ",(0,r.jsx)(n.code,{children:"--autocomplete-prompt"})," is used"]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Behavior"}),":"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Creates a custom channel on-the-fly from CLI flags"}),"\n",(0,r.jsxs)(n.li,{children:["Requires ",(0,r.jsx)(n.code,{children:"--source-command"})," to generate any entries"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Stricter validation"})," ensures necessary components are present"]}),"\n",(0,r.jsx)(n.li,{children:"All functionality depends on explicitly provided flags"}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Example"}),":"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"tv --source-command \"find . -name '*.rs'\" --preview-command \"bat -n --color=always '{}'\"\n"})}),"\n",(0,r.jsx)(n.h2,{id:"basic-usage",children:"Basic Usage"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{children:"tv [OPTIONS] [CHANNEL] [PATH]\n"})}),"\n",(0,r.jsx)(n.h3,{id:"arguments",children:"Arguments"}),"\n",(0,r.jsx)(n.p,{children:"Television has intelligent positional argument handling with special path detection logic."}),"\n",(0,r.jsxs)(n.h4,{id:"position-1-channel",children:["Position 1: ",(0,r.jsx)(n.code,{children:"[CHANNEL]"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Channel name to activate Channel Mode"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Standard behavior"}),": When a valid channel name is provided, activates Channel Mode"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Special path detection"}),": If the argument exists as a path on the filesystem, it's automatically treated as a working directory instead"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Effect when path detected"}),": Switches to Ad-hoc Mode and uses the path as the working directory"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Required"}),": No (falls back to ",(0,r.jsx)(n.code,{children:"default_channel"})," from the global config)"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Examples"}),":"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"tv files # Uses 'files' channel\ntv /home/user/docs # Auto-detects path, uses as working directory\ntv ./projects # Auto-detects relative path\n"})}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.h4,{id:"position-2-path",children:["Position 2: ",(0,r.jsx)(n.code,{children:"[PATH]"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Working directory to start in"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Behavior"}),": Sets the working directory for the application"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Required"}),": No"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Precedence"}),": Only used if Position 1 was not detected as a path"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Default"}),": Current directory"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Example"}),": ",(0,r.jsx)(n.code,{children:"tv files /home/user/projects"})]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"-smart-path-detection-logic",children:"\u26a1 Smart Path Detection Logic"}),"\n",(0,r.jsx)(n.p,{children:"Television automatically detects when the first argument is a filesystem path:"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Path Check"}),": If Position 1 exists as a file or directory on the filesystem"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Mode Switch"}),": Automatically switches to Ad-hoc Mode (no channel)"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Directory Assignment"}),": Uses the detected path as the working directory"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Requirement"}),": When this happens, ",(0,r.jsx)(n.code,{children:"--source-command"})," becomes required (Ad-hoc Mode rules apply)"]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Examples of Smart Detection"}),":"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"# No arguments - uses default_channel from config\ntv\n\n# Channel name provided - Channel Mode\ntv files\n\n# Existing path provided - triggers path detection \u2192 uses default_channel\ntv /home/user/docs # Uses default_channel in /home/user/docs directory\n\n# Non-existent path - treated as channel name \u2192 error if channel doesn't exist\ntv /nonexistent/path # Error: Channel not found\n\n# Channel + explicit working directory - Channel Mode\ntv files /home/user/docs\n\n# The key nuance: same name, different behavior based on filesystem\ntv myproject # Channel Mode (if 'myproject' is a channel name)\ntv ./myproject # Channel Mode with default_channel (if './myproject' directory exists)\n\n# Ambiguous case - path detection takes precedence\ntv docs # If 'docs' directory exists \u2192 default_channel + path detection\n # If 'docs' directory doesn't exist \u2192 'docs' channel\n"})}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"\ud83d\udca1 Tip"}),": This smart detection makes Television intuitive - you can just specify a directory and it automatically knows you want to work in that location."]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"options",children:"Options"}),"\n",(0,r.jsx)(n.p,{children:"Television's options are organized by functionality. Each option behaves differently depending on whether you're using Channel Mode (with a channel specified) or Ad-hoc Mode (no channel)."}),"\n",(0,r.jsx)(n.h3,{id:"-source-and-data-options",children:"\ud83c\udfaf Source and Data Options"}),"\n",(0,r.jsx)(n.h4,{id:"--source-command-string",children:(0,r.jsx)(n.code,{children:"--source-command "})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Defines the command that generates entries for the picker"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Channel Mode"}),": Overrides the channel's default source command"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Ad-hoc Mode"}),": \u26a0\ufe0f ",(0,r.jsx)(n.strong,{children:"Required"})," - without this, no entries will be generated"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Example"}),": ",(0,r.jsx)(n.code,{children:"--source-command \"find . -name '*.py'\""})]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--source-display-string",children:(0,r.jsx)(n.code,{children:"--source-display "})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Template for formatting how entries appear in the results list"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Requires"}),": ",(0,r.jsx)(n.code,{children:"--source-command"})," (in ad-hoc mode)"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Example"}),": ",(0,r.jsx)(n.code,{children:'--source-display "{split:/:-1} ({split:/:0..-1|join:-})"'})]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--source-output-string",children:(0,r.jsx)(n.code,{children:"--source-output "})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Template for formatting the final output when an entry is selected"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Requires"}),": ",(0,r.jsx)(n.code,{children:"--source-command"})," (in ad-hoc mode)"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Example"}),": ",(0,r.jsx)(n.code,{children:'--source-output "code {}"'})]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"\ufe0f-preview-options",children:"\ud83d\udc41\ufe0f Preview Options"}),"\n",(0,r.jsx)(n.h4,{id:"--no-preview",children:(0,r.jsx)(n.code,{children:"--no-preview"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Disable preview feature, toggling is not possible"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Conflicts"}),": Cannot be used with any ",(0,r.jsx)(n.code,{children:"--preview-*"})," or ",(0,r.jsx)(n.code,{children:"--*-preview"})," flags"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Minimal interface"]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--hide-preview",children:(0,r.jsx)(n.code,{children:"--hide-preview"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Starts the interface with the preview panel hidden"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Conflicts"}),": Cannot be used with ",(0,r.jsx)(n.code,{children:"--no-preview"})," or ",(0,r.jsx)(n.code,{children:"--show-preview"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Start with clean interface, toggle preview later"]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--show-preview",children:(0,r.jsx)(n.code,{children:"--show-preview"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Starts the interface with the preview panel visible"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Conflicts"}),": Cannot be used with ",(0,r.jsx)(n.code,{children:"--no-preview"})," or ",(0,r.jsx)(n.code,{children:"--hide-preview"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Ensure preview is always available"]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"-p---preview-command-string",children:(0,r.jsx)(n.code,{children:"-p, --preview-command "})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Command to generate preview content for the selected entry"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Requires"}),": ",(0,r.jsx)(n.code,{children:"--source-command"})," (in ad-hoc mode)"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Conflicts"}),": Cannot be used with ",(0,r.jsx)(n.code,{children:"--no-preview"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Example"}),": ",(0,r.jsx)(n.code,{children:"--preview-command \"bat -n --color=always '{}'\""})]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--preview-header-string",children:(0,r.jsx)(n.code,{children:"--preview-header "})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Template for text displayed above the preview panel"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Requires"}),": ",(0,r.jsx)(n.code,{children:"--preview-command"})," (in ad-hoc mode)"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Conflicts"}),": Cannot be used with ",(0,r.jsx)(n.code,{children:"--no-preview"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Example"}),": ",(0,r.jsx)(n.code,{children:'--preview-header "File: {split:/:-1|upper}"'})]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--preview-footer-string",children:(0,r.jsx)(n.code,{children:"--preview-footer "})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Template for text displayed below the preview panel"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Requires"}),": ",(0,r.jsx)(n.code,{children:"--preview-command"})," (in ad-hoc mode)"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Conflicts"}),": Cannot be used with ",(0,r.jsx)(n.code,{children:"--no-preview"})]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--preview-offset-string",children:(0,r.jsx)(n.code,{children:"--preview-offset "})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Template that determines the scroll position in the preview"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Requires"}),": ",(0,r.jsx)(n.code,{children:"--preview-command"})," (in ad-hoc mode)"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Conflicts"}),": Cannot be used with ",(0,r.jsx)(n.code,{children:"--no-preview"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Example"}),": ",(0,r.jsx)(n.code,{children:'--preview-offset "10"'})," (start at line 10)"]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--preview-size-integer",children:(0,r.jsx)(n.code,{children:"--preview-size "})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Width of the preview panel as a percentage"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Default"}),": 50% of screen width"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Range"}),": 1-99"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Conflicts"}),": Cannot be used with ",(0,r.jsx)(n.code,{children:"--no-preview"})]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"\u2139\ufe0f-status-bar-options",children:"\u2139\ufe0f Status Bar Options"}),"\n",(0,r.jsx)(n.h4,{id:"--no-status-bar",children:(0,r.jsx)(n.code,{children:"--no-status-bar"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Disable status bar feature, toggling is not possible"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Conflicts"}),": Cannot be used with ",(0,r.jsx)(n.code,{children:"--hide-status-bar"})," or ",(0,r.jsx)(n.code,{children:"--show-status-bar"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Minimal interface"]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--hide-status-bar",children:(0,r.jsx)(n.code,{children:"--hide-status-bar"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Starts the interface with the status bar hidden"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Conflicts"}),": Cannot be used with ",(0,r.jsx)(n.code,{children:"--no-status-bar"})," or ",(0,r.jsx)(n.code,{children:"--show-status-bar"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Clean interface with option to show status later"]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--show-status-bar",children:(0,r.jsx)(n.code,{children:"--show-status-bar"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Starts the interface with the status bar visible"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Conflicts"}),": Cannot be used with ",(0,r.jsx)(n.code,{children:"--no-status-bar"})," or ",(0,r.jsx)(n.code,{children:"--hide-status-bar"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Ensure status information is always available"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"-remote-control-options",children:"\ud83d\udce1 Remote Control Options"}),"\n",(0,r.jsx)(n.h4,{id:"--no-remote",children:(0,r.jsx)(n.code,{children:"--no-remote"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Disable remote control feature, toggling is not possible"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Conflicts"}),": Cannot be used with ",(0,r.jsx)(n.code,{children:"--hide-remote"})," or ",(0,r.jsx)(n.code,{children:"--show-remote"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Single-channel mode, embedded usage"]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--hide-remote",children:(0,r.jsx)(n.code,{children:"--hide-remote"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Starts the interface with the remote control hidden"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Conflicts"}),": Cannot be used with ",(0,r.jsx)(n.code,{children:"--no-remote"})," or ",(0,r.jsx)(n.code,{children:"--show-remote"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Start in single-channel mode, access remote later"]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--show-remote",children:(0,r.jsx)(n.code,{children:"--show-remote"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Starts the interface with the remote control visible"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Conflicts"}),": Cannot be used with ",(0,r.jsx)(n.code,{children:"--no-remote"})," or ",(0,r.jsx)(n.code,{children:"--hide-remote"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Ensure channel switching is always available"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"-help-panel-options",children:"\u2753 Help Panel Options"}),"\n",(0,r.jsx)(n.h4,{id:"--no-help-panel",children:(0,r.jsx)(n.code,{children:"--no-help-panel"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Disable help panel feature, toggling is not possible"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Conflicts"}),": Cannot be used with ",(0,r.jsx)(n.code,{children:"--hide-help-panel"})," or ",(0,r.jsx)(n.code,{children:"--show-help-panel"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Minimal interface"]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--hide-help-panel",children:(0,r.jsx)(n.code,{children:"--hide-help-panel"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Starts the interface with the help panel hidden"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Conflicts"}),": Cannot be used with ",(0,r.jsx)(n.code,{children:"--no-help-panel"})," or ",(0,r.jsx)(n.code,{children:"--show-help-panel"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Clean interface with option to show help later"]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--show-help-panel",children:(0,r.jsx)(n.code,{children:"--show-help-panel"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Starts the interface with the help panel visible"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Conflicts"}),": Cannot be used with ",(0,r.jsx)(n.code,{children:"--no-help-panel"})," or ",(0,r.jsx)(n.code,{children:"--hide-help-panel"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Ensure help information is always available"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"-interface-and-layout-options",children:"\ud83c\udfa8 Interface and Layout Options"}),"\n",(0,r.jsx)(n.h4,{id:"--layout-layout",children:(0,r.jsx)(n.code,{children:"--layout "})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Controls the overall interface orientation"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Values"}),": ",(0,r.jsx)(n.code,{children:"landscape"})," (side-by-side), ",(0,r.jsx)(n.code,{children:"portrait"})," (stacked)"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Default"}),": ",(0,r.jsx)(n.code,{children:"landscape"})]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--input-header-string",children:(0,r.jsx)(n.code,{children:"--input-header "})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Template for text displayed above the input field"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Default"}),": Channel name (channel mode) or empty (ad-hoc mode)"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Example"}),": ",(0,r.jsx)(n.code,{children:'--input-header "Search files:"'})]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--ui-scale-integer",children:(0,r.jsx)(n.code,{children:"--ui-scale "})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Scales the entire interface size"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Default"}),": 100%"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Range"}),": 10-100%"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Adapt to different screen sizes or preferences"]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--height-integer",children:(0,r.jsx)(n.code,{children:"--height "})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Sets a fixed height for non-fullscreen mode"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Range"}),": 6 or higher (minimum UI height required)"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Conflicts"}),": Cannot be used with ",(0,r.jsx)(n.code,{children:"--inline"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Precise control over interface height"]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--width-integer",children:(0,r.jsx)(n.code,{children:"--width "})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Sets a fixed width for non-fullscreen mode"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Range"}),": 10 or higher (minimum UI width required)"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Requires"}),": Must be used with ",(0,r.jsx)(n.code,{children:"--inline"})," or ",(0,r.jsx)(n.code,{children:"--height"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Precise control over interface width"]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--inline",children:(0,r.jsx)(n.code,{children:"--inline"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Uses all available empty space at the bottom of the terminal"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Behavior"}),": Automatically uses all available space below the cursor,\nminimum height is ensured (set by default at 15 lines)"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Conflicts"}),": Cannot be used with ",(0,r.jsx)(n.code,{children:"--height"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Use of all available space without entering fullscreen mode"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"\ufe0f-input-and-interaction-options",children:"\u2328\ufe0f Input and Interaction Options"}),"\n",(0,r.jsx)(n.h4,{id:"-i---input-string",children:(0,r.jsx)(n.code,{children:"-i, --input "})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Pre-fills the input prompt with specified text"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Continue a previous search or provide default query"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Example"}),": ",(0,r.jsx)(n.code,{children:'-i "main.py"'})]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"-k---keybindings-string",children:(0,r.jsx)(n.code,{children:"-k, --keybindings "})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Overrides default keyboard shortcuts"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Format"}),": ",(0,r.jsx)(n.code,{children:'action1=["key1","key2"];action2=["key3"]'})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Example"}),": ",(0,r.jsx)(n.code,{children:'-k \'quit=["q","esc"];select=["enter","space"]\''})]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--exact",children:(0,r.jsx)(n.code,{children:"--exact"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Changes matching behavior from fuzzy to exact substring matching"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Default"}),": Fuzzy matching"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": When you need precise substring matches"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"-selection-behavior-options",children:"\u26a1 Selection Behavior Options"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Note"}),": These options are mutually exclusive - only one can be used at a time."]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--select-1",children:(0,r.jsx)(n.code,{children:"--select-1"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Automatically selects and returns the entry if only one is found"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Scripting scenarios where single results should be auto-selected"]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--take-1",children:(0,r.jsx)(n.code,{children:"--take-1"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Takes the first entry after loading completes"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Scripts that always want the first/best result"]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--take-1-fast",children:(0,r.jsx)(n.code,{children:"--take-1-fast"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Takes the first entry immediately as it appears"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Maximum speed scripts that don't care about all options"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"\ufe0f-performance-and-monitoring-options",children:"\u2699\ufe0f Performance and Monitoring Options"}),"\n",(0,r.jsx)(n.h4,{id:"-t---tick-rate-float",children:(0,r.jsx)(n.code,{children:"-t, --tick-rate "})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Controls how frequently the interface updates (times per second)"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Default"}),": Auto-calculated based on system performance"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Validation"}),": Must be positive number"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Example"}),": ",(0,r.jsx)(n.code,{children:"--tick-rate 30"})," (30 updates per second)"]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--watch-float",children:(0,r.jsx)(n.code,{children:"--watch "})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Automatically re-runs the source command at regular intervals"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Default"}),": 0 (disabled)"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Units"}),": Seconds between updates"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Conflicts"}),": Cannot be used with selection options (",(0,r.jsx)(n.code,{children:"--select-1"}),", ",(0,r.jsx)(n.code,{children:"--take-1"}),", ",(0,r.jsx)(n.code,{children:"--take-1-fast"}),")"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Example"}),": ",(0,r.jsx)(n.code,{children:"--watch 2.0"})," (update every 2 seconds)"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"-directory-and-configuration-options",children:"\ud83d\udcc1 Directory and Configuration Options"}),"\n",(0,r.jsxs)(n.h4,{id:"path-positional-argument-2",children:[(0,r.jsx)(n.code,{children:"[PATH]"})," (Positional Argument 2)"]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Sets the working directory for the command"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Default"}),": Current directory"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Example"}),": ",(0,r.jsx)(n.code,{children:"tv files /home/user/projects"})]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--config-file-path",children:(0,r.jsx)(n.code,{children:"--config-file "})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Uses a custom configuration file instead of the default"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Default"}),": ",(0,r.jsx)(n.code,{children:"~/.config/tv/config.toml"})," (Linux/macOS) or ",(0,r.jsx)(n.code,{children:"%APPDATA%\\tv\\config.toml"})," (Windows)"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Multiple configurations for different workflows"]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--cable-dir-path",children:(0,r.jsx)(n.code,{children:"--cable-dir "})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Uses a custom directory for channel definitions"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Default"}),": ",(0,r.jsx)(n.code,{children:"~/.config/tv/cable/"})," (Linux/macOS) or ",(0,r.jsx)(n.code,{children:"%APPDATA%\\tv\\cable\\"})," (Windows)"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Custom channel collections or shared team channels"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"-history-options",children:"\ud83d\udcda History Options"}),"\n",(0,r.jsx)(n.h4,{id:"--global-history",children:(0,r.jsx)(n.code,{children:"--global-history"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Enables global history for the current session"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Default"}),": Channel-specific history (scoped to current channel)"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Cross-channel workflow when you want to see all recent searches"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Example"}),": ",(0,r.jsx)(n.code,{children:"tv files --global-history"})]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"-special-mode-options",children:"\ud83d\udd27 Special Mode Options"}),"\n",(0,r.jsx)(n.h4,{id:"--autocomplete-prompt-string",children:(0,r.jsx)(n.code,{children:"--autocomplete-prompt "})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": \u26a1 ",(0,r.jsx)(n.strong,{children:"Activates Channel Mode"})," - Auto-detects channel from shell command"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Effect"}),": Switches to Channel Mode automatically"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Behavior"}),": Analyzes the provided command to determine appropriate channel"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Conflicts"}),": Cannot be used with ",(0,r.jsx)(n.code,{children:"[CHANNEL]"})," positional argument"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Shell integration and smart channel detection"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Example"}),": ",(0,r.jsx)(n.code,{children:'--autocomplete-prompt "git log --oneline"'})]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"subcommands",children:"Subcommands"}),"\n",(0,r.jsx)(n.h3,{id:"list-channels",children:(0,r.jsx)(n.code,{children:"list-channels"})}),"\n",(0,r.jsx)(n.p,{children:"Lists all available channels in the cable directory."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"tv list-channels\n"})}),"\n",(0,r.jsx)(n.h3,{id:"init-shell",children:(0,r.jsx)(n.code,{children:"init "})}),"\n",(0,r.jsx)(n.p,{children:"Generates shell completion script for the specified shell."}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Supported shells"}),": ",(0,r.jsx)(n.code,{children:"bash"}),", ",(0,r.jsx)(n.code,{children:"zsh"}),", ",(0,r.jsx)(n.code,{children:"fish"}),", ",(0,r.jsx)(n.code,{children:"powershell"}),", ",(0,r.jsx)(n.code,{children:"cmd"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"tv init zsh > ~/.zshrc.d/tv-completion.zsh\n"})}),"\n",(0,r.jsx)(n.h3,{id:"update-channels",children:(0,r.jsx)(n.code,{children:"update-channels"})}),"\n",(0,r.jsx)(n.p,{children:"Downloads the latest channel prototypes from GitHub."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"tv update-channels\n"})}),"\n",(0,r.jsx)(n.h2,{id:"usage-rules-and-restrictions",children:"Usage Rules and Restrictions"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Note"}),": Detailed requirements and conflicts for each flag are covered in the ",(0,r.jsx)(n.a,{href:"#options",children:"Options"})," section above. This section provides a high-level overview of the key rules."]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"-ad-hoc-mode-requirements",children:"\ud83c\udfaf Ad-hoc Mode Requirements"}),"\n",(0,r.jsx)(n.p,{children:"When using Television without a channel, certain flags become mandatory:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsxs)(n.strong,{children:[(0,r.jsx)(n.code,{children:"--source-command"})," is required"]})," - without this, no entries will be generated"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Preview dependencies"})," - all ",(0,r.jsx)(n.code,{children:"--preview-*"})," flags require ",(0,r.jsx)(n.code,{children:"--preview-command"})," to be functional"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Source formatting dependencies"})," - ",(0,r.jsx)(n.code,{children:"--source-display"})," and ",(0,r.jsx)(n.code,{children:"--source-output"})," require ",(0,r.jsx)(n.code,{children:"--source-command"})]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"-mutually-exclusive-options",children:"\ud83d\udeab Mutually Exclusive Options"}),"\n",(0,r.jsx)(n.p,{children:"These option groups cannot be used together:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Selection behavior"}),": Only one of ",(0,r.jsx)(n.code,{children:"--select-1"}),", ",(0,r.jsx)(n.code,{children:"--take-1"}),", or ",(0,r.jsx)(n.code,{children:"--take-1-fast"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Preview control"}),": ",(0,r.jsx)(n.code,{children:"--no-preview"})," conflicts with all ",(0,r.jsx)(n.code,{children:"--preview-*"})," flags and ",(0,r.jsx)(n.code,{children:"--hide-preview"}),"/",(0,r.jsx)(n.code,{children:"--show-preview"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Preview visibility"}),": Only one of ",(0,r.jsx)(n.code,{children:"--no-preview"}),", ",(0,r.jsx)(n.code,{children:"--hide-preview"}),", or ",(0,r.jsx)(n.code,{children:"--show-preview"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Status bar control"}),": Only one of ",(0,r.jsx)(n.code,{children:"--no-status-bar"}),", ",(0,r.jsx)(n.code,{children:"--hide-status-bar"}),", or ",(0,r.jsx)(n.code,{children:"--show-status-bar"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Remote control"}),": Only one of ",(0,r.jsx)(n.code,{children:"--no-remote"}),", ",(0,r.jsx)(n.code,{children:"--hide-remote"}),", or ",(0,r.jsx)(n.code,{children:"--show-remote"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Help panel control"}),": Only one of ",(0,r.jsx)(n.code,{children:"--no-help-panel"}),", ",(0,r.jsx)(n.code,{children:"--hide-help-panel"}),", or ",(0,r.jsx)(n.code,{children:"--show-help-panel"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Channel selection"}),": Cannot use both ",(0,r.jsx)(n.code,{children:"[CHANNEL]"})," argument and ",(0,r.jsx)(n.code,{children:"--autocomplete-prompt"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Watch vs selection"}),": ",(0,r.jsx)(n.code,{children:"--watch"})," cannot be used with auto-selection flags"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"-channel-mode-benefits",children:"\u2705 Channel Mode Benefits"}),"\n",(0,r.jsx)(n.p,{children:"Channels provide sensible defaults, making the tool more flexible:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Preview and source flags work independently (channel provides missing pieces)"}),"\n",(0,r.jsx)(n.li,{children:"All UI options have reasonable defaults"}),"\n",(0,r.jsx)(n.li,{children:"Less strict validation since channels fill in the gaps"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"configuration",children:"Configuration"}),"\n",(0,r.jsx)(n.h3,{id:"-configuration-priority",children:"\u26a1 Configuration Priority"}),"\n",(0,r.jsx)(n.p,{children:"Television uses a layered configuration system where each layer can override the previous:"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"CLI flags"})," - Highest priority, overrides everything"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Channel configuration"})," - Channel-specific settings"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"User config file"})," - Personal preferences"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Built-in defaults"})," - Fallback values"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"-configuration-locations",children:"\ud83d\udcc1 Configuration Locations"}),"\n",(0,r.jsx)(n.h4,{id:"user-configuration-file",children:"User Configuration File"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Linux/macOS"}),": ",(0,r.jsx)(n.code,{children:"~/.config/tv/config.toml"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Windows"}),": ",(0,r.jsx)(n.code,{children:"%APPDATA%\\tv\\config.toml"})]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"channel-definitions-cable-directory",children:"Channel Definitions (Cable Directory)"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Linux/macOS"}),": ",(0,r.jsx)(n.code,{children:"~/.config/tv/cable/"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Windows"}),": ",(0,r.jsx)(n.code,{children:"%APPDATA%\\tv\\cable\\"})]}),"\n"]}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Tip"}),": Use ",(0,r.jsx)(n.code,{children:"--config-file"})," and ",(0,r.jsx)(n.code,{children:"--cable-dir"})," flags to override these default locations"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"\ufe0f-feature-configuration",children:"\ud83c\udf9b\ufe0f Feature Configuration"}),"\n",(0,r.jsxs)(n.p,{children:["Television features support dual-state control: ",(0,r.jsx)(n.strong,{children:"enabled/disabled"})," and ",(0,r.jsx)(n.strong,{children:"visible/not visible"}),"."]}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"\ud83d\udcd6 For more details on the ui feature documentation"}),", see ",(0,r.jsx)(n.a,{href:"/television/docs/Developers/ui-features",children:(0,r.jsx)(n.code,{children:"ui-features.md"})}),"."]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"quick-feature-overview",children:"Quick Feature Overview"}),"\n",(0,r.jsx)(n.p,{children:"Television supports four main UI features:"}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Feature"}),(0,r.jsx)(n.th,{children:"Purpose"}),(0,r.jsx)(n.th,{children:"Default State"}),(0,r.jsx)(n.th,{children:"CLI Controls"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.strong,{children:"Preview Panel"})}),(0,r.jsx)(n.td,{children:"Shows contextual information for selected entries"}),(0,r.jsx)(n.td,{children:"Enabled & Visible"}),(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"--no-preview"}),", ",(0,r.jsx)(n.code,{children:"--hide-preview"}),", ",(0,r.jsx)(n.code,{children:"--show-preview"})]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.strong,{children:"Status Bar"})}),(0,r.jsx)(n.td,{children:"Displays application status and available actions"}),(0,r.jsx)(n.td,{children:"Enabled & Visible"}),(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"--no-status-bar"}),", ",(0,r.jsx)(n.code,{children:"--hide-status-bar"}),", ",(0,r.jsx)(n.code,{children:"--show-status-bar"})]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.strong,{children:"Help Panel"})}),(0,r.jsx)(n.td,{children:"Shows contextual help and keyboard shortcuts"}),(0,r.jsx)(n.td,{children:"Enabled but Hidden"}),(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"--no-help-panel"}),", ",(0,r.jsx)(n.code,{children:"--hide-help-panel"}),", ",(0,r.jsx)(n.code,{children:"--show-help-panel"})]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.strong,{children:"Remote Control"})}),(0,r.jsx)(n.td,{children:"Provides channel switching interface"}),(0,r.jsx)(n.td,{children:"Enabled but Hidden"}),(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"--no-remote"}),", ",(0,r.jsx)(n.code,{children:"--hide-remote"}),", ",(0,r.jsx)(n.code,{children:"--show-remote"})]})]})]})]}),"\n",(0,r.jsx)(n.h4,{id:"cli-feature-override-examples",children:"CLI Feature Override Examples"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"# Control visibility while keeping functionality\ntv files --hide-preview --show-status-bar\n\n# Force features on\ntv files --show-preview --show-remote\n\n# Disable completely\ntv files --no-preview --no-remote\n\n# Mixed control\ntv files --hide-status-bar --show-remote\n"})}),"\n",(0,r.jsx)(n.h2,{id:"template-system",children:"Template System"}),"\n",(0,r.jsxs)(n.p,{children:["Television uses a powerful template system for dynamic content generation. Templates are enclosed in curly braces ",(0,r.jsx)(n.code,{children:"{}"})," and support complex operations."]}),"\n",(0,r.jsx)(n.h3,{id:"template-enabled-flags",children:"Template-Enabled Flags"}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Flag Category"}),(0,r.jsx)(n.th,{children:"Flags Using Templates"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.strong,{children:"Source"})}),(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"--source-command"}),", ",(0,r.jsx)(n.code,{children:"--source-display"}),", ",(0,r.jsx)(n.code,{children:"--source-output"})]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.strong,{children:"Preview"})}),(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"--preview-command"}),", ",(0,r.jsx)(n.code,{children:"--preview-offset"})]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.strong,{children:"Headers"})}),(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"--input-header"}),", ",(0,r.jsx)(n.code,{children:"--preview-header"}),", ",(0,r.jsx)(n.code,{children:"--preview-footer"})]})]})]})]}),"\n",(0,r.jsx)(n.h3,{id:"basic-template-syntax",children:"Basic Template Syntax"}),"\n",(0,r.jsx)(n.p,{children:"Templates support a wide range of operations that can be chained together:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"{operation1|operation2|operation3}\n"})}),"\n",(0,r.jsx)(n.h3,{id:"core-template-operations",children:"Core Template Operations"}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Operation"}),(0,r.jsx)(n.th,{children:"Description"}),(0,r.jsx)(n.th,{children:"Example"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"{}"})}),(0,r.jsx)(n.td,{children:"Full entry (passthrough)"}),(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"{}"})," \u2192 original entry"]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"{split:SEPARATOR:RANGE}"})}),(0,r.jsx)(n.td,{children:"Split text and extract parts"}),(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"{split:/:\u20111}"})," \u2192 last path component"]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"{upper}"})}),(0,r.jsx)(n.td,{children:"Convert to uppercase"}),(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"{upper}"}),' \u2192 "HELLO"']})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"{lower}"})}),(0,r.jsx)(n.td,{children:"Convert to lowercase"}),(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"{lower}"}),' \u2192 "hello"']})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"{trim}"})}),(0,r.jsx)(n.td,{children:"Remove whitespace"}),(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"{trim}"}),' \u2192 "text"']})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"{append:TEXT}"})}),(0,r.jsx)(n.td,{children:"Add text to end"}),(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"{append:.txt}"}),' \u2192 "file.txt"']})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"{prepend:TEXT}"})}),(0,r.jsx)(n.td,{children:"Add text to beginning"}),(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"{prepend:/home/}"}),' \u2192 "/home/file"']})]})]})]}),"\n",(0,r.jsx)(n.h3,{id:"advanced-template-operations",children:"Advanced Template Operations"}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Operation"}),(0,r.jsx)(n.th,{children:"Description"}),(0,r.jsx)(n.th,{children:"Example"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"{replace:s/PATTERN/REPLACEMENT/FLAGS}"})}),(0,r.jsx)(n.td,{children:"Regex find and replace"}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"{replace:s/\\\\.py$/.backup/}"})})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"{regex_extract:PATTERN}"})}),(0,r.jsx)(n.td,{children:"Extract matching text"}),(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"{regex_extract:\\\\d+}"})," \u2192 extract numbers"]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"{filter:PATTERN}"})}),(0,r.jsx)(n.td,{children:"Keep items matching pattern"}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"{split:,:..|filter:^test}"})})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"{sort}"})}),(0,r.jsx)(n.td,{children:"Sort list items"}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"{split:,:..|sort}"})})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"{unique}"})}),(0,r.jsx)(n.td,{children:"Remove duplicates"}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"{split:,:..|unique}"})})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"{join:SEPARATOR}"})}),(0,r.jsx)(n.td,{children:"Join list with separator"}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"{split:,:..|join:-}"})})]})]})]}),"\n",(0,r.jsx)(n.h3,{id:"template-examples",children:"Template Examples"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:'# File path manipulation\n{split:/:-1} # Get filename from path\n{split:/:0..-1|join:/} # Get directory from path\n\n# Text processing\n{split: :..|map:{upper}|join:_} # "hello world" \u2192 "HELLO_WORLD"\n{trim|replace:s/\\s+/_/g} # Replace spaces with underscores\n\n# Data extraction\n{regex_extract:@(.+)} # Extract email domain\n{split:,:..|filter:^[A-Z]} # Filter items starting with uppercase\n'})}),"\n",(0,r.jsx)(n.h3,{id:"range-specifications",children:"Range Specifications"}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Syntax"}),(0,r.jsx)(n.th,{children:"Description"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"N"})}),(0,r.jsx)(n.td,{children:"Single index (0-based)"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"N..M"})}),(0,r.jsx)(n.td,{children:"Range exclusive (items N to M-1)"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"N..=M"})}),(0,r.jsx)(n.td,{children:"Range inclusive (items N to M)"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"N.."})}),(0,r.jsx)(n.td,{children:"From N to end"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"..M"})}),(0,r.jsx)(n.td,{children:"From start to M-1"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:".."})}),(0,r.jsx)(n.td,{children:"All items"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"-1"})}),(0,r.jsx)(n.td,{children:"Last item"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"-N"})}),(0,r.jsx)(n.td,{children:"N-th from end"})]})]})]}),"\n",(0,r.jsxs)(n.p,{children:["For complete template documentation, see the ",(0,r.jsx)(n.a,{href:"https://github.com/lalvarezt/string_pipeline/blob/main/docs/template-system.md",children:"Template System Documentation"}),"."]}),"\n",(0,r.jsx)(n.h2,{id:"examples",children:"Examples"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Note"}),": More detailed examples with explanations are included in each option's documentation above."]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"-quick-start-examples",children:"\ud83c\udfaf Quick Start Examples"}),"\n",(0,r.jsx)(n.h4,{id:"channel-mode-recommended",children:"Channel Mode (Recommended)"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"# Basic usage - use built-in channels\ntv files # Browse files in current directory\ntv git-log # Browse git commit history\ntv docker-images # Browse Docker images\n\n# Channel + customization\ntv files --preview-command \"bat -n --color=always '{}'\"\ntv git-log --layout portrait\n\n# Feature visibility control\ntv files --hide-preview --show-status-bar # Clean interface, status visible\ntv files --show-remote # Force remote control visible\n"})}),"\n",(0,r.jsx)(n.h4,{id:"ad-hoc-mode-custom-commands",children:"Ad-hoc Mode (Custom Commands)"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:'# Simple custom finder\ntv --source-command "find . -name \'*.md\'"\n\n# Live system monitoring with hidden UI elements\ntv --source-command "ps aux | tail -n +2" \\\n --watch 1.0 \\\n --hide-preview \\\n --hide-status-bar\n\n# Clean interface with selective visibility\ntv --source-command "docker ps -a" \\\n --hide-preview \\\n --show-status-bar\n'})})]})}function a(e={}){const{wrapper:n}={...(0,l.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(h,{...e})}):h(e)}}}]); \ No newline at end of file diff --git a/assets/js/2bf9f277.dd4fb3cf.js b/assets/js/2bf9f277.dd4fb3cf.js deleted file mode 100644 index 9c6645b..0000000 --- a/assets/js/2bf9f277.dd4fb3cf.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunktelevision_website=self.webpackChunktelevision_website||[]).push([[9090],{5404:(e,n,s)=>{s.d(n,{R:()=>d,x:()=>t});var i=s(6672);const r={},l=i.createContext(r);function d(e){const n=i.useContext(l);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function t(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:d(e.components),i.createElement(l.Provider,{value:n},e.children)}},9842:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>o,contentTitle:()=>t,default:()=>a,frontMatter:()=>d,metadata:()=>i,toc:()=>c});const i=JSON.parse('{"id":"Users/cli","title":"CLI Reference","description":"Television (tv) is a cross-platform, fast and extensible general purpose fuzzy finder TUI. This document provides a comprehensive reference for all CLI options, modes, restrictions, and usage patterns.","source":"@site/../docs/01-Users/09-cli.md","sourceDirName":"01-Users","slug":"/Users/cli","permalink":"/television/docs/Users/cli","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":9,"frontMatter":{},"sidebar":"docSidebar","previous":{"title":"Themes","permalink":"/television/docs/Users/themes"},"next":{"title":"\ud83c\udf7f Community Channels (unix)","permalink":"/television/docs/Users/community-channels-unix"}}');var r=s(3420),l=s(5404);const d={},t="CLI Reference",o={},c=[{value:"Table of Contents",id:"table-of-contents",level:2},{value:"Overview",id:"overview",level:2},{value:"Operating Modes",id:"operating-modes",level:2},{value:"Channel Mode",id:"channel-mode",level:3},{value:"Ad-hoc Mode",id:"ad-hoc-mode",level:3},{value:"Basic Usage",id:"basic-usage",level:2},{value:"Arguments",id:"arguments",level:3},{value:"Position 1: [CHANNEL]",id:"position-1-channel",level:4},{value:"Position 2: [PATH]",id:"position-2-path",level:4},{value:"\u26a1 Smart Path Detection Logic",id:"-smart-path-detection-logic",level:4},{value:"Options",id:"options",level:2},{value:"\ud83c\udfaf Source and Data Options",id:"-source-and-data-options",level:3},{value:"--source-command <STRING>",id:"--source-command-string",level:4},{value:"--source-display <STRING>",id:"--source-display-string",level:4},{value:"--source-output <STRING>",id:"--source-output-string",level:4},{value:"\ud83d\udc41\ufe0f Preview Options",id:"\ufe0f-preview-options",level:3},{value:"--no-preview",id:"--no-preview",level:4},{value:"--hide-preview",id:"--hide-preview",level:4},{value:"--show-preview",id:"--show-preview",level:4},{value:"-p, --preview-command <STRING>",id:"-p---preview-command-string",level:4},{value:"--preview-header <STRING>",id:"--preview-header-string",level:4},{value:"--preview-footer <STRING>",id:"--preview-footer-string",level:4},{value:"--preview-offset <STRING>",id:"--preview-offset-string",level:4},{value:"--preview-size <INTEGER>",id:"--preview-size-integer",level:4},{value:"\u2139\ufe0f Status Bar Options",id:"\u2139\ufe0f-status-bar-options",level:3},{value:"--no-status-bar",id:"--no-status-bar",level:4},{value:"--hide-status-bar",id:"--hide-status-bar",level:4},{value:"--show-status-bar",id:"--show-status-bar",level:4},{value:"\ud83d\udce1 Remote Control Options",id:"-remote-control-options",level:3},{value:"--no-remote",id:"--no-remote",level:4},{value:"--hide-remote",id:"--hide-remote",level:4},{value:"--show-remote",id:"--show-remote",level:4},{value:"\u2753 Help Panel Options",id:"-help-panel-options",level:3},{value:"--no-help-panel",id:"--no-help-panel",level:4},{value:"--hide-help-panel",id:"--hide-help-panel",level:4},{value:"--show-help-panel",id:"--show-help-panel",level:4},{value:"\ud83c\udfa8 Interface and Layout Options",id:"-interface-and-layout-options",level:3},{value:"--layout <LAYOUT>",id:"--layout-layout",level:4},{value:"--input-header <STRING>",id:"--input-header-string",level:4},{value:"--ui-scale <INTEGER>",id:"--ui-scale-integer",level:4},{value:"--height <INTEGER>",id:"--height-integer",level:4},{value:"--width <INTEGER>",id:"--width-integer",level:4},{value:"--inline",id:"--inline",level:4},{value:"\u2328\ufe0f Input and Interaction Options",id:"\ufe0f-input-and-interaction-options",level:3},{value:"-i, --input <STRING>",id:"-i---input-string",level:4},{value:"-k, --keybindings <STRING>",id:"-k---keybindings-string",level:4},{value:"--exact",id:"--exact",level:4},{value:"\u26a1 Selection Behavior Options",id:"-selection-behavior-options",level:3},{value:"--select-1",id:"--select-1",level:4},{value:"--take-1",id:"--take-1",level:4},{value:"--take-1-fast",id:"--take-1-fast",level:4},{value:"\u2699\ufe0f Performance and Monitoring Options",id:"\ufe0f-performance-and-monitoring-options",level:3},{value:"-t, --tick-rate <FLOAT>",id:"-t---tick-rate-float",level:4},{value:"--watch <FLOAT>",id:"--watch-float",level:4},{value:"\ud83d\udcc1 Directory and Configuration Options",id:"-directory-and-configuration-options",level:3},{value:"[PATH] (Positional Argument 2)",id:"path-positional-argument-2",level:4},{value:"--config-file <PATH>",id:"--config-file-path",level:4},{value:"--cable-dir <PATH>",id:"--cable-dir-path",level:4},{value:"\ud83d\udcda History Options",id:"-history-options",level:3},{value:"--global-history",id:"--global-history",level:4},{value:"\ud83d\udd27 Special Mode Options",id:"-special-mode-options",level:3},{value:"--autocomplete-prompt <STRING>",id:"--autocomplete-prompt-string",level:4},{value:"Subcommands",id:"subcommands",level:2},{value:"list-channels",id:"list-channels",level:3},{value:"init <SHELL>",id:"init-shell",level:3},{value:"update-channels",id:"update-channels",level:3},{value:"Usage Rules and Restrictions",id:"usage-rules-and-restrictions",level:2},{value:"\ud83c\udfaf Ad-hoc Mode Requirements",id:"-ad-hoc-mode-requirements",level:3},{value:"\ud83d\udeab Mutually Exclusive Options",id:"-mutually-exclusive-options",level:3},{value:"\u2705 Channel Mode Benefits",id:"-channel-mode-benefits",level:3},{value:"Configuration",id:"configuration",level:2},{value:"\u26a1 Configuration Priority",id:"-configuration-priority",level:3},{value:"\ud83d\udcc1 Configuration Locations",id:"-configuration-locations",level:3},{value:"User Configuration File",id:"user-configuration-file",level:4},{value:"Channel Definitions (Cable Directory)",id:"channel-definitions-cable-directory",level:4},{value:"\ud83c\udf9b\ufe0f Feature Configuration",id:"\ufe0f-feature-configuration",level:3},{value:"Quick Feature Overview",id:"quick-feature-overview",level:4},{value:"CLI Feature Override Examples",id:"cli-feature-override-examples",level:4},{value:"Template System",id:"template-system",level:2},{value:"Template-Enabled Flags",id:"template-enabled-flags",level:3},{value:"Basic Template Syntax",id:"basic-template-syntax",level:3},{value:"Core Template Operations",id:"core-template-operations",level:3},{value:"Advanced Template Operations",id:"advanced-template-operations",level:3},{value:"Template Examples",id:"template-examples",level:3},{value:"Range Specifications",id:"range-specifications",level:3},{value:"Examples",id:"examples",level:2},{value:"\ud83c\udfaf Quick Start Examples",id:"-quick-start-examples",level:3},{value:"Channel Mode (Recommended)",id:"channel-mode-recommended",level:4},{value:"Ad-hoc Mode (Custom Commands)",id:"ad-hoc-mode-custom-commands",level:4}];function h(e){const n={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,l.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"cli-reference",children:"CLI Reference"})}),"\n",(0,r.jsxs)(n.p,{children:["Television (",(0,r.jsx)(n.code,{children:"tv"}),") is a cross-platform, fast and extensible general purpose fuzzy finder TUI. This document provides a comprehensive reference for all CLI options, modes, restrictions, and usage patterns."]}),"\n",(0,r.jsx)(n.h2,{id:"table-of-contents",children:"Table of Contents"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"#overview",children:"Overview"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"#operating-modes",children:"Operating Modes"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"#basic-usage",children:"Basic Usage"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"#arguments",children:"Arguments"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"#options",children:"Options"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"#subcommands",children:"Subcommands"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"#usage-rules-and-restrictions",children:"Usage Rules and Restrictions"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"#configuration",children:"Configuration"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"#template-system",children:"Template System"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"#examples",children:"Examples"})}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"overview",children:"Overview"}),"\n",(0,r.jsx)(n.p,{children:"Television supports two primary operating modes that determine how CLI flags are interpreted and validated:"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Channel Mode"}),": When a channel is specified, the application uses the channel's configuration as a base and CLI flags act as overrides"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Ad-hoc Mode"}),": When no channel is specified, the application creates a custom channel from CLI flags with stricter validation"]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"operating-modes",children:"Operating Modes"}),"\n",(0,r.jsx)(n.h3,{id:"channel-mode",children:"Channel Mode"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Activated when"}),": A channel name is provided as the first argument or via ",(0,r.jsx)(n.code,{children:"--autocomplete-prompt"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Behavior"}),":"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Channel provides base configuration (source commands, preview commands, UI settings)"}),"\n",(0,r.jsxs)(n.li,{children:["CLI flags act as ",(0,r.jsx)(n.strong,{children:"overrides"})," to channel defaults"]}),"\n",(0,r.jsx)(n.li,{children:"More permissive validation - allows most combination of flags"}),"\n",(0,r.jsx)(n.li,{children:"Minimal dependency checking since channel provides sensible defaults"}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Example"}),":"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"tv files --preview-command \"bat -n --color=always '{}'\"\n"})}),"\n",(0,r.jsx)(n.h3,{id:"ad-hoc-mode",children:"Ad-hoc Mode"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Activated when"}),": No channel is specified and no ",(0,r.jsx)(n.code,{children:"--autocomplete-prompt"})," is used"]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Behavior"}),":"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Creates a custom channel on-the-fly from CLI flags"}),"\n",(0,r.jsxs)(n.li,{children:["Requires ",(0,r.jsx)(n.code,{children:"--source-command"})," to generate any entries"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Stricter validation"})," ensures necessary components are present"]}),"\n",(0,r.jsx)(n.li,{children:"All functionality depends on explicitly provided flags"}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Example"}),":"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"tv --source-command \"find . -name '*.rs'\" --preview-command \"bat -n --color=always '{}'\"\n"})}),"\n",(0,r.jsx)(n.h2,{id:"basic-usage",children:"Basic Usage"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{children:"tv [OPTIONS] [CHANNEL] [PATH]\n"})}),"\n",(0,r.jsx)(n.h3,{id:"arguments",children:"Arguments"}),"\n",(0,r.jsx)(n.p,{children:"Television has intelligent positional argument handling with special path detection logic."}),"\n",(0,r.jsxs)(n.h4,{id:"position-1-channel",children:["Position 1: ",(0,r.jsx)(n.code,{children:"[CHANNEL]"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Channel name to activate Channel Mode"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Standard behavior"}),": When a valid channel name is provided, activates Channel Mode"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Special path detection"}),": If the argument exists as a path on the filesystem, it's automatically treated as a working directory instead"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Effect when path detected"}),": Switches to Ad-hoc Mode and uses the path as the working directory"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Required"}),": No (falls back to ",(0,r.jsx)(n.code,{children:"default_channel"})," from the global config)"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Examples"}),":"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"tv files # Uses 'files' channel\ntv /home/user/docs # Auto-detects path, uses as working directory\ntv ./projects # Auto-detects relative path\n"})}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.h4,{id:"position-2-path",children:["Position 2: ",(0,r.jsx)(n.code,{children:"[PATH]"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Working directory to start in"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Behavior"}),": Sets the working directory for the application"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Required"}),": No"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Precedence"}),": Only used if Position 1 was not detected as a path"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Default"}),": Current directory"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Example"}),": ",(0,r.jsx)(n.code,{children:"tv files /home/user/projects"})]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"-smart-path-detection-logic",children:"\u26a1 Smart Path Detection Logic"}),"\n",(0,r.jsx)(n.p,{children:"Television automatically detects when the first argument is a filesystem path:"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Path Check"}),": If Position 1 exists as a file or directory on the filesystem"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Mode Switch"}),": Automatically switches to Ad-hoc Mode (no channel)"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Directory Assignment"}),": Uses the detected path as the working directory"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Requirement"}),": When this happens, ",(0,r.jsx)(n.code,{children:"--source-command"})," becomes required (Ad-hoc Mode rules apply)"]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Examples of Smart Detection"}),":"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"# No arguments - uses default_channel from config\ntv\n\n# Channel name provided - Channel Mode\ntv files\n\n# Existing path provided - triggers path detection \u2192 uses default_channel\ntv /home/user/docs # Uses default_channel in /home/user/docs directory\n\n# Non-existent path - treated as channel name \u2192 error if channel doesn't exist\ntv /nonexistent/path # Error: Channel not found\n\n# Channel + explicit working directory - Channel Mode\ntv files /home/user/docs\n\n# The key nuance: same name, different behavior based on filesystem\ntv myproject # Channel Mode (if 'myproject' is a channel name)\ntv ./myproject # Channel Mode with default_channel (if './myproject' directory exists)\n\n# Ambiguous case - path detection takes precedence\ntv docs # If 'docs' directory exists \u2192 default_channel + path detection\n # If 'docs' directory doesn't exist \u2192 'docs' channel\n"})}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"\ud83d\udca1 Tip"}),": This smart detection makes Television intuitive - you can just specify a directory and it automatically knows you want to work in that location."]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"options",children:"Options"}),"\n",(0,r.jsx)(n.p,{children:"Television's options are organized by functionality. Each option behaves differently depending on whether you're using Channel Mode (with a channel specified) or Ad-hoc Mode (no channel)."}),"\n",(0,r.jsx)(n.h3,{id:"-source-and-data-options",children:"\ud83c\udfaf Source and Data Options"}),"\n",(0,r.jsx)(n.h4,{id:"--source-command-string",children:(0,r.jsx)(n.code,{children:"--source-command "})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Defines the command that generates entries for the picker"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Channel Mode"}),": Overrides the channel's default source command"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Ad-hoc Mode"}),": \u26a0\ufe0f ",(0,r.jsx)(n.strong,{children:"Required"})," - without this, no entries will be generated"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Example"}),": ",(0,r.jsx)(n.code,{children:"--source-command \"find . -name '*.py'\""})]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--source-display-string",children:(0,r.jsx)(n.code,{children:"--source-display "})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Template for formatting how entries appear in the results list"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Requires"}),": ",(0,r.jsx)(n.code,{children:"--source-command"})," (in ad-hoc mode)"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Example"}),": ",(0,r.jsx)(n.code,{children:'--source-display "{split:/:-1} ({split:/:0..-1|join:-})"'})]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--source-output-string",children:(0,r.jsx)(n.code,{children:"--source-output "})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Template for formatting the final output when an entry is selected"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Requires"}),": ",(0,r.jsx)(n.code,{children:"--source-command"})," (in ad-hoc mode)"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Example"}),": ",(0,r.jsx)(n.code,{children:'--source-output "code {}"'})]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"\ufe0f-preview-options",children:"\ud83d\udc41\ufe0f Preview Options"}),"\n",(0,r.jsx)(n.h4,{id:"--no-preview",children:(0,r.jsx)(n.code,{children:"--no-preview"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Disable preview feature, toggling is not possible"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Conflicts"}),": Cannot be used with any ",(0,r.jsx)(n.code,{children:"--preview-*"})," or ",(0,r.jsx)(n.code,{children:"--*-preview"})," flags"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Minimal interface"]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--hide-preview",children:(0,r.jsx)(n.code,{children:"--hide-preview"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Starts the interface with the preview panel hidden"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Conflicts"}),": Cannot be used with ",(0,r.jsx)(n.code,{children:"--no-preview"})," or ",(0,r.jsx)(n.code,{children:"--show-preview"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Start with clean interface, toggle preview later"]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--show-preview",children:(0,r.jsx)(n.code,{children:"--show-preview"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Starts the interface with the preview panel visible"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Conflicts"}),": Cannot be used with ",(0,r.jsx)(n.code,{children:"--no-preview"})," or ",(0,r.jsx)(n.code,{children:"--hide-preview"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Ensure preview is always available"]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"-p---preview-command-string",children:(0,r.jsx)(n.code,{children:"-p, --preview-command "})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Command to generate preview content for the selected entry"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Requires"}),": ",(0,r.jsx)(n.code,{children:"--source-command"})," (in ad-hoc mode)"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Conflicts"}),": Cannot be used with ",(0,r.jsx)(n.code,{children:"--no-preview"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Example"}),": ",(0,r.jsx)(n.code,{children:"--preview-command \"bat -n --color=always '{}'\""})]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--preview-header-string",children:(0,r.jsx)(n.code,{children:"--preview-header "})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Template for text displayed above the preview panel"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Requires"}),": ",(0,r.jsx)(n.code,{children:"--preview-command"})," (in ad-hoc mode)"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Conflicts"}),": Cannot be used with ",(0,r.jsx)(n.code,{children:"--no-preview"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Example"}),": ",(0,r.jsx)(n.code,{children:'--preview-header "File: {split:/:-1|upper}"'})]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--preview-footer-string",children:(0,r.jsx)(n.code,{children:"--preview-footer "})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Template for text displayed below the preview panel"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Requires"}),": ",(0,r.jsx)(n.code,{children:"--preview-command"})," (in ad-hoc mode)"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Conflicts"}),": Cannot be used with ",(0,r.jsx)(n.code,{children:"--no-preview"})]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--preview-offset-string",children:(0,r.jsx)(n.code,{children:"--preview-offset "})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Template that determines the scroll position in the preview"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Requires"}),": ",(0,r.jsx)(n.code,{children:"--preview-command"})," (in ad-hoc mode)"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Conflicts"}),": Cannot be used with ",(0,r.jsx)(n.code,{children:"--no-preview"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Example"}),": ",(0,r.jsx)(n.code,{children:'--preview-offset "10"'})," (start at line 10)"]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--preview-size-integer",children:(0,r.jsx)(n.code,{children:"--preview-size "})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Width of the preview panel as a percentage"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Default"}),": 50% of screen width"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Range"}),": 1-99"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Conflicts"}),": Cannot be used with ",(0,r.jsx)(n.code,{children:"--no-preview"})]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"\u2139\ufe0f-status-bar-options",children:"\u2139\ufe0f Status Bar Options"}),"\n",(0,r.jsx)(n.h4,{id:"--no-status-bar",children:(0,r.jsx)(n.code,{children:"--no-status-bar"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Disable status bar feature, toggling is not possible"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Conflicts"}),": Cannot be used with ",(0,r.jsx)(n.code,{children:"--hide-status-bar"})," or ",(0,r.jsx)(n.code,{children:"--show-status-bar"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Minimal interface"]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--hide-status-bar",children:(0,r.jsx)(n.code,{children:"--hide-status-bar"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Starts the interface with the status bar hidden"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Conflicts"}),": Cannot be used with ",(0,r.jsx)(n.code,{children:"--no-status-bar"})," or ",(0,r.jsx)(n.code,{children:"--show-status-bar"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Clean interface with option to show status later"]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--show-status-bar",children:(0,r.jsx)(n.code,{children:"--show-status-bar"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Starts the interface with the status bar visible"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Conflicts"}),": Cannot be used with ",(0,r.jsx)(n.code,{children:"--no-status-bar"})," or ",(0,r.jsx)(n.code,{children:"--hide-status-bar"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Ensure status information is always available"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"-remote-control-options",children:"\ud83d\udce1 Remote Control Options"}),"\n",(0,r.jsx)(n.h4,{id:"--no-remote",children:(0,r.jsx)(n.code,{children:"--no-remote"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Disable remote control feature, toggling is not possible"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Conflicts"}),": Cannot be used with ",(0,r.jsx)(n.code,{children:"--hide-remote"})," or ",(0,r.jsx)(n.code,{children:"--show-remote"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Single-channel mode, embedded usage"]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--hide-remote",children:(0,r.jsx)(n.code,{children:"--hide-remote"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Starts the interface with the remote control hidden"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Conflicts"}),": Cannot be used with ",(0,r.jsx)(n.code,{children:"--no-remote"})," or ",(0,r.jsx)(n.code,{children:"--show-remote"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Start in single-channel mode, access remote later"]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--show-remote",children:(0,r.jsx)(n.code,{children:"--show-remote"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Starts the interface with the remote control visible"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Conflicts"}),": Cannot be used with ",(0,r.jsx)(n.code,{children:"--no-remote"})," or ",(0,r.jsx)(n.code,{children:"--hide-remote"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Ensure channel switching is always available"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"-help-panel-options",children:"\u2753 Help Panel Options"}),"\n",(0,r.jsx)(n.h4,{id:"--no-help-panel",children:(0,r.jsx)(n.code,{children:"--no-help-panel"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Disable help panel feature, toggling is not possible"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Conflicts"}),": Cannot be used with ",(0,r.jsx)(n.code,{children:"--hide-help-panel"})," or ",(0,r.jsx)(n.code,{children:"--show-help-panel"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Minimal interface"]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--hide-help-panel",children:(0,r.jsx)(n.code,{children:"--hide-help-panel"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Starts the interface with the help panel hidden"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Conflicts"}),": Cannot be used with ",(0,r.jsx)(n.code,{children:"--no-help-panel"})," or ",(0,r.jsx)(n.code,{children:"--show-help-panel"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Clean interface with option to show help later"]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--show-help-panel",children:(0,r.jsx)(n.code,{children:"--show-help-panel"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Starts the interface with the help panel visible"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Conflicts"}),": Cannot be used with ",(0,r.jsx)(n.code,{children:"--no-help-panel"})," or ",(0,r.jsx)(n.code,{children:"--hide-help-panel"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Ensure help information is always available"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"-interface-and-layout-options",children:"\ud83c\udfa8 Interface and Layout Options"}),"\n",(0,r.jsx)(n.h4,{id:"--layout-layout",children:(0,r.jsx)(n.code,{children:"--layout "})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Controls the overall interface orientation"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Values"}),": ",(0,r.jsx)(n.code,{children:"landscape"})," (side-by-side), ",(0,r.jsx)(n.code,{children:"portrait"})," (stacked)"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Default"}),": ",(0,r.jsx)(n.code,{children:"landscape"})]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--input-header-string",children:(0,r.jsx)(n.code,{children:"--input-header "})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Template for text displayed above the input field"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Default"}),": Channel name (channel mode) or empty (ad-hoc mode)"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Example"}),": ",(0,r.jsx)(n.code,{children:'--input-header "Search files:"'})]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--ui-scale-integer",children:(0,r.jsx)(n.code,{children:"--ui-scale "})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Scales the entire interface size"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Default"}),": 100%"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Range"}),": 10-100%"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Adapt to different screen sizes or preferences"]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--height-integer",children:(0,r.jsx)(n.code,{children:"--height "})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Sets a fixed height for non-fullscreen mode"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Range"}),": 6 or higher (minimum UI height required)"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Conflicts"}),": Cannot be used with ",(0,r.jsx)(n.code,{children:"--inline"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Precise control over interface height"]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--width-integer",children:(0,r.jsx)(n.code,{children:"--width "})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Sets a fixed width for non-fullscreen mode"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Range"}),": 10 or higher (minimum UI width required)"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Requires"}),": Must be used with ",(0,r.jsx)(n.code,{children:"--inline"})," or ",(0,r.jsx)(n.code,{children:"--height"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Precise control over interface width"]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--inline",children:(0,r.jsx)(n.code,{children:"--inline"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Uses all available empty space at the bottom of the terminal"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Behavior"}),": Automatically uses all available space below the cursor,\nminimum height is ensured (set by default at 15 lines)"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Conflicts"}),": Cannot be used with ",(0,r.jsx)(n.code,{children:"--height"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Use of all available space without entering fullscreen mode"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"\ufe0f-input-and-interaction-options",children:"\u2328\ufe0f Input and Interaction Options"}),"\n",(0,r.jsx)(n.h4,{id:"-i---input-string",children:(0,r.jsx)(n.code,{children:"-i, --input "})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Pre-fills the input prompt with specified text"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Continue a previous search or provide default query"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Example"}),": ",(0,r.jsx)(n.code,{children:'-i "main.py"'})]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"-k---keybindings-string",children:(0,r.jsx)(n.code,{children:"-k, --keybindings "})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Overrides default keyboard shortcuts"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Format"}),": ",(0,r.jsx)(n.code,{children:'action1=["key1","key2"];action2=["key3"]'})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Example"}),": ",(0,r.jsx)(n.code,{children:'-k \'quit=["q","esc"];select=["enter","space"]\''})]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--exact",children:(0,r.jsx)(n.code,{children:"--exact"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Changes matching behavior from fuzzy to exact substring matching"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Default"}),": Fuzzy matching"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": When you need precise substring matches"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"-selection-behavior-options",children:"\u26a1 Selection Behavior Options"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Note"}),": These options are mutually exclusive - only one can be used at a time."]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--select-1",children:(0,r.jsx)(n.code,{children:"--select-1"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Automatically selects and returns the entry if only one is found"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Scripting scenarios where single results should be auto-selected"]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--take-1",children:(0,r.jsx)(n.code,{children:"--take-1"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Takes the first entry after loading completes"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Scripts that always want the first/best result"]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--take-1-fast",children:(0,r.jsx)(n.code,{children:"--take-1-fast"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Takes the first entry immediately as it appears"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Maximum speed scripts that don't care about all options"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"\ufe0f-performance-and-monitoring-options",children:"\u2699\ufe0f Performance and Monitoring Options"}),"\n",(0,r.jsx)(n.h4,{id:"-t---tick-rate-float",children:(0,r.jsx)(n.code,{children:"-t, --tick-rate "})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Controls how frequently the interface updates (times per second)"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Default"}),": Auto-calculated based on system performance"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Validation"}),": Must be positive number"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Example"}),": ",(0,r.jsx)(n.code,{children:"--tick-rate 30"})," (30 updates per second)"]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--watch-float",children:(0,r.jsx)(n.code,{children:"--watch "})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Automatically re-runs the source command at regular intervals"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Default"}),": 0 (disabled)"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Units"}),": Seconds between updates"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Conflicts"}),": Cannot be used with selection options (",(0,r.jsx)(n.code,{children:"--select-1"}),", ",(0,r.jsx)(n.code,{children:"--take-1"}),", ",(0,r.jsx)(n.code,{children:"--take-1-fast"}),")"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Example"}),": ",(0,r.jsx)(n.code,{children:"--watch 2.0"})," (update every 2 seconds)"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"-directory-and-configuration-options",children:"\ud83d\udcc1 Directory and Configuration Options"}),"\n",(0,r.jsxs)(n.h4,{id:"path-positional-argument-2",children:[(0,r.jsx)(n.code,{children:"[PATH]"})," (Positional Argument 2)"]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Sets the working directory for the command"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Default"}),": Current directory"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Example"}),": ",(0,r.jsx)(n.code,{children:"tv files /home/user/projects"})]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--config-file-path",children:(0,r.jsx)(n.code,{children:"--config-file "})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Uses a custom configuration file instead of the default"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Default"}),": ",(0,r.jsx)(n.code,{children:"~/.config/tv/config.toml"})," (Linux/macOS) or ",(0,r.jsx)(n.code,{children:"%APPDATA%\\tv\\config.toml"})," (Windows)"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Multiple configurations for different workflows"]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"--cable-dir-path",children:(0,r.jsx)(n.code,{children:"--cable-dir "})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Uses a custom directory for channel definitions"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Default"}),": ",(0,r.jsx)(n.code,{children:"~/.config/tv/cable/"})," (Linux/macOS) or ",(0,r.jsx)(n.code,{children:"%APPDATA%\\tv\\cable\\"})," (Windows)"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Custom channel collections or shared team channels"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"-history-options",children:"\ud83d\udcda History Options"}),"\n",(0,r.jsx)(n.h4,{id:"--global-history",children:(0,r.jsx)(n.code,{children:"--global-history"})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": Enables global history for the current session"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Both Modes"}),": Same behavior"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Default"}),": Channel-specific history (scoped to current channel)"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Cross-channel workflow when you want to see all recent searches"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Example"}),": ",(0,r.jsx)(n.code,{children:"tv files --global-history"})]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"-special-mode-options",children:"\ud83d\udd27 Special Mode Options"}),"\n",(0,r.jsx)(n.h4,{id:"--autocomplete-prompt-string",children:(0,r.jsx)(n.code,{children:"--autocomplete-prompt "})}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Purpose"}),": \u26a1 ",(0,r.jsx)(n.strong,{children:"Activates Channel Mode"})," - Auto-detects channel from shell command"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Effect"}),": Switches to Channel Mode automatically"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Behavior"}),": Analyzes the provided command to determine appropriate channel"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Conflicts"}),": Cannot be used with ",(0,r.jsx)(n.code,{children:"[CHANNEL]"})," positional argument"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Use Case"}),": Shell integration and smart channel detection"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Example"}),": ",(0,r.jsx)(n.code,{children:'--autocomplete-prompt "git log --oneline"'})]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"subcommands",children:"Subcommands"}),"\n",(0,r.jsx)(n.h3,{id:"list-channels",children:(0,r.jsx)(n.code,{children:"list-channels"})}),"\n",(0,r.jsx)(n.p,{children:"Lists all available channels in the cable directory."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"tv list-channels\n"})}),"\n",(0,r.jsx)(n.h3,{id:"init-shell",children:(0,r.jsx)(n.code,{children:"init "})}),"\n",(0,r.jsx)(n.p,{children:"Generates shell completion script for the specified shell."}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Supported shells"}),": ",(0,r.jsx)(n.code,{children:"bash"}),", ",(0,r.jsx)(n.code,{children:"zsh"}),", ",(0,r.jsx)(n.code,{children:"fish"}),", ",(0,r.jsx)(n.code,{children:"powershell"}),", ",(0,r.jsx)(n.code,{children:"cmd"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"tv init zsh > ~/.zshrc.d/tv-completion.zsh\n"})}),"\n",(0,r.jsx)(n.h3,{id:"update-channels",children:(0,r.jsx)(n.code,{children:"update-channels"})}),"\n",(0,r.jsx)(n.p,{children:"Downloads the latest channel prototypes from GitHub."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"tv update-channels\n"})}),"\n",(0,r.jsx)(n.h2,{id:"usage-rules-and-restrictions",children:"Usage Rules and Restrictions"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Note"}),": Detailed requirements and conflicts for each flag are covered in the ",(0,r.jsx)(n.a,{href:"#options",children:"Options"})," section above. This section provides a high-level overview of the key rules."]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"-ad-hoc-mode-requirements",children:"\ud83c\udfaf Ad-hoc Mode Requirements"}),"\n",(0,r.jsx)(n.p,{children:"When using Television without a channel, certain flags become mandatory:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsxs)(n.strong,{children:[(0,r.jsx)(n.code,{children:"--source-command"})," is required"]})," - without this, no entries will be generated"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Preview dependencies"})," - all ",(0,r.jsx)(n.code,{children:"--preview-*"})," flags require ",(0,r.jsx)(n.code,{children:"--preview-command"})," to be functional"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Source formatting dependencies"})," - ",(0,r.jsx)(n.code,{children:"--source-display"})," and ",(0,r.jsx)(n.code,{children:"--source-output"})," require ",(0,r.jsx)(n.code,{children:"--source-command"})]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"-mutually-exclusive-options",children:"\ud83d\udeab Mutually Exclusive Options"}),"\n",(0,r.jsx)(n.p,{children:"These option groups cannot be used together:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Selection behavior"}),": Only one of ",(0,r.jsx)(n.code,{children:"--select-1"}),", ",(0,r.jsx)(n.code,{children:"--take-1"}),", or ",(0,r.jsx)(n.code,{children:"--take-1-fast"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Preview control"}),": ",(0,r.jsx)(n.code,{children:"--no-preview"})," conflicts with all ",(0,r.jsx)(n.code,{children:"--preview-*"})," flags and ",(0,r.jsx)(n.code,{children:"--hide-preview"}),"/",(0,r.jsx)(n.code,{children:"--show-preview"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Preview visibility"}),": Only one of ",(0,r.jsx)(n.code,{children:"--no-preview"}),", ",(0,r.jsx)(n.code,{children:"--hide-preview"}),", or ",(0,r.jsx)(n.code,{children:"--show-preview"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Status bar control"}),": Only one of ",(0,r.jsx)(n.code,{children:"--no-status-bar"}),", ",(0,r.jsx)(n.code,{children:"--hide-status-bar"}),", or ",(0,r.jsx)(n.code,{children:"--show-status-bar"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Remote control"}),": Only one of ",(0,r.jsx)(n.code,{children:"--no-remote"}),", ",(0,r.jsx)(n.code,{children:"--hide-remote"}),", or ",(0,r.jsx)(n.code,{children:"--show-remote"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Help panel control"}),": Only one of ",(0,r.jsx)(n.code,{children:"--no-help-panel"}),", ",(0,r.jsx)(n.code,{children:"--hide-help-panel"}),", or ",(0,r.jsx)(n.code,{children:"--show-help-panel"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Channel selection"}),": Cannot use both ",(0,r.jsx)(n.code,{children:"[CHANNEL]"})," argument and ",(0,r.jsx)(n.code,{children:"--autocomplete-prompt"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Watch vs selection"}),": ",(0,r.jsx)(n.code,{children:"--watch"})," cannot be used with auto-selection flags"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"-channel-mode-benefits",children:"\u2705 Channel Mode Benefits"}),"\n",(0,r.jsx)(n.p,{children:"Channels provide sensible defaults, making the tool more flexible:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Preview and source flags work independently (channel provides missing pieces)"}),"\n",(0,r.jsx)(n.li,{children:"All UI options have reasonable defaults"}),"\n",(0,r.jsx)(n.li,{children:"Less strict validation since channels fill in the gaps"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"configuration",children:"Configuration"}),"\n",(0,r.jsx)(n.h3,{id:"-configuration-priority",children:"\u26a1 Configuration Priority"}),"\n",(0,r.jsx)(n.p,{children:"Television uses a layered configuration system where each layer can override the previous:"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"CLI flags"})," - Highest priority, overrides everything"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Channel configuration"})," - Channel-specific settings"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"User config file"})," - Personal preferences"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Built-in defaults"})," - Fallback values"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"-configuration-locations",children:"\ud83d\udcc1 Configuration Locations"}),"\n",(0,r.jsx)(n.h4,{id:"user-configuration-file",children:"User Configuration File"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Linux/macOS"}),": ",(0,r.jsx)(n.code,{children:"~/.config/tv/config.toml"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Windows"}),": ",(0,r.jsx)(n.code,{children:"%APPDATA%\\tv\\config.toml"})]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"channel-definitions-cable-directory",children:"Channel Definitions (Cable Directory)"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Linux/macOS"}),": ",(0,r.jsx)(n.code,{children:"~/.config/tv/cable/"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Windows"}),": ",(0,r.jsx)(n.code,{children:"%APPDATA%\\tv\\cable\\"})]}),"\n"]}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Tip"}),": Use ",(0,r.jsx)(n.code,{children:"--config-file"})," and ",(0,r.jsx)(n.code,{children:"--cable-dir"})," flags to override these default locations"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"\ufe0f-feature-configuration",children:"\ud83c\udf9b\ufe0f Feature Configuration"}),"\n",(0,r.jsxs)(n.p,{children:["Television features support dual-state control: ",(0,r.jsx)(n.strong,{children:"enabled/disabled"})," and ",(0,r.jsx)(n.strong,{children:"visible/not visible"}),"."]}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"\ud83d\udcd6 For more details on the ui feature documentation"}),", see ",(0,r.jsx)(n.a,{href:"/television/docs/Developers/ui-features",children:(0,r.jsx)(n.code,{children:"ui-features.md"})}),"."]}),"\n"]}),"\n",(0,r.jsx)(n.h4,{id:"quick-feature-overview",children:"Quick Feature Overview"}),"\n",(0,r.jsx)(n.p,{children:"Television supports four main UI features:"}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Feature"}),(0,r.jsx)(n.th,{children:"Purpose"}),(0,r.jsx)(n.th,{children:"Default State"}),(0,r.jsx)(n.th,{children:"CLI Controls"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.strong,{children:"Preview Panel"})}),(0,r.jsx)(n.td,{children:"Shows contextual information for selected entries"}),(0,r.jsx)(n.td,{children:"Enabled & Visible"}),(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"--no-preview"}),", ",(0,r.jsx)(n.code,{children:"--hide-preview"}),", ",(0,r.jsx)(n.code,{children:"--show-preview"})]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.strong,{children:"Status Bar"})}),(0,r.jsx)(n.td,{children:"Displays application status and available actions"}),(0,r.jsx)(n.td,{children:"Enabled & Visible"}),(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"--no-status-bar"}),", ",(0,r.jsx)(n.code,{children:"--hide-status-bar"}),", ",(0,r.jsx)(n.code,{children:"--show-status-bar"})]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.strong,{children:"Help Panel"})}),(0,r.jsx)(n.td,{children:"Shows contextual help and keyboard shortcuts"}),(0,r.jsx)(n.td,{children:"Enabled but Hidden"}),(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"--no-help-panel"}),", ",(0,r.jsx)(n.code,{children:"--hide-help-panel"}),", ",(0,r.jsx)(n.code,{children:"--show-help-panel"})]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.strong,{children:"Remote Control"})}),(0,r.jsx)(n.td,{children:"Provides channel switching interface"}),(0,r.jsx)(n.td,{children:"Enabled but Hidden"}),(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"--no-remote"}),", ",(0,r.jsx)(n.code,{children:"--hide-remote"}),", ",(0,r.jsx)(n.code,{children:"--show-remote"})]})]})]})]}),"\n",(0,r.jsx)(n.h4,{id:"cli-feature-override-examples",children:"CLI Feature Override Examples"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"# Control visibility while keeping functionality\ntv files --hide-preview --show-status-bar\n\n# Force features on\ntv files --show-preview --show-remote\n\n# Disable completely\ntv files --no-preview --no-remote\n\n# Mixed control\ntv files --hide-status-bar --show-remote\n"})}),"\n",(0,r.jsx)(n.h2,{id:"template-system",children:"Template System"}),"\n",(0,r.jsxs)(n.p,{children:["Television uses a powerful template system for dynamic content generation. Templates are enclosed in curly braces ",(0,r.jsx)(n.code,{children:"{}"})," and support complex operations."]}),"\n",(0,r.jsx)(n.h3,{id:"template-enabled-flags",children:"Template-Enabled Flags"}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Flag Category"}),(0,r.jsx)(n.th,{children:"Flags Using Templates"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.strong,{children:"Source"})}),(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"--source-command"}),", ",(0,r.jsx)(n.code,{children:"--source-display"}),", ",(0,r.jsx)(n.code,{children:"--source-output"})]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.strong,{children:"Preview"})}),(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"--preview-command"}),", ",(0,r.jsx)(n.code,{children:"--preview-offset"})]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.strong,{children:"Headers"})}),(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"--input-header"}),", ",(0,r.jsx)(n.code,{children:"--preview-header"}),", ",(0,r.jsx)(n.code,{children:"--preview-footer"})]})]})]})]}),"\n",(0,r.jsx)(n.h3,{id:"basic-template-syntax",children:"Basic Template Syntax"}),"\n",(0,r.jsx)(n.p,{children:"Templates support a wide range of operations that can be chained together:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:"{operation1|operation2|operation3}\n"})}),"\n",(0,r.jsx)(n.h3,{id:"core-template-operations",children:"Core Template Operations"}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Operation"}),(0,r.jsx)(n.th,{children:"Description"}),(0,r.jsx)(n.th,{children:"Example"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"{}"})}),(0,r.jsx)(n.td,{children:"Full entry (passthrough)"}),(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"{}"})," \u2192 original entry"]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"{split:SEPARATOR:RANGE}"})}),(0,r.jsx)(n.td,{children:"Split text and extract parts"}),(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"{split:/:\u20111}"})," \u2192 last path component"]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"{upper}"})}),(0,r.jsx)(n.td,{children:"Convert to uppercase"}),(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"{upper}"}),' \u2192 "HELLO"']})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"{lower}"})}),(0,r.jsx)(n.td,{children:"Convert to lowercase"}),(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"{lower}"}),' \u2192 "hello"']})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"{trim}"})}),(0,r.jsx)(n.td,{children:"Remove whitespace"}),(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"{trim}"}),' \u2192 "text"']})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"{append:TEXT}"})}),(0,r.jsx)(n.td,{children:"Add text to end"}),(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"{append:.txt}"}),' \u2192 "file.txt"']})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"{prepend:TEXT}"})}),(0,r.jsx)(n.td,{children:"Add text to beginning"}),(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"{prepend:/home/}"}),' \u2192 "/home/file"']})]})]})]}),"\n",(0,r.jsx)(n.h3,{id:"advanced-template-operations",children:"Advanced Template Operations"}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Operation"}),(0,r.jsx)(n.th,{children:"Description"}),(0,r.jsx)(n.th,{children:"Example"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"{replace:s/PATTERN/REPLACEMENT/FLAGS}"})}),(0,r.jsx)(n.td,{children:"Regex find and replace"}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"{replace:s/\\\\.py$/.backup/}"})})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"{regex_extract:PATTERN}"})}),(0,r.jsx)(n.td,{children:"Extract matching text"}),(0,r.jsxs)(n.td,{children:[(0,r.jsx)(n.code,{children:"{regex_extract:\\\\d+}"})," \u2192 extract numbers"]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"{filter:PATTERN}"})}),(0,r.jsx)(n.td,{children:"Keep items matching pattern"}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"{split:,:..|filter:^test}"})})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"{sort}"})}),(0,r.jsx)(n.td,{children:"Sort list items"}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"{split:,:..|sort}"})})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"{unique}"})}),(0,r.jsx)(n.td,{children:"Remove duplicates"}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"{split:,:..|unique}"})})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"{join:SEPARATOR}"})}),(0,r.jsx)(n.td,{children:"Join list with separator"}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"{split:,:..|join:-}"})})]})]})]}),"\n",(0,r.jsx)(n.h3,{id:"template-examples",children:"Template Examples"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-text",children:'# File path manipulation\n{split:/:-1} # Get filename from path\n{split:/:0..-1|join:/} # Get directory from path\n\n# Text processing\n{split: :..|map:{upper}|join:_} # "hello world" \u2192 "HELLO_WORLD"\n{trim|replace:s/\\s+/_/g} # Replace spaces with underscores\n\n# Data extraction\n{regex_extract:@(.+)} # Extract email domain\n{split:,:..|filter:^[A-Z]} # Filter items starting with uppercase\n'})}),"\n",(0,r.jsx)(n.h3,{id:"range-specifications",children:"Range Specifications"}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Syntax"}),(0,r.jsx)(n.th,{children:"Description"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"N"})}),(0,r.jsx)(n.td,{children:"Single index (0-based)"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"N..M"})}),(0,r.jsx)(n.td,{children:"Range exclusive (items N to M-1)"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"N..=M"})}),(0,r.jsx)(n.td,{children:"Range inclusive (items N to M)"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"N.."})}),(0,r.jsx)(n.td,{children:"From N to end"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"..M"})}),(0,r.jsx)(n.td,{children:"From start to M-1"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:".."})}),(0,r.jsx)(n.td,{children:"All items"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"-1"})}),(0,r.jsx)(n.td,{children:"Last item"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.code,{children:"-N"})}),(0,r.jsx)(n.td,{children:"N-th from end"})]})]})]}),"\n",(0,r.jsxs)(n.p,{children:["For complete template documentation, see the ",(0,r.jsx)(n.a,{href:"https://github.com/lalvarezt/string_pipeline/blob/main/docs/template-system.md",children:"Template System Documentation"}),"."]}),"\n",(0,r.jsx)(n.h2,{id:"examples",children:"Examples"}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Note"}),": More detailed examples with explanations are included in each option's documentation above."]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"-quick-start-examples",children:"\ud83c\udfaf Quick Start Examples"}),"\n",(0,r.jsx)(n.h4,{id:"channel-mode-recommended",children:"Channel Mode (Recommended)"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"# Basic usage - use built-in channels\ntv files # Browse files in current directory\ntv git-log # Browse git commit history\ntv docker-images # Browse Docker images\n\n# Channel + customization\ntv files --preview-command \"bat -n --color=always '{}'\"\ntv git-log --layout portrait\n\n# Feature visibility control\ntv files --hide-preview --show-status-bar # Clean interface, status visible\ntv files --show-remote # Force remote control visible\n"})}),"\n",(0,r.jsx)(n.h4,{id:"ad-hoc-mode-custom-commands",children:"Ad-hoc Mode (Custom Commands)"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:'# Simple custom finder\ntv --source-command "find . -name \'*.md\'"\n\n# Live system monitoring with hidden UI elements\ntv --source-command "ps aux | tail -n +2" \\\n --watch 1.0 \\\n --hide-preview \\\n --hide-status-bar\n\n# Clean interface with selective visibility\ntv --source-command "docker ps -a" \\\n --hide-preview \\\n --show-status-bar\n'})})]})}function a(e={}){const{wrapper:n}={...(0,l.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(h,{...e})}):h(e)}}}]); \ No newline at end of file diff --git a/assets/js/2c30b35b.c2573e77.js b/assets/js/2c30b35b.c2573e77.js new file mode 100644 index 0000000..d3ebafa --- /dev/null +++ b/assets/js/2c30b35b.c2573e77.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunktelevision_website=self.webpackChunktelevision_website||[]).push([[1395],{514:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>c,default:()=>a,frontMatter:()=>l,metadata:()=>s,toc:()=>x});const s=JSON.parse('{"id":"Users/terminal_emulators","title":"Terminal Emulators","description":"Here is a list of terminal emulators that have currently been tested with television and their compatibility status.","source":"@site/../docs/01-Users/11-terminal_emulators.md","sourceDirName":"01-Users","slug":"/Users/terminal_emulators","permalink":"/television/docs/Users/terminal_emulators","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":11,"frontMatter":{},"sidebar":"docSidebar","previous":{"title":"Community Channels (windows)","permalink":"/television/docs/Users/community-channels-windows"},"next":{"title":"Showcase","permalink":"/television/docs/Users/showcase"}}');var r=n(3420),i=n(5404);const l={},c="Terminal Emulators",d={},x=[];function o(e){const t={a:"a",code:"code",h1:"h1",header:"header",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.header,{children:(0,r.jsx)(t.h1,{id:"terminal-emulators",children:"Terminal Emulators"})}),"\n",(0,r.jsxs)(t.p,{children:["Here is a list of terminal emulators that have currently been tested with ",(0,r.jsx)(t.code,{children:"television"})," and their compatibility status."]}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Terminal Emulator"}),(0,r.jsx)(t.th,{style:{textAlign:"center"},children:"Tested Platforms"}),(0,r.jsx)(t.th,{style:{textAlign:"center"},children:"Compatibility"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Alacritty"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"macOS, Linux"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Kitty"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"macOS, Linux"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"iTerm2"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"macOS"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Ghostty"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"macOS, Linux, Windows"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Wezterm"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"macOS, Linux, Windows"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"macOS Terminal"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"macOS"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"functional but coloring issues"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Konsole"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"Linux"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Terminator"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"Linux"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Xterm"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"Linux"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Cmder"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"Windows"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Foot"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"Linux"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Rio"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"macOS, Linux, Windows"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Warp"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"macOS"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Hyper"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"macOS"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"})]})]})]}),"\n",(0,r.jsxs)(t.p,{children:["If you're able to test the application with a configuration not yet listed above, we'd love to ",(0,r.jsx)(t.a,{href:"https://github.com/alexpasmantier/television/blob/main/CONTRIBUTING.md",children:"hear from your experience"})," \ud83d\ude4f"]})]})}function a(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(o,{...e})}):o(e)}},5404:(e,t,n)=>{n.d(t,{R:()=>l,x:()=>c});var s=n(6672);const r={},i=s.createContext(r);function l(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2c30b35b.ee049977.js b/assets/js/2c30b35b.ee049977.js deleted file mode 100644 index 9ad0e67..0000000 --- a/assets/js/2c30b35b.ee049977.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunktelevision_website=self.webpackChunktelevision_website||[]).push([[1395],{514:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>c,default:()=>a,frontMatter:()=>l,metadata:()=>s,toc:()=>x});const s=JSON.parse('{"id":"Users/terminal_emulators","title":"Terminal Emulators","description":"Here is a list of terminal emulators that have currently been tested with television and their compatibility status.","source":"@site/../docs/01-Users/11-terminal_emulators.md","sourceDirName":"01-Users","slug":"/Users/terminal_emulators","permalink":"/television/docs/Users/terminal_emulators","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":11,"frontMatter":{},"sidebar":"docSidebar","previous":{"title":"\ud83c\udf7f Community Channels (windows)","permalink":"/television/docs/Users/community-channels-windows"},"next":{"title":"Showcase","permalink":"/television/docs/Users/showcase"}}');var r=n(3420),i=n(5404);const l={},c="Terminal Emulators",d={},x=[];function o(e){const t={a:"a",code:"code",h1:"h1",header:"header",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.header,{children:(0,r.jsx)(t.h1,{id:"terminal-emulators",children:"Terminal Emulators"})}),"\n",(0,r.jsxs)(t.p,{children:["Here is a list of terminal emulators that have currently been tested with ",(0,r.jsx)(t.code,{children:"television"})," and their compatibility status."]}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"Terminal Emulator"}),(0,r.jsx)(t.th,{style:{textAlign:"center"},children:"Tested Platforms"}),(0,r.jsx)(t.th,{style:{textAlign:"center"},children:"Compatibility"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Alacritty"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"macOS, Linux"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Kitty"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"macOS, Linux"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"iTerm2"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"macOS"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Ghostty"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"macOS, Linux, Windows"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Wezterm"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"macOS, Linux, Windows"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"macOS Terminal"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"macOS"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"functional but coloring issues"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Konsole"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"Linux"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Terminator"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"Linux"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Xterm"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"Linux"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Cmder"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"Windows"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Foot"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"Linux"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Rio"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"macOS, Linux, Windows"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Warp"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"macOS"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"Hyper"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"macOS"}),(0,r.jsx)(t.td,{style:{textAlign:"center"},children:"\u2705"})]})]})]}),"\n",(0,r.jsxs)(t.p,{children:["If you're able to test the application with a configuration not yet listed above, we'd love to ",(0,r.jsx)(t.a,{href:"https://github.com/alexpasmantier/television/blob/main/CONTRIBUTING.md",children:"hear from your experience"})," \ud83d\ude4f"]})]})}function a(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(o,{...e})}):o(e)}},5404:(e,t,n)=>{n.d(t,{R:()=>l,x:()=>c});var s=n(6672);const r={},i=s.createContext(r);function l(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3fd760d6.4bc705e3.js b/assets/js/3fd760d6.4bc705e3.js new file mode 100644 index 0000000..d306de3 --- /dev/null +++ b/assets/js/3fd760d6.4bc705e3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunktelevision_website=self.webpackChunktelevision_website||[]).push([[4363],{5164:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>l,metadata:()=>i,toc:()=>d});const i=JSON.parse('{"id":"Users/community-channels-windows","title":"Community Channels (windows)","description":"alias","source":"@site/../docs/01-Users/10-community-channels-windows.md","sourceDirName":"01-Users","slug":"/Users/community-channels-windows","permalink":"/television/docs/Users/community-channels-windows","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":10,"frontMatter":{},"sidebar":"docSidebar","previous":{"title":"Community Channels (unix)","permalink":"/television/docs/Users/community-channels-unix"},"next":{"title":"Terminal Emulators","permalink":"/television/docs/Users/terminal_emulators"}}');var r=s(3420),t=s(5404);const l={},o="Community Channels (windows)",c={},d=[{value:"alias",id:"alias",level:3},{value:"dirs",id:"dirs",level:3},{value:"docker-images",id:"docker-images",level:3},{value:"dotfiles",id:"dotfiles",level:3},{value:"env",id:"env",level:3},{value:"files",id:"files",level:3},{value:"git-branch",id:"git-branch",level:3},{value:"git-diff",id:"git-diff",level:3},{value:"git-log",id:"git-log",level:3},{value:"git-reflog",id:"git-reflog",level:3},{value:"git-repos",id:"git-repos",level:3},{value:"nu-history",id:"nu-history",level:3},{value:"pwsh-history",id:"pwsh-history",level:3},{value:"text",id:"text",level:3}];function a(e){const n={code:"code",em:"em",h1:"h1",h3:"h3",header:"header",hr:"hr",p:"p",pre:"pre",strong:"strong",...(0,t.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"community-channels-windows",children:"Community Channels (windows)"})}),"\n",(0,r.jsx)(n.h3,{id:"alias",children:(0,r.jsx)(n.em,{children:"alias"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from shell aliases"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.em,{children:"None"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"alias.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "alias"\ndescription = "A channel to select from shell aliases"\n\n[source]\ncommand = "Get-Alias | %{ \\"{0,-10} = {1,-10}\\" -f $_.Name,$_.Definition }"\noutput = "{split:=:0|trim}"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"dirs",children:(0,r.jsx)(n.em,{children:"dirs"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from directories"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"fd"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"dirs.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "dirs"\ndescription = "A channel to select from directories"\nrequirements = [ "fd",]\n\n[source]\ncommand = [ "fd -t d", "fd -t d --hidden",]\n\n[preview]\ncommand = "ls -l \'{}\'"\n\n[keybindings]\nshortcut = "f2"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"docker-images",children:(0,r.jsx)(n.em,{children:"docker-images"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from Docker images"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"docker"}),", ",(0,r.jsx)(n.code,{children:"jq"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"docker-images.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "docker-images"\ndescription = "A channel to select from Docker images"\nrequirements = [ "docker", "jq",]\n\n[source]\ncommand = "docker images --format \'{{.Repository}}:{{.Tag}} {{.ID}}\'"\noutput = "{split: :-1}"\n\n[preview]\ncommand = "docker image inspect \'{split: :-1}\' | jq -C"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"dotfiles",children:(0,r.jsx)(n.em,{children:"dotfiles"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from your user's dotfiles"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"fd"}),", ",(0,r.jsx)(n.code,{children:"bat"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"dotfiles.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "dotfiles"\ndescription = "A channel to select from your user\'s dotfiles"\nrequirements = [ "fd", "bat",]\n\n[source]\ncommand = "fd -t f . \\"$env:USERPROFILE\\\\AppData\\\\Roaming\\\\\\""\n\n[preview]\ncommand = "bat -n --color=always \'{}\'"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"env",children:(0,r.jsx)(n.em,{children:"env"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from environment variables"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.em,{children:"None"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"env.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "env"\ndescription = "A channel to select from environment variables"\n\n[source]\ncommand = "Get-ChildItem Env: | %{ \\"{0,-30} = {1,-30}\\" -f $_.Name,$_.Value }"\noutput = "{split:=:1..}"\n\n[preview]\ncommand = "echo \'{split:=:1..}\'"\n\n[ui]\nlayout = "portrait"\n\n[keybindings]\nshortcut = "f3"\n\n[ui.preview_panel]\nsize = 20\nheader = "{split:=:0|trim}"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"files",children:(0,r.jsx)(n.em,{children:"files"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select files and directories"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"fd"}),", ",(0,r.jsx)(n.code,{children:"bat"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"files.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "files"\ndescription = "A channel to select files and directories"\nrequirements = [ "fd", "bat",]\n\n[source]\ncommand = [ "fd -t f", "fd -t f -H",]\n\n[preview]\ncommand = "bat -n --color=always \'{}\'"\n\n[keybindings]\nshortcut = "f1"\n\n[preview.env]\nBAT_THEME = "ansi"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"git-branch",children:(0,r.jsx)(n.em,{children:"git-branch"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from git branches"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"git"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"git-branch.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "git-branch"\ndescription = "A channel to select from git branches"\nrequirements = [ "git",]\n\n[source]\ncommand = "git --no-pager branch --all --format=\\"%(refname:short)\\""\noutput = "{split: :0}"\n\n[preview]\ncommand = "git show -p --stat --pretty=fuller --color=always \'{0}\'"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"git-diff",children:(0,r.jsx)(n.em,{children:"git-diff"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select files from git diff commands"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"git"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"git-diff.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "git-diff"\ndescription = "A channel to select files from git diff commands"\nrequirements = [ "git",]\n\n[source]\ncommand = "git diff --name-only HEAD"\n\n[preview]\ncommand = "git diff HEAD --color=always -- \'{}\'"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"git-log",children:(0,r.jsx)(n.em,{children:"git-log"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from git log entries"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"git"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"git-log.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "git-log"\ndescription = "A channel to select from git log entries"\nrequirements = [ "git",]\n\n[source]\ncommand = "git log --oneline --date=short --pretty=\\"format:%h %s %an %cd\\""\noutput = "{split: :0}"\n\n[preview]\ncommand = "git show -p --stat --pretty=fuller --color=always \'{0}\'"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"git-reflog",children:(0,r.jsx)(n.em,{children:"git-reflog"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from git reflog entries"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"git"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"git-reflog.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "git-reflog"\ndescription = "A channel to select from git reflog entries"\nrequirements = [ "git",]\n\n[source]\ncommand = "git reflog"\noutput = "{split: :0}"\n\n[preview]\ncommand = "git show -p --stat --pretty=fuller --color=always \'{0}\'"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"git-repos",children:(0,r.jsx)(n.em,{children:"git-repos"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from git repositories on your local machine."}),"\n",(0,r.jsxs)(n.p,{children:["This channel uses ",(0,r.jsx)(n.code,{children:"fd"})," to find directories that contain a ",(0,r.jsx)(n.code,{children:".git"})," subdirectory, and then allows you to preview the git log of the selected repository."]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"fd"}),", ",(0,r.jsx)(n.code,{children:"git"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"git-repos.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "git-repos"\nrequirements = [ "fd", "git",]\ndescription = "A channel to select from git repositories on your local machine.\\n\\nThis channel uses `fd` to find directories that contain a `.git` subdirectory, and then allows you to preview the git log of the selected repository.\\n"\n\n[source]\ncommand = "fd -g .git -HL -t d -d 10 --prune \'C:\\\\Users\' --exec dirname \'{}\'"\ndisplay = "{split:\\\\\\\\:-1}"\n\n[preview]\ncommand = "cd \'{}\'; git log -n 200 --pretty=medium --all --graph --color"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"nu-history",children:(0,r.jsx)(n.em,{children:"nu-history"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from your nu history"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.em,{children:"None"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"nu-history.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "nu-history"\ndescription = "A channel to select from your nu history"\n\n[source]\ncommand = "nu -c \'open $nu.history-path | lines | reverse | to text\'"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"pwsh-history",children:(0,r.jsx)(n.em,{children:"pwsh-history"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from your powershell history"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.em,{children:"None"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"pwsh-history.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "pwsh-history"\ndescription = "A channel to select from your powershell history"\n\n[source]\ncommand = "Get-Content (Get-PSReadLineOption).HistorySavePath | Select-Object -Last 500"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"text",children:(0,r.jsx)(n.em,{children:"text"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to find and select text from files"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"rg"}),", ",(0,r.jsx)(n.code,{children:"bat"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"text.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "text"\ndescription = "A channel to find and select text from files"\nrequirements = [ "rg", "bat",]\n\n[source]\ncommand = "rg . --no-heading --line-number"\ndisplay = "[{split:\\\\::..2}]\\t{split:\\\\::2}"\noutput = "{split:\\\\::..2}"\n\n[preview]\ncommand = "bat -n --color=always \'{split:\\\\::0}\'"\noffset = "{split:\\\\::1}"\n\n[preview.env]\nBAT_THEME = "ansi"\n\n[ui.preview_panel]\nheader = "{split:\\\\::..2}"\n\n'})}),"\n",(0,r.jsx)(n.hr,{})]})}function h(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}},5404:(e,n,s)=>{s.d(n,{R:()=>l,x:()=>o});var i=s(6672);const r={},t=i.createContext(r);function l(e){const n=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),i.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3fd760d6.d38ad1db.js b/assets/js/3fd760d6.d38ad1db.js deleted file mode 100644 index 14982da..0000000 --- a/assets/js/3fd760d6.d38ad1db.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunktelevision_website=self.webpackChunktelevision_website||[]).push([[4363],{5164:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>l,metadata:()=>i,toc:()=>d});const i=JSON.parse('{"id":"Users/community-channels-windows","title":"\ud83c\udf7f Community Channels (windows)","description":"alias","source":"@site/../docs/01-Users/10-community-channels-windows.md","sourceDirName":"01-Users","slug":"/Users/community-channels-windows","permalink":"/television/docs/Users/community-channels-windows","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":10,"frontMatter":{},"sidebar":"docSidebar","previous":{"title":"\ud83c\udf7f Community Channels (unix)","permalink":"/television/docs/Users/community-channels-unix"},"next":{"title":"Terminal Emulators","permalink":"/television/docs/Users/terminal_emulators"}}');var r=s(3420),t=s(5404);const l={},o="\ud83c\udf7f Community Channels (windows)",c={},d=[{value:"alias",id:"alias",level:3},{value:"dirs",id:"dirs",level:3},{value:"docker-images",id:"docker-images",level:3},{value:"dotfiles",id:"dotfiles",level:3},{value:"env",id:"env",level:3},{value:"files",id:"files",level:3},{value:"git-branch",id:"git-branch",level:3},{value:"git-diff",id:"git-diff",level:3},{value:"git-log",id:"git-log",level:3},{value:"git-reflog",id:"git-reflog",level:3},{value:"git-repos",id:"git-repos",level:3},{value:"pwsh-history",id:"pwsh-history",level:3},{value:"text",id:"text",level:3}];function a(e){const n={code:"code",em:"em",h1:"h1",h3:"h3",header:"header",hr:"hr",p:"p",pre:"pre",strong:"strong",...(0,t.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"-community-channels-windows",children:"\ud83c\udf7f Community Channels (windows)"})}),"\n",(0,r.jsx)(n.h3,{id:"alias",children:(0,r.jsx)(n.em,{children:"alias"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from shell aliases"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.em,{children:"None"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"alias.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "alias"\ndescription = "A channel to select from shell aliases"\n\n[source]\ncommand = "Get-Alias | %{ \\"{0,-10} = {1,-10}\\" -f $_.Name,$_.Definition }"\noutput = "{split:=:0|trim}"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"dirs",children:(0,r.jsx)(n.em,{children:"dirs"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from directories"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"fd"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"dirs.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "dirs"\ndescription = "A channel to select from directories"\nrequirements = [ "fd",]\n\n[source]\ncommand = [ "fd -t d", "fd -t d --hidden",]\n\n[preview]\ncommand = "ls -l {}"\n\n[keybindings]\nshortcut = "f2"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"docker-images",children:(0,r.jsx)(n.em,{children:"docker-images"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from Docker images"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"docker"}),", ",(0,r.jsx)(n.code,{children:"jq"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"docker-images.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "docker-images"\ndescription = "A channel to select from Docker images"\nrequirements = [ "docker", "jq",]\n\n[source]\ncommand = "docker images --format \'{{.Repository}}:{{.Tag}} {{.ID}}\'"\noutput = "{split: :-1}"\n\n[preview]\ncommand = "docker image inspect {split: :-1} | jq -C"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"dotfiles",children:(0,r.jsx)(n.em,{children:"dotfiles"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from your user's dotfiles"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"fd"}),", ",(0,r.jsx)(n.code,{children:"bat"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"dotfiles.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "dotfiles"\ndescription = "A channel to select from your user\'s dotfiles"\nrequirements = [ "fd", "bat",]\n\n[source]\ncommand = "fd -t f . \\"$env:USERPROFILE\\\\AppData\\\\Roaming\\\\\\""\n\n[preview]\ncommand = "bat -n --color=always {}"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"env",children:(0,r.jsx)(n.em,{children:"env"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from environment variables"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.em,{children:"None"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"env.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "env"\ndescription = "A channel to select from environment variables"\n\n[source]\ncommand = "Get-ChildItem Env: | %{ \\"{0,-30} = {1,-30}\\" -f $_.Name,$_.Value }"\noutput = "{split:=:1..}"\n\n[preview]\ncommand = "echo \'{split:=:1..}\'"\n\n[ui]\nlayout = "portrait"\n\n[keybindings]\nshortcut = "f3"\n\n[ui.preview_panel]\nsize = 20\nheader = "{split:=:0|trim}"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"files",children:(0,r.jsx)(n.em,{children:"files"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select files and directories"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"fd"}),", ",(0,r.jsx)(n.code,{children:"bat"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"files.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "files"\ndescription = "A channel to select files and directories"\nrequirements = [ "fd", "bat",]\n\n[source]\ncommand = [ "fd -t f", "fd -t f -H",]\n\n[preview]\ncommand = "bat -n --color=always {}"\n\n[keybindings]\nshortcut = "f1"\n\n[preview.env]\nBAT_THEME = "ansi"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"git-branch",children:(0,r.jsx)(n.em,{children:"git-branch"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from git branches"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"git"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"git-branch.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "git-branch"\ndescription = "A channel to select from git branches"\nrequirements = [ "git",]\n\n[source]\ncommand = "git --no-pager branch --all --format=\\"%(refname:short)\\""\noutput = "{split: :0}"\n\n[preview]\ncommand = "git show -p --stat --pretty=fuller --color=always {0}"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"git-diff",children:(0,r.jsx)(n.em,{children:"git-diff"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select files from git diff commands"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"git"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"git-diff.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "git-diff"\ndescription = "A channel to select files from git diff commands"\nrequirements = [ "git",]\n\n[source]\ncommand = "git diff --name-only HEAD"\n\n[preview]\ncommand = "git diff HEAD --color=always -- {}"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"git-log",children:(0,r.jsx)(n.em,{children:"git-log"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from git log entries"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"git"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"git-log.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "git-log"\ndescription = "A channel to select from git log entries"\nrequirements = [ "git",]\n\n[source]\ncommand = "git log --oneline --date=short --pretty=\\"format:%h %s %an %cd\\""\noutput = "{split: :0}"\n\n[preview]\ncommand = "git show -p --stat --pretty=fuller --color=always {0}"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"git-reflog",children:(0,r.jsx)(n.em,{children:"git-reflog"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from git reflog entries"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"git"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"git-reflog.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "git-reflog"\ndescription = "A channel to select from git reflog entries"\nrequirements = [ "git",]\n\n[source]\ncommand = "git reflog"\noutput = "{split: :0}"\n\n[preview]\ncommand = "git show -p --stat --pretty=fuller --color=always {0}"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"git-repos",children:(0,r.jsx)(n.em,{children:"git-repos"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from git repositories on your local machine."}),"\n",(0,r.jsxs)(n.p,{children:["This channel uses ",(0,r.jsx)(n.code,{children:"fd"})," to find directories that contain a ",(0,r.jsx)(n.code,{children:".git"})," subdirectory, and then allows you to preview the git log of the selected repository."]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"fd"}),", ",(0,r.jsx)(n.code,{children:"git"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"git-repos.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "git-repos"\nrequirements = [ "fd", "git",]\ndescription = "A channel to select from git repositories on your local machine.\\n\\nThis channel uses `fd` to find directories that contain a `.git` subdirectory, and then allows you to preview the git log of the selected repository.\\n"\n\n[source]\ncommand = "fd -g .git -HL -t d -d 10 --prune \'C:\\\\Users\' --exec dirname \'{}\'"\ndisplay = "{split:\\\\\\\\:-1}"\n\n[preview]\ncommand = "cd \'{}\'; git log -n 200 --pretty=medium --all --graph --color"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"pwsh-history",children:(0,r.jsx)(n.em,{children:"pwsh-history"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from your powershell history"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.em,{children:"None"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"pwsh-history.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "pwsh-history"\ndescription = "A channel to select from your powershell history"\n\n[source]\ncommand = "Get-Content (Get-PSReadLineOption).HistorySavePath | Select-Object -Last 500"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"text",children:(0,r.jsx)(n.em,{children:"text"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to find and select text from files"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"rg"}),", ",(0,r.jsx)(n.code,{children:"bat"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"text.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "text"\ndescription = "A channel to find and select text from files"\nrequirements = [ "rg", "bat",]\n\n[source]\ncommand = "rg . --no-heading --line-number"\ndisplay = "[{split:\\\\::..2}]\\t{split:\\\\::2}"\noutput = "{split:\\\\::..2}"\n\n[preview]\ncommand = "bat -n --color=always {split:\\\\::0}"\noffset = "{split:\\\\::1}"\n\n[preview.env]\nBAT_THEME = "ansi"\n\n[ui.preview_panel]\nheader = "{split:\\\\::..2}"\n\n'})}),"\n",(0,r.jsx)(n.hr,{})]})}function h(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}},5404:(e,n,s)=>{s.d(n,{R:()=>l,x:()=>o});var i=s(6672);const r={},t=i.createContext(r);function l(e){const n=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),i.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b6c63517.330968f9.js b/assets/js/b6c63517.330968f9.js deleted file mode 100644 index d3ef253..0000000 --- a/assets/js/b6c63517.330968f9.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunktelevision_website=self.webpackChunktelevision_website||[]).push([[4816],{3239:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>l,metadata:()=>i,toc:()=>d});const i=JSON.parse('{"id":"Users/community-channels-unix","title":"\ud83c\udf7f Community Channels (unix)","description":"alias","source":"@site/../docs/01-Users/10-community-channels-unix.md","sourceDirName":"01-Users","slug":"/Users/community-channels-unix","permalink":"/television/docs/Users/community-channels-unix","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":10,"frontMatter":{},"sidebar":"docSidebar","previous":{"title":"CLI Reference","permalink":"/television/docs/Users/cli"},"next":{"title":"\ud83c\udf7f Community Channels (windows)","permalink":"/television/docs/Users/community-channels-windows"}}');var r=s(3420),t=s(5404);const l={},o="\ud83c\udf7f Community Channels (unix)",c={},d=[{value:"alias",id:"alias",level:3},{value:"bash-history",id:"bash-history",level:3},{value:"dirs",id:"dirs",level:3},{value:"docker-images",id:"docker-images",level:3},{value:"dotfiles",id:"dotfiles",level:3},{value:"env",id:"env",level:3},{value:"files",id:"files",level:3},{value:"fish-history",id:"fish-history",level:3},{value:"git-branch",id:"git-branch",level:3},{value:"git-diff",id:"git-diff",level:3},{value:"git-log",id:"git-log",level:3},{value:"git-reflog",id:"git-reflog",level:3},{value:"git-repos",id:"git-repos",level:3},{value:"text",id:"text",level:3},{value:"zsh-history",id:"zsh-history",level:3}];function a(e){const n={code:"code",em:"em",h1:"h1",h3:"h3",header:"header",hr:"hr",p:"p",pre:"pre",strong:"strong",...(0,t.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"-community-channels-unix",children:"\ud83c\udf7f Community Channels (unix)"})}),"\n",(0,r.jsx)(n.h3,{id:"alias",children:(0,r.jsx)(n.em,{children:"alias"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from shell aliases"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.em,{children:"None"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"alias.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "alias"\ndescription = "A channel to select from shell aliases"\n\n[source]\ncommand = "alias"\ninteractive = true\noutput = "{split:=:0}"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"bash-history",children:(0,r.jsx)(n.em,{children:"bash-history"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from your bash history"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"bash"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"bash-history.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "bash-history"\ndescription = "A channel to select from your bash history"\nrequirements = [ "bash",]\n\n[source]\ncommand = "sed \'1!G;h;$!d\' ${HISTFILE:-${HOME}/.bash_history}"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"dirs",children:(0,r.jsx)(n.em,{children:"dirs"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from directories"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"fd"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"dirs.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "dirs"\ndescription = "A channel to select from directories"\nrequirements = [ "fd",]\n\n[source]\ncommand = [ "fd -t d", "fd -t d --hidden",]\n\n[preview]\ncommand = "ls -la --color=always {}"\n\n[keybindings]\nshortcut = "f2"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"docker-images",children:(0,r.jsx)(n.em,{children:"docker-images"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from Docker images"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"docker"}),", ",(0,r.jsx)(n.code,{children:"jq"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"docker-images.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "docker-images"\ndescription = "A channel to select from Docker images"\nrequirements = [ "docker", "jq",]\n\n[source]\ncommand = "docker images --format \'{{.Repository}}:{{.Tag}} {{.ID}}\'"\noutput = "{split: :-1}"\n\n[preview]\ncommand = "docker image inspect {split: :-1} | jq -C"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"dotfiles",children:(0,r.jsx)(n.em,{children:"dotfiles"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from your user's dotfiles"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"fd"}),", ",(0,r.jsx)(n.code,{children:"bat"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"dotfiles.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "dotfiles"\ndescription = "A channel to select from your user\'s dotfiles"\nrequirements = [ "fd", "bat",]\n\n[source]\ncommand = "fd -t f . $HOME/.config"\n\n[preview]\ncommand = "bat -n --color=always \'{}\'"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"env",children:(0,r.jsx)(n.em,{children:"env"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from environment variables"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.em,{children:"None"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"env.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "env"\ndescription = "A channel to select from environment variables"\n\n[source]\ncommand = "printenv"\noutput = "{split:=:1..}"\n\n[preview]\ncommand = "echo \'{split:=:1..}\'"\n\n[ui]\nlayout = "portrait"\n\n[keybindings]\nshortcut = "f3"\n\n[ui.preview_panel]\nsize = 20\nheader = "{split:=:0}"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"files",children:(0,r.jsx)(n.em,{children:"files"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select files and directories"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"fd"}),", ",(0,r.jsx)(n.code,{children:"bat"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"files.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "files"\ndescription = "A channel to select files and directories"\nrequirements = [ "fd", "bat",]\n\n[source]\ncommand = [ "fd -t f", "fd -t f -H",]\n\n[preview]\ncommand = "bat -n --color=always \'{}\'"\n\n[keybindings]\nshortcut = "f1"\n\n[preview.env]\nBAT_THEME = "ansi"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"fish-history",children:(0,r.jsx)(n.em,{children:"fish-history"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from your fish history"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"fish"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"fish-history.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "fish-history"\ndescription = "A channel to select from your fish history"\nrequirements = [ "fish",]\n\n[source]\ncommand = "fish -c \'history\'"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"git-branch",children:(0,r.jsx)(n.em,{children:"git-branch"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from git branches"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"git"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"git-branch.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "git-branch"\ndescription = "A channel to select from git branches"\nrequirements = [ "git",]\n\n[source]\ncommand = "git --no-pager branch --all --format=\\"%(refname:short)\\""\noutput = "{split: :0}"\n\n[preview]\ncommand = "git show -p --stat --pretty=fuller --color=always {0}"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"git-diff",children:(0,r.jsx)(n.em,{children:"git-diff"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select files from git diff commands"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"git"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"git-diff.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "git-diff"\ndescription = "A channel to select files from git diff commands"\nrequirements = [ "git",]\n\n[source]\ncommand = "git diff --name-only HEAD"\n\n[preview]\ncommand = "git diff HEAD --color=always -- {}"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"git-log",children:(0,r.jsx)(n.em,{children:"git-log"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from git log entries"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"git"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"git-log.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "git-log"\ndescription = "A channel to select from git log entries"\nrequirements = [ "git",]\n\n[source]\ncommand = "git log --oneline --date=short --pretty=\\"format:%h %s %an %cd\\" \\"$@\\""\noutput = "{split: :0}"\n\n[preview]\ncommand = "git show -p --stat --pretty=fuller --color=always {0}"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"git-reflog",children:(0,r.jsx)(n.em,{children:"git-reflog"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from git reflog entries"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"git"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"git-reflog.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "git-reflog"\ndescription = "A channel to select from git reflog entries"\nrequirements = [ "git",]\n\n[source]\ncommand = "git reflog"\noutput = "{split: :0}"\n\n[preview]\ncommand = "git show -p --stat --pretty=fuller --color=always {0}"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"git-repos",children:(0,r.jsx)(n.em,{children:"git-repos"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from git repositories on your local machine."}),"\n",(0,r.jsxs)(n.p,{children:["This channel uses ",(0,r.jsx)(n.code,{children:"fd"})," to find directories that contain a ",(0,r.jsx)(n.code,{children:".git"})," subdirectory, and then allows you to preview the git log of the selected repository."]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"fd"}),", ",(0,r.jsx)(n.code,{children:"git"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"git-repos.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "git-repos"\nrequirements = [ "fd", "git",]\ndescription = "A channel to select from git repositories on your local machine.\\n\\nThis channel uses `fd` to find directories that contain a `.git` subdirectory, and then allows you to preview the git log of the selected repository.\\n"\n\n[source]\ncommand = "fd -g .git -HL -t d -d 10 --prune ~ -E \'Library\' -E \'Application Support\' --exec dirname {}"\ndisplay = "{split:/:-1}"\n\n[preview]\ncommand = "cd {}; git log -n 200 --pretty=medium --all --graph --color"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"text",children:(0,r.jsx)(n.em,{children:"text"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to find and select text from files"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"rg"}),", ",(0,r.jsx)(n.code,{children:"bat"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"text.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "text"\ndescription = "A channel to find and select text from files"\nrequirements = [ "rg", "bat",]\n\n[source]\ncommand = "rg . --no-heading --line-number"\ndisplay = "[{split:\\\\::..2}]\\t{split:\\\\::2}"\noutput = "{split:\\\\::..2}"\n\n[preview]\ncommand = "bat -n --color=always {split:\\\\::0}"\noffset = "{split:\\\\::1}"\n\n[preview.env]\nBAT_THEME = "ansi"\n\n[ui.preview_panel]\nheader = "{split:\\\\::..2}"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"zsh-history",children:(0,r.jsx)(n.em,{children:"zsh-history"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from your zsh history"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"zsh"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"zsh-history.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "zsh-history"\ndescription = "A channel to select from your zsh history"\nrequirements = [ "zsh",]\n\n[source]\ncommand = "sed \'1!G;h;$!d\' ${HISTFILE:-${HOME}/.zsh_history}"\ndisplay = "{split:;:1..}"\noutput = "{split:;:1..}"\n\n'})}),"\n",(0,r.jsx)(n.hr,{})]})}function h(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}},5404:(e,n,s)=>{s.d(n,{R:()=>l,x:()=>o});var i=s(6672);const r={},t=i.createContext(r);function l(e){const n=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),i.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b6c63517.d21328c9.js b/assets/js/b6c63517.d21328c9.js new file mode 100644 index 0000000..1eb410d --- /dev/null +++ b/assets/js/b6c63517.d21328c9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunktelevision_website=self.webpackChunktelevision_website||[]).push([[4816],{3239:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>o,contentTitle:()=>c,default:()=>h,frontMatter:()=>l,metadata:()=>i,toc:()=>d});const i=JSON.parse('{"id":"Users/community-channels-unix","title":"Community Channels (unix)","description":"alias","source":"@site/../docs/01-Users/10-community-channels-unix.md","sourceDirName":"01-Users","slug":"/Users/community-channels-unix","permalink":"/television/docs/Users/community-channels-unix","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":10,"frontMatter":{},"sidebar":"docSidebar","previous":{"title":"CLI Reference","permalink":"/television/docs/Users/cli"},"next":{"title":"Community Channels (windows)","permalink":"/television/docs/Users/community-channels-windows"}}');var r=s(3420),t=s(5404);const l={},c="Community Channels (unix)",o={},d=[{value:"alias",id:"alias",level:3},{value:"aws-buckets",id:"aws-buckets",level:3},{value:"aws-instances",id:"aws-instances",level:3},{value:"bash-history",id:"bash-history",level:3},{value:"dirs",id:"dirs",level:3},{value:"docker-images",id:"docker-images",level:3},{value:"dotfiles",id:"dotfiles",level:3},{value:"env",id:"env",level:3},{value:"files",id:"files",level:3},{value:"fish-history",id:"fish-history",level:3},{value:"git-branch",id:"git-branch",level:3},{value:"git-diff",id:"git-diff",level:3},{value:"git-log",id:"git-log",level:3},{value:"git-reflog",id:"git-reflog",level:3},{value:"git-repos",id:"git-repos",level:3},{value:"nu-history",id:"nu-history",level:3},{value:"text",id:"text",level:3},{value:"zsh-history",id:"zsh-history",level:3}];function a(e){const n={code:"code",em:"em",h1:"h1",h3:"h3",header:"header",hr:"hr",p:"p",pre:"pre",strong:"strong",...(0,t.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"community-channels-unix",children:"Community Channels (unix)"})}),"\n",(0,r.jsx)(n.h3,{id:"alias",children:(0,r.jsx)(n.em,{children:"alias"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from shell aliases"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.em,{children:"None"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"alias.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "alias"\ndescription = "A channel to select from shell aliases"\n\n[source]\ncommand = "alias"\ninteractive = true\noutput = "{split:=:0}"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"aws-buckets",children:(0,r.jsx)(n.em,{children:"aws-buckets"})}),"\n",(0,r.jsx)(n.p,{children:"List and preview AWS S3 Buckets"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"aws"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"aws-buckets.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "aws-buckets"\ndescription = "List and preview AWS S3 Buckets"\nrequirements = [ "aws",]\n\n[source]\ncommand = "aws s3 ls --output text"\noutput = "{split: :3|trim}"\n\n[preview]\ncommand = "aws s3 ls s3://{split: :3|trim} --human-readable --summarize"\n\n[ui.preview_panel]\nsize = 60\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"aws-instances",children:(0,r.jsx)(n.em,{children:"aws-instances"})}),"\n",(0,r.jsx)(n.p,{children:"List and preview AWS EC2 Instances"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"aws"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"aws-instances.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "aws-instances"\ndescription = "List and preview AWS EC2 Instances"\nrequirements = [ "aws",]\n\n[source]\ncommand = "aws ec2 describe-instances --output text --query \\"Reservations[*].Instances[*].[InstanceId,Tags[?Key==\'Name\']|[0].Value]\\""\n\n[preview]\ncommand = "aws ec2 describe-instances --output json --instance-ids {split:\\t:0} --query \'Reservations[*].Instances[0]\'"\n\n[ui.preview_panel]\nsize = 60\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"bash-history",children:(0,r.jsx)(n.em,{children:"bash-history"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from your bash history"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"bash"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"bash-history.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "bash-history"\ndescription = "A channel to select from your bash history"\nrequirements = [ "bash",]\n\n[source]\ncommand = "sed \'1!G;h;$!d\' ${HISTFILE:-${HOME}/.bash_history}"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"dirs",children:(0,r.jsx)(n.em,{children:"dirs"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from directories"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"fd"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"dirs.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "dirs"\ndescription = "A channel to select from directories"\nrequirements = [ "fd",]\n\n[source]\ncommand = [ "fd -t d", "fd -t d --hidden",]\n\n[preview]\ncommand = "ls -la --color=always \'{}\'"\n\n[keybindings]\nshortcut = "f2"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"docker-images",children:(0,r.jsx)(n.em,{children:"docker-images"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from Docker images"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"docker"}),", ",(0,r.jsx)(n.code,{children:"jq"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"docker-images.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "docker-images"\ndescription = "A channel to select from Docker images"\nrequirements = [ "docker", "jq",]\n\n[source]\ncommand = "docker images --format \'{{.Repository}}:{{.Tag}} {{.ID}}\'"\noutput = "{split: :-1}"\n\n[preview]\ncommand = "docker image inspect \'{split: :-1}\' | jq -C"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"dotfiles",children:(0,r.jsx)(n.em,{children:"dotfiles"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from your user's dotfiles"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"fd"}),", ",(0,r.jsx)(n.code,{children:"bat"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"dotfiles.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "dotfiles"\ndescription = "A channel to select from your user\'s dotfiles"\nrequirements = [ "fd", "bat",]\n\n[source]\ncommand = "fd -t f . $HOME/.config"\n\n[preview]\ncommand = "bat -n --color=always \'{}\'"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"env",children:(0,r.jsx)(n.em,{children:"env"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from environment variables"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.em,{children:"None"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"env.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "env"\ndescription = "A channel to select from environment variables"\n\n[source]\ncommand = "printenv"\noutput = "{split:=:1..}"\n\n[preview]\ncommand = "echo \'{split:=:1..}\'"\n\n[ui]\nlayout = "portrait"\n\n[keybindings]\nshortcut = "f3"\n\n[ui.preview_panel]\nsize = 20\nheader = "{split:=:0}"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"files",children:(0,r.jsx)(n.em,{children:"files"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select files and directories"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"fd"}),", ",(0,r.jsx)(n.code,{children:"bat"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"files.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "files"\ndescription = "A channel to select files and directories"\nrequirements = [ "fd", "bat",]\n\n[source]\ncommand = [ "fd -t f", "fd -t f -H",]\n\n[preview]\ncommand = "bat -n --color=always \'{}\'"\n\n[keybindings]\nshortcut = "f1"\n\n[preview.env]\nBAT_THEME = "ansi"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"fish-history",children:(0,r.jsx)(n.em,{children:"fish-history"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from your fish history"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"fish"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"fish-history.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "fish-history"\ndescription = "A channel to select from your fish history"\nrequirements = [ "fish",]\n\n[source]\ncommand = "fish -c \'history\'"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"git-branch",children:(0,r.jsx)(n.em,{children:"git-branch"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from git branches"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"git"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"git-branch.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "git-branch"\ndescription = "A channel to select from git branches"\nrequirements = [ "git",]\n\n[source]\ncommand = "git --no-pager branch --all --format=\\"%(refname:short)\\""\noutput = "{split: :0}"\n\n[preview]\ncommand = "git show -p --stat --pretty=fuller --color=always \'{0}\'"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"git-diff",children:(0,r.jsx)(n.em,{children:"git-diff"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select files from git diff commands"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"git"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"git-diff.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "git-diff"\ndescription = "A channel to select files from git diff commands"\nrequirements = [ "git",]\n\n[source]\ncommand = "git diff --name-only HEAD"\n\n[preview]\ncommand = "git diff HEAD --color=always -- \'{}\'"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"git-log",children:(0,r.jsx)(n.em,{children:"git-log"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from git log entries"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"git"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"git-log.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "git-log"\ndescription = "A channel to select from git log entries"\nrequirements = [ "git",]\n\n[source]\ncommand = "git log --oneline --date=short --pretty=\\"format:%h %s %an %cd\\" \\"$@\\""\noutput = "{split: :0}"\n\n[preview]\ncommand = "git show -p --stat --pretty=fuller --color=always \'{0}\'"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"git-reflog",children:(0,r.jsx)(n.em,{children:"git-reflog"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from git reflog entries"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"git"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"git-reflog.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "git-reflog"\ndescription = "A channel to select from git reflog entries"\nrequirements = [ "git",]\n\n[source]\ncommand = "git reflog"\noutput = "{split: :0}"\n\n[preview]\ncommand = "git show -p --stat --pretty=fuller --color=always \'{0}\'"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"git-repos",children:(0,r.jsx)(n.em,{children:"git-repos"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from git repositories on your local machine."}),"\n",(0,r.jsxs)(n.p,{children:["This channel uses ",(0,r.jsx)(n.code,{children:"fd"})," to find directories that contain a ",(0,r.jsx)(n.code,{children:".git"})," subdirectory, and then allows you to preview the git log of the selected repository."]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"fd"}),", ",(0,r.jsx)(n.code,{children:"git"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"git-repos.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "git-repos"\nrequirements = [ "fd", "git",]\ndescription = "A channel to select from git repositories on your local machine.\\n\\nThis channel uses `fd` to find directories that contain a `.git` subdirectory, and then allows you to preview the git log of the selected repository.\\n"\n\n[source]\ncommand = "fd -g .git -HL -t d -d 10 --prune ~ -E \'Library\' -E \'Application Support\' --exec dirname \'{}\'"\ndisplay = "{split:/:-1}"\n\n[preview]\ncommand = "cd \'{}\'; git log -n 200 --pretty=medium --all --graph --color"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"nu-history",children:(0,r.jsx)(n.em,{children:"nu-history"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from your nu history"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.em,{children:"None"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"nu-history.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "nu-history"\ndescription = "A channel to select from your nu history"\n\n[source]\ncommand = "nu -c \'open $nu.history-path | lines | reverse | to text\'"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"text",children:(0,r.jsx)(n.em,{children:"text"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to find and select text from files"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"rg"}),", ",(0,r.jsx)(n.code,{children:"bat"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"text.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "text"\ndescription = "A channel to find and select text from files"\nrequirements = [ "rg", "bat",]\n\n[source]\ncommand = "rg . --no-heading --line-number"\ndisplay = "[{split:\\\\::..2}]\\t{split:\\\\::2}"\noutput = "{split:\\\\::..2}"\n\n[preview]\ncommand = "bat -n --color=always \'{split:\\\\::0}\'"\noffset = "{split:\\\\::1}"\n\n[preview.env]\nBAT_THEME = "ansi"\n\n[ui.preview_panel]\nheader = "{split:\\\\::..2}"\n\n'})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"zsh-history",children:(0,r.jsx)(n.em,{children:"zsh-history"})}),"\n",(0,r.jsx)(n.p,{children:"A channel to select from your zsh history"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Requirements:"})," ",(0,r.jsx)(n.code,{children:"zsh"})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Code:"})," ",(0,r.jsx)(n.em,{children:"zsh-history.toml"})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-toml",children:'[metadata]\nname = "zsh-history"\ndescription = "A channel to select from your zsh history"\nrequirements = [ "zsh",]\n\n[source]\ncommand = "sed \'1!G;h;$!d\' ${HISTFILE:-${HOME}/.zsh_history}"\ndisplay = "{split:;:1..}"\noutput = "{split:;:1..}"\n\n'})}),"\n",(0,r.jsx)(n.hr,{})]})}function h(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}},5404:(e,n,s)=>{s.d(n,{R:()=>l,x:()=>c});var i=s(6672);const r={},t=i.createContext(r);function l(e){const n=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),i.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e29aca6e.60bb70a8.js b/assets/js/e29aca6e.60bb70a8.js deleted file mode 100644 index 19ab651..0000000 --- a/assets/js/e29aca6e.60bb70a8.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunktelevision_website=self.webpackChunktelevision_website||[]).push([[9907],{7147:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"docSidebar":[{"type":"category","label":"Users","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Installation","href":"/television/docs/Users/installation","docId":"Users/installation","unlisted":false},{"type":"link","label":"Quickstart","href":"/television/docs/Users/quickstart","docId":"Users/quickstart","unlisted":false},{"type":"link","label":"Configuration","href":"/television/docs/Users/configuration","docId":"Users/configuration","unlisted":false},{"type":"link","label":"Keybindings","href":"/television/docs/Users/keybindings","docId":"Users/keybindings","unlisted":false},{"type":"link","label":"Shell Integration","href":"/television/docs/Users/shell-integration","docId":"Users/shell-integration","unlisted":false},{"type":"link","label":"Search Patterns","href":"/television/docs/Users/search-patterns","docId":"Users/search-patterns","unlisted":false},{"type":"link","label":"Channels","href":"/television/docs/Users/channels","docId":"Users/channels","unlisted":false},{"type":"link","label":"Themes","href":"/television/docs/Users/themes","docId":"Users/themes","unlisted":false},{"type":"link","label":"CLI Reference","href":"/television/docs/Users/cli","docId":"Users/cli","unlisted":false},{"type":"link","label":"\ud83c\udf7f Community Channels (unix)","href":"/television/docs/Users/community-channels-unix","docId":"Users/community-channels-unix","unlisted":false},{"type":"link","label":"\ud83c\udf7f Community Channels (windows)","href":"/television/docs/Users/community-channels-windows","docId":"Users/community-channels-windows","unlisted":false},{"type":"link","label":"Terminal Emulators","href":"/television/docs/Users/terminal_emulators","docId":"Users/terminal_emulators","unlisted":false},{"type":"link","label":"Showcase","href":"/television/docs/Users/showcase","docId":"Users/showcase","unlisted":false}]},{"type":"category","label":"Developers","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Contributing","href":"/television/docs/Developers/contributing","docId":"Developers/contributing","unlisted":false},{"type":"link","label":"Architecture Documentation","href":"/television/docs/Developers/ARCHITECTURE","docId":"Developers/ARCHITECTURE","unlisted":false},{"type":"link","label":"UI Features documentation","href":"/television/docs/Developers/ui-features","docId":"Developers/ui-features","unlisted":false},{"type":"link","label":"Shell Integration: Developing locally","href":"/television/docs/Developers/shell-integration-local","docId":"Developers/shell-integration-local","unlisted":false},{"type":"link","label":"Release notes for television 0.12.0","href":"/television/docs/Developers/patch-notes","docId":"Developers/patch-notes","unlisted":false}]}]},"docs":{"Developers/ARCHITECTURE":{"id":"Developers/ARCHITECTURE","title":"Architecture Documentation","description":"NOTE: what follows has mostly been assembled using AI as an experiment and as a basis for further improvements. @lalvarezt and I (@alexpasmantier) have been proofreading it to make sure all the information is technically correct and really reflects the code\'s architecture, so that **other developers may rely on it as a technical source of truth** when getting started with the repo.","sidebar":"docSidebar"},"Developers/contributing":{"id":"Developers/contributing","title":"Contributing","description":"First of all, thanks for considering contributing to this project. All contributions are welcome, whether they are bug reports, documentation improvements, feature requests, or pull requests.","sidebar":"docSidebar"},"Developers/patch-notes":{"id":"Developers/patch-notes","title":"Release notes for television 0.12.0","description":"image","sidebar":"docSidebar"},"Developers/shell-integration-local":{"id":"Developers/shell-integration-local","title":"Shell Integration: Developing locally","description":"In order to develop locally on the shell integration scripts, here are a couple of steps to follow:","sidebar":"docSidebar"},"Developers/ui-features":{"id":"Developers/ui-features","title":"UI Features documentation","description":"Table of Contents","sidebar":"docSidebar"},"Users/channels":{"id":"Users/channels","title":"Channels","description":"Quick start","sidebar":"docSidebar"},"Users/cli":{"id":"Users/cli","title":"CLI Reference","description":"Television (tv) is a cross-platform, fast and extensible general purpose fuzzy finder TUI. This document provides a comprehensive reference for all CLI options, modes, restrictions, and usage patterns.","sidebar":"docSidebar"},"Users/community-channels-unix":{"id":"Users/community-channels-unix","title":"\ud83c\udf7f Community Channels (unix)","description":"alias","sidebar":"docSidebar"},"Users/community-channels-windows":{"id":"Users/community-channels-windows","title":"\ud83c\udf7f Community Channels (windows)","description":"alias","sidebar":"docSidebar"},"Users/configuration":{"id":"Users/configuration","title":"Configuration","description":"Default configuration reference","sidebar":"docSidebar"},"Users/installation":{"id":"Users/installation","title":"Installation","description":"Packaging status","sidebar":"docSidebar"},"Users/keybindings":{"id":"Users/keybindings","title":"Keybindings","description":"Default Keybindings","sidebar":"docSidebar"},"Users/quickstart":{"id":"Users/quickstart","title":"Quickstart","description":"Create a channel: ~/.config/television/cable/files.toml","sidebar":"docSidebar"},"Users/search-patterns":{"id":"Users/search-patterns","title":"Search Patterns","description":"Tv uses a fuzzy matching algorithm to filter its list of entries. Its behavior depends on the input pattern you provide.","sidebar":"docSidebar"},"Users/shell-integration":{"id":"Users/shell-integration","title":"Shell Integration","description":"Television can integrate with your shell to provide smart autocompletion based on the commands you start typing.","sidebar":"docSidebar"},"Users/showcase":{"id":"Users/showcase","title":"Showcase","description":"This section is meant as a community-driven list of user workflows and ways to use television in different contexts to inspire others.","sidebar":"docSidebar"},"Users/terminal_emulators":{"id":"Users/terminal_emulators","title":"Terminal Emulators","description":"Here is a list of terminal emulators that have currently been tested with television and their compatibility status.","sidebar":"docSidebar"},"Users/themes":{"id":"Users/themes","title":"Themes","description":"Builtin themes are available in the themes directory. Feel free to experiment and maybe even contribute your own!","sidebar":"docSidebar"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/e29aca6e.eb674476.js b/assets/js/e29aca6e.eb674476.js new file mode 100644 index 0000000..1e4108b --- /dev/null +++ b/assets/js/e29aca6e.eb674476.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunktelevision_website=self.webpackChunktelevision_website||[]).push([[9907],{7147:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"docSidebar":[{"type":"category","label":"Users","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Installation","href":"/television/docs/Users/installation","docId":"Users/installation","unlisted":false},{"type":"link","label":"Quickstart","href":"/television/docs/Users/quickstart","docId":"Users/quickstart","unlisted":false},{"type":"link","label":"Configuration","href":"/television/docs/Users/configuration","docId":"Users/configuration","unlisted":false},{"type":"link","label":"Keybindings","href":"/television/docs/Users/keybindings","docId":"Users/keybindings","unlisted":false},{"type":"link","label":"Shell Integration","href":"/television/docs/Users/shell-integration","docId":"Users/shell-integration","unlisted":false},{"type":"link","label":"Search Patterns","href":"/television/docs/Users/search-patterns","docId":"Users/search-patterns","unlisted":false},{"type":"link","label":"Channels","href":"/television/docs/Users/channels","docId":"Users/channels","unlisted":false},{"type":"link","label":"Themes","href":"/television/docs/Users/themes","docId":"Users/themes","unlisted":false},{"type":"link","label":"CLI Reference","href":"/television/docs/Users/cli","docId":"Users/cli","unlisted":false},{"type":"link","label":"Community Channels (unix)","href":"/television/docs/Users/community-channels-unix","docId":"Users/community-channels-unix","unlisted":false},{"type":"link","label":"Community Channels (windows)","href":"/television/docs/Users/community-channels-windows","docId":"Users/community-channels-windows","unlisted":false},{"type":"link","label":"Terminal Emulators","href":"/television/docs/Users/terminal_emulators","docId":"Users/terminal_emulators","unlisted":false},{"type":"link","label":"Showcase","href":"/television/docs/Users/showcase","docId":"Users/showcase","unlisted":false}]},{"type":"category","label":"Developers","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Contributing","href":"/television/docs/Developers/contributing","docId":"Developers/contributing","unlisted":false},{"type":"link","label":"Architecture Documentation","href":"/television/docs/Developers/ARCHITECTURE","docId":"Developers/ARCHITECTURE","unlisted":false},{"type":"link","label":"UI Features documentation","href":"/television/docs/Developers/ui-features","docId":"Developers/ui-features","unlisted":false},{"type":"link","label":"Shell Integration: Developing locally","href":"/television/docs/Developers/shell-integration-local","docId":"Developers/shell-integration-local","unlisted":false},{"type":"link","label":"Release notes for television 0.12.0","href":"/television/docs/Developers/patch-notes","docId":"Developers/patch-notes","unlisted":false}]}]},"docs":{"Developers/ARCHITECTURE":{"id":"Developers/ARCHITECTURE","title":"Architecture Documentation","description":"NOTE: what follows has mostly been assembled using AI as an experiment and as a basis for further improvements. @lalvarezt and I (@alexpasmantier) have been proofreading it to make sure all the information is technically correct and really reflects the code\'s architecture, so that **other developers may rely on it as a technical source of truth** when getting started with the repo.","sidebar":"docSidebar"},"Developers/contributing":{"id":"Developers/contributing","title":"Contributing","description":"First of all, thanks for considering contributing to this project. All contributions are welcome, whether they are bug reports, documentation improvements, feature requests, or pull requests.","sidebar":"docSidebar"},"Developers/patch-notes":{"id":"Developers/patch-notes","title":"Release notes for television 0.12.0","description":"image","sidebar":"docSidebar"},"Developers/shell-integration-local":{"id":"Developers/shell-integration-local","title":"Shell Integration: Developing locally","description":"In order to develop locally on the shell integration scripts, here are a couple of steps to follow:","sidebar":"docSidebar"},"Developers/ui-features":{"id":"Developers/ui-features","title":"UI Features documentation","description":"Table of Contents","sidebar":"docSidebar"},"Users/channels":{"id":"Users/channels","title":"Channels","description":"Quick start","sidebar":"docSidebar"},"Users/cli":{"id":"Users/cli","title":"CLI Reference","description":"Television (tv) is a cross-platform, fast and extensible general purpose fuzzy finder TUI. This document provides a comprehensive reference for all CLI options, modes, restrictions, and usage patterns.","sidebar":"docSidebar"},"Users/community-channels-unix":{"id":"Users/community-channels-unix","title":"Community Channels (unix)","description":"alias","sidebar":"docSidebar"},"Users/community-channels-windows":{"id":"Users/community-channels-windows","title":"Community Channels (windows)","description":"alias","sidebar":"docSidebar"},"Users/configuration":{"id":"Users/configuration","title":"Configuration","description":"Default configuration reference","sidebar":"docSidebar"},"Users/installation":{"id":"Users/installation","title":"Installation","description":"Packaging status","sidebar":"docSidebar"},"Users/keybindings":{"id":"Users/keybindings","title":"Keybindings","description":"Default Keybindings","sidebar":"docSidebar"},"Users/quickstart":{"id":"Users/quickstart","title":"Quickstart","description":"Create a channel: ~/.config/television/cable/files.toml","sidebar":"docSidebar"},"Users/search-patterns":{"id":"Users/search-patterns","title":"Search Patterns","description":"Tv uses a fuzzy matching algorithm to filter its list of entries. Its behavior depends on the input pattern you provide.","sidebar":"docSidebar"},"Users/shell-integration":{"id":"Users/shell-integration","title":"Shell Integration","description":"Television can integrate with your shell to provide smart autocompletion based on the commands you start typing.","sidebar":"docSidebar"},"Users/showcase":{"id":"Users/showcase","title":"Showcase","description":"This section is meant as a community-driven list of user workflows and ways to use television in different contexts to inspire others.","sidebar":"docSidebar"},"Users/terminal_emulators":{"id":"Users/terminal_emulators","title":"Terminal Emulators","description":"Here is a list of terminal emulators that have currently been tested with television and their compatibility status.","sidebar":"docSidebar"},"Users/themes":{"id":"Users/themes","title":"Themes","description":"Builtin themes are available in the themes directory. Feel free to experiment and maybe even contribute your own!","sidebar":"docSidebar"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.3ae42b85.js b/assets/js/runtime~main.1acb5b51.js similarity index 94% rename from assets/js/runtime~main.3ae42b85.js rename to assets/js/runtime~main.1acb5b51.js index f3b10ee..2325373 100644 --- a/assets/js/runtime~main.3ae42b85.js +++ b/assets/js/runtime~main.1acb5b51.js @@ -1 +1 @@ -(()=>{"use strict";var e,a,t,r,f,d={},o={};function c(e){var a=o[e];if(void 0!==a)return a.exports;var t=o[e]={exports:{}};return d[e].call(t.exports,t,t.exports,c),t.exports}c.m=d,e=[],c.O=(a,t,r,f)=>{if(!t){var d=1/0;for(i=0;i=f)&&Object.keys(c.O).every((e=>c.O[e](t[b])))?t.splice(b--,1):(o=!1,f0&&e[i-1][2]>f;i--)e[i]=e[i-1];e[i]=[t,r,f]},c.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return c.d(a,{a:a}),a},t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,c.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var f=Object.create(null);c.r(f);var d={};a=a||[null,t({}),t([]),t(t)];for(var o=2&r&&e;"object"==typeof o&&!~a.indexOf(o);o=t(o))Object.getOwnPropertyNames(o).forEach((a=>d[a]=()=>e[a]));return d.default=()=>e,c.d(f,d),f},c.d=(e,a)=>{for(var t in a)c.o(a,t)&&!c.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:a[t]})},c.f={},c.e=e=>Promise.all(Object.keys(c.f).reduce(((a,t)=>(c.f[t](e,a),a)),[])),c.u=e=>"assets/js/"+({20:"857f147c",536:"1648f67c",1235:"a7456010",1395:"2c30b35b",1610:"550bd6cf",1885:"7d83a5c3",2811:"b7be5ce9",3541:"96244980",4134:"393be207",4363:"3fd760d6",4583:"1df93b7f",4816:"b6c63517",4936:"7d3e8208",5507:"250fc3d7",5540:"a7b96eba",5742:"aba21aa0",5867:"43d79a02",5874:"6808264c",6061:"1f391b9e",6529:"dee5cafc",7098:"a7bd4aaa",7592:"e0ef48a2",8218:"1516f4b2",8401:"17896441",9048:"a94703ab",9090:"2bf9f277",9647:"5e95c892",9907:"e29aca6e"}[e]||e)+"."+{20:"4df4aa66",536:"52c293da",1235:"eb06d9db",1314:"07cf44c0",1370:"4772152a",1395:"ee049977",1480:"f403a739",1610:"d57b7618",1629:"c284e521",1874:"2a5dff10",1876:"0b5f0e50",1885:"f3a67656",1888:"2f318298",2013:"f5076cc2",2128:"12a92a60",2704:"71ca9602",2771:"49879a23",2811:"741d9797",3151:"62c54ee9",3523:"1955b085",3541:"a29984dd",3916:"f10368a6",4041:"9f98bea9",4134:"ffe3b8fa",4326:"bac7bdc2",4363:"d38ad1db",4583:"33112b2e",4816:"330968f9",4874:"8919f2d0",4936:"3afbe6a2",5223:"f49cf1b4",5507:"a09b12dc",5540:"e1275cf6",5598:"f49a8466",5742:"4b02c646",5867:"5c18b3f2",5874:"c1eb28fa",5957:"af6947a2",6061:"6f1a187e",6205:"4a587adb",6231:"49be2dff",6236:"52501d4a",6446:"4121c8fb",6529:"57f23235",6595:"082d7f9c",6852:"f9cd4585",6884:"cd1dc064",7076:"1cffbb61",7098:"d924c49f",7592:"1b5927d1",7633:"2ca4c018",7687:"810ed0e7",8028:"793c0503",8087:"453e7d82",8090:"3462f15a",8218:"bbc39d45",8401:"e626173f",8565:"1f3337c9",8890:"3d136a4c",8941:"5ce23ff2",8989:"3aaf54b9",9048:"821c35a4",9090:"dd4fb3cf",9402:"1d4cb10a",9439:"fd791b9e",9440:"3de73410",9647:"0bf46dad",9824:"ee556fef",9907:"60bb70a8",9952:"dd1f41fa"}[e]+".js",c.miniCssF=e=>{},c.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),c.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),r={},f="television-website:",c.l=(e,a,t,d)=>{if(r[e])r[e].push(a);else{var o,b;if(void 0!==t)for(var n=document.getElementsByTagName("script"),i=0;i{o.onerror=o.onload=null,clearTimeout(s);var f=r[e];if(delete r[e],o.parentNode&&o.parentNode.removeChild(o),f&&f.forEach((e=>e(t))),a)return a(t)},s=setTimeout(u.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=u.bind(null,o.onerror),o.onload=u.bind(null,o.onload),b&&document.head.appendChild(o)}},c.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},c.p="/television/",c.gca=function(e){return e={17896441:"8401",96244980:"3541","857f147c":"20","1648f67c":"536",a7456010:"1235","2c30b35b":"1395","550bd6cf":"1610","7d83a5c3":"1885",b7be5ce9:"2811","393be207":"4134","3fd760d6":"4363","1df93b7f":"4583",b6c63517:"4816","7d3e8208":"4936","250fc3d7":"5507",a7b96eba:"5540",aba21aa0:"5742","43d79a02":"5867","6808264c":"5874","1f391b9e":"6061",dee5cafc:"6529",a7bd4aaa:"7098",e0ef48a2:"7592","1516f4b2":"8218",a94703ab:"9048","2bf9f277":"9090","5e95c892":"9647",e29aca6e:"9907"}[e]||e,c.p+c.u(e)},(()=>{var e={5354:0,1869:0};c.f.j=(a,t)=>{var r=c.o(e,a)?e[a]:void 0;if(0!==r)if(r)t.push(r[2]);else if(/^(1869|5354)$/.test(a))e[a]=0;else{var f=new Promise(((t,f)=>r=e[a]=[t,f]));t.push(r[2]=f);var d=c.p+c.u(a),o=new Error;c.l(d,(t=>{if(c.o(e,a)&&(0!==(r=e[a])&&(e[a]=void 0),r)){var f=t&&("load"===t.type?"missing":t.type),d=t&&t.target&&t.target.src;o.message="Loading chunk "+a+" failed.\n("+f+": "+d+")",o.name="ChunkLoadError",o.type=f,o.request=d,r[1](o)}}),"chunk-"+a,a)}},c.O.j=a=>0===e[a];var a=(a,t)=>{var r,f,d=t[0],o=t[1],b=t[2],n=0;if(d.some((a=>0!==e[a]))){for(r in o)c.o(o,r)&&(c.m[r]=o[r]);if(b)var i=b(c)}for(a&&a(t);n{"use strict";var e,a,t,r,f,d={},o={};function c(e){var a=o[e];if(void 0!==a)return a.exports;var t=o[e]={exports:{}};return d[e].call(t.exports,t,t.exports,c),t.exports}c.m=d,e=[],c.O=(a,t,r,f)=>{if(!t){var d=1/0;for(i=0;i=f)&&Object.keys(c.O).every((e=>c.O[e](t[b])))?t.splice(b--,1):(o=!1,f0&&e[i-1][2]>f;i--)e[i]=e[i-1];e[i]=[t,r,f]},c.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return c.d(a,{a:a}),a},t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,c.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var f=Object.create(null);c.r(f);var d={};a=a||[null,t({}),t([]),t(t)];for(var o=2&r&&e;"object"==typeof o&&!~a.indexOf(o);o=t(o))Object.getOwnPropertyNames(o).forEach((a=>d[a]=()=>e[a]));return d.default=()=>e,c.d(f,d),f},c.d=(e,a)=>{for(var t in a)c.o(a,t)&&!c.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:a[t]})},c.f={},c.e=e=>Promise.all(Object.keys(c.f).reduce(((a,t)=>(c.f[t](e,a),a)),[])),c.u=e=>"assets/js/"+({20:"857f147c",536:"1648f67c",1235:"a7456010",1395:"2c30b35b",1610:"550bd6cf",1885:"7d83a5c3",2811:"b7be5ce9",3541:"96244980",4134:"393be207",4363:"3fd760d6",4583:"1df93b7f",4816:"b6c63517",4936:"7d3e8208",5507:"250fc3d7",5540:"a7b96eba",5742:"aba21aa0",5867:"43d79a02",5874:"6808264c",6061:"1f391b9e",6529:"dee5cafc",7098:"a7bd4aaa",7592:"e0ef48a2",8218:"1516f4b2",8401:"17896441",9048:"a94703ab",9090:"2bf9f277",9647:"5e95c892",9907:"e29aca6e"}[e]||e)+"."+{20:"4df4aa66",536:"52c293da",1235:"eb06d9db",1314:"07cf44c0",1370:"4772152a",1395:"c2573e77",1480:"f403a739",1610:"d57b7618",1629:"c284e521",1874:"2a5dff10",1876:"0b5f0e50",1885:"f3a67656",1888:"2f318298",2013:"f5076cc2",2128:"12a92a60",2704:"71ca9602",2771:"49879a23",2811:"741d9797",3151:"62c54ee9",3523:"1955b085",3541:"a29984dd",3916:"f10368a6",4041:"9f98bea9",4134:"ffe3b8fa",4326:"bac7bdc2",4363:"4bc705e3",4583:"33112b2e",4816:"d21328c9",4874:"8919f2d0",4936:"3afbe6a2",5223:"f49cf1b4",5507:"a09b12dc",5540:"e1275cf6",5598:"f49a8466",5742:"4b02c646",5867:"5c18b3f2",5874:"c1eb28fa",5957:"af6947a2",6061:"6f1a187e",6205:"4a587adb",6231:"49be2dff",6236:"52501d4a",6446:"4121c8fb",6529:"57f23235",6595:"082d7f9c",6852:"f9cd4585",6884:"cd1dc064",7076:"1cffbb61",7098:"d924c49f",7592:"1b5927d1",7633:"2ca4c018",7687:"810ed0e7",8028:"793c0503",8087:"453e7d82",8090:"3462f15a",8218:"bbc39d45",8401:"e626173f",8565:"1f3337c9",8890:"3d136a4c",8941:"5ce23ff2",8989:"3aaf54b9",9048:"821c35a4",9090:"8f6a3f6b",9402:"1d4cb10a",9439:"fd791b9e",9440:"3de73410",9647:"0bf46dad",9824:"ee556fef",9907:"eb674476",9952:"dd1f41fa"}[e]+".js",c.miniCssF=e=>{},c.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),c.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),r={},f="television-website:",c.l=(e,a,t,d)=>{if(r[e])r[e].push(a);else{var o,b;if(void 0!==t)for(var n=document.getElementsByTagName("script"),i=0;i{o.onerror=o.onload=null,clearTimeout(s);var f=r[e];if(delete r[e],o.parentNode&&o.parentNode.removeChild(o),f&&f.forEach((e=>e(t))),a)return a(t)},s=setTimeout(u.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=u.bind(null,o.onerror),o.onload=u.bind(null,o.onload),b&&document.head.appendChild(o)}},c.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},c.p="/television/",c.gca=function(e){return e={17896441:"8401",96244980:"3541","857f147c":"20","1648f67c":"536",a7456010:"1235","2c30b35b":"1395","550bd6cf":"1610","7d83a5c3":"1885",b7be5ce9:"2811","393be207":"4134","3fd760d6":"4363","1df93b7f":"4583",b6c63517:"4816","7d3e8208":"4936","250fc3d7":"5507",a7b96eba:"5540",aba21aa0:"5742","43d79a02":"5867","6808264c":"5874","1f391b9e":"6061",dee5cafc:"6529",a7bd4aaa:"7098",e0ef48a2:"7592","1516f4b2":"8218",a94703ab:"9048","2bf9f277":"9090","5e95c892":"9647",e29aca6e:"9907"}[e]||e,c.p+c.u(e)},(()=>{var e={5354:0,1869:0};c.f.j=(a,t)=>{var r=c.o(e,a)?e[a]:void 0;if(0!==r)if(r)t.push(r[2]);else if(/^(1869|5354)$/.test(a))e[a]=0;else{var f=new Promise(((t,f)=>r=e[a]=[t,f]));t.push(r[2]=f);var d=c.p+c.u(a),o=new Error;c.l(d,(t=>{if(c.o(e,a)&&(0!==(r=e[a])&&(e[a]=void 0),r)){var f=t&&("load"===t.type?"missing":t.type),d=t&&t.target&&t.target.src;o.message="Loading chunk "+a+" failed.\n("+f+": "+d+")",o.name="ChunkLoadError",o.type=f,o.request=d,r[1](o)}}),"chunk-"+a,a)}},c.O.j=a=>0===e[a];var a=(a,t)=>{var r,f,d=t[0],o=t[1],b=t[2],n=0;if(d.some((a=>0!==e[a]))){for(r in o)c.o(o,r)&&(c.m[r]=o[r]);if(b)var i=b(c)}for(a&&a(t);n Architecture Documentation | Television - + diff --git a/docs/Developers/contributing/index.html b/docs/Developers/contributing/index.html index 03126fd..9f19e8b 100644 --- a/docs/Developers/contributing/index.html +++ b/docs/Developers/contributing/index.html @@ -4,7 +4,7 @@ Contributing | Television - + diff --git a/docs/Developers/patch-notes/index.html b/docs/Developers/patch-notes/index.html index 1b75658..800a302 100644 --- a/docs/Developers/patch-notes/index.html +++ b/docs/Developers/patch-notes/index.html @@ -4,7 +4,7 @@ Release notes for television 0.12.0 | Television - + diff --git a/docs/Developers/shell-integration-local/index.html b/docs/Developers/shell-integration-local/index.html index fe855ba..31967e1 100644 --- a/docs/Developers/shell-integration-local/index.html +++ b/docs/Developers/shell-integration-local/index.html @@ -4,7 +4,7 @@ Shell Integration: Developing locally | Television - + diff --git a/docs/Developers/ui-features/index.html b/docs/Developers/ui-features/index.html index 5731c0a..dbe34ba 100644 --- a/docs/Developers/ui-features/index.html +++ b/docs/Developers/ui-features/index.html @@ -4,7 +4,7 @@ UI Features documentation | Television - + diff --git a/docs/Users/channels/index.html b/docs/Users/channels/index.html index 294ad4b..da7b78a 100644 --- a/docs/Users/channels/index.html +++ b/docs/Users/channels/index.html @@ -4,14 +4,14 @@ Channels | Television - + -

Channels

+

Channels

Quick start

Channels are short configuration recipes that typically dictate what tv should search through and what's displayed on the screen along with various other options.

Any given channel consists of a single TOML file.

diff --git a/docs/Users/cli/index.html b/docs/Users/cli/index.html index b007313..5e5a78f 100644 --- a/docs/Users/cli/index.html +++ b/docs/Users/cli/index.html @@ -4,14 +4,14 @@ CLI Reference | Television - + -

CLI Reference

+

CLI Reference

Television (tv) is a cross-platform, fast and extensible general purpose fuzzy finder TUI. This document provides a comprehensive reference for all CLI options, modes, restrictions, and usage patterns.

Table of Contents

    @@ -501,6 +501,6 @@ minimum height is ensured (set by default at 15 lines)
    # Basic usage - use built-in channels
    tv files # Browse files in current directory
    tv git-log # Browse git commit history
    tv docker-images # Browse Docker images

    # Channel + customization
    tv files --preview-command "bat -n --color=always '{}'"
    tv git-log --layout portrait

    # Feature visibility control
    tv files --hide-preview --show-status-bar # Clean interface, status visible
    tv files --show-remote # Force remote control visible

    Ad-hoc Mode (Custom Commands)

    -
    # Simple custom finder
    tv --source-command "find . -name '*.md'"

    # Live system monitoring with hidden UI elements
    tv --source-command "ps aux | tail -n +2" \
    --watch 1.0 \
    --hide-preview \
    --hide-status-bar

    # Clean interface with selective visibility
    tv --source-command "docker ps -a" \
    --hide-preview \
    --show-status-bar
+
# Simple custom finder
tv --source-command "find . -name '*.md'"

# Live system monitoring with hidden UI elements
tv --source-command "ps aux | tail -n +2" \
--watch 1.0 \
--hide-preview \
--hide-status-bar

# Clean interface with selective visibility
tv --source-command "docker ps -a" \
--hide-preview \
--show-status-bar
\ No newline at end of file diff --git a/docs/Users/community-channels-unix/index.html b/docs/Users/community-channels-unix/index.html index 6714980..064e56d 100644 --- a/docs/Users/community-channels-unix/index.html +++ b/docs/Users/community-channels-unix/index.html @@ -3,21 +3,33 @@ -🍿 Community Channels (unix) | Television - +Community Channels (unix) | Television + -

🍿 Community Channels (unix)

+

Community Channels (unix)

alias

A channel to select from shell aliases

Requirements: None

Code: alias.toml

[metadata]
name = "alias"
description = "A channel to select from shell aliases"

[source]
command = "alias"
interactive = true
output = "{split:=:0}"


+

aws-buckets

+

List and preview AWS S3 Buckets

+

Requirements: aws

+

Code: aws-buckets.toml

+
[metadata]
name = "aws-buckets"
description = "List and preview AWS S3 Buckets"
requirements = [ "aws",]

[source]
command = "aws s3 ls --output text"
output = "{split: :3|trim}"

[preview]
command = "aws s3 ls s3://{split: :3|trim} --human-readable --summarize"

[ui.preview_panel]
size = 60

+
+

aws-instances

+

List and preview AWS EC2 Instances

+

Requirements: aws

+

Code: aws-instances.toml

+
[metadata]
name = "aws-instances"
description = "List and preview AWS EC2 Instances"
requirements = [ "aws",]

[source]
command = "aws ec2 describe-instances --output text --query \"Reservations[*].Instances[*].[InstanceId,Tags[?Key=='Name']|[0].Value]\""

[preview]
command = "aws ec2 describe-instances --output json --instance-ids {split:\t:0} --query 'Reservations[*].Instances[0]'"

[ui.preview_panel]
size = 60

+

bash-history

A channel to select from your bash history

Requirements: bash

@@ -28,13 +40,13 @@

A channel to select from directories

Requirements: fd

Code: dirs.toml

-
[metadata]
name = "dirs"
description = "A channel to select from directories"
requirements = [ "fd",]

[source]
command = [ "fd -t d", "fd -t d --hidden",]

[preview]
command = "ls -la --color=always {}"

[keybindings]
shortcut = "f2"

+
[metadata]
name = "dirs"
description = "A channel to select from directories"
requirements = [ "fd",]

[source]
command = [ "fd -t d", "fd -t d --hidden",]

[preview]
command = "ls -la --color=always '{}'"

[keybindings]
shortcut = "f2"


docker-images

A channel to select from Docker images

Requirements: docker, jq

Code: docker-images.toml

-
[metadata]
name = "docker-images"
description = "A channel to select from Docker images"
requirements = [ "docker", "jq",]

[source]
command = "docker images --format '{{.Repository}}:{{.Tag}} {{.ID}}'"
output = "{split: :-1}"

[preview]
command = "docker image inspect {split: :-1} | jq -C"

+
[metadata]
name = "docker-images"
description = "A channel to select from Docker images"
requirements = [ "docker", "jq",]

[source]
command = "docker images --format '{{.Repository}}:{{.Tag}} {{.ID}}'"
output = "{split: :-1}"

[preview]
command = "docker image inspect '{split: :-1}' | jq -C"


dotfiles

A channel to select from your user's dotfiles

@@ -64,44 +76,50 @@

A channel to select from git branches

Requirements: git

Code: git-branch.toml

-
[metadata]
name = "git-branch"
description = "A channel to select from git branches"
requirements = [ "git",]

[source]
command = "git --no-pager branch --all --format=\"%(refname:short)\""
output = "{split: :0}"

[preview]
command = "git show -p --stat --pretty=fuller --color=always {0}"

+
[metadata]
name = "git-branch"
description = "A channel to select from git branches"
requirements = [ "git",]

[source]
command = "git --no-pager branch --all --format=\"%(refname:short)\""
output = "{split: :0}"

[preview]
command = "git show -p --stat --pretty=fuller --color=always '{0}'"


git-diff

A channel to select files from git diff commands

Requirements: git

Code: git-diff.toml

-
[metadata]
name = "git-diff"
description = "A channel to select files from git diff commands"
requirements = [ "git",]

[source]
command = "git diff --name-only HEAD"

[preview]
command = "git diff HEAD --color=always -- {}"

+
[metadata]
name = "git-diff"
description = "A channel to select files from git diff commands"
requirements = [ "git",]

[source]
command = "git diff --name-only HEAD"

[preview]
command = "git diff HEAD --color=always -- '{}'"


git-log

A channel to select from git log entries

Requirements: git

Code: git-log.toml

-
[metadata]
name = "git-log"
description = "A channel to select from git log entries"
requirements = [ "git",]

[source]
command = "git log --oneline --date=short --pretty=\"format:%h %s %an %cd\" \"$@\""
output = "{split: :0}"

[preview]
command = "git show -p --stat --pretty=fuller --color=always {0}"

+
[metadata]
name = "git-log"
description = "A channel to select from git log entries"
requirements = [ "git",]

[source]
command = "git log --oneline --date=short --pretty=\"format:%h %s %an %cd\" \"$@\""
output = "{split: :0}"

[preview]
command = "git show -p --stat --pretty=fuller --color=always '{0}'"


git-reflog

A channel to select from git reflog entries

Requirements: git

Code: git-reflog.toml

-
[metadata]
name = "git-reflog"
description = "A channel to select from git reflog entries"
requirements = [ "git",]

[source]
command = "git reflog"
output = "{split: :0}"

[preview]
command = "git show -p --stat --pretty=fuller --color=always {0}"

+
[metadata]
name = "git-reflog"
description = "A channel to select from git reflog entries"
requirements = [ "git",]

[source]
command = "git reflog"
output = "{split: :0}"

[preview]
command = "git show -p --stat --pretty=fuller --color=always '{0}'"


git-repos

A channel to select from git repositories on your local machine.

This channel uses fd to find directories that contain a .git subdirectory, and then allows you to preview the git log of the selected repository.

Requirements: fd, git

Code: git-repos.toml

-
[metadata]
name = "git-repos"
requirements = [ "fd", "git",]
description = "A channel to select from git repositories on your local machine.\n\nThis channel uses `fd` to find directories that contain a `.git` subdirectory, and then allows you to preview the git log of the selected repository.\n"

[source]
command = "fd -g .git -HL -t d -d 10 --prune ~ -E 'Library' -E 'Application Support' --exec dirname {}"
display = "{split:/:-1}"

[preview]
command = "cd {}; git log -n 200 --pretty=medium --all --graph --color"

+
[metadata]
name = "git-repos"
requirements = [ "fd", "git",]
description = "A channel to select from git repositories on your local machine.\n\nThis channel uses `fd` to find directories that contain a `.git` subdirectory, and then allows you to preview the git log of the selected repository.\n"

[source]
command = "fd -g .git -HL -t d -d 10 --prune ~ -E 'Library' -E 'Application Support' --exec dirname '{}'"
display = "{split:/:-1}"

[preview]
command = "cd '{}'; git log -n 200 --pretty=medium --all --graph --color"

+
+

nu-history

+

A channel to select from your nu history

+

Requirements: None

+

Code: nu-history.toml

+
[metadata]
name = "nu-history"
description = "A channel to select from your nu history"

[source]
command = "nu -c 'open $nu.history-path | lines | reverse | to text'"


text

A channel to find and select text from files

Requirements: rg, bat

Code: text.toml

-
[metadata]
name = "text"
description = "A channel to find and select text from files"
requirements = [ "rg", "bat",]

[source]
command = "rg . --no-heading --line-number"
display = "[{split:\\::..2}]\t{split:\\::2}"
output = "{split:\\::..2}"

[preview]
command = "bat -n --color=always {split:\\::0}"
offset = "{split:\\::1}"

[preview.env]
BAT_THEME = "ansi"

[ui.preview_panel]
header = "{split:\\::..2}"

+
[metadata]
name = "text"
description = "A channel to find and select text from files"
requirements = [ "rg", "bat",]

[source]
command = "rg . --no-heading --line-number"
display = "[{split:\\::..2}]\t{split:\\::2}"
output = "{split:\\::..2}"

[preview]
command = "bat -n --color=always '{split:\\::0}'"
offset = "{split:\\::1}"

[preview.env]
BAT_THEME = "ansi"

[ui.preview_panel]
header = "{split:\\::..2}"


zsh-history

A channel to select from your zsh history

Requirements: zsh

Code: zsh-history.toml

[metadata]
name = "zsh-history"
description = "A channel to select from your zsh history"
requirements = [ "zsh",]

[source]
command = "sed '1!G;h;$!d' ${HISTFILE:-${HOME}/.zsh_history}"
display = "{split:;:1..}"
output = "{split:;:1..}"

-
+
\ No newline at end of file diff --git a/docs/Users/community-channels-windows/index.html b/docs/Users/community-channels-windows/index.html index ecc819f..b450252 100644 --- a/docs/Users/community-channels-windows/index.html +++ b/docs/Users/community-channels-windows/index.html @@ -3,15 +3,15 @@ -🍿 Community Channels (windows) | Television - +Community Channels (windows) | Television + -

🍿 Community Channels (windows)

+

Community Channels (windows)

alias

A channel to select from shell aliases

Requirements: None

@@ -22,19 +22,19 @@

A channel to select from directories

Requirements: fd

Code: dirs.toml

-
[metadata]
name = "dirs"
description = "A channel to select from directories"
requirements = [ "fd",]

[source]
command = [ "fd -t d", "fd -t d --hidden",]

[preview]
command = "ls -l {}"

[keybindings]
shortcut = "f2"

+
[metadata]
name = "dirs"
description = "A channel to select from directories"
requirements = [ "fd",]

[source]
command = [ "fd -t d", "fd -t d --hidden",]

[preview]
command = "ls -l '{}'"

[keybindings]
shortcut = "f2"


docker-images

A channel to select from Docker images

Requirements: docker, jq

Code: docker-images.toml

-
[metadata]
name = "docker-images"
description = "A channel to select from Docker images"
requirements = [ "docker", "jq",]

[source]
command = "docker images --format '{{.Repository}}:{{.Tag}} {{.ID}}'"
output = "{split: :-1}"

[preview]
command = "docker image inspect {split: :-1} | jq -C"

+
[metadata]
name = "docker-images"
description = "A channel to select from Docker images"
requirements = [ "docker", "jq",]

[source]
command = "docker images --format '{{.Repository}}:{{.Tag}} {{.ID}}'"
output = "{split: :-1}"

[preview]
command = "docker image inspect '{split: :-1}' | jq -C"


dotfiles

A channel to select from your user's dotfiles

Requirements: fd, bat

Code: dotfiles.toml

-
[metadata]
name = "dotfiles"
description = "A channel to select from your user's dotfiles"
requirements = [ "fd", "bat",]

[source]
command = "fd -t f . \"$env:USERPROFILE\\AppData\\Roaming\\\""

[preview]
command = "bat -n --color=always {}"

+
[metadata]
name = "dotfiles"
description = "A channel to select from your user's dotfiles"
requirements = [ "fd", "bat",]

[source]
command = "fd -t f . \"$env:USERPROFILE\\AppData\\Roaming\\\""

[preview]
command = "bat -n --color=always '{}'"


env

A channel to select from environment variables

@@ -46,31 +46,31 @@

A channel to select files and directories

Requirements: fd, bat

Code: files.toml

-
[metadata]
name = "files"
description = "A channel to select files and directories"
requirements = [ "fd", "bat",]

[source]
command = [ "fd -t f", "fd -t f -H",]

[preview]
command = "bat -n --color=always {}"

[keybindings]
shortcut = "f1"

[preview.env]
BAT_THEME = "ansi"

+
[metadata]
name = "files"
description = "A channel to select files and directories"
requirements = [ "fd", "bat",]

[source]
command = [ "fd -t f", "fd -t f -H",]

[preview]
command = "bat -n --color=always '{}'"

[keybindings]
shortcut = "f1"

[preview.env]
BAT_THEME = "ansi"


git-branch

A channel to select from git branches

Requirements: git

Code: git-branch.toml

-
[metadata]
name = "git-branch"
description = "A channel to select from git branches"
requirements = [ "git",]

[source]
command = "git --no-pager branch --all --format=\"%(refname:short)\""
output = "{split: :0}"

[preview]
command = "git show -p --stat --pretty=fuller --color=always {0}"

+
[metadata]
name = "git-branch"
description = "A channel to select from git branches"
requirements = [ "git",]

[source]
command = "git --no-pager branch --all --format=\"%(refname:short)\""
output = "{split: :0}"

[preview]
command = "git show -p --stat --pretty=fuller --color=always '{0}'"


git-diff

A channel to select files from git diff commands

Requirements: git

Code: git-diff.toml

-
[metadata]
name = "git-diff"
description = "A channel to select files from git diff commands"
requirements = [ "git",]

[source]
command = "git diff --name-only HEAD"

[preview]
command = "git diff HEAD --color=always -- {}"

+
[metadata]
name = "git-diff"
description = "A channel to select files from git diff commands"
requirements = [ "git",]

[source]
command = "git diff --name-only HEAD"

[preview]
command = "git diff HEAD --color=always -- '{}'"


git-log

A channel to select from git log entries

Requirements: git

Code: git-log.toml

-
[metadata]
name = "git-log"
description = "A channel to select from git log entries"
requirements = [ "git",]

[source]
command = "git log --oneline --date=short --pretty=\"format:%h %s %an %cd\""
output = "{split: :0}"

[preview]
command = "git show -p --stat --pretty=fuller --color=always {0}"

+
[metadata]
name = "git-log"
description = "A channel to select from git log entries"
requirements = [ "git",]

[source]
command = "git log --oneline --date=short --pretty=\"format:%h %s %an %cd\""
output = "{split: :0}"

[preview]
command = "git show -p --stat --pretty=fuller --color=always '{0}'"


git-reflog

A channel to select from git reflog entries

Requirements: git

Code: git-reflog.toml

-
[metadata]
name = "git-reflog"
description = "A channel to select from git reflog entries"
requirements = [ "git",]

[source]
command = "git reflog"
output = "{split: :0}"

[preview]
command = "git show -p --stat --pretty=fuller --color=always {0}"

+
[metadata]
name = "git-reflog"
description = "A channel to select from git reflog entries"
requirements = [ "git",]

[source]
command = "git reflog"
output = "{split: :0}"

[preview]
command = "git show -p --stat --pretty=fuller --color=always '{0}'"


git-repos

A channel to select from git repositories on your local machine.

@@ -79,6 +79,12 @@

Code: git-repos.toml

[metadata]
name = "git-repos"
requirements = [ "fd", "git",]
description = "A channel to select from git repositories on your local machine.\n\nThis channel uses `fd` to find directories that contain a `.git` subdirectory, and then allows you to preview the git log of the selected repository.\n"

[source]
command = "fd -g .git -HL -t d -d 10 --prune 'C:\\Users' --exec dirname '{}'"
display = "{split:\\\\:-1}"

[preview]
command = "cd '{}'; git log -n 200 --pretty=medium --all --graph --color"


+

nu-history

+

A channel to select from your nu history

+

Requirements: None

+

Code: nu-history.toml

+
[metadata]
name = "nu-history"
description = "A channel to select from your nu history"

[source]
command = "nu -c 'open $nu.history-path | lines | reverse | to text'"

+

pwsh-history

A channel to select from your powershell history

Requirements: None

@@ -89,7 +95,7 @@

A channel to find and select text from files

Requirements: rg, bat

Code: text.toml

-
[metadata]
name = "text"
description = "A channel to find and select text from files"
requirements = [ "rg", "bat",]

[source]
command = "rg . --no-heading --line-number"
display = "[{split:\\::..2}]\t{split:\\::2}"
output = "{split:\\::..2}"

[preview]
command = "bat -n --color=always {split:\\::0}"
offset = "{split:\\::1}"

[preview.env]
BAT_THEME = "ansi"

[ui.preview_panel]
header = "{split:\\::..2}"

-
+
[metadata]
name = "text"
description = "A channel to find and select text from files"
requirements = [ "rg", "bat",]

[source]
command = "rg . --no-heading --line-number"
display = "[{split:\\::..2}]\t{split:\\::2}"
output = "{split:\\::..2}"

[preview]
command = "bat -n --color=always '{split:\\::0}'"
offset = "{split:\\::1}"

[preview.env]
BAT_THEME = "ansi"

[ui.preview_panel]
header = "{split:\\::..2}"

+
\ No newline at end of file diff --git a/docs/Users/configuration/index.html b/docs/Users/configuration/index.html index 664b870..abd4cfd 100644 --- a/docs/Users/configuration/index.html +++ b/docs/Users/configuration/index.html @@ -4,14 +4,14 @@ Configuration | Television - + -

Configuration

+

Configuration

Default configuration reference

TV's configuration is done through a single TOML file, which allows you to customize the behavior and appearance of the application.

diff --git a/docs/Users/installation/index.html b/docs/Users/installation/index.html index 78377f5..ea642d0 100644 --- a/docs/Users/installation/index.html +++ b/docs/Users/installation/index.html @@ -4,14 +4,14 @@ Installation | Television - + -

Installation

+

Installation

Packaging status

Nix

Television is available on nixpkgs

diff --git a/docs/Users/keybindings/index.html b/docs/Users/keybindings/index.html index adcda56..f73021a 100644 --- a/docs/Users/keybindings/index.html +++ b/docs/Users/keybindings/index.html @@ -4,14 +4,14 @@ Keybindings | Television - + -

Keybindings

+

Keybindings

Default Keybindings

Default keybindings are as follows:

KeyDescription
/ or Ctrl + p / n or Ctrl + k / jNavigate through the list of entries
Ctrl + u / dScroll the preview pane up / down
EnterSelect the current entry
Tab / BackTabToggle selection and move to next / previous entry
Ctrl + yCopy the selected entry to the clipboard
Ctrl + rToggle remote control mode
Ctrl + sToggle send to channel mode
Ctrl + gToggle the help panel
Ctrl + oToggle the preview panel
EscQuit the application
diff --git a/docs/Users/quickstart/index.html b/docs/Users/quickstart/index.html index 09ab3c6..1522976 100644 --- a/docs/Users/quickstart/index.html +++ b/docs/Users/quickstart/index.html @@ -4,14 +4,14 @@ Quickstart | Television - + -

Quickstart

+

Quickstart

Create a channel: ~/.config/television/cable/files.toml

[metadata]
name = "files"
description = "A channel to select files and directories"
requirements = ["fd", "bat"]

[source]
command = "fd -t f"

[preview]
command = "bat -n --color=always '{}'"
env = { BAT_THEME = "Catppuccin Mocha" }

[ui]
preview_panel = { "size" = 70, "scrollbar" = true }

[keybindings]
shortcut = "f1"

Start searching:

diff --git a/docs/Users/search-patterns/index.html b/docs/Users/search-patterns/index.html index f47d8b9..d049291 100644 --- a/docs/Users/search-patterns/index.html +++ b/docs/Users/search-patterns/index.html @@ -4,14 +4,14 @@ Search Patterns | Television - + -

Search Patterns

+

Search Patterns

Tv uses a fuzzy matching algorithm to filter its list of entries. Its behavior depends on the input pattern you provide.

MatcherPattern
Fuzzyfoo
Substring'foo / !foo to negate
Prefix^foo / !^foo to negate
Suffixfoo$ / !foo$ to negate
Exact^foo$ / !^foo$ to negate

These patterns (and matchers) can be associated (as "AND") to express complex search queries such as:

diff --git a/docs/Users/shell-integration/index.html b/docs/Users/shell-integration/index.html index d8763d4..42760d5 100644 --- a/docs/Users/shell-integration/index.html +++ b/docs/Users/shell-integration/index.html @@ -4,14 +4,14 @@ Shell Integration | Television - + -

Shell Integration

+

Shell Integration

Television can integrate with your shell to provide smart autocompletion based on the commands you start typing.

tv-shell-integration

Keybindings

diff --git a/docs/Users/showcase/index.html b/docs/Users/showcase/index.html index 6f92446..6b34a92 100644 --- a/docs/Users/showcase/index.html +++ b/docs/Users/showcase/index.html @@ -4,14 +4,14 @@ Showcase | Television - + -

Showcase

+

Showcase

This section is meant as a community-driven list of user workflows and ways to use television in different contexts to inspire others.

⭐ VSCode extension

https://marketplace.visualstudio.com/items?itemName=alexpasmantier.television

diff --git a/docs/Users/terminal_emulators/index.html b/docs/Users/terminal_emulators/index.html index f05272f..118d106 100644 --- a/docs/Users/terminal_emulators/index.html +++ b/docs/Users/terminal_emulators/index.html @@ -4,16 +4,16 @@ Terminal Emulators | Television - + -

Terminal Emulators

+

Terminal Emulators

Here is a list of terminal emulators that have currently been tested with television and their compatibility status.

Terminal EmulatorTested PlatformsCompatibility
AlacrittymacOS, Linux
KittymacOS, Linux
iTerm2macOS
GhosttymacOS, Linux, Windows
WeztermmacOS, Linux, Windows
macOS TerminalmacOSfunctional but coloring issues
KonsoleLinux
TerminatorLinux
XtermLinux
CmderWindows
FootLinux
RiomacOS, Linux, Windows
WarpmacOS
HypermacOS
-

If you're able to test the application with a configuration not yet listed above, we'd love to hear from your experience 🙏

+

If you're able to test the application with a configuration not yet listed above, we'd love to hear from your experience 🙏

\ No newline at end of file diff --git a/docs/Users/themes/index.html b/docs/Users/themes/index.html index 8f1ebe1..d0adf6d 100644 --- a/docs/Users/themes/index.html +++ b/docs/Users/themes/index.html @@ -4,14 +4,14 @@ Themes | Television - + -

Themes

+

Themes

Builtin themes are available in the themes directory. Feel free to experiment and maybe even contribute your own!

catppuccin catppuccingruvbox gruvbox-dark
solarized-dark solarized-darknord nord

Custom Themes

diff --git a/index.html b/index.html index 6eb8599..80a5d1f 100644 --- a/index.html +++ b/index.html @@ -4,7 +4,7 @@ Television - + diff --git a/markdown-page/index.html b/markdown-page/index.html index e8fff1b..e5f78f1 100644 --- a/markdown-page/index.html +++ b/markdown-page/index.html @@ -4,7 +4,7 @@ Markdown page example | Television - +