जैसा कि @ जेसे ने पहले ही बताया, आप जो चाहते हैं, वह company-files
बैकएंड है। इसका उपयोग करने के कई अलग-अलग तरीके हैं:
company-files
सीधे कॉल करने के लिए एक कुंजी को बांधें ।
कमांड का उपयोग करें company-begin-backend
। यह आपको बैकएंड का उपयोग करने के लिए संकेत देता है, फिर पूर्ण होने वाले उम्मीदवारों को प्रदान करता है।
company-other-backend
बैकएंड की सूची के माध्यम से घूमने के लिए उपयोग करें (अगले आइटम देखें)। यह पूरा होने को ट्रिगर करने के लिए इस्तेमाल किया जा सकता है या इसका उपयोग कंपनी मोड के ट्रिगर होने के बाद पूरा होने वाले उम्मीदवारों के एक अलग सेट पर स्विच करने के लिए किया जा सकता है। आप कंपनी के नक्शे में एक महत्वपूर्ण बाध्यकारी असाइन करना चाहते हैं, जैसे(define-key company-active-map (kbd "C-e") #'company-other-backend)
चर को कॉन्फ़िगर करें company-backends
। कंपनी मोड इस सूची को वर्तमान प्रीफिक्स (यानी बिंदु से पहले पाठ) को स्वीकार करने वाले बैकएंड को खोजने के लिए ट्रेस करता है। पूरी तरह से सूची में एक बैकएंड होना संभव है जो वर्तमान उपसर्ग को स्वीकार करता है लेकिन किसी भी पूर्ण उम्मीदवारों की पेशकश नहीं करता है, जिस बिंदु पर कंपनी मोड कुछ भी पूर्ण नहीं करेगा। आप अपनी आवश्यकताओं को पूरा करने वाले बैकेंड्स को ऑर्डर करने के लिए सूची को अनुकूलित कर सकते हैं।
संशोधन के कुछ उदाहरण company-backends
:
यदि आप कभी केवल फ़ाइल नाम को पूरा करना चाहते थे, तो आप अपने एकमात्र बैकएंड को बना सकते थे:
(setq company-backends '(company-files))
ऐसा लगता है कि संभावना नहीं है, इसलिए आप अपना सबसे अधिक इस्तेमाल किया जाने वाला बैकएंड पहले डालना बेहतर समझते हैं और फिर बैकेंड स्विच करने के लिए पहले बताए गए विकल्पों में से एक का उपयोग करते हुए या किसी अन्य चीज़ की आवश्यकता होने पर नाम से आह्वान करते हैं।
आप एक 'समूह' बैकएंड को भी कॉन्फ़िगर कर सकते हैं जो पूर्ण उम्मीदवारों का एक विलय सेट बनाता है। उदाहरण के लिए, इसे आज़माएँ:
(setq company-backends '((company-capf company-dabbrev-code company-files)))
यह एक एकल बैकएंड निर्दिष्ट करता है जो उम्मीदवारों को तीन अन्य बैकएंड से मिलाता है। यह आपको पूर्ण-बिंदु, डाबरेव, और फाइल सिस्टम से परिणाम देगा।
आप विभिन्न प्रमुख मोड के लिए बैकएंड के एक अलग सेट को निर्दिष्ट करने के लिए मोड हुक का उपयोग कर सकते हैं। उदाहरण के लिए:
(add-hook 'org-mode-hook
(lambda ()
(setq-local company-backends '((company-files company-dabbrev)))))
(add-hook 'emacs-lisp-mode-hook
(lambda ()
(setq-local company-backends '((company-capf company-dabbrev-code)))))