Command Line
Database Live CLI
Kueri database Snipset Desktop yang berjalan dengan aman lewat wrapper live.
Snipset Desktop menyimpan data asli Anda di database SQLite yang berjalan. Membaca file itu langsung saat app masih membukanya bisa berebut file dengan app, maka repositori snipset-cli menyediakan wrapper, scripts/snipset-live.sh, yang membaca dari snapshot dan hanya menyentuh file live untuk penulisan yang dijaga.
Modelnya: baca dari snapshot, tulis ke file live
- Baca (
snippet list/get/search/expand,group list,stats,clipboard,audio,reference) berjalan terhadap salinan snapshot database live, jadi tidak pernah berebut file dengan app. - Tulis (
snippet add/update/delete, dan apa pun yang bukan baca) menyasar database live langsung, tetapi hanya setelahsnipset doctormembuktikannya dapat dijangkau. Jika wrapper menolak penulisan, tutup Snipset Desktop lalu coba lagi.
Snapshot berada di $SNIPSET_LIVE_SNAPSHOT_DIR (default /tmp/snipset-live).
Mengarahkan wrapper ke database Anda
export SNIPSET_LIVE_DB="$LOCALAPPDATA/Snipset/snipset.db"
bash scripts/snipset-live.sh --json snippet search "query"
bash scripts/snipset-live.sh --refresh snippet get <uuid>
snippet expand adalah baca dan tidak pernah menyentuh file live.
Opsi wrapper
Usage: snipset-live.sh [--refresh] [--live-db PATH] [--snapshot-dir DIR] [--] <snipset args>
| Opsi | Efek |
|---|---|
--refresh | Paksa salinan snapshot segar sebelum berjalan. |
--live-db PATH | Path database live, alih-alih SNIPSET_LIVE_DB. |
--snapshot-dir DIR | Direktori snapshot, alih-alih SNIPSET_LIVE_SNAPSHOT_DIR. |
-- | Akhiri flag wrapper, agar argumen setelahnya yang menyerupai flag diteruskan ke snipset. |
Snapshot disegarkan saat tidak ada, saat --refresh diberikan, atau saat database live lebih baru dari snapshot (salinan basi).
Dua aturan tentang --db
Wrapper memiliki flag --db: ia mengarahkan snipset ke snapshot untuk baca dan ke file live untuk penulisan yang dijaga. Maka:
- Wrapper membuang nilai
--dbatau--db=...apa pun dari pengguna; Anda tidak bisa menimpa pilihan database-nya. - Flag wrapper membutuhkan spasi. Bentuk
--flag=valueditolak; tulis--live-db PATH, bukan--live-db=PATH.
Perintah yang bergantung bridge tetap butuh app
Alur kerja snapshot hanya menyelesaikan perebutan file untuk pembacaan database. Perintah yang berbicara dengan aplikasi desktop yang berjalan lewat bridge-nya (lihat referensi perintah) tetap butuh app terbuka terlepas dari wrapper.