Saya menggunakan company-mode
untuk tujuan penyelesaian. Tetapi entah bagaimana, beberapa paket selalu menarik auto-complete
juga, yang bertabrakan company-mode
, karena keduanya menawarkan popup dengan kandidat yang selesai. Saya ingin daftar hitam auto-complete
, karena saya tidak membutuhkannya. Bagaimana saya bisa melakukan itu? Saya tahu ada variabel package-pinned-package
, tetapi saya tidak bisa melihat cara memasukkan paket ke daftar hitam - mungkin dengan menggunakan arsip yang tidak valid?
8
autocomplete-mode
menjadi masalah, itu harus diaktifkan terlebih dahulu, demikian pula halnyacompany-mode
.autocomplete
aktif dalam buffer manacompany-mode
pun yang aktif. Mungkin Anda perlu menonaktifkan secara manualautocomplete
di*mode-hook
salah satu mode utama yang terpengaruh?~/.emacs.d
sesuatu untuk Anda di sepanjang garis(auto-complete-mode)
akan berhasil.Jawaban:
Saya tidak tahu cara daftar hitam instalasi paket. Tetapi mudah untuk mencegahnya dimuat . Jika Anda memasukkan
(provide 'auto-complete)
file init Anda, maka setiap paket yang mencoba memuatauto-complete
akan diberi tahu bahwa itu sudah dimuat.(Lebih tepatnya, ini menangani perpustakaan yang memuat
auto-complete
dengan cara normal, denganrequire
. Jika ada kode yang menggunakanload
secara langsung (yang tidak biasa), Anda perlu meletakkan ini di file terpisah yang disebutauto-complete.el
.)Tentu saja, jika paket membutuhkan
auto-complete
, mungkin karena ia akan menggunakannya. Tetapi mungkin suatu paket hanya menyatakan sumber autocomplete dan memiliki fungsi yang bermanfaat. Jadi Anda dapat membuat bagian yang tidak Anda inginkan no-op. Bergantung pada apa yang dilakukan paket, Anda mungkin perlu definisi serupa lainnya.sumber
Apa yang ditulis @Gilles adalah jawaban umum yang akan saya berikan juga.
Tapi catatan bahwa menggunakan
provide
tidak tidak mencegah kode dari loading paket. Ini mencegah kode dari memuat paket hanya denganrequire
. Jika kode menggunakanload
,load-library
,load-file
dll maka trik ini tidak memiliki efek.Jika Anda benar-benar perlu mencegah kode memuat pustaka yang diberikan, pendekatan yang lebih baik adalah dengan menyediakan pustaka proksi yang dimuat sebagai gantinya. Misalnya, dalam direktori yang datang lebih awal di Anda
load-path
, tambahkan palsuauto-complete.el
yang tidak melakukan apa pun kecuali(provide 'auto-complete)
.Dengan begitu, setiap kali kode mencoba memuat pustaka menggunakan
load
atauload-library
pustaka proksi Anda akan dimuat alih-alih yang Anda hindari.Namun, jika kode menggunakan
load-file
dan memberikan alamat absolut dari file perpustakaan yang Anda coba hindari, maka file itu akan dimuat. Saya tidak melihat solusi yang baik untuk kasus itu (kecuali untuk menghapus atau mengganti file itu).sumber