Skip to content

Commit 6037820

Browse files
authored
Merge pull request #454 from ctrlpvim/fix-filetype-detection
Fix filetype detection mechanism
2 parents e66b5b5 + fd327db commit 6037820

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

autoload/ctrlp.vim

+15-1
Original file line numberDiff line numberDiff line change
@@ -2595,6 +2595,20 @@ fu! s:ExitIfSingleCandidate()
25952595
return 0
25962596
endfu
25972597

2598+
fu! s:IsBuiltin()
2599+
let builtins = ['tag', 'dir', 'bft', 'rts', 'bkd', 'lns', 'chs', 'mix', 'udo', 'qfx']
2600+
let curtype = s:getextvar('sname')
2601+
return s:itemtype < len(s:coretypes) || index(builtins, curtype) > -1
2602+
endfu
2603+
2604+
fu! s:DetectFileType(type, ft)
2605+
if s:IsBuiltin() || empty(a:ft)
2606+
retu 'ctrlp'
2607+
el
2608+
retu 'ctrlp.' . a:ft
2609+
en
2610+
endfu
2611+
25982612
fu! ctrlp#init(type, ...)
25992613
if exists('s:init') || s:iscmdwin() | retu | en
26002614
let [s:ermsg, v:errmsg] = [v:errmsg, '']
@@ -2618,7 +2632,7 @@ fu! ctrlp#init(type, ...)
26182632
en
26192633
en
26202634
cal ctrlp#setlines(s:settype(type))
2621-
let &filetype = empty(&filetype) ? 'ctrlp' : 'ctrlp.' . &filetype
2635+
let &filetype = s:DetectFileType(type, &filetype)
26222636
cal ctrlp#syntax()
26232637
cal s:SetDefTxt()
26242638
let curName = s:CurTypeName()

0 commit comments

Comments
 (0)