เพิ่มสตริงในการเติมแท็บ zsh ให้เสร็จสมบูรณ์สำหรับคำสั่งและอาร์กิวเมนต์ทั้งหมด


3

ฉันต้องการเพิ่มคำหลักfooและbarเพิ่มลงในผลลัพธ์การเติมอัตโนมัติสำหรับคำสั่งหรืออาร์กิวเมนต์ใด ๆ

เช่น:

cd <TAB> ควรให้ foo และ bar ในคำแนะนำเพิ่มเติมจากความสำเร็จที่มีอยู่

blah <TAB> ควรให้ foo และ bar ในคำแนะนำเพิ่มเติมจากความสำเร็จที่มีอยู่

บทความเสร็จสิ้น zsh ฉันได้อ่านวิธีการพูดถึงเพื่อเพิ่มความสมบูรณ์ให้กับคำสั่งที่เฉพาะเจาะจง แต่ไม่มีใครพูดถึงวิธีการเพิ่มชุดของคำเพื่อความสมบูรณ์ทั่วโลก (หรือหากมีรายการเสร็จสิ้นทั่วโลกที่มีอยู่เสมอ)

คำตอบ:


3

ต้องขุดผ่านคู่มือ zshcompsys เพื่อหาคำสั่งที่ถูกต้อง

รหัสด้านล่างในตอนท้ายของ ~ / .zshrc ใช้งานได้สำหรับฉัน

function _my_completions() {
  local -a mywords
  mywords=( foo bar )
  compadd -a mywords
}
compdef _my_completions -first-

-first-ธงสำคัญที่นี่คือบริบท ตามหน้าคน zshcompsys

-first-
     This is tried before any other completion function.  The function called may set the _compskip parameter 
     to one of various values: all: no further completion is attempted; a string containing the 
     substring patterns: no pattern completion functions will be called; a string containing default: the
     function for the `-default-' context will not be called, but functions defined for commands will

ขอขอบคุณเราใช้สิ่งนี้เพื่อรวม zsh-autosuggesion กับระบบเสร็จสมบูรณ์: gist.github.com/olejorgenb/678ddc534c157ffb7c61151cf8eb8d03
olejorgenb
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.