Karena kita tidak bisa lagi menggunakan ::selection
ini tidak mungkin lagi seperti pada versi VS Code saat ini.
Ada beberapa tantangan ketika mendekati masalah ini:
Satu ide:
.xterm-rows
dapat ditandai dengan kelas xterm-invert-selection
yang membalikkan warna latar belakang dan latar depan melalui CSS.z-index: 1
dan konten sebenarnya dari baris ditambahkan ke pilihan. aria-hidden
kemudian dapat ditambahkan untuk ukuran yang baik untuk memastikan itu tidak dibacakan dua kali.Tidak yakin apakah itu solusi yang tepat, saya tidak terlalu suka duplikasi teks dalam solusi di atas tetapi setidaknya hanya pada 2 baris.
@Tyriar Memberikan ini beberapa pemikiran, saya khawatir ide Anda di atas tidak akan berfungsi setelah kami mengirimkan dukungan warna yang sebenarnya. Saya khawatir kita harus membagi latar belakang / seleksi / latar depan menjadi lapisan terpisah, dan kemudian memanipulasi latar depan dan latar belakang yang ada di dalam seleksi. Saya akan mencoba membaginya menjadi beberapa lapisan setelah kita menggabungkan truecolor.
Ini lebih bagus untuk dimiliki, saya tidak berpikir kami ingin berkompromi dengan kinerja/arsitektur atau apa pun untuk memungkinkan ini. https://github.com/sourcelair/xterm.js/issues/720 jauh lebih penting.
Saya tidak punya waktu untuk PR sekarang, tetapi saya menemukan bahwa kami dapat menggunakan properti css mix-blend-mode
untuk menyelesaikan ini dengan penyaji dengan upaya yang sangat rendah:
.xterm-selection-layer {
mix-blend-mode: exclusion;
}
Selain itu, bahkan dengan pemilihan warna yang tidak buram, ini akan membuat latar depan, pemilihan, dan latar belakang terlihat:
.xterm-selection-layer {
mix-blend-mode: multiply;
}
Sayangnya, tampaknya tidak didukung oleh Edge atm.
Penutupan karena ini jauh lebih kompleks daripada yang tampaknya benar dan tidak ada yang memilihnya. Plus itu akan menjadi pilihan lain.
Komentar yang paling membantu
Saya tidak punya waktu untuk PR sekarang, tetapi saya menemukan bahwa kami dapat menggunakan properti css
mix-blend-mode
untuk menyelesaikan ini dengan penyaji dengan upaya yang sangat rendah:Selain itu, bahkan dengan pemilihan warna yang tidak buram, ini akan membuat latar depan, pemilihan, dan latar belakang terlihat:
Sayangnya, tampaknya tidak didukung oleh Edge atm.