দেখা :h :command-completion-custom
গিট দ্বারা তালিকাভুক্ত ফাইলগুলি সম্পূর্ণ করতে আমরা শেষ উদাহরণটি মানিয়ে নিতে পারি।
command! -nargs=1 -bang -complete=customlist,GitFindComplete
\ GitFind edit<bang> <args>
function! GitFindComplete(ArgLead, CmdLine, CursorPos)
let search_pattern = "*" . a:ArgLead . "*"
let shell_cmd = "git ls-files " . shellescape(search_pattern)
return split(system(shell_cmd), "\n")
endfunction
গিট দ্বারা তালিকাভুক্ত ফাইলগুলি খোলার জন্য আপনি এখন স্বয়ং-সমাপ্তি ব্যবহার করতে পারেন:
:GitFind ome_f<Tab>
নোট করুন যে একটি কাস্টম সমাপ্তির কার্যক্রমে, কেবলমাত্র সম্পূর্ণ হওয়া ফাইলগুলির তালিকা তৈরি করার চেয়ে আমাদের আরও বেশি কিছু করতে হবে। আমরা উচিত ফিল্টার বর্তমান কমান্ড যুক্তি তালিকা আপেক্ষিক ArgLead
। এই উদাহরণে, আমরা git
আমাদের জন্য ফিল্টারিং করতে বলি, এটি *
ওয়াইল্ডকার্ডগুলিতে মোড়ানো যুক্তিটি পাস করে ।