Mempertimbangkan sejumlah besar pertanyaan yang ternyata terkait dengan subkulit di Bash ("Mengapa kenaikan variabel saya dalam loop pipawhile read
ini ?"), Saya hanya berpikir akan sangat menyenangkan untuk merujuk ke beberapa editor atau layanan di mana kode yang akan dieksekusi dalam subkulit diformat berbeda dari kode yang dieksekusi di shell induk. Ini mungkin berguna sebagai perangkat pendidikan (lihat perbedaan antara code | code
dan secara code < <(code)
instan). Apakah ini ada?
Poin bonus jika ada yang mengimplementasikannya untuk jEdit atau VIm.
Jelas itu tidak harus sempurna (tidak ada penyorotan sintaks dalam pengalaman saya), tapi saya curiga hal-hal seperti (foo=bar; echo $foo;)
dan command | while read ...
tidak boleh terlalu sulit untuk memulai.
vim
kode sorotan.Jawaban:
Saya rasa ini tidak ada. Ini akan berguna, tetapi sulit untuk diterapkan dengan cara standar sintaks parsing yang digunakan dalam editor. Dari sudut pandang parsing, ada banyak kata kunci dan simbol khusus yang harus dianalisis untuk menentukan blok kode yang dimiliki subkulit.
Tapi saya akan senang melihat saya salah dan seseorang telah melakukan upaya yang diperlukan untuk membuat konfigurasi seperti itu.
sumber
Vim saya sudah melakukan ini.
Ini benar-benar mengganggu saya, karena menyebabkan komentar di dalam subkulit tidak untuk mendapatkan sorotan yang tepat diterapkan.
Ini adalah Vim 7.3 patch 874 yang dikompilasi dari sumber.
sumber
zsh
ketika saya bekerja di dalam subkulit. Itu mengoreksi penyorotan sintaksis.set -x; set -e
bagian tersebut. Dan untuk menangkap semua output itu termasuk stderr ke log.trap
kata kunci disorot di sana. hanya gagal menyoroti komentar. tipe file zsh bekerja meskipun. Sekarang, sejauh membedakan sub shell dari shell utama, (yang setelah semua yang Anda inginkan saya kira), baik ....... gunakan beberapa komentar?