Cursorless: sihir alien dari masa depan
- Cadey menyebutkan bahwa gejala RSI (cedera regangan berulang) mulai muncul sebelum memulai pekerjaan di tempat kerja barunya.
- Gejala RSI itu memang sudah diperkirakan, dan saat ini sedang dalam proses pemulihan.
- Ketika RSI pernah muncul sebelumnya, ia mengatasinya dengan menulis artikel teknis, tetapi kali ini ia merasa tetap membutuhkan kemampuan pemrograman.
- Cadey biasanya menggunakan emacs, tetapi kali ini menggunakan Visual Studio Code, dan alasannya adalah ekstensi bernama 'Cursorless'.
Fitur Cursorless yang terasa seperti sihir
- 'Cursorless' adalah plugin yang terintegrasi dengan perangkat lunak kontrol suara dan memungkinkan penyuntingan kode pada level AST melalui suara.
- Bagian paling magis dari 'Cursorless' adalah konsep anchor individual dalam dokumen yang disebut 'target (Targets)' dan posisi relatif terhadap target yang disebut 'tujuan (Destinations)'.
- Semua token dalam dokumen diberi topi berwarna yang ditampilkan di atas huruf, sehingga perintah dapat diberikan berdasarkan posisi, tujuan, dan jalur di antaranya.
- Sebagai contoh, kata 'function' dapat dirujuk sebagai 'green urge' dan digunakan untuk menghapus atau memindahkan kata tersebut.
Kekuatan sejati Cursorless
- 'Cursorless' tidak hanya mampu melakukan operasi penyuntingan sederhana, tetapi juga memahami AST sehingga dapat menjalankan tindakan yang mencakup seluruh fungsi.
- Misalnya, melakukan refactor sebuah fungsi menjadi fungsi asinkron menjadi jauh lebih mudah dengan menggunakan 'Cursorless'.
- Cadey menjelaskan bahwa dengan menggunakan 'Cursorless' berulang kali, perintah-perintahnya lambat laun terasa alami seperti kebiasaan kedua.
Menulis perintah sendiri
- Dengan 'Cursorless' dan 'Talon', kita dapat menulis perintah kita sendiri.
- Perintah 'Talon' dibagi menjadi pattern (kata yang diucapkan) dan capture (hal yang ingin diekstrak).
- Dengan mengambil contoh aturan 'Talon' yang paling kompleks, artikel ini menjelaskan cara mendeklarasikan method dalam bahasa Go.
Upaya baru menjelaskan konsep pointer
- Cadey sedang bereksperimen dengan istilah 'raising' dan 'lowering' untuk menjelaskan konsep pointer dalam bahasa Go.
- Sebagai alternatif terhadap sintaks pointer bergaya C yang digunakan Go, ia sedang mengeksplorasi cara mengekspresikan perpindahan antara nilai pointer dan nilai biasa dengan istilah 'raising' dan 'lowering'.
Opini GN⁺
- Poin terpenting dari artikel ini adalah bahwa ekstensi 'Cursorless' meningkatkan aksesibilitas pemrograman melalui kontrol suara, sehingga orang yang kesulitan mengetik akibat cedera seperti RSI pun tetap bisa melakukan coding.
- Yang membuat fitur 'Cursorless' sangat menarik adalah karena ia menawarkan cara inovatif untuk mengedit kode dengan suara, dan ini membuka kemungkinan baru bagi masa depan pengembangan perangkat lunak.
1 komentar
Opini Hacker News
Kejutan penulis dan berbagi repositori eksperimen Talon miliknya
Kegunaan manipulasi kode dan perintah suara dengan Talon
Perbandingan dengan avy yang menggunakan keyboard alih-alih suara
Tautan ke demo pemrograman dengan suara dan rasa takjub karenanya
Presentasi Strange Loop yang menampilkan gambaran umum Cursorless dan contoh penggunaan nyata
Dukungan untuk pengembangan Cursorless dan hambatan pribadi untuk mulai memakainya
Rasa penasaran soal pemilihan perintah suara
Pertanyaan tentang kemungkinan mengatur posisi kursor dengan teknologi pelacakan mata
Berbagi pengalaman RSI dan perbaikan berkat perubahan gaya mengetik