Latihan 1 dari materi Terminal Productivity Tips di Terminal — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Lengkapi dua function di kode awal. Baris-baris console.log di bawahnya sudah ada, biarkan saja.
describeShortcut(key): isi object shortcuts dengan tujuh pasangan ini, persis:
Ctrl+R menjadi Reverse search history
Ctrl+C menjadi Batalkan proses yang sedang berjalan
Ctrl+Z menjadi Suspend proses ke background
Ctrl+L menjadi Bersihkan layar terminal
Ctrl+A menjadi Pindah ke awal baris
Ctrl+E menjadi Pindah ke akhir baris
!! menjadi Ulangi perintah terakhir
Tombol lain, seperti Ctrl+X, Ctrl+Q, atau Ctrl+9, mengembalikan Shortcut tidak dikenal. Baris return dengan teks cadangan itu sudah ada di kode awal.
parseTmuxCommand(cmd): kembalikan { action, name }. action adalah kata kedua perintahnya, dan name adalah kata setelah -s atau -t, atau null kalau gak ada keduanya:
tmux new-session -s main menjadi { action: "new-session", name: "main" }
tmux attach-session -t main menjadi { action: "attach-session", name: "main" }
tmux kill-session -t main menjadi { action: "kill-session", name: "main" }
tmux list-sessions menjadi { action: "list-sessions", name: null }
Console harus mencetak enam baris ini, berurutan: Reverse search history, Batalkan proses yang sedang berjalan, Ulangi perintah terakhir, Shortcut tidak dikenal, {"action":"new-session","name":"main"}, {"action":"list-sessions","name":null}.
Hint
describeShortcut adalah kamus: object dengan tombol sebagai key dan deskripsi sebagai value, ditambah teks cadangan untuk tombol yang gak terdaftar. parseTmuxCommand memecah perintah per spasi: kata kedua adalah aksinya, dan namanya ada setelah -s atau -t.
Isi shortcuts dengan tujuh key persis seperti di brief, termasuk "!!" yang harus ditulis dengan tanda kutip. Untuk tmux: const tokens = cmd.trim().split(/\s+/); aksinya tokens[1]; cari posisi -s atau -t dengan findIndex, lalu ambil token sesudahnya, atau null kalau gak ketemu.
const tokens = cmd.trim().split(/\s+/); const flag = tokens.findIndex((t) => t === "-s" || t === "-t"); return { action: tokens[1], name: flag === -1 ? null : tokens[flag + 1] };
</>{ }.css=>#idfn()
Versi baru
HyperSheets
bagian dari BelajarWeb.dev
0%
Membuka gerbang…
HyperSheets
Memperbarui Aplikasi
Versi baru tersedia. Halaman akan dimuat ulang otomatis...