รับ บริษัท เพื่อแสดงคำแนะนำสำหรับชื่อ Yasnippet


13

ฉันใช้แพ็คเกจ บริษัท โหมดและ Yasnippet เมื่อฉันพิมพ์บัฟเฟอร์ฉันได้รับคำแนะนำการเติมข้อความอัตโนมัติจาก บริษัท

สำหรับ Yasnippet ฉันมีไดเรกทอรีที่มีตัวอย่าง foo.yasnippetในไดเรกทอรีที่ฉันมีตัวอย่างเช่นไฟล์

เมื่อฉันพิมพ์fooในบัฟเฟอร์และกดTabฉันจะได้รับเมนูป๊อปอัพสำหรับ yasnippets ซึ่งฉันจะเลือกตัวอย่าง ( fooหรือfoo-bar) ฉันต้องการแทรก ฉันต้องการรวม yasnippet fooเข้ากับความสำเร็จของ บริษัท เมื่อฉันพิมพ์fooฉันต้องการเห็นตัวอย่างข้อมูลในป๊อปอัปความสมบูรณ์ของ บริษัท

เป็นไปได้ไหม ถ้าเป็นเช่นนั้นฉันจะทำสิ่งนี้ได้อย่างไร ใน Vim คุณมีสิ่งนั้นด้วย Neocomplete และ VimSnippets เมื่อฉันไปเที่ยวรอบ ๆ ฉันพบลิงค์นี้กับ Elispแต่ฉันไม่สามารถคาดศีรษะได้ว่าจะนำไปใช้ได้อย่างไร

ข้อเสนอแนะใด ๆ


1
elisp นั้นคือ "แบ็กเอนด์" 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))

โดยพื้นฐานแล้วมันจะตั้งค่าแบ็กเอนด์ yasnippet กับแบ็กเอนด์อื่น ๆ ที่คุณเปิดใช้งานดังนั้นคุณจะได้รับความสมบูรณ์ที่เหมาะสมสำหรับแบ็กเอนด์ที่เกี่ยวข้องเช่นเดียวกับตัวอย่างของคุณ


1
ฉันไม่ได้คาดหวังว่าจะได้รับคำตอบใด ๆ เกี่ยวกับเรื่องนี้ดังนั้น Patrick ฉันรู้สึกขอบคุณจริงๆสำหรับสิ่งนี้ ขอบคุณสำหรับสิ่งนั้น!
ReneFroger
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.