Yasnippet नामों के सुझाव दिखाने के लिए कंपनी प्राप्त करें


13

मैं पैकेज कंपनी मोड और Yasnippet का उपयोग करता हूं। जब मैं एक बफर में टाइप कर रहा होता हूं, तो मुझे कंपनी से स्वतः पूर्ण सुझाव मिलते हैं।

Yasnippet के लिए, मेरे पास एक निर्देशिका है जिसमें स्निपेट शामिल हैं। उस निर्देशिका में मेरे पास उदाहरण के लिए, फ़ाइल है foo.yasnippet

जब मैं fooबफर में टाइप कर रहा हूं , और प्रेस करता Tabहूं, तो मुझे yasnippets के लिए एक पॉपअप मेनू मिलता है, जिसे मैं चुनता हूं कि मैं किस स्निपेट ( fooया foo-bar) को सम्मिलित करना चाहता हूं। मैं fooकंपनी के पूरा होने में yasnippet को एकीकृत करना चाहूंगा । जब मैं टाइप करता हूं foo, तो मैं कंपनी पूरा करने वाले पॉपअप में स्निपेट देखना चाहता हूं।

क्या यह संभव है? यदि हां, तो मैं इसे कैसे हासिल कर सकता हूं? Vim में आपके पास Neocomplete और VimSnippets है। जब मैं इधर-उधर गया, तो मुझे यह लिंक एलिस्प के साथ मिला, लेकिन मैं इसे लागू करने के तरीके के बारे में अपना सिर नहीं लपेट सका।

कोई सुझाव?


1
कंपनी के लिए (कंपनी के साथ शामिल) एक विशिष्ट yasnippet "बैकएंड" है। आप इसके बारे में टाइप करके पढ़ सकते हैंC-h f company-yasnippet RET
नानी

जवाबों:


29

मेरे विन्यास में निम्नलिखित स्निपेट हैं और ऐसा लगता है कि जैसा आप चाहते हैं वैसा ही है:

;; Add yasnippet support for all company backends
;; https://github.com/syl20bnr/spacemacs/pull/179
(defvar company-mode/enable-yas t
  "Enable yasnippet for all backends.")

(defun company-mode/backend-with-yas (backend)
  (if (or (not company-mode/enable-yas) (and (listp backend) (member 'company-yasnippet backend)))
      backend
    (append (if (consp backend) backend (list backend))
            '(:with company-yasnippet))))

(setq company-backends (mapcar #'company-mode/backend-with-yas company-backends))

मूल रूप से यह आपके द्वारा सक्रिय किए गए हर दूसरे बैकएंड के साथ यस्नीपेट बैकएंड को सेट करता है, इसलिए आपको संबंधित बैकएंड के साथ-साथ आपके स्निपेट्स के लिए भी उचित पूर्णता मिलती है।


1
मुझे इस पर कोई जवाब मिलने की उम्मीद नहीं थी, इसलिए पैट्रिक, मैं वास्तव में इसके लिए आभारी हूं। उसके लिए धन्यवाद!
रेनेफ्रॉगर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.