นี่คือวิธีการแล้วเสร็จในการทำงานของ บริษัท company-backends
C-hvcompany-backends
RET(ฉันกำลังลดความซับซ้อนของบิตรายละเอียดเพิ่มเติมสามารถพบได้ในเอกสาร
คุณมีรายการแบ็กเอนด์ (เอ็นจิ้นที่เสร็จสมบูรณ์) บริษัท ควรพยายามที่จะจัดให้มีการดำเนินการให้เสร็จสิ้น ณ จุดนั้น บริษัท พยายามใช้ส่วนแบ็คเอนด์นี้แต่ละอันหลังจากที่อีกอันหนึ่งและอันแรกที่ส่งคืนผู้สมัครจะถูกใช้เพื่อความสำเร็จและส่วนที่เหลือของแบ็กเอนด์จะถูกละเว้น ดังนั้นโดยปกติจะใช้แบ็กเอนด์เพียงหนึ่งครั้ง
ในกรณีของคุณ (ดูเหมือนว่าคุณจะอยู่ในโหมด emacs-lisp-) แบ็กเอนด์ emacs-lisp กำลังส่งผู้สมัครกลับมาเพื่อความสำเร็จและ บริษัทcompany-dabbrev
ก็ไม่เคยใช้จนจบและไม่เคยfoobarsentence
เสร็จ ดังนั้นคุณอาจต้องการเปลี่ยนแบ็กเอนด์ของ บริษัท เพื่อให้company-dabbrev
มาก่อนcompany-elisp
(หรือcompany-capf
ใน emacsen ล่าสุด) แต่ฉันเดาว่านั่นไม่ใช่สิ่งที่คุณต้องการเนื่องจากจะย้อนกลับสถานการณ์ปัจจุบันและคุณจะไม่ได้รับความสำเร็จจากแบ็กเอนด์ emacs-lisp (ซึ่งในกรณีนี้จะอ่าน)
บริษัท จัดให้มีวิธีการรวมความสำเร็จจากหลาย ๆ แหล่งโดยใช้สิ่งที่เรียกว่าgrouped
แบ็กเอนด์ โดยปกติแล้วสมาชิกของcompany-backends
มีแบ็กเอนด์ของแต่ละบุคคล แต่ก็ยังสามารถเป็นรายชื่อของแบ็กเอนด์ซึ่งในกรณีเสร็จสิ้นจากแบ็กเอนด์ที่มีการผสานให้พวกเขากลับเดียวกันprefix
หรือข้อความจะแล้วเสร็จ (โปรดดูเอกสารcompany-backends
สำหรับรายละเอียด)
ดังนั้นหากคุณต้องการรวมความสำเร็จจากcompany-elisp
(เมื่อใช้ emacsen ล่าสุดcompany-capf
) และcompany-dabbrev
ทำสิ่งนี้
(add-to-list 'company-backends '(company-capf company-dabbrev))
นอกจากนี้คุณสามารถผสานแบ็กเอนด์ต่าง ๆ โดยใช้:with
คำหลัก
(add-to-list 'company-backends '(company-capf :with company-dabbrev))
สิ่งนี้แตกต่างจากตัวอย่างรายการแบ็กเอนด์ที่ไม่มี:with
เนื่องจาก บริษัท จะใช้เฉพาะแบ็กเอนด์ก่อน:with
เพื่อพิจารณาprefix
(ข้อความที่จะแล้วเสร็จ) นี่ก็หมายความว่าผู้สมัครจากแบ็กเอนด์หลังจากที่:with
จะถูกละเว้นโดย บริษัท ไม่ว่าแบ็กเอนด์กลับprefix
หรือไม่ถ้าไม่มีแบ็กเอนด์ก่อนที่จะกลับมา:with
prefix
คุณอาจต้องการตั้งค่านี้ในเครื่องใน emacs-lisp buffer (ฉันชอบที่จะทำ)