দেখা :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আমাদের জন্য ফিল্টারিং করতে বলি, এটি *ওয়াইল্ডকার্ডগুলিতে মোড়ানো যুক্তিটি পাস করে ।