[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-1956":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":15,"stars30d":17,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":18,"rankGlobal":10,"rankLanguage":10,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":20,"hasPages":22,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":31,"readmeContent":32,"aiSummary":33,"trendingCount":16,"starSnapshotCount":16,"syncStatus":14,"lastSyncTime":34,"discoverSource":35},1956,"sqv","mendrik-private\u002Fsqv","mendrik-private","sqlite3 viewer","",null,"Rust",161,5,2,1,0,11,2.33,"MIT License",false,"main",true,[24,25,26,27,28,29,30],"database","debian","rust-lang","sqlite","tui","ubuntu","viewer","2026-06-12 02:00:35","# sqview\n\n**sqview** is a keyboard-first terminal viewer for SQLite databases. It is built for fast table browsing, in-place editing, filtering, sorting, and foreign-key navigation without leaving the terminal.\n\n\u003Cimg width=\"2874\" height=\"1593\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fc4e6ffbb-f28f-40fe-892c-0abf9f2fc5d0\" \u002F>\n\u003Cbr\u002F>\n\u003Cimg width=\"2874\" height=\"1593\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F43446fd9-01b1-4856-999a-2a59e59fb183\" \u002F>\n\n## Highlights\n\n- Fast virtual scrolling for large tables\n- Rich cell editors for text, enums, dates, datetimes, and foreign keys\n- Per-column filters, sorting, and alphabet jump navigation\n- Export current views to CSV, JSON, or SQL\n- Read-only mode for safe inspection\n\n## Install\n\n### Debian\u002FUbuntu package\n\nDownload the latest Debian package from GitHub Releases and install it directly:\n\n```bash\ntmp_deb=\"$(mktemp \u002Ftmp\u002Fsqview-linux-amd64.XXXXXX.deb)\"\ncurl -fL --retry 5 --retry-all-errors --retry-delay 2 -o \"$tmp_deb\" \\\n  https:\u002F\u002Fgithub.com\u002Fmendrik-private\u002Fsqv\u002Freleases\u002Flatest\u002Fdownload\u002Fsqview-linux-amd64.deb\nchmod 0644 \"$tmp_deb\"\nsudo apt install \"$tmp_deb\"\nrm -f \"$tmp_deb\"\n```\n\nThis installs the `sqview` package and the `sqview` command, avoiding the `sqv` name collision with Ubuntu's OpenPGP tool.\n\n### Release binary\n\nDownload the latest Linux binary archive from GitHub Releases and install it into `\u002Fusr\u002Flocal\u002Fbin`:\n\n```bash\ncurl -fL --retry 5 --retry-all-errors --retry-delay 2 -o sqview-linux-x86_64.tar.gz \\\n  https:\u002F\u002Fgithub.com\u002Fmendrik-private\u002Fsqv\u002Freleases\u002Flatest\u002Fdownload\u002Fsqview-linux-x86_64.tar.gz\ntar -xzf sqview-linux-x86_64.tar.gz\nsudo install -m 0755 sqview \u002Fusr\u002Flocal\u002Fbin\u002Fsqview\n```\n\n### From source\n\n```bash\ncargo install --path . --bin sqview\n```\n\nOr run directly from the checkout:\n\n```bash\ncargo run --release -- path\u002Fto\u002Fdatabase.db\n```\n\nUse the built-in help to inspect the current CLI surface:\n\n```bash\nsqview --help\nsqview --version\n```\n\n## Usage\n\n```text\nsqview [OPTIONS] \u003CDB_PATH>\nsqview check-terminal\nsqview paths\n```\n\n- `DB_PATH`: path to a SQLite database, or `:memory:`\n- `--readonly`: disable writes\n- `--no-watch`: disable automatic external refresh when the database file changes\n- `check-terminal`: print detected terminal capabilities\n- `paths`: print the config, data, and filter-state paths used by sqview\n\n## Keybindings\n\n### Navigation\n\n| Key | Action |\n|-----|--------|\n| `↑ ↓ ← →` \u002F `h j k l` | Move focused cell |\n| `Home` \u002F `End` | First \u002F last column in row |\n| `Ctrl-Home` \u002F `Ctrl-End` | First \u002F last cell in table |\n| `PgUp` \u002F `PgDn` \u002F `Ctrl-↑` \u002F `Ctrl-↓` | Scroll one viewport |\n| `Mouse wheel` | Scroll rows |\n| `Shift-wheel` | Scroll columns |\n| `Click gutter` | Select a row |\n| `Ctrl-click gutter` | Toggle a row in the selection |\n| `Click cell` | Focus cell |\n\n### Editing\n\n| Key | Action |\n|-----|--------|\n| `Enter` | Open the focused cell picker\u002Feditor |\n| `Alt-Enter` | Insert a newline in the direct text editor |\n| `e` | Open the focused cell in the direct editor |\n| `n` | Set the focused cell to `NULL` when allowed |\n| `Esc` | Clear selection or close popup |\n| `Alt-Enter` | Save an inserted row from the staged row editor |\n| `i` | Insert row in a staged editor, then validate on save |\n| `d` | Delete row |\n| `Ctrl-z` | Undo last write |\n\n### Filtering, sorting, and other actions\n\n| Key | Action |\n|-----|--------|\n| `s` | Cycle sort on focused column |\n| `f` | Open filter popup for focused column |\n| `Shift-F` | Clear filters |\n| `j` | Jump through a foreign key |\n| `Backspace` | Jump back |\n| `Ctrl-b` | Toggle sidebar |\n| `Ctrl-Shift-P` | Command palette |\n| `Ctrl-Q` | Quit |\n\n## Configuration\n\nConfiguration is read from:\n\n```text\n$XDG_CONFIG_HOME\u002Fsqview\u002Fconfig.toml\n```\n\nOn first launch, sqview creates this file automatically if it is missing. If only the legacy `sqv` config exists, sqview copies it forward to the current path before loading it.\n\nExample:\n\n```toml\nnerd_font = true\n\n[theme]\naccent = \"#d99a5e\"\nbg = \"#23211f\"\n\n[symbols]\ntable_icon = \"󰓫\"\nview_icon = \"󰈈\"\nindex_icon = \"󰓹\"\nfilter_icon = \"󰈲\"\nselection = \"⏵\"\ntab_close = \"×\"\n```\n\nEvery theme token and every UI glyph\u002Ficon now lives in this config file, so users can fully restyle the palette and override the icon set without editing Rust sources. Single-cell drawing symbols such as borders, cursors, and selection markers must stay one character wide.\n\n## Development\n\n### Local validation\n\n```bash\ncargo fmt\ncargo clippy -- -D warnings\ncargo test\n```\n\n### Release pipeline\n\nGitHub Actions provides:\n\n1. **CI** on pushes and pull requests: format check, clippy, and tests\n2. **Tagged releases** on `v*` tags:\n    - build the release binary\n    - build a Debian package\n    - publish GitHub Release assets\n3. **Manual releases** from the Actions tab:\n    - use the selected branch's `Cargo.toml` version as the release tag\n    - create or update the matching GitHub Release for that commit\n\nTo cut a release:\n\n```bash\ngit tag v0.2.4\ngit push origin v0.2.4\n```\n","sqview 是一个基于键盘操作的 SQLite 数据库终端查看器，专为快速浏览表、就地编辑、过滤、排序和外键导航而设计。它采用 Rust 语言开发，具有快速虚拟滚动、丰富的单元格编辑器（支持文本、枚举、日期等）、列过滤与排序等功能，并支持导出当前视图到 CSV、JSON 或 SQL 格式。此外，sqview 还提供只读模式以确保安全检查。此工具适用于需要在终端环境中高效管理和分析 SQLite 数据库的场景，如数据库维护、数据分析或开发测试等。","2026-06-11 02:47:03","CREATED_QUERY"]