" Vim support file to detect file types " " Maintainer: Adam Stankiewicz " URL: https://github.com/sheerun/vim-polyglot " We are not supporting non-compatible mode if &compatible finish endif " Listen very carefully, I will say this only once if exists("did_load_polyglot") finish endif let did_load_polyglot = 1 " It can happen vim filetype.vim loads first, then we need a reset if exists("did_load_filetypes") au! filetypedetect endif " Prevent filetype.vim of vim from loading again let did_load_filetypes = 1 " Line continuation is used here, remove 'C' from 'cpoptions' let s:cpo_save = &cpo set cpo&vim func! s:Observe(fn) let b:polyglot_observe = a:fn augroup polyglot-observer au! CursorHold,CursorHoldI,BufWritePost \ execute('if polyglot#' . b:polyglot_observe . '() | au! polyglot-observer | endif') augroup END endfunc let s:disabled_packages = {} let s:new_polyglot_disabled = [] if exists('g:polyglot_disabled') for pkg in g:polyglot_disabled let base = split(pkg, '\.') if len(base) > 0 let s:disabled_packages[pkg] = 1 call add(s:new_polyglot_disabled, base[0]) endif endfor else let g:polyglot_disabled_not_set = 1 endif function! s:SetDefault(name, value) if !exists(a:name) let {a:name} = a:value endif endfunction call s:SetDefault('g:markdown_enable_spell_checking', 0) call s:SetDefault('g:markdown_enable_input_abbreviations', 0) call s:SetDefault('g:markdown_enable_mappings', 0) " Enable jsx syntax by default call s:SetDefault('g:jsx_ext_required', 0) " Needed for sql highlighting call s:SetDefault('g:javascript_sql_dialect', 'sql') " Make csv loading faster call s:SetDefault('g:csv_start', 1) call s:SetDefault('g:csv_end', 2) call s:SetDefault('g:csv_default_delim', ',') " Disable json concealing by default call s:SetDefault('g:vim_json_syntax_conceal', 0) call s:SetDefault('g:filetype_euphoria', 'elixir') if !exists('g:python_highlight_all') call s:SetDefault('g:python_highlight_builtins', 1) call s:SetDefault('g:python_highlight_builtin_objs', 1) call s:SetDefault('g:python_highlight_builtin_types', 1) call s:SetDefault('g:python_highlight_builtin_funcs', 1) call s:SetDefault('g:python_highlight_builtin_funcs_kwarg', 1) call s:SetDefault('g:python_highlight_exceptions', 1) call s:SetDefault('g:python_highlight_string_formatting', 1) call s:SetDefault('g:python_highlight_string_format', 1) call s:SetDefault('g:python_highlight_string_templates', 1) call s:SetDefault('g:python_highlight_indent_errors', 1) call s:SetDefault('g:python_highlight_space_errors', 1) call s:SetDefault('g:python_highlight_doctests', 1) call s:SetDefault('g:python_highlight_func_calls', 1) call s:SetDefault('g:python_highlight_class_vars', 1) call s:SetDefault('g:python_highlight_operators', 1) call s:SetDefault('g:python_highlight_file_headers_as_comments', 1) call s:SetDefault('g:python_slow_sync', 1) endif " We need it because scripts.vim in vim uses "set ft=" which cannot be " overridden with setf (and we can't use set ft= so our scripts.vim work) func! s:Setf(ft) if &filetype !~# '\<'.a:ft.'\>' let &filetype = a:ft endif endfunc " Function used for patterns that end in a star: don't set the filetype if the " file name matches ft_ignore_pat. " When using this, the entry should probably be further down below with the " other StarSetf() calls. func! s:StarSetf(ft) if expand("") !~ g:ft_ignore_pat exe 'setf ' . a:ft endif endfunc augroup filetypedetect " DO NOT EDIT CODE BELOW, IT IS GENERATED WITH MAKEFILE if !has_key(s:disabled_packages, 'pullrequest') au BufNewFile,BufRead PULLREQ_EDITMSG setf pullrequest endif if !has_key(s:disabled_packages, 'text') au BufNewFile,BufRead *.text,README setf text endif if !has_key(s:disabled_packages, 'svn') au BufNewFile,BufRead svn-commit*.tmp setf svn endif if !has_key(s:disabled_packages, 'logcheck') au BufNewFile,BufRead */etc/logcheck/*.d*/* call s:StarSetf('logcheck') endif if !has_key(s:disabled_packages, 'fvwm') au BufNewFile,BufRead */.fvwm/* call s:StarSetf('fvwm') endif if !has_key(s:disabled_packages, 'crontab') au BufNewFile,BufRead crontab setf crontab au BufNewFile,BufRead crontab.* call s:StarSetf('crontab') au BufNewFile,BufRead */etc/cron.d/* call s:StarSetf('crontab') endif if !has_key(s:disabled_packages, 'bzr') au BufNewFile,BufRead bzr_log.* call s:StarSetf('bzr') endif if !has_key(s:disabled_packages, 'asteriskvm') au BufNewFile,BufRead *asterisk*/*voicemail.conf* call s:StarSetf('asteriskvm') endif if !has_key(s:disabled_packages, 'asterisk') au BufNewFile,BufRead *asterisk/*.conf* call s:StarSetf('asterisk') endif if !has_key(s:disabled_packages, 'apachestyle') au BufNewFile,BufRead proftpd.conf* call s:StarSetf('apachestyle') au BufNewFile,BufRead */etc/proftpd/conf.*/* call s:StarSetf('apachestyle') au BufNewFile,BufRead */etc/proftpd/*.conf* call s:StarSetf('apachestyle') endif if !has_key(s:disabled_packages, 'z8a') au BufNewFile,BufRead *.z8a setf z8a endif if !has_key(s:disabled_packages, 'zimbutempl') au BufNewFile,BufRead *.zut setf zimbutempl endif if !has_key(s:disabled_packages, 'zimbu') au BufNewFile,BufRead *.zu setf zimbu endif if !has_key(s:disabled_packages, 'yacc') au BufNewFile,BufRead *.y++,*.yxx,*.yy setf yacc endif if !has_key(s:disabled_packages, 'xslt') au BufNewFile,BufRead *.xsl,*.xslt setf xslt endif if !has_key(s:disabled_packages, 'xsd') au BufNewFile,BufRead *.xsd setf xsd endif if !has_key(s:disabled_packages, 'xquery') au BufNewFile,BufRead *.xq,*.xql,*.xqm,*.xquery,*.xqy setf xquery endif if !has_key(s:disabled_packages, 'xmodmap') au BufNewFile,BufRead *Xmodmap setf xmodmap au BufNewFile,BufRead *xmodmap* call s:StarSetf('xmodmap') endif if !has_key(s:disabled_packages, 'xmath') au BufNewFile,BufRead *.msc,*.msf setf xmath endif if !has_key(s:disabled_packages, 'xdefaults') au BufNewFile,BufRead *.ad,{.,}Xdefaults,{.,}Xpdefaults,{.,}Xresources,xdm-config setf xdefaults au BufNewFile,BufRead Xresources* call s:StarSetf('xdefaults') au BufNewFile,BufRead */app-defaults/* call s:StarSetf('xdefaults') au BufNewFile,BufRead */Xresources/* call s:StarSetf('xdefaults') endif if !has_key(s:disabled_packages, 'xinetd') au BufNewFile,BufRead */etc/xinetd.conf setf xinetd au BufNewFile,BufRead */etc/xinetd.d/* call s:StarSetf('xinetd') endif if !has_key(s:disabled_packages, 'xhtml') au BufNewFile,BufRead *.xht,*.xhtml setf xhtml endif if !has_key(s:disabled_packages, 'wsh') au BufNewFile,BufRead *.ws[fc] setf wsh endif if !has_key(s:disabled_packages, 'cvs') au BufNewFile,BufRead cvs\d\+ setf cvs endif if !has_key(s:disabled_packages, 'cvsrc') au BufNewFile,BufRead {.,}cvsrc setf cvsrc endif if !has_key(s:disabled_packages, 'wvdial') au BufNewFile,BufRead {.,}wvdialrc,wvdial.conf setf wvdial endif if !has_key(s:disabled_packages, 'wsml') au BufNewFile,BufRead *.wsml setf wsml endif if !has_key(s:disabled_packages, 'winbatch') au BufNewFile,BufRead *.wbt setf winbatch endif if !has_key(s:disabled_packages, 'wml') au BufNewFile,BufRead *.wml setf wml endif if !has_key(s:disabled_packages, 'wget') au BufNewFile,BufRead {.,}wgetrc,wgetrc setf wget endif if !has_key(s:disabled_packages, 'webmacro') au BufNewFile,BufRead *.wm setf webmacro endif if !has_key(s:disabled_packages, 'wast') au BufNewFile,BufRead *.wast,*.wat setf wast endif if !has_key(s:disabled_packages, 'vroom') au BufNewFile,BufRead *.vroom setf vroom endif if !has_key(s:disabled_packages, 'vrml') au BufNewFile,BufRead *.wrl setf vrml endif if !has_key(s:disabled_packages, 'vgrindefs') au BufNewFile,BufRead vgrindefs setf vgrindefs endif if !has_key(s:disabled_packages, 'viminfo') au BufNewFile,BufRead {.,}viminfo,_viminfo setf viminfo endif if !has_key(s:disabled_packages, 'vim') au BufNewFile,BufRead *.vba,*.vim,{.,}exrc,_exrc setf vim au BufNewFile,BufRead *vimrc* call s:StarSetf('vim') endif if !has_key(s:disabled_packages, 'vhdl') au BufNewFile,BufRead *.hdl,*.vbe,*.vhd,*.vhdl,*.vho,*.vst setf vhdl au BufNewFile,BufRead *.vhdl_[0-9]* call s:StarSetf('vhdl') endif if !has_key(s:disabled_packages, 'systemverilog') au BufNewFile,BufRead *.sv,*.svh setf systemverilog endif if !has_key(s:disabled_packages, 'verilogams') au BufNewFile,BufRead *.va,*.vams setf verilogams endif if !has_key(s:disabled_packages, 'verilog') au BufNewFile,BufRead *.v setf verilog endif if !has_key(s:disabled_packages, 'vera') au BufNewFile,BufRead *.vr,*.vrh,*.vri setf vera endif if !has_key(s:disabled_packages, 'upstart') au BufNewFile,BufRead */.config/upstart/*.conf,*/.config/upstart/*.override,*/.init/*.conf,*/.init/*.override,*/etc/init/*.conf,*/etc/init/*.override,*/usr/share/upstart/*.conf,*/usr/share/upstart/*.override setf upstart endif if !has_key(s:disabled_packages, 'updatedb') au BufNewFile,BufRead */etc/updatedb.conf setf updatedb endif if !has_key(s:disabled_packages, 'uc') au BufNewFile,BufRead *.uc setf uc endif if !has_key(s:disabled_packages, 'udevperm') au BufNewFile,BufRead */etc/udev/permissions.d/*.permissions setf udevperm endif if !has_key(s:disabled_packages, 'udevconf') au BufNewFile,BufRead */etc/udev/udev.conf setf udevconf endif if !has_key(s:disabled_packages, 'uil') au BufNewFile,BufRead *.uil,*.uit setf uil endif if !has_key(s:disabled_packages, 'tsscl') au BufNewFile,BufRead *.tsscl setf tsscl endif if !has_key(s:disabled_packages, 'tssop') au BufNewFile,BufRead *.tssop setf tssop endif if !has_key(s:disabled_packages, 'tssgm') au BufNewFile,BufRead *.tssgm setf tssgm endif if !has_key(s:disabled_packages, 'trustees') au BufNewFile,BufRead trustees.conf setf trustees endif if !has_key(s:disabled_packages, 'treetop') au BufNewFile,BufRead *.treetop setf treetop endif if !has_key(s:disabled_packages, 'tpp') au BufNewFile,BufRead *.tpp setf tpp endif if !has_key(s:disabled_packages, 'tidy') au BufNewFile,BufRead {.,}tidyrc,tidyrc setf tidy endif if !has_key(s:disabled_packages, 'texmf') au BufNewFile,BufRead texmf.cnf setf texmf endif if !has_key(s:disabled_packages, 'texinfo') au BufNewFile,BufRead *.texi,*.texinfo,*.txi setf texinfo endif if !has_key(s:disabled_packages, 'tex') au BufNewFile,BufRead *.bbl,*.dtx,*.latex,*.ltx,*.sty setf tex endif if !has_key(s:disabled_packages, 'terminfo') au BufNewFile,BufRead *.ti setf terminfo endif if !has_key(s:disabled_packages, 'teraterm') au BufNewFile,BufRead *.ttl setf teraterm endif if !has_key(s:disabled_packages, 'tsalt') au BufNewFile,BufRead *.slt setf tsalt endif if !has_key(s:disabled_packages, 'tli') au BufNewFile,BufRead *.tli setf tli endif if !has_key(s:disabled_packages, 'tcl') au BufNewFile,BufRead *.itcl,*.itk,*.jacl,*.tcl,*.tk setf tcl endif if !has_key(s:disabled_packages, 'taskedit') au BufNewFile,BufRead *.task setf taskedit endif if !has_key(s:disabled_packages, 'taskdata') au BufNewFile,BufRead {pending,completed,undo}.data setf taskdata endif if !has_key(s:disabled_packages, 'tak') au BufNewFile,BufRead *.tak setf tak endif if !has_key(s:disabled_packages, 'tags') au BufNewFile,BufRead tags setf tags endif if !has_key(s:disabled_packages, 'sudoers') au BufNewFile,BufRead */etc/sudoers,sudoers.tmp setf sudoers endif if !has_key(s:disabled_packages, 'sdc') au BufNewFile,BufRead *.sdc setf sdc endif if !has_key(s:disabled_packages, 'sysctl') au BufNewFile,BufRead */etc/sysctl.conf,*/etc/sysctl.d/*.conf setf sysctl endif if !has_key(s:disabled_packages, 'sil') au BufNewFile,BufRead *.sil setf sil endif if !has_key(s:disabled_packages, 'swiftgyb') au BufNewFile,BufRead *.swift.gyb setf swiftgyb endif if !has_key(s:disabled_packages, 'voscm') au BufNewFile,BufRead *.cm setf voscm endif if !has_key(s:disabled_packages, 'sml') au BufNewFile,BufRead *.sml setf sml endif if !has_key(s:disabled_packages, 'stp') au BufNewFile,BufRead *.stp setf stp endif if !has_key(s:disabled_packages, 'smcl') au BufNewFile,BufRead *.hlp,*.ihlp,*.smcl setf smcl endif if !has_key(s:disabled_packages, 'stata') au BufNewFile,BufRead *.ado,*.do,*.imata,*.mata setf stata endif if !has_key(s:disabled_packages, 'sshdconfig') au BufNewFile,BufRead */etc/ssh/sshd_config.d/*.conf,sshd_config setf sshdconfig endif if !has_key(s:disabled_packages, 'sshconfig') au BufNewFile,BufRead */.ssh/config,*/etc/ssh/ssh_config.d/*.conf,ssh_config setf sshconfig endif if !has_key(s:disabled_packages, 'sqr') au BufNewFile,BufRead *.sqi,*.sqr setf sqr endif if !has_key(s:disabled_packages, 'sqlj') au BufNewFile,BufRead *.sqlj setf sqlj endif if !has_key(s:disabled_packages, 'squid') au BufNewFile,BufRead squid.conf setf squid endif if !has_key(s:disabled_packages, 'spice') au BufNewFile,BufRead *.sp,*.spice setf spice endif if !has_key(s:disabled_packages, 'slice') au BufNewFile,BufRead *.ice setf slice endif if !has_key(s:disabled_packages, 'spup') au BufNewFile,BufRead *.spd,*.spdata,*.speedup setf spup endif if !has_key(s:disabled_packages, 'hog') au BufNewFile,BufRead *.hog,snort.conf,vision.conf setf hog endif if !has_key(s:disabled_packages, 'mib') au BufNewFile,BufRead *.mib,*.my setf mib endif if !has_key(s:disabled_packages, 'snobol4') au BufNewFile,BufRead *.sno,*.spt setf snobol4 endif if !has_key(s:disabled_packages, 'smith') au BufNewFile,BufRead *.smith,*.smt setf smith endif if !has_key(s:disabled_packages, 'st') au BufNewFile,BufRead *.st setf st endif if !has_key(s:disabled_packages, 'slrnsc') au BufNewFile,BufRead *.score setf slrnsc endif if !has_key(s:disabled_packages, 'slrnrc') au BufNewFile,BufRead {.,}slrnrc setf slrnrc endif if !has_key(s:disabled_packages, 'skill') au BufNewFile,BufRead *.cdf,*.il,*.ils setf skill endif if !has_key(s:disabled_packages, 'sisu') au BufNewFile,BufRead *.-sst,*.-sst.meta,*._sst,*._sst.meta,*.ssi,*.ssm,*.sst,*.sst.meta setf sisu endif if !has_key(s:disabled_packages, 'sinda') au BufNewFile,BufRead *.s85,*.sin setf sinda endif if !has_key(s:disabled_packages, 'simula') au BufNewFile,BufRead *.sim setf simula endif if !has_key(s:disabled_packages, 'screen') au BufNewFile,BufRead {.,}screenrc,screenrc setf screen endif if !has_key(s:disabled_packages, 'scheme') au BufNewFile,BufRead *.rkt,*.scm,*.ss setf scheme endif if !has_key(s:disabled_packages, 'catalog') au BufNewFile,BufRead catalog setf catalog au BufNewFile,BufRead sgml.catalog* call s:StarSetf('catalog') endif if !has_key(s:disabled_packages, 'setserial') au BufNewFile,BufRead */etc/serial.conf setf setserial endif if !has_key(s:disabled_packages, 'slpspi') au BufNewFile,BufRead */etc/slp.spi setf slpspi endif if !has_key(s:disabled_packages, 'spyce') au BufNewFile,BufRead *.spi,*.spy setf spyce endif if !has_key(s:disabled_packages, 'slpreg') au BufNewFile,BufRead */etc/slp.reg setf slpreg endif if !has_key(s:disabled_packages, 'slpconf') au BufNewFile,BufRead */etc/slp.conf setf slpconf endif if !has_key(s:disabled_packages, 'services') au BufNewFile,BufRead */etc/services setf services endif if !has_key(s:disabled_packages, 'sm') au BufNewFile,BufRead sendmail.cf setf sm endif if !has_key(s:disabled_packages, 'sieve') au BufNewFile,BufRead *.sieve,*.siv setf sieve endif if !has_key(s:disabled_packages, 'sed') au BufNewFile,BufRead *.sed setf sed endif if !has_key(s:disabled_packages, 'sdl') au BufNewFile,BufRead *.pr,*.sdl setf sdl endif if !has_key(s:disabled_packages, 'sd') au BufNewFile,BufRead *.sd setf sd endif if !has_key(s:disabled_packages, 'scilab') au BufNewFile,BufRead *.sce,*.sci setf scilab endif if !has_key(s:disabled_packages, 'sather') au BufNewFile,BufRead *.sa setf sather endif if !has_key(s:disabled_packages, 'sass') au BufNewFile,BufRead *.sass setf sass endif if !has_key(s:disabled_packages, 'sas') au BufNewFile,BufRead *.sas setf sas endif if !has_key(s:disabled_packages, 'samba') au BufNewFile,BufRead smb.conf setf samba endif if !has_key(s:disabled_packages, 'slang') au BufNewFile,BufRead *.sl setf slang endif if !has_key(s:disabled_packages, 'rtf') au BufNewFile,BufRead *.rtf setf rtf endif if !has_key(s:disabled_packages, 'rpcgen') au BufNewFile,BufRead *.x setf rpcgen endif if !has_key(s:disabled_packages, 'robots') au BufNewFile,BufRead robots.txt setf robots endif if !has_key(s:disabled_packages, 'rpl') au BufNewFile,BufRead *.rpl setf rpl endif if !has_key(s:disabled_packages, 'rng') au BufNewFile,BufRead *.rng setf rng endif if !has_key(s:disabled_packages, 'rnc') au BufNewFile,BufRead *.rnc setf rnc endif if !has_key(s:disabled_packages, 'resolv') au BufNewFile,BufRead resolv.conf setf resolv endif if !has_key(s:disabled_packages, 'remind') au BufNewFile,BufRead *.rem,*.remind,{.,}reminders setf remind au BufNewFile,BufRead {.,}reminders* call s:StarSetf('remind') endif if !has_key(s:disabled_packages, 'rrst') au BufNewFile,BufRead *.rrst,*.srst setf rrst endif if !has_key(s:disabled_packages, 'rmd') au BufNewFile,BufRead *.rmd,*.smd setf rmd endif if !has_key(s:disabled_packages, 'rnoweb') au BufNewFile,BufRead *.rnw,*.snw setf rnoweb endif if !has_key(s:disabled_packages, 'rexx') au BufNewFile,BufRead *.jrexx,*.orx,*.rex,*.rexx,*.rexxj,*.rxj,*.rxo,*.testGroup,*.testUnit setf rexx endif if !has_key(s:disabled_packages, 'rego') au BufNewFile,BufRead *.rego setf rego endif if !has_key(s:disabled_packages, 'rib') au BufNewFile,BufRead *.rib setf rib endif if !has_key(s:disabled_packages, 'readline') au BufNewFile,BufRead {.,}inputrc,inputrc setf readline endif if !has_key(s:disabled_packages, 'rcs') au BufNewFile,BufRead *\,v setf rcs endif if !has_key(s:disabled_packages, 'ratpoison') au BufNewFile,BufRead {.,}ratpoisonrc,ratpoisonrc setf ratpoison endif if !has_key(s:disabled_packages, 'radiance') au BufNewFile,BufRead *.mat,*.rad setf radiance endif if !has_key(s:disabled_packages, 'pyrex') au BufNewFile,BufRead *.pxd,*.pyx setf pyrex endif if !has_key(s:disabled_packages, 'protocols') au BufNewFile,BufRead */etc/protocols setf protocols endif if !has_key(s:disabled_packages, 'promela') au BufNewFile,BufRead *.pml setf promela endif if !has_key(s:disabled_packages, 'psf') au BufNewFile,BufRead *.psf setf psf endif if !has_key(s:disabled_packages, 'procmail') au BufNewFile,BufRead {.,}procmail,{.,}procmailrc setf procmail endif if !has_key(s:disabled_packages, 'privoxy') au BufNewFile,BufRead *.action setf privoxy endif if !has_key(s:disabled_packages, 'proc') au BufNewFile,BufRead *.pc setf proc endif if !has_key(s:disabled_packages, 'obj') au BufNewFile,BufRead *.obj setf obj endif if !has_key(s:disabled_packages, 'ppwiz') au BufNewFile,BufRead *.ih,*.it setf ppwiz endif if !has_key(s:disabled_packages, 'pccts') au BufNewFile,BufRead *.g setf pccts endif if !has_key(s:disabled_packages, 'povini') au BufNewFile,BufRead {.,}povrayrc setf povini endif if !has_key(s:disabled_packages, 'pov') au BufNewFile,BufRead *.pov setf pov endif if !has_key(s:disabled_packages, 'ppd') au BufNewFile,BufRead *.ppd setf ppd endif if !has_key(s:disabled_packages, 'postscr') au BufNewFile,BufRead *.afm,*.ai,*.eps,*.epsf,*.epsi,*.pfa,*.ps setf postscr endif if !has_key(s:disabled_packages, 'pfmain') au BufNewFile,BufRead main.cf setf pfmain endif if !has_key(s:disabled_packages, 'po') au BufNewFile,BufRead *.po,*.pot setf po endif if !has_key(s:disabled_packages, 'plp') au BufNewFile,BufRead *.plp setf plp endif if !has_key(s:disabled_packages, 'plsql') au BufNewFile,BufRead *.pls,*.plsql setf plsql endif if !has_key(s:disabled_packages, 'plm') au BufNewFile,BufRead *.p36,*.pac,*.plm setf plm endif if !has_key(s:disabled_packages, 'pli') au BufNewFile,BufRead *.pl1,*.pli setf pli endif if !has_key(s:disabled_packages, 'pine') au BufNewFile,BufRead {.,}pinerc,{.,}pinercex,pinerc,pinercex setf pine endif if !has_key(s:disabled_packages, 'pilrc') au BufNewFile,BufRead *.rcp setf pilrc endif if !has_key(s:disabled_packages, 'pinfo') au BufNewFile,BufRead */.pinforc,*/etc/pinforc setf pinfo endif if !has_key(s:disabled_packages, 'cmod') au BufNewFile,BufRead *.cmod setf cmod endif if !has_key(s:disabled_packages, 'pike') au BufNewFile,BufRead *.pike,*.pmod setf pike endif if !has_key(s:disabled_packages, 'pcmk') au BufNewFile,BufRead *.pcmk setf pcmk endif if !has_key(s:disabled_packages, 'pdf') au BufNewFile,BufRead *.pdf setf pdf endif if !has_key(s:disabled_packages, 'pascal') au BufNewFile,BufRead *.dpr,*.pas setf pascal endif if !has_key(s:disabled_packages, 'passwd') au BufNewFile,BufRead */etc/passwd,*/etc/passwd-,*/etc/passwd.edit,*/etc/shadow,*/etc/shadow-,*/etc/shadow.edit,*/var/backups/passwd.bak,*/var/backups/shadow.bak setf passwd endif if !has_key(s:disabled_packages, 'papp') au BufNewFile,BufRead *.papp,*.pxml,*.pxsl setf papp endif if !has_key(s:disabled_packages, 'pamenv') au BufNewFile,BufRead {.,}pam_environment,pam_env.conf setf pamenv endif if !has_key(s:disabled_packages, 'pamconf') au BufNewFile,BufRead */etc/pam.conf setf pamconf au BufNewFile,BufRead */etc/pam.d/* call s:StarSetf('pamconf') endif if !has_key(s:disabled_packages, 'pf') au BufNewFile,BufRead pf.conf setf pf endif if !has_key(s:disabled_packages, 'ora') au BufNewFile,BufRead *.ora setf ora endif if !has_key(s:disabled_packages, 'opl') au BufNewFile,BufRead *.[Oo][Pp][Ll] setf opl endif if !has_key(s:disabled_packages, 'openroad') au BufNewFile,BufRead *.or setf openroad endif if !has_key(s:disabled_packages, 'omnimark') au BufNewFile,BufRead *.xin,*.xom setf omnimark endif if !has_key(s:disabled_packages, 'occam') au BufNewFile,BufRead *.occ setf occam endif if !has_key(s:disabled_packages, 'nsis') au BufNewFile,BufRead *.nsh,*.nsi setf nsis endif if !has_key(s:disabled_packages, 'nqc') au BufNewFile,BufRead *.nqc setf nqc endif if !has_key(s:disabled_packages, 'nroff') au BufNewFile,BufRead *.mom,*.nr,*.roff,*.tmac,*.tr setf nroff au BufNewFile,BufRead tmac.* call s:StarSetf('nroff') endif if !has_key(s:disabled_packages, 'ncf') au BufNewFile,BufRead *.ncf setf ncf endif if !has_key(s:disabled_packages, 'ninja') au BufNewFile,BufRead *.ninja setf ninja endif if !has_key(s:disabled_packages, 'netrc') au BufNewFile,BufRead {.,}netrc setf netrc endif if !has_key(s:disabled_packages, 'neomuttrc') au BufNewFile,BufRead Neomuttrc setf neomuttrc au BufNewFile,BufRead neomuttrc* call s:StarSetf('neomuttrc') au BufNewFile,BufRead Neomuttrc* call s:StarSetf('neomuttrc') au BufNewFile,BufRead {.,}neomuttrc* call s:StarSetf('neomuttrc') au BufNewFile,BufRead */.neomutt/neomuttrc* call s:StarSetf('neomuttrc') endif if !has_key(s:disabled_packages, 'natural') au BufNewFile,BufRead *.NS[ACGLMNPS] setf natural endif if !has_key(s:disabled_packages, 'nanorc') au BufNewFile,BufRead *.nanorc,*/etc/nanorc setf nanorc endif if !has_key(s:disabled_packages, 'n1ql') au BufNewFile,BufRead *.n1ql,*.nql setf n1ql endif if !has_key(s:disabled_packages, 'mush') au BufNewFile,BufRead *.mush setf mush endif if !has_key(s:disabled_packages, 'mupad') au BufNewFile,BufRead *.mu setf mupad endif if !has_key(s:disabled_packages, 'muttrc') au BufNewFile,BufRead Mutt{ng,}rc setf muttrc au BufNewFile,BufRead mutt{ng,}rc* call s:StarSetf('muttrc') au BufNewFile,BufRead Mutt{ng,}rc* call s:StarSetf('muttrc') au BufNewFile,BufRead {.,}mutt{ng,}rc* call s:StarSetf('muttrc') au BufNewFile,BufRead */etc/Muttrc.d/* call s:StarSetf('muttrc') au BufNewFile,BufRead */.mutt{ng,}/mutt{ng,}rc* call s:StarSetf('muttrc') endif if !has_key(s:disabled_packages, 'mysql') au BufNewFile,BufRead *.mysql setf mysql endif if !has_key(s:disabled_packages, 'msql') au BufNewFile,BufRead *.msql setf msql endif if !has_key(s:disabled_packages, 'mrxvtrc') au BufNewFile,BufRead {.,}mrxvtrc,mrxvtrc setf mrxvtrc endif if !has_key(s:disabled_packages, 'srec') au BufNewFile,BufRead *.mot,*.s19,*.s28,*.s37,*.srec setf srec endif if !has_key(s:disabled_packages, 'mplayerconf') au BufNewFile,BufRead */.mplayer/config,mplayer.conf setf mplayerconf endif if !has_key(s:disabled_packages, 'modconf') au BufNewFile,BufRead */etc/conf.modules,*/etc/modules,*/etc/modules.conf setf modconf au BufNewFile,BufRead */etc/modprobe.* call s:StarSetf('modconf') endif if !has_key(s:disabled_packages, 'moo') au BufNewFile,BufRead *.moo setf moo endif if !has_key(s:disabled_packages, 'monk') au BufNewFile,BufRead *.isc,*.monk,*.ssc,*.tsc setf monk endif if !has_key(s:disabled_packages, 'modula3') au BufNewFile,BufRead *.[mi][3g] setf modula3 endif if !has_key(s:disabled_packages, 'modula2') au BufNewFile,BufRead *.DEF,*.MOD,*.m2,*.mi setf modula2 endif if !has_key(s:disabled_packages, 'mmp') au BufNewFile,BufRead *.mmp setf mmp endif if !has_key(s:disabled_packages, 'mix') au BufNewFile,BufRead *.mix,*.mixal setf mix endif if !has_key(s:disabled_packages, 'mgl') au BufNewFile,BufRead *.mgl setf mgl endif if !has_key(s:disabled_packages, 'mp') au BufNewFile,BufRead *.mp setf mp endif if !has_key(s:disabled_packages, 'mf') au BufNewFile,BufRead *.mf setf mf endif if !has_key(s:disabled_packages, 'messages') au BufNewFile,BufRead */log/{auth,cron,daemon,debug,kern,lpr,mail,messages,news/news,syslog,user}{,.log,.err,.info,.warn,.crit,.notice}{,.[0-9]*,-[0-9]*} setf messages endif if !has_key(s:disabled_packages, 'hgcommit') au BufNewFile,BufRead hg-editor-*.txt setf hgcommit endif if !has_key(s:disabled_packages, 'mel') au BufNewFile,BufRead *.mel setf mel endif if !has_key(s:disabled_packages, 'map') au BufNewFile,BufRead *.map setf map endif if !has_key(s:disabled_packages, 'maple') au BufNewFile,BufRead *.mpl,*.mv,*.mws setf maple endif if !has_key(s:disabled_packages, 'manconf') au BufNewFile,BufRead */etc/man.conf,man.config setf manconf endif if !has_key(s:disabled_packages, 'mallard') au BufNewFile,BufRead *.page setf mallard endif if !has_key(s:disabled_packages, 'ist') au BufNewFile,BufRead *.ist,*.mst setf ist endif if !has_key(s:disabled_packages, 'mailcap') au BufNewFile,BufRead {.,}mailcap,mailcap setf mailcap endif if !has_key(s:disabled_packages, 'mailaliases') au BufNewFile,BufRead */etc/aliases,*/etc/mail/aliases setf mailaliases endif if !has_key(s:disabled_packages, 'mail') au BufNewFile,BufRead *.eml,{.,}article,{.,}article.\d\+,{.,}followup,{.,}letter,{.,}letter.\d\+,/tmp/SLRN[0-9A-Z.]\+,ae\d\+.txt,mutt[[:alnum:]_-]\\\{6\},mutt{ng,}-*-\w\+,neomutt-*-\w\+,neomutt[[:alnum:]_-]\\\{6\},pico.\d\+,snd.\d\+,{neo,}mutt[[:alnum:]._-]\\\{6\} setf mail au BufNewFile,BufRead reportbug-* call s:StarSetf('mail') endif if !has_key(s:disabled_packages, 'mgp') au BufNewFile,BufRead *.mgp setf mgp endif if !has_key(s:disabled_packages, 'lss') au BufNewFile,BufRead *.lss setf lss endif if !has_key(s:disabled_packages, 'lsl') au BufNewFile,BufRead *.lsl setf lsl endif if !has_key(s:disabled_packages, 'lout') au BufNewFile,BufRead *.lou,*.lout setf lout endif if !has_key(s:disabled_packages, 'lotos') au BufNewFile,BufRead *.lot,*.lotos setf lotos endif if !has_key(s:disabled_packages, 'logtalk') au BufNewFile,BufRead *.lgt setf logtalk endif if !has_key(s:disabled_packages, 'logindefs') au BufNewFile,BufRead */etc/login.defs setf logindefs endif if !has_key(s:disabled_packages, 'loginaccess') au BufNewFile,BufRead */etc/login.access setf loginaccess endif if !has_key(s:disabled_packages, 'litestep') au BufNewFile,BufRead */LiteStep/*/*.rc setf litestep endif if !has_key(s:disabled_packages, 'lite') au BufNewFile,BufRead *.lite,*.lt setf lite endif if !has_key(s:disabled_packages, 'liquid') au BufNewFile,BufRead *.liquid setf liquid endif if !has_key(s:disabled_packages, 'lisp') au BufNewFile,BufRead *.cl,*.el,*.lisp,*.lsp,{.,}emacs,{.,}sawfishrc,{.,}sbclrc,sbclrc setf lisp endif if !has_key(s:disabled_packages, 'lilo') au BufNewFile,BufRead lilo.conf setf lilo au BufNewFile,BufRead lilo.conf* call s:StarSetf('lilo') endif if !has_key(s:disabled_packages, 'lifelines') au BufNewFile,BufRead *.ll setf lifelines endif if !has_key(s:disabled_packages, 'lftp') au BufNewFile,BufRead *lftp/rc,{.,}lftprc,lftp.conf setf lftp endif if !has_key(s:disabled_packages, 'sensors') au BufNewFile,BufRead */etc/sensors.conf,*/etc/sensors3.conf setf sensors endif if !has_key(s:disabled_packages, 'libao') au BufNewFile,BufRead */.libao,*/etc/libao.conf setf libao endif if !has_key(s:disabled_packages, 'lex') au BufNewFile,BufRead *.l,*.l++,*.lex,*.lxx setf lex endif if !has_key(s:disabled_packages, 'ld') au BufNewFile,BufRead *.ld setf ld endif if !has_key(s:disabled_packages, 'ldif') au BufNewFile,BufRead *.ldif setf ldif endif if !has_key(s:disabled_packages, 'lprolog') au BufNewFile,BufRead *.sig setf lprolog endif if !has_key(s:disabled_packages, 'limits') au BufNewFile,BufRead */etc/*limits.conf,*/etc/*limits.d/*.conf,*/etc/limits setf limits endif if !has_key(s:disabled_packages, 'latte') au BufNewFile,BufRead *.latte,*.lte setf latte endif if !has_key(s:disabled_packages, 'lace') au BufNewFile,BufRead *.ACE,*.ace setf lace endif if !has_key(s:disabled_packages, 'kconfig') au BufNewFile,BufRead Kconfig,Kconfig.debug setf kconfig au BufNewFile,BufRead Kconfig.* call s:StarSetf('kconfig') endif if !has_key(s:disabled_packages, 'kscript') au BufNewFile,BufRead *.ks setf kscript endif if !has_key(s:disabled_packages, 'kivy') au BufNewFile,BufRead *.kv setf kivy endif if !has_key(s:disabled_packages, 'kwt') au BufNewFile,BufRead *.k setf kwt endif if !has_key(s:disabled_packages, 'kix') au BufNewFile,BufRead *.kix setf kix endif if !has_key(s:disabled_packages, 'jovial') au BufNewFile,BufRead *.j73,*.jov,*.jovial setf jovial endif if !has_key(s:disabled_packages, 'jgraph') au BufNewFile,BufRead *.jgr setf jgraph endif if !has_key(s:disabled_packages, 'jess') au BufNewFile,BufRead *.clp setf jess endif if !has_key(s:disabled_packages, 'jproperties') au BufNewFile,BufRead *.properties,*.properties_??,*.properties_??_?? setf jproperties au BufNewFile,BufRead *.properties_??_??_* call s:StarSetf('jproperties') endif if !has_key(s:disabled_packages, 'jsp') au BufNewFile,BufRead *.jsp setf jsp endif if !has_key(s:disabled_packages, 'javacc') au BufNewFile,BufRead *.jj,*.jjt setf javacc endif if !has_key(s:disabled_packages, 'java') au BufNewFile,BufRead *.jav,*.java setf java endif if !has_key(s:disabled_packages, 'jam') au BufNewFile,BufRead *.jpl,*.jpr setf jam au BufNewFile,BufRead Prl*.* call s:StarSetf('jam') au BufNewFile,BufRead JAM*.* call s:StarSetf('jam') endif if !has_key(s:disabled_packages, 'jal') au BufNewFile,BufRead *.JAL,*.jal setf jal endif if !has_key(s:disabled_packages, 'j') au BufNewFile,BufRead *.ijs setf j endif if !has_key(s:disabled_packages, 'iss') au BufNewFile,BufRead *.iss setf iss endif if !has_key(s:disabled_packages, 'inittab') au BufNewFile,BufRead inittab setf inittab endif if !has_key(s:disabled_packages, 'fgl') au BufNewFile,BufRead *.4gh,*.4gl,*.m4gl setf fgl endif if !has_key(s:disabled_packages, 'ipfilter') au BufNewFile,BufRead ipf.conf,ipf.rules,ipf6.conf setf ipfilter endif if !has_key(s:disabled_packages, 'usw2kagtlog') au BufNewFile,BufRead *.usw2kagt.log\c,usw2kagt.*.log\c,usw2kagt.log\c setf usw2kagtlog endif if !has_key(s:disabled_packages, 'usserverlog') au BufNewFile,BufRead *.usserver.log\c,usserver.*.log\c,usserver.log\c setf usserverlog endif if !has_key(s:disabled_packages, 'upstreaminstalllog') au BufNewFile,BufRead *.upstreaminstall.log\c,upstreaminstall.*.log\c,upstreaminstall.log\c setf upstreaminstalllog endif if !has_key(s:disabled_packages, 'upstreamlog') au BufNewFile,BufRead *.upstream.log\c,UPSTREAM-*.log\c,fdrupstream.log,upstream.*.log\c,upstream.log\c setf upstreamlog endif if !has_key(s:disabled_packages, 'upstreamdat') au BufNewFile,BufRead *.upstream.dat\c,upstream.*.dat\c,upstream.dat\c setf upstreamdat endif if !has_key(s:disabled_packages, 'initng') au BufNewFile,BufRead *.ii,*/etc/initng/*/*.i setf initng endif if !has_key(s:disabled_packages, 'inform') au BufNewFile,BufRead *.INF,*.inf setf inform endif if !has_key(s:disabled_packages, 'indent') au BufNewFile,BufRead {.,}indent.pro,indentrc setf indent endif if !has_key(s:disabled_packages, 'icemenu') au BufNewFile,BufRead */.icewm/menu setf icemenu endif if !has_key(s:disabled_packages, 'msidl') au BufNewFile,BufRead *.mof,*.odl setf msidl endif if !has_key(s:disabled_packages, 'icon') au BufNewFile,BufRead *.icn setf icon endif if !has_key(s:disabled_packages, 'httest') au BufNewFile,BufRead *.htb,*.htt setf httest endif if !has_key(s:disabled_packages, 'hb') au BufNewFile,BufRead *.hb setf hb endif if !has_key(s:disabled_packages, 'hostsaccess') au BufNewFile,BufRead */etc/hosts.allow,*/etc/hosts.deny setf hostsaccess endif if !has_key(s:disabled_packages, 'hostconf') au BufNewFile,BufRead */etc/host.conf setf hostconf endif if !has_key(s:disabled_packages, 'template') au BufNewFile,BufRead *.tmpl setf template endif if !has_key(s:disabled_packages, 'htmlm4') au BufNewFile,BufRead *.html.m4 setf htmlm4 endif if !has_key(s:disabled_packages, 'tilde') au BufNewFile,BufRead *.t.html setf tilde endif if !has_key(s:disabled_packages, 'hollywood') au BufNewFile,BufRead *.hws setf hollywood endif if !has_key(s:disabled_packages, 'hex') au BufNewFile,BufRead *.h32,*.hex setf hex endif if !has_key(s:disabled_packages, 'hercules') au BufNewFile,BufRead *.errsum,*.ev,*.sum,*.vc setf hercules endif if !has_key(s:disabled_packages, 'hastepreproc') au BufNewFile,BufRead *.htpp setf hastepreproc endif if !has_key(s:disabled_packages, 'haste') au BufNewFile,BufRead *.ht setf haste endif if !has_key(s:disabled_packages, 'chaskell') au BufNewFile,BufRead *.chs setf chaskell endif if !has_key(s:disabled_packages, 'lhaskell') au BufNewFile,BufRead *.lhs setf lhaskell endif if !has_key(s:disabled_packages, 'gtkrc') au BufNewFile,BufRead {.,}gtkrc,gtkrc setf gtkrc au BufNewFile,BufRead gtkrc* call s:StarSetf('gtkrc') au BufNewFile,BufRead {.,}gtkrc* call s:StarSetf('gtkrc') endif if !has_key(s:disabled_packages, 'group') au BufNewFile,BufRead */etc/group,*/etc/group-,*/etc/group.edit,*/etc/gshadow,*/etc/gshadow-,*/etc/gshadow.edit,*/var/backups/group.bak,*/var/backups/gshadow.bak setf group endif if !has_key(s:disabled_packages, 'gsp') au BufNewFile,BufRead *.gsp setf gsp endif if !has_key(s:disabled_packages, 'gretl') au BufNewFile,BufRead *.gretl setf gretl endif if !has_key(s:disabled_packages, 'grads') au BufNewFile,BufRead *.gs setf grads endif if !has_key(s:disabled_packages, 'gitolite') au BufNewFile,BufRead gitolite.conf setf gitolite au BufNewFile,BufRead */gitolite-admin/conf/* call s:StarSetf('gitolite') endif if !has_key(s:disabled_packages, 'gnash') au BufNewFile,BufRead {.,}gnashpluginrc,{.,}gnashrc,gnashpluginrc,gnashrc setf gnash endif if !has_key(s:disabled_packages, 'gpg') au BufNewFile,BufRead */.gnupg/gpg.conf,*/.gnupg/options,*/usr/*/gnupg/options.skel setf gpg endif if !has_key(s:disabled_packages, 'gp') au BufNewFile,BufRead *.gp,{.,}gprc setf gp endif if !has_key(s:disabled_packages, 'gkrellmrc') au BufNewFile,BufRead gkrellmrc,gkrellmrc_? setf gkrellmrc endif if !has_key(s:disabled_packages, 'gedcom') au BufNewFile,BufRead *.ged,lltxxxxx.txt setf gedcom au BufNewFile,BufRead */tmp/lltmp* call s:StarSetf('gedcom') endif if !has_key(s:disabled_packages, 'gdmo') au BufNewFile,BufRead *.gdmo,*.mo setf gdmo endif if !has_key(s:disabled_packages, 'gdb') au BufNewFile,BufRead {.,}gdbinit setf gdb endif if !has_key(s:disabled_packages, 'fstab') au BufNewFile,BufRead fstab,mtab setf fstab endif if !has_key(s:disabled_packages, 'framescript') au BufNewFile,BufRead *.fsl setf framescript endif if !has_key(s:disabled_packages, 'fortran') au BufNewFile,BufRead *.f,*.f03,*.f08,*.f77,*.f90,*.f95,*.for,*.fortran,*.fpp,*.ftn setf fortran endif if !has_key(s:disabled_packages, 'reva') au BufNewFile,BufRead *.frt setf reva endif if !has_key(s:disabled_packages, 'focexec') au BufNewFile,BufRead *.fex,*.focexec setf focexec endif if !has_key(s:disabled_packages, 'fetchmail') au BufNewFile,BufRead {.,}fetchmailrc setf fetchmail endif if !has_key(s:disabled_packages, 'factor') au BufNewFile,BufRead *.factor setf factor endif if !has_key(s:disabled_packages, 'fan') au BufNewFile,BufRead *.fan,*.fwt setf fan endif if !has_key(s:disabled_packages, 'falcon') au BufNewFile,BufRead *.fal setf falcon endif if !has_key(s:disabled_packages, 'exports') au BufNewFile,BufRead exports setf exports endif if !has_key(s:disabled_packages, 'expect') au BufNewFile,BufRead *.exp setf expect endif if !has_key(s:disabled_packages, 'exim') au BufNewFile,BufRead exim.conf setf exim endif if !has_key(s:disabled_packages, 'csc') au BufNewFile,BufRead *.csc setf csc endif if !has_key(s:disabled_packages, 'esterel') au BufNewFile,BufRead *.strl setf esterel endif if !has_key(s:disabled_packages, 'esqlc') au BufNewFile,BufRead *.EC,*.ec setf esqlc endif if !has_key(s:disabled_packages, 'esmtprc') au BufNewFile,BufRead *esmtprc setf esmtprc endif if !has_key(s:disabled_packages, 'elmfilt') au BufNewFile,BufRead filter-rules setf elmfilt endif if !has_key(s:disabled_packages, 'elinks') au BufNewFile,BufRead elinks.conf setf elinks endif if !has_key(s:disabled_packages, 'ecd') au BufNewFile,BufRead *.ecd setf ecd endif if !has_key(s:disabled_packages, 'edif') au BufNewFile,BufRead *.ed\(f\|if\|o\) setf edif endif if !has_key(s:disabled_packages, 'dts') au BufNewFile,BufRead *.dts,*.dtsi setf dts endif if !has_key(s:disabled_packages, 'dtd') au BufNewFile,BufRead *.dtd setf dtd endif if !has_key(s:disabled_packages, 'dsl') au BufNewFile,BufRead *.dsl setf dsl endif if !has_key(s:disabled_packages, 'datascript') au BufNewFile,BufRead *.ds setf datascript endif if !has_key(s:disabled_packages, 'dracula') au BufNewFile,BufRead *.drac,*.drc,*lpe,*lvs setf dracula au BufNewFile,BufRead drac.* call s:StarSetf('dracula') endif if !has_key(s:disabled_packages, 'def') au BufNewFile,BufRead *.def setf def endif if !has_key(s:disabled_packages, 'dylan') au BufNewFile,BufRead *.dylan setf dylan endif if !has_key(s:disabled_packages, 'dylanintr') au BufNewFile,BufRead *.intr setf dylanintr endif if !has_key(s:disabled_packages, 'dylanlid') au BufNewFile,BufRead *.lid setf dylanlid endif if !has_key(s:disabled_packages, 'dot') au BufNewFile,BufRead *.dot,*.gv setf dot endif if !has_key(s:disabled_packages, 'dircolors') au BufNewFile,BufRead */etc/DIR_COLORS,{.,}dir_colors,{.,}dircolors setf dircolors endif if !has_key(s:disabled_packages, 'diff') au BufNewFile,BufRead *.diff,*.rej setf diff endif if !has_key(s:disabled_packages, 'dictdconf') au BufNewFile,BufRead dictd.conf setf dictdconf endif if !has_key(s:disabled_packages, 'dictconf') au BufNewFile,BufRead {.,}dictrc,dict.conf setf dictconf endif if !has_key(s:disabled_packages, 'desktop') au BufNewFile,BufRead *.desktop,*.directory setf desktop endif if !has_key(s:disabled_packages, 'desc') au BufNewFile,BufRead *.desc setf desc endif if !has_key(s:disabled_packages, 'dnsmasq') au BufNewFile,BufRead */etc/dnsmasq.conf setf dnsmasq au BufNewFile,BufRead */etc/dnsmasq.d/* call s:StarSetf('dnsmasq') endif if !has_key(s:disabled_packages, 'denyhosts') au BufNewFile,BufRead denyhosts.conf setf denyhosts endif if !has_key(s:disabled_packages, 'debsources') au BufNewFile,BufRead */etc/apt/sources.list,*/etc/apt/sources.list.d/*.list setf debsources endif if !has_key(s:disabled_packages, 'debcopyright') au BufNewFile,BufRead */debian/copyright setf debcopyright endif if !has_key(s:disabled_packages, 'debcontrol') au BufNewFile,BufRead */debian/control setf debcontrol endif if !has_key(s:disabled_packages, 'cuplsim') au BufNewFile,BufRead *.si setf cuplsim endif if !has_key(s:disabled_packages, 'cupl') au BufNewFile,BufRead *.pld setf cupl endif if !has_key(s:disabled_packages, 'csp') au BufNewFile,BufRead *.csp,*.fdr setf csp endif if !has_key(s:disabled_packages, 'quake') au BufNewFile,BufRead *baseq[2-3]/*.cfg,*id1/*.cfg,*quake[1-3]/*.cfg setf quake endif if !has_key(s:disabled_packages, 'lynx') au BufNewFile,BufRead lynx.cfg setf lynx endif if !has_key(s:disabled_packages, 'eterm') au BufNewFile,BufRead *Eterm/*.cfg setf eterm endif if !has_key(s:disabled_packages, 'dcd') au BufNewFile,BufRead *.dcd setf dcd endif if !has_key(s:disabled_packages, 'cuda') au BufNewFile,BufRead *.cu,*.cuh setf cuda endif if !has_key(s:disabled_packages, 'config') au BufNewFile,BufRead Pipfile,configure.ac,configure.in setf config au BufNewFile,BufRead /etc/hostname.* call s:StarSetf('config') endif if !has_key(s:disabled_packages, 'cf') au BufNewFile,BufRead *.cfc,*.cfi,*.cfm setf cf endif if !has_key(s:disabled_packages, 'coco') au BufNewFile,BufRead *.atg setf coco endif if !has_key(s:disabled_packages, 'cobol') au BufNewFile,BufRead *.cbl,*.cob,*.lib setf cobol endif if !has_key(s:disabled_packages, 'cmusrc') au BufNewFile,BufRead */.cmus/{autosave,rc,command-history,*.theme},*/cmus/{rc,*.theme} setf cmusrc endif if !has_key(s:disabled_packages, 'cl') au BufNewFile,BufRead *.eni setf cl endif if !has_key(s:disabled_packages, 'clean') au BufNewFile,BufRead *.dcl,*.icl setf clean endif if !has_key(s:disabled_packages, 'chordpro') au BufNewFile,BufRead *.cho,*.chopro,*.chordpro,*.crd,*.crdpro setf chordpro endif if !has_key(s:disabled_packages, 'chill') au BufNewFile,BufRead *..ch setf chill endif if !has_key(s:disabled_packages, 'debchangelog') au BufNewFile,BufRead NEWS.Debian,NEWS.dch,changelog.Debian,changelog.dch setf debchangelog endif if !has_key(s:disabled_packages, 'cterm') au BufNewFile,BufRead *.con setf cterm endif if !has_key(s:disabled_packages, 'css') au BufNewFile,BufRead *.css setf css endif if !has_key(s:disabled_packages, 'ch') au BufNewFile,BufRead *.chf setf ch endif if !has_key(s:disabled_packages, 'cynpp') au BufNewFile,BufRead *.cyn setf cynpp endif if !has_key(s:disabled_packages, 'crm') au BufNewFile,BufRead *.crm setf crm endif if !has_key(s:disabled_packages, 'conaryrecipe') au BufNewFile,BufRead *.recipe setf conaryrecipe endif if !has_key(s:disabled_packages, 'cdl') au BufNewFile,BufRead *.cdl setf cdl endif if !has_key(s:disabled_packages, 'chaiscript') au BufNewFile,BufRead *.chai setf chaiscript endif if !has_key(s:disabled_packages, 'cfengine') au BufNewFile,BufRead cfengine.conf setf cfengine endif if !has_key(s:disabled_packages, 'cdrdaoconf') au BufNewFile,BufRead */etc/cdrdao.conf,*/etc/default/cdrdao,*/etc/defaults/cdrdao,{.,}cdrdao setf cdrdaoconf endif if !has_key(s:disabled_packages, 'cdrtoc') au BufNewFile,BufRead *.toc setf cdrtoc endif if !has_key(s:disabled_packages, 'cabal') au BufNewFile,BufRead *.cabal setf cabal endif if !has_key(s:disabled_packages, 'csdl') au BufNewFile,BufRead *.csdl setf csdl endif if !has_key(s:disabled_packages, 'cs') au BufNewFile,BufRead *.cs setf cs endif if !has_key(s:disabled_packages, 'calendar') au BufNewFile,BufRead calendar setf calendar au BufNewFile,BufRead */share/calendar/calendar.* call s:StarSetf('calendar') au BufNewFile,BufRead */share/calendar/*/calendar.* call s:StarSetf('calendar') au BufNewFile,BufRead */.calendar/* call s:StarSetf('calendar') endif if !has_key(s:disabled_packages, 'lpc') au BufNewFile,BufRead *.lpc,*.ulpc setf lpc endif if !has_key(s:disabled_packages, 'bsdl') au BufNewFile,BufRead *.bsdl,*bsd setf bsdl endif if !has_key(s:disabled_packages, 'blank') au BufNewFile,BufRead *.bl setf blank endif if !has_key(s:disabled_packages, 'bindzone') au BufNewFile,BufRead named.root setf bindzone au BufNewFile,BufRead */named/db.* call s:StarSetf('bindzone') au BufNewFile,BufRead */bind/db.* call s:StarSetf('bindzone') endif if !has_key(s:disabled_packages, 'named') au BufNewFile,BufRead named*.conf,rndc*.conf,rndc*.key setf named endif if !has_key(s:disabled_packages, 'bst') au BufNewFile,BufRead *.bst setf bst endif if !has_key(s:disabled_packages, 'bib') au BufNewFile,BufRead *.bib setf bib endif if !has_key(s:disabled_packages, 'bdf') au BufNewFile,BufRead *.bdf setf bdf endif if !has_key(s:disabled_packages, 'bc') au BufNewFile,BufRead *.bc setf bc endif if !has_key(s:disabled_packages, 'dosbatch') au BufNewFile,BufRead *.bat,*.sys setf dosbatch endif if !has_key(s:disabled_packages, 'hamster') au BufNewFile,BufRead *.hsc,*.hsm setf hamster endif if !has_key(s:disabled_packages, 'freebasic') au BufNewFile,BufRead *.bi,*.fb setf freebasic endif if !has_key(s:disabled_packages, 'ibasic') au BufNewFile,BufRead *.iba,*.ibi setf ibasic endif if !has_key(s:disabled_packages, 'b') au BufNewFile,BufRead *.imp,*.mch,*.ref setf b endif if !has_key(s:disabled_packages, 'sql') au BufNewFile,BufRead *.bdy,*.ddl,*.fnc,*.pck,*.pkb,*.pks,*.plb,*.pls,*.plsql,*.prc,*.spc,*.sql,*.tpb,*.tps,*.trg,*.tyb,*.tyc,*.typ,*.vw setf sql endif if !has_key(s:disabled_packages, 'gitignore') au BufNewFile,BufRead *.git/info/exclude,*/.config/git/ignore,{.,}gitignore setf gitignore endif if !has_key(s:disabled_packages, 'tads') au! BufNewFile,BufRead,BufWritePost *.t call polyglot#detect#T() endif if !has_key(s:disabled_packages, 'prolog') au! BufNewFile,BufRead,BufWritePost *.pl call polyglot#detect#Pl() au BufNewFile,BufRead *.pdb,*.pro,*.prolog,*.yap setf prolog endif if !has_key(s:disabled_packages, 'bzl') au BufNewFile,BufRead *.BUILD,*.bazel,*.bzl,BUCK,BUILD,BUILD.bazel,Tiltfile,WORKSPACE setf bzl endif if !has_key(s:disabled_packages, 'odin') au BufNewFile,BufRead *.odin setf odin endif if !has_key(s:disabled_packages, 'dosini') au BufNewFile,BufRead *.dof,*.ini,*.lektorproject,*.prefs,*.pro,*.properties,*/etc/pacman.conf,*/etc/yum.conf,{.,}editorconfig,{.,}npmrc,buildozer.spec setf dosini au BufNewFile,BufRead php.ini-* call s:StarSetf('dosini') au BufNewFile,BufRead */etc/yum.repos.d/* call s:StarSetf('dosini') endif if !has_key(s:disabled_packages, 'spec') au BufNewFile,BufRead *.spec setf spec endif if !has_key(s:disabled_packages, 'visual-basic') au! BufNewFile,BufRead,BufWritePost *.bas call polyglot#detect#Bas() au BufNewFile,BufRead *.cls,*.ctl,*.dsm,*.frm,*.frx,*.sba,*.vba,*.vbs setf vb endif if !has_key(s:disabled_packages, 'basic') au BufNewFile,BufRead *.basic setf basic endif if !has_key(s:disabled_packages, 'trasys') au! BufNewFile,BufRead,BufWritePost *.inp call polyglot#detect#Inp() endif if !has_key(s:disabled_packages, 'zig') au BufNewFile,BufRead *.zir setf zir au BufNewFile,BufRead *.zig,*.zir setf zig endif if !has_key(s:disabled_packages, 'zephir') au BufNewFile,BufRead *.zep setf zephir endif if !has_key(s:disabled_packages, 'help') au BufNewFile,BufRead $VIMRUNTIME/doc/*.txt setf help endif if !has_key(s:disabled_packages, 'helm') au BufNewFile,BufRead */templates/*.tpl,*/templates/*.yaml setf helm endif if !has_key(s:disabled_packages, 'smarty') au BufNewFile,BufRead *.tpl setf smarty endif if !has_key(s:disabled_packages, 'ansible') au BufNewFile,BufRead handlers.*.y{a,}ml,local.y{a,}ml,main.y{a,}ml,playbook.y{a,}ml,requirements.y{a,}ml,roles.*.y{a,}ml,site.y{a,}ml,tasks.*.y{a,}ml setf yaml.ansible au BufNewFile,BufRead host_vars/* call s:StarSetf('yaml.ansible') au BufNewFile,BufRead group_vars/* call s:StarSetf('yaml.ansible') endif if !has_key(s:disabled_packages, 'xsl') au BufNewFile,BufRead *.xsl,*.xslt setf xsl endif if !has_key(s:disabled_packages, 'xdc') au BufNewFile,BufRead *.xdc setf xdc endif if !has_key(s:disabled_packages, 'vue') au BufNewFile,BufRead *.vue,*.wpy setf vue endif if !has_key(s:disabled_packages, 'vmasm') au BufNewFile,BufRead *.mar setf vmasm endif if !has_key(s:disabled_packages, 'velocity') au BufNewFile,BufRead *.vm setf velocity endif if !has_key(s:disabled_packages, 'vcl') au BufNewFile,BufRead *.vcl setf vcl endif if !has_key(s:disabled_packages, 'vbnet') au BufNewFile,BufRead *.vb,*.vbhtml setf vbnet endif if !has_key(s:disabled_packages, 'vala') au BufNewFile,BufRead *.vala,*.valadoc,*.vapi setf vala endif if !has_key(s:disabled_packages, 'v') au BufNewFile,BufRead *.v,*.vsh,*.vv setf vlang endif if !has_key(s:disabled_packages, 'unison') au BufNewFile,BufRead *.u,*.uu setf unison endif if !has_key(s:disabled_packages, 'typescript') au BufNewFile,BufRead *.ts setf typescript au BufNewFile,BufRead *.tsx setf typescriptreact endif if !has_key(s:disabled_packages, 'twig') au BufNewFile,BufRead *.twig setf html.twig au BufNewFile,BufRead *.xml.twig setf xml.twig endif if !has_key(s:disabled_packages, 'tptp') au BufNewFile,BufRead *.ax,*.p,*.tptp setf tptp endif if !has_key(s:disabled_packages, 'toml') au BufNewFile,BufRead *.toml,*/.cargo/config,*/.cargo/credentials,Cargo.lock,Gopkg.lock,Pipfile,poetry.lock setf toml endif if !has_key(s:disabled_packages, 'tmux') au BufNewFile,BufRead {.,}tmux*.conf setf tmux endif if !has_key(s:disabled_packages, 'thrift') au BufNewFile,BufRead *.thrift setf thrift endif if !has_key(s:disabled_packages, 'textile') au BufNewFile,BufRead *.textile setf textile endif if !has_key(s:disabled_packages, 'terraform') au BufNewFile,BufRead *.tf,*.tfvars setf terraform endif if !has_key(s:disabled_packages, 'tf') au BufNewFile,BufRead *.tf,{.,}tfrc,tfrc setf tf endif if !has_key(s:disabled_packages, 'systemd') au BufNewFile,BufRead *.automount,*.dnssd,*.link,*.mount,*.netdev,*.network,*.nspawn,*.path,*.service,*.slice,*.socket,*.swap,*.target,*.timer,*/systemd/*.conf setf systemd au BufNewFile,BufRead *.#* call s:StarSetf('systemd') endif if !has_key(s:disabled_packages, 'sxhkd') au BufNewFile,BufRead *.sxhkdrc,sxhkdrc setf sxhkdrc endif if !has_key(s:disabled_packages, 'swift') au BufNewFile,BufRead *.swift setf swift endif if !has_key(s:disabled_packages, 'svg') au BufNewFile,BufRead *.svg setf svg endif if !has_key(s:disabled_packages, 'svelte') au BufNewFile,BufRead *.svelte setf svelte endif if !has_key(s:disabled_packages, 'stylus') au BufNewFile,BufRead *.styl,*.stylus setf stylus endif if !has_key(s:disabled_packages, 'solidity') au BufNewFile,BufRead *.sol setf solidity endif if !has_key(s:disabled_packages, 'smt2') au BufNewFile,BufRead *.smt,*.smt2 setf smt2 endif if !has_key(s:disabled_packages, 'slime') au BufNewFile,BufRead *.slime setf slime endif if !has_key(s:disabled_packages, 'slim') au BufNewFile,BufRead *.slim setf slim endif if !has_key(s:disabled_packages, 'sh') au BufNewFile,BufRead *.bash,*.bats,*.cgi,*.command,*.env,*.fcgi,*.ksh,*.sh,*.sh.in,*.tmux,*.tool,*/etc/udev/cdsymlinks.conf,{.,}bash_aliases,{.,}bash_history,{.,}bash_logout,{.,}bash_profile,{.,}bashrc,{.,}cshrc,{.,}env,{.,}env.example,{.,}flaskenv,{.,}login,{.,}profile,9fs,PKGBUILD,bash_aliases,bash_logout,bash_profile,bashrc,cshrc,gradlew,login,man,profile,zlogin,zlogout,zprofile,zshenv,zshrc setf sh au BufNewFile,BufRead *.zsh,{.,}zfbfmarks,{.,}zlogin,{.,}zlogout,{.,}zprofile,{.,}zshenv,{.,}zshrc setf zsh au BufNewFile,BufRead {.,}zsh* call s:StarSetf('zsh') au BufNewFile,BufRead {.,}zlog* call s:StarSetf('zsh') au BufNewFile,BufRead {.,}zcompdump* call s:StarSetf('zsh') endif if !has_key(s:disabled_packages, 'scss') au BufNewFile,BufRead *.scss setf scss endif if !has_key(s:disabled_packages, 'sbt') au BufNewFile,BufRead *.sbt setf sbt.scala endif if !has_key(s:disabled_packages, 'scala') au BufNewFile,BufRead *.kojo,*.sc,*.scala setf scala endif if !has_key(s:disabled_packages, 'rust') au BufNewFile,BufRead *.rs,*.rs.in setf rust endif if !has_key(s:disabled_packages, 'brewfile') au BufNewFile,BufRead Brewfile setf brewfile endif if !has_key(s:disabled_packages, 'rspec') au BufNewFile,BufRead *_spec.rb set ft=ruby syntax=rspec endif if !has_key(s:disabled_packages, 'ruby') au BufNewFile,BufRead *.axlsx,*.builder,*.cap,*.eye,*.fcgi,*.gemspec,*.god,*.jbuilder,*.mspec,*.opal,*.pluginspec,*.podspec,*.rabl,*.rake,*.rant,*.rb,*.rbi,*.rbuild,*.rbw,*.rbx,*.rjs,*.ru,*.ruby,*.rxml,*.spec,*.thor,*.watchr,{.,}Brewfile,{.,}Guardfile,{.,}autotest,{.,}irbrc,{.,}pryrc,{.,}simplecov,Appraisals,Berksfile,Buildfile,Capfile,Cheffile,Dangerfile,Deliverfile,Fastfile,Gemfile,Gemfile.lock,Guardfile,Jarfile,KitchenSink,Mavenfile,Podfile,Puppetfile,Rakefile,Rantfile,Routefile,Snapfile,Thorfile,Vagrantfile,buildfile,vagrantfile setf ruby au BufNewFile,BufRead [Rr]akefile* call s:StarSetf('ruby') au BufNewFile,BufRead *.erb,*.erb.deface,*.rhtml setf eruby endif if !has_key(s:disabled_packages, 'rst') au BufNewFile,BufRead *.rest,*.rest.txt,*.rst,*.rst.txt setf rst endif if !has_key(s:disabled_packages, 'reason') au! BufNewFile,BufRead,BufWritePost *.re call polyglot#detect#Re() au BufNewFile,BufRead *.rei setf reason endif if !has_key(s:disabled_packages, 'razor') au BufNewFile,BufRead *.cshtml,*.razor setf razor endif if !has_key(s:disabled_packages, 'raml') au BufNewFile,BufRead *.raml setf raml endif if !has_key(s:disabled_packages, 'raku') au! BufNewFile,BufRead,BufWritePost *.t call polyglot#detect#T() au! BufNewFile,BufRead,BufWritePost *.pm call polyglot#detect#Pm() au! BufNewFile,BufRead,BufWritePost *.pl call polyglot#detect#Pl() au BufNewFile,BufRead *.6pl,*.6pm,*.nqp,*.p6,*.p6l,*.p6m,*.pl6,*.pm6,*.pod6,*.raku,*.rakudoc,*.rakumod,*.rakutest,*.t6 setf raku endif if !has_key(s:disabled_packages, 'ragel') au BufNewFile,BufRead *.rl setf ragel endif if !has_key(s:disabled_packages, 'racket') au BufNewFile,BufRead *.rkt,*.rktd,*.rktl,*.scrbl setf racket endif if !has_key(s:disabled_packages, 'r-lang') au BufNewFile,BufRead *.S,*.r,*.rsx,*.s,{.,}Rprofile,expr-dist setf r au BufNewFile,BufRead *.rd setf rhelp endif if !has_key(s:disabled_packages, 'qml') au BufNewFile,BufRead *.qbs,*.qml setf qml endif if !has_key(s:disabled_packages, 'qmake') au BufNewFile,BufRead *.pri,*.pro setf qmake endif if !has_key(s:disabled_packages, 'requirements') au BufNewFile,BufRead *.pip,*require.{txt,in},*requirements.{txt,in},constraints.{txt,in} setf requirements endif if !has_key(s:disabled_packages, 'python') au BufNewFile,BufRead *.cgi,*.fcgi,*.gyp,*.gypi,*.lmi,*.ptl,*.py,*.py3,*.pyde,*.pyi,*.pyp,*.pyt,*.pyw,*.rpy,*.smk,*.spec,*.tac,*.wsgi,*.xpy,{.,}gclient,{.,}pythonrc,{.,}pythonstartup,DEPS,SConscript,SConstruct,Snakefile,wscript setf python endif if !has_key(s:disabled_packages, 'purescript') au BufNewFile,BufRead *.purs setf purescript endif if !has_key(s:disabled_packages, 'puppet') au BufNewFile,BufRead *.pp,Modulefile setf puppet au BufNewFile,BufRead *.epp setf embeddedpuppet endif if !has_key(s:disabled_packages, 'pug') au BufNewFile,BufRead *.jade,*.pug setf pug endif if !has_key(s:disabled_packages, 'protobuf') au BufNewFile,BufRead *.proto setf proto endif if !has_key(s:disabled_packages, 'powershell') au BufNewFile,BufRead *.ps1,*.psd1,*.psm1,*.pssc setf ps1 au BufNewFile,BufRead *.ps1xml setf ps1xml endif if !has_key(s:disabled_packages, 'pony') au BufNewFile,BufRead *.pony setf pony endif if !has_key(s:disabled_packages, 'plantuml') au BufNewFile,BufRead *.iuml,*.plantuml,*.pu,*.puml,*.uml setf plantuml endif if !has_key(s:disabled_packages, 'blade') au BufNewFile,BufRead *.blade,*.blade.php setf blade endif if !has_key(s:disabled_packages, 'php') au BufNewFile,BufRead *.aw,*.ctp,*.fcgi,*.inc,*.php,*.php3,*.php4,*.php5,*.phps,*.phpt,*.phtml,{.,}php,{.,}php_cs,{.,}php_cs.dist,Phakefile setf php endif if !has_key(s:disabled_packages, 'cql') au BufNewFile,BufRead *.cql setf cql endif if !has_key(s:disabled_packages, 'pgsql') au BufNewFile,BufRead *.pgsql let b:sql_type_override='pgsql' | set ft=sql endif if !has_key(s:disabled_packages, 'perl') au! BufNewFile,BufRead,BufWritePost *.t call polyglot#detect#T() au! BufNewFile,BufRead,BufWritePost *.pm call polyglot#detect#Pm() au! BufNewFile,BufRead,BufWritePost *.pl call polyglot#detect#Pl() au BufNewFile,BufRead *.al,*.cgi,*.fcgi,*.perl,*.ph,*.plx,*.psgi,{.,}gitolite.rc,Makefile.PL,Rexfile,ack,cpanfile,example.gitolite.rc setf perl au BufNewFile,BufRead *.pod setf pod au BufNewFile,BufRead *.comp,*.mason,*.mhtml setf mason au! BufNewFile,BufRead,BufWritePost *.tt2 call polyglot#detect#Tt2() au! BufNewFile,BufRead,BufWritePost *.tt2 call polyglot#detect#Tt2() au BufNewFile,BufRead *.xs setf xs endif if !has_key(s:disabled_packages, 'rc') au BufNewFile,BufRead *.rc,*.rch setf rc endif if !has_key(s:disabled_packages, 'opencl') au BufNewFile,BufRead *.cl,*.opencl setf opencl endif if !has_key(s:disabled_packages, 'octave') au! BufNewFile,BufRead,BufWritePost *.m call polyglot#detect#M() au BufNewFile,BufRead *.oct setf octave endif if !has_key(s:disabled_packages, 'ocaml') au BufNewFile,BufRead *.eliom,*.eliomi,*.ml,*.ml.cppo,*.ml4,*.mli,*.mli.cppo,*.mlip,*.mll,*.mlp,*.mlt,*.mly,{.,}ocamlinit setf ocaml au BufNewFile,BufRead *.om,OMakefile,OMakeroot,OMakeroot.in setf omake au BufNewFile,BufRead *.opam,*.opam.template,opam setf opam au BufNewFile,BufRead _oasis setf oasis au BufNewFile,BufRead dune,dune-project,dune-workspace,jbuild setf dune au BufNewFile,BufRead _tags setf ocamlbuild_tags au BufNewFile,BufRead *.ocp setf ocpbuild au BufNewFile,BufRead *.root setf ocpbuildroot au BufNewFile,BufRead *.sexp setf sexplib endif if !has_key(s:disabled_packages, 'objc') au! BufNewFile,BufRead,BufWritePost *.m call polyglot#detect#M() au! BufNewFile,BufRead,BufWritePost *.h call polyglot#detect#H() endif if !has_key(s:disabled_packages, 'nix') au BufNewFile,BufRead *.nix setf nix endif if !has_key(s:disabled_packages, 'nim') au BufNewFile,BufRead *.nim,*.nim.cfg,*.nimble,*.nimrod,*.nims,nim.cfg setf nim endif if !has_key(s:disabled_packages, 'nginx') au BufNewFile,BufRead *.nginx,*.nginxconf,*.vhost,*/nginx/*.conf,*nginx.conf,nginx*.conf,nginx.conf setf nginx au BufNewFile,BufRead */usr/local/nginx/conf/* call s:StarSetf('nginx') au BufNewFile,BufRead */etc/nginx/* call s:StarSetf('nginx') endif if !has_key(s:disabled_packages, 'murphi') au! BufNewFile,BufRead,BufWritePost *.m call polyglot#detect#M() endif if !has_key(s:disabled_packages, 'moonscript') au BufNewFile,BufRead *.moon setf moon endif if !has_key(s:disabled_packages, 'meson') au BufNewFile,BufRead meson.build,meson_options.txt setf meson au BufNewFile,BufRead *.wrap setf dosini endif if !has_key(s:disabled_packages, 'mdx') au BufNewFile,BufRead *.mdx setf markdown.mdx endif if !has_key(s:disabled_packages, 'markdown') au BufNewFile,BufRead *.markdown,*.md,*.mdown,*.mdwn,*.mkd,*.mkdn,*.mkdown,*.ronn,*.workbook,contents.lr setf markdown endif if !has_key(s:disabled_packages, 'mathematica') au! BufNewFile,BufRead,BufWritePost *.m call polyglot#detect#M() au BufNewFile,BufRead *.cdf,*.ma,*.mathematica,*.mma,*.mt,*.nb,*.nbp,*.wl,*.wls,*.wlt setf mma endif if !has_key(s:disabled_packages, 'mako') au BufNewFile,BufRead *.mako,*.mao setf mako au BufReadPre *.*.mao execute "do BufRead filetypedetect " . expand(":r") | let b:mako_outer_lang = &filetype au BufNewFile *.*.mao execute "do BufNewFile filetypedetect " . expand(":r") | let b:mako_outer_lang = &filetype au BufReadPre *.*.mako execute "do BufRead filetypedetect " . expand(":r") | let b:mako_outer_lang = &filetype au BufNewFile *.*.mako execute "do BufNewFile filetypedetect " . expand(":r") | let b:mako_outer_lang = &filetype endif if !has_key(s:disabled_packages, 'm4') au BufNewFile,BufRead *.at,*.m4 setf m4 endif if !has_key(s:disabled_packages, 'lua') au BufNewFile,BufRead *.fcgi,*.lua,*.nse,*.p8,*.pd_lua,*.rbxs,*.rockspec,*.wlua,{.,}luacheckrc setf lua endif if !has_key(s:disabled_packages, 'log') au BufNewFile,BufRead *.LOG,*.log,*_LOG,*_log setf log endif if !has_key(s:disabled_packages, 'llvm') au BufNewFile,BufRead *.ll setf llvm au BufNewFile,BufRead *.td setf tablegen endif if !has_key(s:disabled_packages, 'livescript') au BufNewFile,BufRead *._ls,*.ls,Slakefile setf livescript endif if !has_key(s:disabled_packages, 'lilypond') au BufNewFile,BufRead *.ily,*.ly setf lilypond endif if !has_key(s:disabled_packages, 'less') au BufNewFile,BufRead *.less setf less endif if !has_key(s:disabled_packages, 'ledger') au BufNewFile,BufRead *.journal,*.ldg,*.ledger setf ledger endif if !has_key(s:disabled_packages, 'kotlin') au BufNewFile,BufRead *.kt,*.ktm,*.kts setf kotlin endif if !has_key(s:disabled_packages, 'julia') au BufNewFile,BufRead *.jl setf julia endif if !has_key(s:disabled_packages, 'jst') au BufNewFile,BufRead *.ect,*.ejs,*.jst setf jst endif if !has_key(s:disabled_packages, 'jsonnet') au BufNewFile,BufRead *.jsonnet,*.libsonnet setf jsonnet endif if !has_key(s:disabled_packages, 'json') au BufNewFile,BufRead *.JSON-tmLanguage,*.avsc,*.geojson,*.gltf,*.har,*.ice,*.json,*.jsonl,*.jsonp,*.mcmeta,*.template,*.tfstate,*.tfstate.backup,*.topojson,*.webapp,*.webmanifest,*.yy,*.yyp,{.,}arcconfig,{.,}htmlhintrc,{.,}tern-config,{.,}tern-project,{.,}watchmanconfig,Pipfile.lock,composer.lock,mcmod.info setf json endif if !has_key(s:disabled_packages, 'json5') au BufNewFile,BufRead *.json5 setf json5 endif if !has_key(s:disabled_packages, 'jq') au BufNewFile,BufRead *.jq,{.,}jqrc setf jq au BufNewFile,BufRead {.,}jqrc* call s:StarSetf('jq') endif if !has_key(s:disabled_packages, 'htmldjango') au BufNewFile,BufRead *.j2,*.jinja,*.jinja2,*.njk setf htmldjango endif if !has_key(s:disabled_packages, 'jenkins') au BufNewFile,BufRead *.Jenkinsfile,*.jenkinsfile,Jenkinsfile setf Jenkinsfile au BufNewFile,BufRead Jenkinsfile* call s:StarSetf('Jenkinsfile') endif if !has_key(s:disabled_packages, 'ion') au BufNewFile,BufRead *.ion,~/.config/ion/initrc setf ion endif if !has_key(s:disabled_packages, 'idris2') au! BufNewFile,BufRead,BufWritePost *.idr call polyglot#detect#Idr() au BufNewFile,BufRead *.ipkg,idris-response setf idris2 au! BufNewFile,BufRead,BufWritePost *.lidr call polyglot#detect#Lidr() endif if !has_key(s:disabled_packages, 'idris') au! BufNewFile,BufRead,BufWritePost *.lidr call polyglot#detect#Lidr() au! BufNewFile,BufRead,BufWritePost *.idr call polyglot#detect#Idr() au BufNewFile,BufRead idris-response setf idris endif if !has_key(s:disabled_packages, 'icalendar') au BufNewFile,BufRead *.ics setf icalendar endif if !has_key(s:disabled_packages, 'i3') au BufNewFile,BufRead *.i3.config,*.i3config,{.,}i3.config,{.,}i3config,i3.config,i3config setf i3config endif if !has_key(s:disabled_packages, 'html5') au! BufNewFile,BufRead,BufWritePost *.html call polyglot#detect#Html() au BufNewFile,BufRead *.htm,*.html.hl,*.inc,*.st,*.xht,*.xhtml setf html endif if !has_key(s:disabled_packages, 'hive') au BufNewFile,BufRead *.hql,*.q,*.ql setf hive endif if !has_key(s:disabled_packages, 'hcl') au BufNewFile,BufRead *.hcl,*.nomad,*.workflow,Appfile setf hcl endif if !has_key(s:disabled_packages, 'haxe') au BufNewFile,BufRead *.hx,*.hxsl setf haxe endif if !has_key(s:disabled_packages, 'haskell') au BufNewFile,BufRead *.bpk,*.hs,*.hs-boot,*.hsc,*.hsig setf haskell endif if !has_key(s:disabled_packages, 'handlebars') au BufNewFile,BufRead *.hjs,*.hogan,*.hulk,*.mustache setf html.mustache au BufNewFile,BufRead *.handlebars,*.hb,*.hbs,*.hdbs setf html.handlebars endif if !has_key(s:disabled_packages, 'haml') au BufNewFile,BufRead *.haml,*.haml.deface,*.hamlbars,*.hamlc setf haml endif if !has_key(s:disabled_packages, 'grub') au BufNewFile,BufRead */boot/grub/grub.conf,*/boot/grub/menu.lst,*/etc/grub.conf setf grub endif if !has_key(s:disabled_packages, 'groovy') au BufNewFile,BufRead *.gradle,*.groovy,*.grt,*.gtpl,*.gvy,Jenkinsfile setf groovy endif if !has_key(s:disabled_packages, 'graphql') au BufNewFile,BufRead *.gql,*.graphql,*.graphqls setf graphql endif if !has_key(s:disabled_packages, 'jsx') au BufNewFile,BufRead *.jsx setf javascriptreact endif if !has_key(s:disabled_packages, 'javascript') au BufNewFile,BufRead *._js,*.bones,*.cjs,*.es,*.es6,*.frag,*.gs,*.jake,*.javascript,*.js,*.jsb,*.jscad,*.jsfl,*.jsm,*.jss,*.mjs,*.njs,*.pac,*.sjs,*.ssjs,*.xsjs,*.xsjslib,Jakefile setf javascript au BufNewFile,BufRead *.flow setf flow endif if !has_key(s:disabled_packages, 'go') au BufNewFile,BufRead *.go setf go au BufNewFile,BufRead go.mod setf gomod au BufNewFile,BufRead *.tmpl setf gohtmltmpl endif if !has_key(s:disabled_packages, 'gnuplot') au BufNewFile,BufRead *.gnu,*.gnuplot,*.gp,*.gpi,*.p,*.plot,*.plt setf gnuplot endif if !has_key(s:disabled_packages, 'gmpl') au BufNewFile,BufRead *.mod setf gmpl endif if !has_key(s:disabled_packages, 'glsl') au! BufNewFile,BufRead,BufWritePost *.fs call polyglot#detect#Fs() au BufNewFile,BufRead *.comp,*.fp,*.frag,*.frg,*.fsh,*.fshader,*.geo,*.geom,*.glsl,*.glslf,*.glslv,*.gs,*.gshader,*.shader,*.tesc,*.tese,*.vert,*.vrx,*.vsh,*.vshader setf glsl endif if !has_key(s:disabled_packages, 'git') au BufNewFile,BufRead *.gitconfig,*.git/config,*.git/modules/*/config,*/.config/git/config,*/git/config,{.,}gitconfig,{.,}gitmodules setf gitconfig au BufNewFile,BufRead */{.,}gitconfig.d/* call s:StarSetf('gitconfig') au BufNewFile,BufRead git-rebase-todo setf gitrebase au BufNewFile,BufRead {.,}gitsendemail.* call s:StarSetf('gitsendemail') au BufNewFile,BufRead COMMIT_EDITMSG,MERGE_MSG,TAG_EDITMSG setf gitcommit endif if !has_key(s:disabled_packages, 'gdscript') au BufNewFile,BufRead *.gd setf gdscript3 endif if !has_key(s:disabled_packages, 'fsharp') au! BufNewFile,BufRead,BufWritePost *.fs call polyglot#detect#Fs() au BufNewFile,BufRead *.fsi,*.fsx setf fsharp endif if !has_key(s:disabled_packages, 'forth') au! BufNewFile,BufRead,BufWritePost *.fs call polyglot#detect#Fs() au BufNewFile,BufRead *.ft,*.fth setf forth endif if !has_key(s:disabled_packages, 'flatbuffers') au BufNewFile,BufRead *.fbs setf fbs endif if !has_key(s:disabled_packages, 'fish') au BufNewFile,BufRead *.fish setf fish endif if !has_key(s:disabled_packages, 'ferm') au BufNewFile,BufRead *.ferm,ferm.conf setf ferm endif if !has_key(s:disabled_packages, 'fennel') au BufNewFile,BufRead *.fnl setf fennel endif if !has_key(s:disabled_packages, 'erlang') au BufNewFile,BufRead *.app,*.app.src,*.erl,*.es,*.escript,*.hrl,*.xrl,*.yaws,*.yrl,Emakefile,rebar.config,rebar.config.lock,rebar.lock setf erlang endif if !has_key(s:disabled_packages, 'emblem') au BufNewFile,BufRead *.em,*.emblem setf emblem endif if !has_key(s:disabled_packages, 'emberscript') au BufNewFile,BufRead *.em,*.emberscript setf ember-script endif if !has_key(s:disabled_packages, 'elm') au BufNewFile,BufRead *.elm setf elm endif if !has_key(s:disabled_packages, 'elixir') au BufNewFile,BufRead *.ex,*.exs,mix.lock setf elixir au BufNewFile,BufRead *.eex,*.leex setf eelixir endif if !has_key(s:disabled_packages, 'dockerfile') au BufNewFile,BufRead *.Dockerfile,*.dock,*.dockerfile,Dockerfile,dockerfile setf Dockerfile au BufNewFile,BufRead Dockerfile* call s:StarSetf('Dockerfile') au BufNewFile,BufRead docker-compose*.yaml,docker-compose*.yml setf yaml.docker-compose endif if !has_key(s:disabled_packages, 'yaml') au BufNewFile,BufRead *.mir,*.reek,*.rviz,*.sublime-syntax,*.syntax,*.yaml,*.yaml-tmlanguage,*.yaml.sed,*.yml,*.yml.mysql,{.,}clang-format,{.,}clang-tidy,{.,}gemrc,fish_history,fish_read_history,glide.lock,yarn.lock setf yaml endif if !has_key(s:disabled_packages, 'dlang') au BufNewFile,BufRead *.d,*.di setf d au BufNewFile,BufRead *.lst setf dcov au BufNewFile,BufRead *.dd setf dd au BufNewFile,BufRead *.ddoc setf ddoc au BufNewFile,BufRead *.sdl setf dsdl endif if !has_key(s:disabled_packages, 'dhall') au BufNewFile,BufRead *.dhall setf dhall endif if !has_key(s:disabled_packages, 'dart') au BufNewFile,BufRead *.dart,*.drt setf dart endif if !has_key(s:disabled_packages, 'cue') au BufNewFile,BufRead *.cue setf cuesheet endif if !has_key(s:disabled_packages, 'cucumber') au BufNewFile,BufRead *.feature,*.story setf cucumber endif if !has_key(s:disabled_packages, 'crystal') au BufNewFile,BufRead *.cr,Projectfile setf crystal au BufNewFile,BufRead *.ecr setf ecrystal endif if !has_key(s:disabled_packages, 'cryptol') au BufNewFile,BufRead *.cry,*.cyl,*.lcry,*.lcyl setf cryptol endif if !has_key(s:disabled_packages, 'coffee-script') au BufNewFile,BufRead *._coffee,*.cake,*.cjsx,*.coffee,*.coffeekup,*.iced,Cakefile setf coffee au BufNewFile,BufRead *.coffee.md,*.litcoffee setf litcoffee endif if !has_key(s:disabled_packages, 'cmake') au BufNewFile,BufRead *.cmake,*.cmake.in,CMakeLists.txt setf cmake endif if !has_key(s:disabled_packages, 'clojure') au BufNewFile,BufRead *.boot,*.cl2,*.clj,*.cljc,*.cljs,*.cljs.hl,*.cljscm,*.cljx,*.edn,*.hic,build.boot,profile.boot,riemann.config setf clojure endif if !has_key(s:disabled_packages, 'carp') au BufNewFile,BufRead *.carp setf carp endif if !has_key(s:disabled_packages, 'caddyfile') au BufNewFile,BufRead Caddyfile setf caddyfile endif if !has_key(s:disabled_packages, 'awk') au BufNewFile,BufRead *.awk,*.gawk setf awk endif if !has_key(s:disabled_packages, 'ave') au BufNewFile,BufRead *.ave setf ave endif if !has_key(s:disabled_packages, 'autoit') au BufNewFile,BufRead *.au3 setf autoit endif if !has_key(s:disabled_packages, 'atlas') au BufNewFile,BufRead *.as,*.atl setf atlas endif if !has_key(s:disabled_packages, 'aspperl') au! BufNewFile,BufRead,BufWritePost *.asp call polyglot#detect#Asp() endif if !has_key(s:disabled_packages, 'aspvbs') au! BufNewFile,BufRead,BufWritePost *.asp call polyglot#detect#Asp() au! BufNewFile,BufRead,BufWritePost *.asa call polyglot#detect#Asa() endif if !has_key(s:disabled_packages, 'asn') au BufNewFile,BufRead *.asn,*.asn1 setf asn endif if !has_key(s:disabled_packages, 'automake') au BufNewFile,BufRead *.dsp,*.mak,*.mk,GNUmakefile.am,Makefile.am,makefile.am setf automake endif if !has_key(s:disabled_packages, 'elf') au BufNewFile,BufRead *.am setf elf endif if !has_key(s:disabled_packages, 'autohotkey') au BufNewFile,BufRead *.ahk,*.ahkl setf autohotkey endif if !has_key(s:disabled_packages, 'asciidoc') au BufNewFile,BufRead *.adoc,*.asc,*.asciidoc setf asciidoc endif if !has_key(s:disabled_packages, 'art') au BufNewFile,BufRead *.art setf art endif if !has_key(s:disabled_packages, 'arduino') au BufNewFile,BufRead *.ino,*.pde setf arduino endif if !has_key(s:disabled_packages, 'c/c++') au! BufNewFile,BufRead,BufWritePost *.h call polyglot#detect#H() au BufNewFile,BufRead *.c++,*.cc,*.cp,*.cpp,*.cxx,*.h++,*.hh,*.hpp,*.hxx,*.inc,*.inl,*.ipp,*.moc,*.tcc,*.tlh,*.tpp setf cpp au! BufNewFile,BufRead,BufWritePost *.h call polyglot#detect#H() au BufNewFile,BufRead *.c,*.cats,*.idc,*.qc,*enlightenment/*.cfg setf c endif if !has_key(s:disabled_packages, 'arch') au BufNewFile,BufRead {.,}arch-inventory,=tagging-method setf arch endif if !has_key(s:disabled_packages, 'aptconf') au BufNewFile,BufRead */.aptitude/config,*/etc/apt/apt.conf.d/*.conf,apt.conf setf aptconf au BufNewFile,BufRead */etc/apt/apt.conf.d/[^.]* call s:StarSetf('aptconf') endif if !has_key(s:disabled_packages, 'applescript') au BufNewFile,BufRead *.applescript,*.scpt setf applescript endif if !has_key(s:disabled_packages, 'apiblueprint') au BufNewFile,BufRead *.apib setf apiblueprint endif if !has_key(s:disabled_packages, 'apache') au BufNewFile,BufRead */etc/apache2/sites-*/*.com,*/etc/httpd/*.conf,{.,}htaccess setf apache au BufNewFile,BufRead srm.conf* call s:StarSetf('apache') au BufNewFile,BufRead httpd.conf* call s:StarSetf('apache') au BufNewFile,BufRead apache2.conf* call s:StarSetf('apache') au BufNewFile,BufRead apache.conf* call s:StarSetf('apache') au BufNewFile,BufRead access.conf* call s:StarSetf('apache') au BufNewFile,BufRead */etc/httpd/conf.d/*.conf* call s:StarSetf('apache') au BufNewFile,BufRead */etc/apache2/sites-*/* call s:StarSetf('apache') au BufNewFile,BufRead */etc/apache2/mods-*/* call s:StarSetf('apache') au BufNewFile,BufRead */etc/apache2/conf.*/* call s:StarSetf('apache') au BufNewFile,BufRead */etc/apache2/*.conf* call s:StarSetf('apache') endif if !has_key(s:disabled_packages, 'ant') au BufNewFile,BufRead build.xml setf ant endif if !has_key(s:disabled_packages, 'xml') au BufNewFile,BufRead *.adml,*.admx,*.ant,*.axml,*.builds,*.ccproj,*.ccxml,*.cdxml,*.clixml,*.cproject,*.cscfg,*.csdef,*.csl,*.csproj,*.csproj.user,*.ct,*.depproj,*.dita,*.ditamap,*.ditaval,*.dll.config,*.dotsettings,*.filters,*.fsproj,*.fxml,*.glade,*.gml,*.gmx,*.grxml,*.gst,*.iml,*.ivy,*.jelly,*.jsproj,*.kml,*.launch,*.mdpolicy,*.mjml,*.mm,*.mod,*.mxml,*.natvis,*.ncl,*.ndproj,*.nproj,*.nuspec,*.odd,*.osm,*.pkgproj,*.pluginspec,*.proj,*.props,*.psc1,*.pt,*.rdf,*.resx,*.rss,*.sch,*.scxml,*.sfproj,*.shproj,*.srdf,*.storyboard,*.sublime-snippet,*.targets,*.tml,*.tpm,*.ui,*.urdf,*.ux,*.vbproj,*.vcxproj,*.vsixmanifest,*.vssettings,*.vstemplate,*.vxml,*.wixproj,*.workflow,*.wpl,*.wsdl,*.wsf,*.wxi,*.wxl,*.wxs,*.x3d,*.xacro,*.xaml,*.xib,*.xlf,*.xliff,*.xmi,*.xml,*.xml.dist,*.xproj,*.xsd,*.xspec,*.xul,*.zcml,*/etc/blkid.tab,*/etc/blkid.tab.old,*/etc/xdg/menus/*.menu,*fglrxrc,{.,}classpath,{.,}cproject,{.,}project,App.config,NuGet.config,Settings.StyleCop,Web.Debug.config,Web.Release.config,Web.config,packages.config setf xml endif if !has_key(s:disabled_packages, 'csv') au BufNewFile,BufRead *.csv,*.tab,*.tsv setf csv endif if !has_key(s:disabled_packages, 'ampl') " AMPL au BufNewFile,BufRead *.run setf ampl endif if !has_key(s:disabled_packages, 'aml') au BufNewFile,BufRead *.aml setf aml endif if !has_key(s:disabled_packages, 'alsaconf') au BufNewFile,BufRead */etc/asound.conf,*/usr/share/alsa/alsa.conf,{.,}asoundrc setf alsaconf endif if !has_key(s:disabled_packages, 'aidl') " AIDL au BufNewFile,BufRead *.aidl setf aidl endif if !has_key(s:disabled_packages, 'ahdl') " AHDL au BufNewFile,BufRead *.tdf setf ahdl endif if !has_key(s:disabled_packages, 'ada') " Ada (83, 9X, 95) au BufNewFile,BufRead *.ada,*.ada_m,*.adb,*.adc,*.ads,*.gpr setf ada endif if !has_key(s:disabled_packages, 'acpiasl') au BufNewFile,BufRead *.asl,*.dsl setf asl endif if !has_key(s:disabled_packages, 'acedb') " AceDB au BufNewFile,BufRead *.wrm setf acedb endif if !has_key(s:disabled_packages, 'abel') " ABEL au BufNewFile,BufRead *.abl setf abel endif if !has_key(s:disabled_packages, 'abc') " ABC music notation au BufNewFile,BufRead *.abc setf abc endif if !has_key(s:disabled_packages, 'abaqus') au! BufNewFile,BufRead,BufWritePost *.inp call polyglot#detect#Inp() endif if !has_key(s:disabled_packages, 'abap') " ABAB/4 au BufNewFile,BufRead *.abap setf abap endif if !has_key(s:disabled_packages, 'aap') " A-A-P recipe au BufNewFile,BufRead *.aap setf aap endif if !has_key(s:disabled_packages, 'a65') " XA65 MOS6510 cross assembler au BufNewFile,BufRead *.a65 setf a65 endif if !has_key(s:disabled_packages, 'a2ps') au BufNewFile,BufRead */etc/a2ps.cfg,*/etc/a2ps/*.cfg,{.,}a2psrc,a2psrc setf a2ps endif if !has_key(s:disabled_packages, 'haproxy') au BufNewFile,BufRead *.cfg,haproxy.cfg setf haproxy au BufNewFile,BufRead haproxy*.conf* call s:StarSetf('haproxy') endif if !has_key(s:disabled_packages, 'conf') au BufNewFile,BufRead *.conf,auto.master,config setf conf endif if !has_key(s:disabled_packages, 'master') au BufNewFile,BufRead *.mas,*.master setf master endif if !has_key(s:disabled_packages, 'cfg') au BufNewFile,BufRead *.cfg,*.hgrc,*hgrc setf cfg endif if !has_key(s:disabled_packages, '8th') " 8th (Firth-derivative) au BufNewFile,BufRead *.8th setf 8th endif " DO NOT EDIT CODE ABOVE, IT IS GENERATED WITH MAKEFILE au! BufNewFile,BufRead,StdinReadPost * if expand(":e") == "" | \ call polyglot#shebang#Detect() | endif au BufEnter * if &ft == "" && expand(":e") == "" | \ call s:Observe('shebang#Detect') | endif augroup END if !has_key(s:disabled_packages, 'autoindent') " Code below re-implements sleuth for vim-polyglot let g:loaded_sleuth = 1 let g:loaded_foobar = 1 " Makes shiftwidth to be synchronized with tabstop by default if &shiftwidth == &tabstop let &shiftwidth = 0 endif function! s:guess(lines) abort let options = {} let ccomment = 0 let podcomment = 0 let triplequote = 0 let backtick = 0 let xmlcomment = 0 let heredoc = '' let minindent = 10 let spaces_minus_tabs = 0 let i = 0 for line in a:lines let i += 1 if !len(line) || line =~# '^\W*$' continue endif if line =~# '^\s*/\*' let ccomment = 1 endif if ccomment if line =~# '\*/' let ccomment = 0 endif continue endif if line =~# '^=\w' let podcomment = 1 endif if podcomment if line =~# '^=\%(end\|cut\)\>' let podcomment = 0 endif continue endif if triplequote if line =~# '^[^"]*"""[^"]*$' let triplequote = 0 endif continue elseif line =~# '^[^"]*"""[^"]*$' let triplequote = 1 endif if backtick if line =~# '^[^`]*`[^`]*$' let backtick = 0 endif continue elseif &filetype ==# 'go' && line =~# '^[^`]*`[^`]*$' let backtick = 1 endif if line =~# '^\s*<\!--' let xmlcomment = 1 endif if xmlcomment if line =~# '-->' let xmlcomment = 0 endif continue endif " This is correct order because both "< 0 let heredoc = herematch[1] . '$' endif let spaces_minus_tabs += line[0] == "\t" ? 1 : -1 if line[0] == "\t" setlocal noexpandtab let &l:shiftwidth=&tabstop let b:sleuth_culprit .= ':' . i return 1 elseif line[0] == " " let indent = len(matchstr(line, '^ *')) if (indent % 2 == 0 || indent % 3 == 0) && indent < minindent let minindent = indent endif endif endfor if minindent < 10 setlocal expandtab let &l:shiftwidth=minindent let b:sleuth_culprit .= ':' . i return 1 endif return 0 endfunction function! s:detect_indent() abort if &buftype ==# 'help' return endif let b:sleuth_culprit = expand(":p") if s:guess(getline(1, 32)) return endif let pattern = polyglot#sleuth#GlobForFiletype(&filetype) if len(pattern) == 0 return endif let pattern = '{' . pattern . ',.git,.svn,.hg}' let dir = expand('%:p:h') let level = 3 while isdirectory(dir) && dir !=# fnamemodify(dir, ':h') && level > 0 " Ignore files from homedir and root if dir == expand('~') || dir == '/' unlet b:sleuth_culprit return endif for neighbor in glob(dir . '/' . pattern, 0, 1)[0:level] let b:sleuth_culprit = neighbor " Do not consider directories above .git, .svn or .hg if fnamemodify(neighbor, ":h:t")[0] == "." let level = 0 continue endif if neighbor !=# expand('%:p') && filereadable(neighbor) if s:guess(readfile(neighbor, '', 32)) return endif endif endfor let dir = fnamemodify(dir, ':h') let level -= 1 endwhile unlet b:sleuth_culprit endfunction setglobal smarttab function! SleuthIndicator() abort let sw = &shiftwidth ? &shiftwidth : &tabstop if &expandtab return 'sw='.sw elseif &tabstop == sw return 'ts='.&tabstop else return 'sw='.sw.',ts='.&tabstop endif endfunction augroup polyglot-sleuth au! au FileType * call s:detect_indent() au User Flags call Hoist('buffer', 5, 'SleuthIndicator') augroup END command! -bar -bang Sleuth call s:detect_indent() endif func! s:verify() if exists("g:polyglot_disabled_not_set") if exists("g:polyglot_disabled") echohl WarningMsg echo "vim-polyglot: g:polyglot_disabled should be defined before loading vim-polyglot" echohl None endif unlet g:polyglot_disabled_not_set endif endfunc au VimEnter * call s:verify() " Save polyglot_disabled without postfixes if exists('g:polyglot_disabled') let g:polyglot_disabled = s:new_polyglot_disabled endif augroup filetypedetect " Ignored extensions if exists("*fnameescape") au BufNewFile,BufRead ?\+.orig,?\+.bak,?\+.old,?\+.new,?\+.dpkg-dist,?\+.dpkg-old,?\+.dpkg-new,?\+.dpkg-bak,?\+.rpmsave,?\+.rpmnew,?\+.pacsave,?\+.pacnew \ exe "doau filetypedetect BufRead " . fnameescape(expand(":r")) au BufNewFile,BufRead *~ \ let s:name = expand("") | \ let s:short = substitute(s:name, '\~$', '', '') | \ if s:name != s:short && s:short != "" | \ exe "doau filetypedetect BufRead " . fnameescape(s:short) | \ endif | \ unlet! s:name s:short au BufNewFile,BufRead ?\+.in \ if expand(":t") != "configure.in" | \ exe "doau filetypedetect BufRead " . fnameescape(expand(":r")) | \ endif elseif &verbose > 0 echomsg "Warning: some filetypes will not be recognized because this version of Vim does not have fnameescape()" endif " Pattern used to match file names which should not be inspected. " Currently finds compressed files. if !exists("g:ft_ignore_pat") let g:ft_ignore_pat = '\.\(Z\|gz\|bz2\|zip\|tgz\)$' endif " Batch file for MSDOS. au BufNewFile,BufRead *.bat,*.sys setf dosbatch " *.cmd is close to a Batch file, but on OS/2 Rexx files also use *.cmd. au BufNewFile,BufRead *.cmd \ if getline(1) =~ '^/\*' | setf rexx | else | setf dosbatch | endif " Batch file for 4DOS au BufNewFile,BufRead *.btm call polyglot#ft#FTbtm() " BC calculator au BufNewFile,BufRead *.bc setf bc " BDF font au BufNewFile,BufRead *.bdf setf bdf " BibTeX bibliography database file au BufNewFile,BufRead *.bib setf bib " BibTeX Bibliography Style au BufNewFile,BufRead *.bst setf bst " BIND configuration " sudoedit uses namedXXXX.conf au BufNewFile,BufRead named*.conf,rndc*.conf,rndc*.key setf named " BIND zone au BufNewFile,BufRead named.root setf bindzone au BufNewFile,BufRead *.db call polyglot#ft#BindzoneCheck('') " Blank au BufNewFile,BufRead *.bl setf blank " Blkid cache file au BufNewFile,BufRead */etc/blkid.tab,*/etc/blkid.tab.old setf xml " BSDL au BufNewFile,BufRead *bsd,*.bsdl setf bsdl " Bazel (http://bazel.io) autocmd BufRead,BufNewFile *.bzl,*.bazel,WORKSPACE setf bzl if has("fname_case") " There is another check for BUILD further below. autocmd BufRead,BufNewFile *.BUILD,BUILD setf bzl endif " C or lpc au BufNewFile,BufRead *.c call polyglot#ft#FTlpc() au BufNewFile,BufRead *.lpc,*.ulpc setf lpc " Calendar au BufNewFile,BufRead calendar setf calendar " C# au BufNewFile,BufRead *.cs setf cs " CSDL au BufNewFile,BufRead *.csdl setf csdl " Cabal au BufNewFile,BufRead *.cabal setf cabal " Cdrdao TOC au BufNewFile,BufRead *.toc setf cdrtoc " Cdrdao config au BufNewFile,BufRead */etc/cdrdao.conf,*/etc/defaults/cdrdao,*/etc/default/cdrdao,.cdrdao setf cdrdaoconf " Cfengine au BufNewFile,BufRead cfengine.conf setf cfengine " ChaiScript au BufRead,BufNewFile *.chai setf chaiscript " Comshare Dimension Definition Language au BufNewFile,BufRead *.cdl setf cdl " Conary Recipe au BufNewFile,BufRead *.recipe setf conaryrecipe " Controllable Regex Mutilator au BufNewFile,BufRead *.crm setf crm " Cyn++ au BufNewFile,BufRead *.cyn setf cynpp " Cynlib " .cc and .cpp files can be C++ or Cynlib. au BufNewFile,BufRead *.cc \ if exists("cynlib_syntax_for_cc")|setf cynlib|else|setf cpp|endif au BufNewFile,BufRead *.cpp \ if exists("cynlib_syntax_for_cpp")|setf cynlib|else|setf cpp|endif " C++ au BufNewFile,BufRead *.cxx,*.c++,*.hh,*.hxx,*.hpp,*.ipp,*.moc,*.tcc,*.inl setf cpp if has("fname_case") au BufNewFile,BufRead *.C,*.H setf cpp endif " .h files can be C, Ch C++, ObjC or ObjC++. " Set c_syntax_for_h if you want C, ch_syntax_for_h if you want Ch. ObjC is " detected automatically. au BufNewFile,BufRead *.h call polyglot#ft#FTheader() " Ch (CHscript) au BufNewFile,BufRead *.chf setf ch " TLH files are C++ headers generated by Visual C++'s #import from typelibs au BufNewFile,BufRead *.tlh setf cpp " Cascading Style Sheets au BufNewFile,BufRead *.css setf css " Century Term Command Scripts (*.cmd too) au BufNewFile,BufRead *.con setf cterm " Changelog au BufNewFile,BufRead changelog.Debian,changelog.dch,NEWS.Debian,NEWS.dch,*/debian/changelog \ setf debchangelog au BufNewFile,BufRead [cC]hange[lL]og \ if getline(1) =~ '; urgency=' \| setf debchangelog \| else \| setf changelog \| endif au BufNewFile,BufRead NEWS \ if getline(1) =~ '; urgency=' \| setf debchangelog \| endif " CHILL au BufNewFile,BufRead *..ch setf chill " Changes for WEB and CWEB or CHILL au BufNewFile,BufRead *.ch call polyglot#ft#FTchange() " ChordPro au BufNewFile,BufRead *.chopro,*.crd,*.cho,*.crdpro,*.chordpro setf chordpro " Clean au BufNewFile,BufRead *.dcl,*.icl setf clean " Clever au BufNewFile,BufRead *.eni setf cl " Clever or dtd au BufNewFile,BufRead *.ent call polyglot#ft#FTent() " Clipper (or FoxPro; could also be eviews) au BufNewFile,BufRead *.prg \ if exists("g:filetype_prg") | \ exe "setf " . g:filetype_prg | \ else | \ setf clipper | \ endif " Clojure au BufNewFile,BufRead *.clj,*.cljs,*.cljx,*.cljc setf clojure " Cmake au BufNewFile,BufRead CMakeLists.txt,*.cmake,*.cmake.in setf cmake " Cmusrc au BufNewFile,BufRead */.cmus/{autosave,rc,command-history,*.theme} setf cmusrc au BufNewFile,BufRead */cmus/{rc,*.theme} setf cmusrc " Cobol au BufNewFile,BufRead *.cbl,*.cob,*.lib setf cobol " cobol or zope form controller python script? (heuristic) au BufNewFile,BufRead *.cpy \ if getline(1) =~ '^##' | \ setf python | \ else | \ setf cobol | \ endif " Coco/R au BufNewFile,BufRead *.atg setf coco " Cold Fusion au BufNewFile,BufRead *.cfm,*.cfi,*.cfc setf cf " Configure scripts au BufNewFile,BufRead configure.in,configure.ac setf config " CUDA Cumpute Unified Device Architecture au BufNewFile,BufRead *.cu,*.cuh setf cuda " Dockerfile; Podman uses the same syntax with name Containerfile au BufNewFile,BufRead Containerfile,Dockerfile,*.Dockerfile setf dockerfile " WildPackets EtherPeek Decoder au BufNewFile,BufRead *.dcd setf dcd " Enlightenment configuration files au BufNewFile,BufRead *enlightenment/*.cfg setf c " Eterm au BufNewFile,BufRead *Eterm/*.cfg setf eterm " Euphoria 3 or 4 au BufNewFile,BufRead *.eu,*.ew,*.ex,*.exu,*.exw call polyglot#ft#EuphoriaCheck() if has("fname_case") au BufNewFile,BufRead *.EU,*.EW,*.EX,*.EXU,*.EXW call polyglot#ft#EuphoriaCheck() endif " Lynx config files au BufNewFile,BufRead lynx.cfg setf lynx " Quake au BufNewFile,BufRead *baseq[2-3]/*.cfg,*id1/*.cfg setf quake au BufNewFile,BufRead *quake[1-3]/*.cfg setf quake " Quake C au BufNewFile,BufRead *.qc setf c " Configure files au BufNewFile,BufRead *.cfg setf cfg " Cucumber au BufNewFile,BufRead *.feature setf cucumber " Communicating Sequential Processes au BufNewFile,BufRead *.csp,*.fdr setf csp " CUPL logic description and simulation au BufNewFile,BufRead *.pld setf cupl au BufNewFile,BufRead *.si setf cuplsim " Dart au BufRead,BufNewfile *.dart,*.drt setf dart " Debian Control au BufNewFile,BufRead */debian/control setf debcontrol au BufNewFile,BufRead control \ if getline(1) =~ '^Source:' \| setf debcontrol \| endif " Debian Copyright au BufNewFile,BufRead */debian/copyright setf debcopyright au BufNewFile,BufRead copyright \ if getline(1) =~ '^Format:' \| setf debcopyright \| endif " Debian Sources.list au BufNewFile,BufRead */etc/apt/sources.list setf debsources au BufNewFile,BufRead */etc/apt/sources.list.d/*.list setf debsources " Deny hosts au BufNewFile,BufRead denyhosts.conf setf denyhosts " dnsmasq(8) configuration files au BufNewFile,BufRead */etc/dnsmasq.conf setf dnsmasq " ROCKLinux package description au BufNewFile,BufRead *.desc setf desc " the D language or dtrace au BufNewFile,BufRead *.d call polyglot#ft#DtraceCheck() " Desktop files au BufNewFile,BufRead *.desktop,*.directory setf desktop " Dict config au BufNewFile,BufRead dict.conf,.dictrc setf dictconf " Dictd config au BufNewFile,BufRead dictd.conf setf dictdconf " Diff files au BufNewFile,BufRead *.diff,*.rej setf diff au BufNewFile,BufRead *.patch \ if getline(1) =~ '^From [0-9a-f]\{40\} Mon Sep 17 00:00:00 2001$' | \ setf gitsendemail | \ else | \ setf diff | \ endif " Dircolors au BufNewFile,BufRead .dir_colors,.dircolors,*/etc/DIR_COLORS setf dircolors " Diva (with Skill) or InstallShield au BufNewFile,BufRead *.rul \ if getline(1).getline(2).getline(3).getline(4).getline(5).getline(6) =~? 'InstallShield' | \ setf ishd | \ else | \ setf diva | \ endif " DCL (Digital Command Language - vms) or DNS zone file au BufNewFile,BufRead *.com call polyglot#ft#BindzoneCheck('dcl') " DOT au BufNewFile,BufRead *.dot,*.gv setf dot " Dylan - lid files au BufNewFile,BufRead *.lid setf dylanlid " Dylan - intr files (melange) au BufNewFile,BufRead *.intr setf dylanintr " Dylan au BufNewFile,BufRead *.dylan setf dylan " Microsoft Module Definition au BufNewFile,BufRead *.def setf def " Dracula au BufNewFile,BufRead *.drac,*.drc,*lvs,*lpe setf dracula " Datascript au BufNewFile,BufRead *.ds setf datascript " dsl au BufNewFile,BufRead *.dsl setf dsl " DTD (Document Type Definition for XML) au BufNewFile,BufRead *.dtd setf dtd " DTS/DSTI (device tree files) au BufNewFile,BufRead *.dts,*.dtsi setf dts " EDIF (*.edf,*.edif,*.edn,*.edo) or edn au BufNewFile,BufRead *.ed\(f\|if\|o\) setf edif au BufNewFile,BufRead *.edn \ if getline(1) =~ '^\s*(\s*edif\>' | \ setf edif | \ else | \ setf clojure | \ endif " EditorConfig (close enough to dosini) au BufNewFile,BufRead .editorconfig setf dosini " Embedix Component Description au BufNewFile,BufRead *.ecd setf ecd " Eiffel or Specman or Euphoria au BufNewFile,BufRead *.e,*.E call polyglot#ft#FTe() " Elinks configuration au BufNewFile,BufRead elinks.conf setf elinks " ERicsson LANGuage; Yaws is erlang too au BufNewFile,BufRead *.erl,*.hrl,*.yaws setf erlang " Elm au BufNewFile,BufRead *.elm setf elm " Elm Filter Rules file au BufNewFile,BufRead filter-rules setf elmfilt " ESMTP rc file au BufNewFile,BufRead *esmtprc setf esmtprc " ESQL-C au BufNewFile,BufRead *.ec,*.EC setf esqlc " Esterel au BufNewFile,BufRead *.strl setf esterel " Essbase script au BufNewFile,BufRead *.csc setf csc " Exim au BufNewFile,BufRead exim.conf setf exim " Expect au BufNewFile,BufRead *.exp setf expect " Exports au BufNewFile,BufRead exports setf exports " Falcon au BufNewFile,BufRead *.fal setf falcon " Fantom au BufNewFile,BufRead *.fan,*.fwt setf fan " Factor au BufNewFile,BufRead *.factor setf factor " Fetchmail RC file au BufNewFile,BufRead .fetchmailrc setf fetchmail " FlexWiki - disabled, because it has side effects when a .wiki file " is not actually FlexWiki "au BufNewFile,BufRead *.wiki setf flexwiki " Focus Executable au BufNewFile,BufRead *.fex,*.focexec setf focexec " Focus Master file (but not for auto.master) au BufNewFile,BufRead auto.master setf conf au BufNewFile,BufRead *.mas,*.master setf master " Forth au BufNewFile,BufRead *.fs,*.ft,*.fth setf forth " Reva Forth au BufNewFile,BufRead *.frt setf reva " Fortran if has("fname_case") au BufNewFile,BufRead *.F,*.FOR,*.FPP,*.FTN,*.F77,*.F90,*.F95,*.F03,*.F08 setf fortran endif au BufNewFile,BufRead *.f,*.for,*.fortran,*.fpp,*.ftn,*.f77,*.f90,*.f95,*.f03,*.f08 setf fortran " Framescript au BufNewFile,BufRead *.fsl setf framescript " FStab au BufNewFile,BufRead fstab,mtab setf fstab " GDB command files au BufNewFile,BufRead .gdbinit setf gdb " GDMO au BufNewFile,BufRead *.mo,*.gdmo setf gdmo " Gedcom au BufNewFile,BufRead *.ged,lltxxxxx.txt setf gedcom " Git au BufNewFile,BufRead COMMIT_EDITMSG,MERGE_MSG,TAG_EDITMSG setf gitcommit au BufNewFile,BufRead *.git/config,.gitconfig,/etc/gitconfig setf gitconfig au BufNewFile,BufRead */.config/git/config setf gitconfig au BufNewFile,BufRead .gitmodules,*.git/modules/*/config setf gitconfig if !empty($XDG_CONFIG_HOME) au BufNewFile,BufRead $XDG_CONFIG_HOME/git/config setf gitconfig endif au BufNewFile,BufRead git-rebase-todo setf gitrebase au BufRead,BufNewFile .gitsendemail.msg.?????? setf gitsendemail au BufNewFile,BufRead .msg.[0-9]* \ if getline(1) =~ '^From.*# This line is ignored.$' | \ setf gitsendemail | \ endif au BufNewFile,BufRead *.git/* \ if getline(1) =~ '^\x\{40\}\>\|^ref: ' | \ setf git | \ endif " Gkrellmrc au BufNewFile,BufRead gkrellmrc,gkrellmrc_? setf gkrellmrc " GP scripts (2.0 and onward) au BufNewFile,BufRead *.gp,.gprc setf gp " GPG au BufNewFile,BufRead */.gnupg/options setf gpg au BufNewFile,BufRead */.gnupg/gpg.conf setf gpg au BufNewFile,BufRead */usr/*/gnupg/options.skel setf gpg if !empty($GNUPGHOME) au BufNewFile,BufRead $GNUPGHOME/options setf gpg au BufNewFile,BufRead $GNUPGHOME/gpg.conf setf gpg endif " gnash(1) configuration files au BufNewFile,BufRead gnashrc,.gnashrc,gnashpluginrc,.gnashpluginrc setf gnash " Gitolite au BufNewFile,BufRead gitolite.conf setf gitolite au BufNewFile,BufRead {,.}gitolite.rc,example.gitolite.rc setf perl " GrADS scripts au BufNewFile,BufRead *.gs setf grads " Gretl au BufNewFile,BufRead *.gretl setf gretl " Groovy au BufNewFile,BufRead *.gradle,*.groovy setf groovy " GNU Server Pages au BufNewFile,BufRead *.gsp setf gsp " Group file au BufNewFile,BufRead */etc/group,*/etc/group-,*/etc/group.edit,*/etc/gshadow,*/etc/gshadow-,*/etc/gshadow.edit,*/var/backups/group.bak,*/var/backups/gshadow.bak setf group " GTK RC au BufNewFile,BufRead .gtkrc,gtkrc setf gtkrc " Haskell au BufNewFile,BufRead *.hs,*.hs-boot setf haskell au BufNewFile,BufRead *.lhs setf lhaskell au BufNewFile,BufRead *.chs setf chaskell " Haste au BufNewFile,BufRead *.ht setf haste au BufNewFile,BufRead *.htpp setf hastepreproc " Hercules au BufNewFile,BufRead *.vc,*.ev,*.sum,*.errsum setf hercules " HEX (Intel) au BufNewFile,BufRead *.hex,*.h32 setf hex " Hollywood au BufRead,BufNewFile *.hws setf hollywood " Tilde (must be before HTML) au BufNewFile,BufRead *.t.html setf tilde " HTML (.shtml and .stm for server side) au BufNewFile,BufRead *.html,*.htm,*.shtml,*.stm call polyglot#ft#FThtml() " HTML with Ruby - eRuby au BufNewFile,BufRead *.erb,*.rhtml setf eruby " HTML with M4 au BufNewFile,BufRead *.html.m4 setf htmlm4 " Some template. Used to be HTML Cheetah. au BufNewFile,BufRead *.tmpl setf template " Host config au BufNewFile,BufRead */etc/host.conf setf hostconf " Hosts access au BufNewFile,BufRead */etc/hosts.allow,*/etc/hosts.deny setf hostsaccess " Hyper Builder au BufNewFile,BufRead *.hb setf hb " Httest au BufNewFile,BufRead *.htt,*.htb setf httest " Icon au BufNewFile,BufRead *.icn setf icon " IDL (Interface Description Language) au BufNewFile,BufRead *.idl call polyglot#ft#FTidl() " Microsoft IDL (Interface Description Language) Also *.idl " MOF = WMI (Windows Management Instrumentation) Managed Object Format au BufNewFile,BufRead *.odl,*.mof setf msidl " Icewm menu au BufNewFile,BufRead */.icewm/menu setf icemenu " Indent profile (must come before IDL *.pro!) au BufNewFile,BufRead .indent.pro setf indent au BufNewFile,BufRead indent.pro call polyglot#ft#ProtoCheck('indent') " IDL (Interactive Data Language) au BufNewFile,BufRead *.pro call polyglot#ft#ProtoCheck('idlang') " Indent RC au BufNewFile,BufRead indentrc setf indent " Inform au BufNewFile,BufRead *.inf,*.INF setf inform " Initng au BufNewFile,BufRead */etc/initng/*/*.i,*.ii setf initng " Innovation Data Processing au BufRead,BufNewFile upstream.dat\c,upstream.*.dat\c,*.upstream.dat\c setf upstreamdat au BufRead,BufNewFile fdrupstream.log,upstream.log\c,upstream.*.log\c,*.upstream.log\c,UPSTREAM-*.log\c setf upstreamlog au BufRead,BufNewFile upstreaminstall.log\c,upstreaminstall.*.log\c,*.upstreaminstall.log\c setf upstreaminstalllog au BufRead,BufNewFile usserver.log\c,usserver.*.log\c,*.usserver.log\c setf usserverlog au BufRead,BufNewFile usw2kagt.log\c,usw2kagt.*.log\c,*.usw2kagt.log\c setf usw2kagtlog " Ipfilter au BufNewFile,BufRead ipf.conf,ipf6.conf,ipf.rules setf ipfilter " Informix 4GL (source - canonical, include file, I4GL+M4 preproc.) au BufNewFile,BufRead *.4gl,*.4gh,*.m4gl setf fgl " .INI file for MSDOS au BufNewFile,BufRead *.ini setf dosini " SysV Inittab au BufNewFile,BufRead inittab setf inittab " Inno Setup au BufNewFile,BufRead *.iss setf iss " J au BufNewFile,BufRead *.ijs setf j " JAL au BufNewFile,BufRead *.jal,*.JAL setf jal " Jam au BufNewFile,BufRead *.jpl,*.jpr setf jam " Java au BufNewFile,BufRead *.java,*.jav setf java " JavaCC au BufNewFile,BufRead *.jj,*.jjt setf javacc " JavaScript, ECMAScript, ES module script, CommonJS script au BufNewFile,BufRead *.js,*.javascript,*.es,*.mjs,*.cjs setf javascript " JavaScript with React au BufNewFile,BufRead *.jsx setf javascriptreact " Java Server Pages au BufNewFile,BufRead *.jsp setf jsp " Java Properties resource file (note: doesn't catch font.properties.pl) au BufNewFile,BufRead *.properties,*.properties_??,*.properties_??_?? setf jproperties " Jess au BufNewFile,BufRead *.clp setf jess " Jgraph au BufNewFile,BufRead *.jgr setf jgraph " Jovial au BufNewFile,BufRead *.jov,*.j73,*.jovial setf jovial " JSON au BufNewFile,BufRead *.json,*.jsonp,*.webmanifest setf json " Kixtart au BufNewFile,BufRead *.kix setf kix " Kimwitu[++] au BufNewFile,BufRead *.k setf kwt " Kivy au BufNewFile,BufRead *.kv setf kivy " Kotlin au BufNewFile,BufRead *.kt,*.ktm,*.kts setf kotlin " KDE script au BufNewFile,BufRead *.ks setf kscript " Kconfig au BufNewFile,BufRead Kconfig,Kconfig.debug setf kconfig " Lace (ISE) au BufNewFile,BufRead *.ace,*.ACE setf lace " Latte au BufNewFile,BufRead *.latte,*.lte setf latte " Limits au BufNewFile,BufRead */etc/limits,*/etc/*limits.conf,*/etc/*limits.d/*.conf setf limits " LambdaProlog (*.mod too, see Modsim) au BufNewFile,BufRead *.sig setf lprolog " LDAP LDIF au BufNewFile,BufRead *.ldif setf ldif " Ld loader au BufNewFile,BufRead *.ld setf ld " Less au BufNewFile,BufRead *.less setf less " Lex au BufNewFile,BufRead *.lex,*.l,*.lxx,*.l++ setf lex " Libao au BufNewFile,BufRead */etc/libao.conf,*/.libao setf libao " Libsensors au BufNewFile,BufRead */etc/sensors.conf,*/etc/sensors3.conf setf sensors " LFTP au BufNewFile,BufRead lftp.conf,.lftprc,*lftp/rc setf lftp " Lifelines (or Lex for C++!) au BufNewFile,BufRead *.ll setf lifelines " Lilo: Linux loader au BufNewFile,BufRead lilo.conf setf lilo " Lisp (*.el = ELisp, *.cl = Common Lisp) " *.jl was removed, it's also used for Julia, better skip than guess wrong. if has("fname_case") au BufNewFile,BufRead *.lsp,*.lisp,*.el,*.cl,*.L,.emacs,.sawfishrc setf lisp else au BufNewFile,BufRead *.lsp,*.lisp,*.el,*.cl,.emacs,.sawfishrc setf lisp endif " SBCL implementation of Common Lisp au BufNewFile,BufRead sbclrc,.sbclrc setf lisp " Liquid au BufNewFile,BufRead *.liquid setf liquid " Lite au BufNewFile,BufRead *.lite,*.lt setf lite " LiteStep RC files au BufNewFile,BufRead */LiteStep/*/*.rc setf litestep " Login access au BufNewFile,BufRead */etc/login.access setf loginaccess " Login defs au BufNewFile,BufRead */etc/login.defs setf logindefs " Logtalk au BufNewFile,BufRead *.lgt setf logtalk " LOTOS au BufNewFile,BufRead *.lot,*.lotos setf lotos " Lout (also: *.lt) au BufNewFile,BufRead *.lou,*.lout setf lout " Lua au BufNewFile,BufRead *.lua setf lua " Luarocks au BufNewFile,BufRead *.rockspec setf lua " Linden Scripting Language (Second Life) au BufNewFile,BufRead *.lsl setf lsl " Lynx style file (or LotusScript!) au BufNewFile,BufRead *.lss setf lss " M4 au BufNewFile,BufRead *.m4 \ if expand("") !~? 'html.m4$\|fvwm2rc' | setf m4 | endif " MaGic Point au BufNewFile,BufRead *.mgp setf mgp " Mail (for Elm, trn, mutt, muttng, rn, slrn, neomutt) au BufNewFile,BufRead snd.\d\+,.letter,.letter.\d\+,.followup,.article,.article.\d\+,pico.\d\+,mutt{ng,}-*-\w\+,mutt[[:alnum:]_-]\\\{6\},neomutt-*-\w\+,neomutt[[:alnum:]_-]\\\{6\},ae\d\+.txt,/tmp/SLRN[0-9A-Z.]\+,*.eml setf mail " Mail aliases au BufNewFile,BufRead */etc/mail/aliases,*/etc/aliases setf mailaliases " Mailcap configuration file au BufNewFile,BufRead .mailcap,mailcap setf mailcap " Makefile "au BufNewFile,BufRead *[mM]akefile,*.mk,*.mak,*.dsp setf make " MakeIndex au BufNewFile,BufRead *.ist,*.mst setf ist " Mallard au BufNewFile,BufRead *.page setf mallard " Manpage au BufNewFile,BufRead *.man setf man " Man config au BufNewFile,BufRead */etc/man.conf,man.config setf manconf " Maple V au BufNewFile,BufRead *.mv,*.mpl,*.mws setf maple " Map (UMN mapserver config file) au BufNewFile,BufRead *.map setf map " Markdown au BufNewFile,BufRead *.markdown,*.mdown,*.mkd,*.mkdn,*.mdwn,*.md setf markdown " Mason au BufNewFile,BufRead *.mason,*.mhtml,*.comp setf mason " Mathematica, Matlab, Murphi or Objective C au BufNewFile,BufRead *.m call polyglot#ft#FTm() " Mathematica notebook au BufNewFile,BufRead *.nb setf mma " Maya Extension Language au BufNewFile,BufRead *.mel setf mel " Mercurial (hg) commit file au BufNewFile,BufRead hg-editor-*.txt setf hgcommit " Mercurial config (looks like generic config file) au BufNewFile,BufRead *.hgrc,*hgrc setf cfg " Meson Build system config au BufNewFile,BufRead meson.build,meson_options.txt setf meson " Messages (logs mostly) au BufNewFile,BufRead */log/{auth,cron,daemon,debug,kern,lpr,mail,messages,news/news,syslog,user}{,.log,.err,.info,.warn,.crit,.notice}{,.[0-9]*,-[0-9]*} setf messages " Metafont au BufNewFile,BufRead *.mf setf mf " MetaPost au BufNewFile,BufRead *.mp setf mp " MGL au BufNewFile,BufRead *.mgl setf mgl " MIX - Knuth assembly au BufNewFile,BufRead *.mix,*.mixal setf mix " MMIX or VMS makefile au BufNewFile,BufRead *.mms call polyglot#ft#FTmms() " Symbian meta-makefile definition (MMP) au BufNewFile,BufRead *.mmp setf mmp " Modsim III (or LambdaProlog) au BufNewFile,BufRead *.mod \ if getline(1) =~ '\' | \ setf lprolog | \ else | \ setf modsim3 | \ endif " Modula 2 (.md removed in favor of Markdown) au BufNewFile,BufRead *.m2,*.DEF,*.MOD,*.mi setf modula2 " Modula 3 (.m3, .i3, .mg, .ig) au BufNewFile,BufRead *.[mi][3g] setf modula3 " Monk au BufNewFile,BufRead *.isc,*.monk,*.ssc,*.tsc setf monk " MOO au BufNewFile,BufRead *.moo setf moo " Modconf au BufNewFile,BufRead */etc/modules.conf,*/etc/modules,*/etc/conf.modules setf modconf " Mplayer config au BufNewFile,BufRead mplayer.conf,*/.mplayer/config setf mplayerconf " Motorola S record au BufNewFile,BufRead *.s19,*.s28,*.s37,*.mot,*.srec setf srec " Mrxvtrc au BufNewFile,BufRead mrxvtrc,.mrxvtrc setf mrxvtrc " Msql au BufNewFile,BufRead *.msql setf msql " Mysql au BufNewFile,BufRead *.mysql setf mysql " Mutt setup files (must be before catch *.rc) au BufNewFile,BufRead */etc/Muttrc.d/* call s:StarSetf('muttrc') " M$ Resource files au BufNewFile,BufRead *.rc,*.rch setf rc " MuPAD source au BufRead,BufNewFile *.mu setf mupad " Mush au BufNewFile,BufRead *.mush setf mush " Mutt setup file (also for Muttng) au BufNewFile,BufRead Mutt{ng,}rc setf muttrc " N1QL au BufRead,BufNewfile *.n1ql,*.nql setf n1ql " Nano au BufNewFile,BufRead */etc/nanorc,*.nanorc setf nanorc " Nastran input/DMAP "au BufNewFile,BufRead *.dat setf nastran " Natural au BufNewFile,BufRead *.NS[ACGLMNPS] setf natural " Noemutt setup file au BufNewFile,BufRead Neomuttrc setf neomuttrc " Netrc au BufNewFile,BufRead .netrc setf netrc " Ninja file au BufNewFile,BufRead *.ninja setf ninja " NPM RC file au BufNewFile,BufRead npmrc,.npmrc setf dosini " Novell netware batch files au BufNewFile,BufRead *.ncf setf ncf " Nroff/Troff (*.ms and *.t are checked below) au BufNewFile,BufRead *.me \ if expand("") != "read.me" && expand("") != "click.me" | \ setf nroff | \ endif au BufNewFile,BufRead *.tr,*.nr,*.roff,*.tmac,*.mom setf nroff au BufNewFile,BufRead *.[1-9] call polyglot#ft#FTnroff() " Nroff or Objective C++ au BufNewFile,BufRead *.mm call polyglot#ft#FTmm() " Not Quite C au BufNewFile,BufRead *.nqc setf nqc " NSE - Nmap Script Engine - uses Lua syntax au BufNewFile,BufRead *.nse setf lua " NSIS au BufNewFile,BufRead *.nsi,*.nsh setf nsis " OCAML au BufNewFile,BufRead *.ml,*.mli,*.mll,*.mly,.ocamlinit setf ocaml " Occam au BufNewFile,BufRead *.occ setf occam " Omnimark au BufNewFile,BufRead *.xom,*.xin setf omnimark " OpenROAD au BufNewFile,BufRead *.or setf openroad " OPL au BufNewFile,BufRead *.[Oo][Pp][Ll] setf opl " Oracle config file au BufNewFile,BufRead *.ora setf ora " Packet filter conf au BufNewFile,BufRead pf.conf setf pf " Pacman Config (close enough to dosini) au BufNewFile,BufRead */etc/pacman.conf setf dosini " Pacman hooks au BufNewFile,BufRead *.hook \ if getline(1) == '[Trigger]' | \ setf dosini | \ endif " Pam conf au BufNewFile,BufRead */etc/pam.conf setf pamconf " Pam environment au BufNewFile,BufRead pam_env.conf,.pam_environment setf pamenv " PApp au BufNewFile,BufRead *.papp,*.pxml,*.pxsl setf papp " Password file au BufNewFile,BufRead */etc/passwd,*/etc/passwd-,*/etc/passwd.edit,*/etc/shadow,*/etc/shadow-,*/etc/shadow.edit,*/var/backups/passwd.bak,*/var/backups/shadow.bak setf passwd " Pascal (also *.p) au BufNewFile,BufRead *.pas,*.pp setf pascal " Delphi or Lazarus program file au BufNewFile,BufRead *.dpr,*.lpr setf pascal " PDF au BufNewFile,BufRead *.pdf setf pdf " PCMK - HAE - crm configure edit au BufNewFile,BufRead *.pcmk setf pcmk " Perl if has("fname_case") au BufNewFile,BufRead *.pl,*.PL call polyglot#ft#FTpl() else au BufNewFile,BufRead *.pl call polyglot#ft#FTpl() endif au BufNewFile,BufRead *.plx,*.al,*.psgi setf perl au BufNewFile,BufRead *.p6,*.pm6,*.pl6 setf perl6 au BufNewFile,BufRead *.raku,*.rakumod setf perl6 " Perl, XPM or XPM2 au BufNewFile,BufRead *.pm \ if getline(1) =~ "XPM2" | \ setf xpm2 | \ elseif getline(1) =~ "XPM" | \ setf xpm | \ else | \ setf perl | \ endif " Perl POD au BufNewFile,BufRead *.pod setf pod au BufNewFile,BufRead *.pod6 setf pod6 " Php, php3, php4, etc. " Also Phtml (was used for PHP 2 in the past) " Also .ctp for Cake template file au BufNewFile,BufRead *.php,*.php\d,*.phtml,*.ctp setf php " PHP config au BufNewFile,BufRead php.ini-* setf dosini " Pike and Cmod au BufNewFile,BufRead *.pike,*.pmod setf pike au BufNewFile,BufRead *.cmod setf cmod " Pinfo config au BufNewFile,BufRead */etc/pinforc,*/.pinforc setf pinfo " Palm Resource compiler au BufNewFile,BufRead *.rcp setf pilrc " Pine config au BufNewFile,BufRead .pinerc,pinerc,.pinercex,pinercex setf pine " Pipenv Pipfiles au BufNewFile,BufRead Pipfile setf config au BufNewFile,BufRead Pipfile.lock setf json " PL/1, PL/I au BufNewFile,BufRead *.pli,*.pl1 setf pli " PL/M (also: *.inp) au BufNewFile,BufRead *.plm,*.p36,*.pac setf plm " PL/SQL au BufNewFile,BufRead *.pls,*.plsql setf plsql " PLP au BufNewFile,BufRead *.plp setf plp " PO and PO template (GNU gettext) au BufNewFile,BufRead *.po,*.pot setf po " Postfix main config au BufNewFile,BufRead main.cf setf pfmain " PostScript (+ font files, encapsulated PostScript, Adobe Illustrator) au BufNewFile,BufRead *.ps,*.pfa,*.afm,*.eps,*.epsf,*.epsi,*.ai setf postscr " PostScript Printer Description au BufNewFile,BufRead *.ppd setf ppd " Povray au BufNewFile,BufRead *.pov setf pov " Povray configuration au BufNewFile,BufRead .povrayrc setf povini " Povray, PHP or assembly au BufNewFile,BufRead *.inc call polyglot#ft#FTinc() " Printcap and Termcap au BufNewFile,BufRead *printcap \ let b:ptcap_type = "print" | setf ptcap au BufNewFile,BufRead *termcap \ let b:ptcap_type = "term" | setf ptcap " PCCTS / ANTRL "au BufNewFile,BufRead *.g setf antrl au BufNewFile,BufRead *.g setf pccts " PPWizard au BufNewFile,BufRead *.it,*.ih setf ppwiz " Obj 3D file format " TODO: is there a way to avoid MS-Windows Object files? au BufNewFile,BufRead *.obj setf obj " Oracle Pro*C/C++ au BufNewFile,BufRead *.pc setf proc " Privoxy actions file au BufNewFile,BufRead *.action setf privoxy " Procmail au BufNewFile,BufRead .procmail,.procmailrc setf procmail " Progress or CWEB au BufNewFile,BufRead *.w call polyglot#ft#FTprogress_cweb() " Progress or assembly au BufNewFile,BufRead *.i call polyglot#ft#FTprogress_asm() " Progress or Pascal au BufNewFile,BufRead *.p call polyglot#ft#FTprogress_pascal() " Software Distributor Product Specification File (POSIX 1387.2-1995) au BufNewFile,BufRead *.psf setf psf au BufNewFile,BufRead INDEX,INFO \ if getline(1) =~ '^\s*\(distribution\|installed_software\|root\|bundle\|product\)\s*$' | \ setf psf | \ endif " Prolog au BufNewFile,BufRead *.pdb setf prolog " Promela au BufNewFile,BufRead *.pml setf promela " Google protocol buffers au BufNewFile,BufRead *.proto setf proto " Protocols au BufNewFile,BufRead */etc/protocols setf protocols " Pyrex au BufNewFile,BufRead *.pyx,*.pxd setf pyrex " Python, Python Shell Startup and Python Stub Files " Quixote (Python-based web framework) au BufNewFile,BufRead *.py,*.pyw,.pythonstartup,.pythonrc setf python au BufNewFile,BufRead *.ptl,*.pyi,SConstruct setf python " Radiance au BufNewFile,BufRead *.rad,*.mat setf radiance " Ratpoison config/command files au BufNewFile,BufRead .ratpoisonrc,ratpoisonrc setf ratpoison " RCS file au BufNewFile,BufRead *\,v setf rcs " Readline au BufNewFile,BufRead .inputrc,inputrc setf readline " Registry for MS-Windows au BufNewFile,BufRead *.reg \ if getline(1) =~? '^REGEDIT[0-9]*\s*$\|^Windows Registry Editor Version \d*\.\d*\s*$' | setf registry | endif " Renderman Interface Bytestream au BufNewFile,BufRead *.rib setf rib " Rego Policy Language au BufNewFile,BufRead *.rego setf rego " Rexx au BufNewFile,BufRead *.rex,*.orx,*.rxo,*.rxj,*.jrexx,*.rexxj,*.rexx,*.testGroup,*.testUnit setf rexx " R (Splus) if has("fname_case") au BufNewFile,BufRead *.s,*.S setf r else au BufNewFile,BufRead *.s setf r endif " R Help file if has("fname_case") au BufNewFile,BufRead *.rd,*.Rd setf rhelp else au BufNewFile,BufRead *.rd setf rhelp endif " R noweb file if has("fname_case") au BufNewFile,BufRead *.Rnw,*.rnw,*.Snw,*.snw setf rnoweb else au BufNewFile,BufRead *.rnw,*.snw setf rnoweb endif " R Markdown file if has("fname_case") au BufNewFile,BufRead *.Rmd,*.rmd,*.Smd,*.smd setf rmd else au BufNewFile,BufRead *.rmd,*.smd setf rmd endif " R reStructuredText file if has("fname_case") au BufNewFile,BufRead *.Rrst,*.rrst,*.Srst,*.srst setf rrst else au BufNewFile,BufRead *.rrst,*.srst setf rrst endif " Rexx, Rebol or R au BufNewFile,BufRead *.r,*.R call polyglot#ft#FTr() " Remind au BufNewFile,BufRead .reminders,*.remind,*.rem setf remind " Resolv.conf au BufNewFile,BufRead resolv.conf setf resolv " Relax NG Compact au BufNewFile,BufRead *.rnc setf rnc " Relax NG XML au BufNewFile,BufRead *.rng setf rng " RPL/2 au BufNewFile,BufRead *.rpl setf rpl " Robots.txt au BufNewFile,BufRead robots.txt setf robots " Rpcgen au BufNewFile,BufRead *.x setf rpcgen " reStructuredText Documentation Format au BufNewFile,BufRead *.rst setf rst " RTF au BufNewFile,BufRead *.rtf setf rtf " Interactive Ruby shell au BufNewFile,BufRead .irbrc,irbrc setf ruby " Ruby au BufNewFile,BufRead *.rb,*.rbw setf ruby " RubyGems au BufNewFile,BufRead *.gemspec setf ruby " Rust au BufNewFile,BufRead *.rs setf rust " Rackup au BufNewFile,BufRead *.ru setf ruby " Bundler au BufNewFile,BufRead Gemfile setf ruby " Ruby on Rails au BufNewFile,BufRead *.builder,*.rxml,*.rjs setf ruby " Rantfile and Rakefile is like Ruby au BufNewFile,BufRead [rR]antfile,*.rant,[rR]akefile,*.rake setf ruby " S-lang (or shader language, or SmallLisp) au BufNewFile,BufRead *.sl setf slang " Samba config au BufNewFile,BufRead smb.conf setf samba " SAS script au BufNewFile,BufRead *.sas setf sas " Sass au BufNewFile,BufRead *.sass setf sass " Sather au BufNewFile,BufRead *.sa setf sather " Scala au BufNewFile,BufRead *.scala setf scala " SBT - Scala Build Tool au BufNewFile,BufRead *.sbt setf sbt " Scilab au BufNewFile,BufRead *.sci,*.sce setf scilab " SCSS au BufNewFile,BufRead *.scss setf scss " SD: Streaming Descriptors au BufNewFile,BufRead *.sd setf sd " SDL au BufNewFile,BufRead *.sdl,*.pr setf sdl " sed au BufNewFile,BufRead *.sed setf sed " Sieve (RFC 3028, 5228) au BufNewFile,BufRead *.siv,*.sieve setf sieve " Sendmail au BufNewFile,BufRead sendmail.cf setf sm " Sendmail .mc files are actually m4. Could also be MS Message text file. au BufNewFile,BufRead *.mc call polyglot#ft#McSetf() " Services au BufNewFile,BufRead */etc/services setf services " Service Location config au BufNewFile,BufRead */etc/slp.conf setf slpconf " Service Location registration au BufNewFile,BufRead */etc/slp.reg setf slpreg " Service Location SPI au BufNewFile,BufRead */etc/slp.spi setf slpspi " Setserial config au BufNewFile,BufRead */etc/serial.conf setf setserial " SGML au BufNewFile,BufRead *.sgm,*.sgml \ if getline(1).getline(2).getline(3).getline(4).getline(5) =~? 'linuxdoc' | \ setf sgmllnx | \ elseif getline(1) =~ '' | \ setf xml | \ else | \ setf smil | \ endif " SMIL or SNMP MIB file au BufNewFile,BufRead *.smi \ if getline(1) =~ '\' | \ setf smil | \ else | \ setf mib | \ endif " SMITH au BufNewFile,BufRead *.smt,*.smith setf smith " Snobol4 and spitbol au BufNewFile,BufRead *.sno,*.spt setf snobol4 " SNMP MIB files au BufNewFile,BufRead *.mib,*.my setf mib " Snort Configuration au BufNewFile,BufRead *.hog,snort.conf,vision.conf setf hog au BufNewFile,BufRead *.rules call polyglot#ft#FTRules() " Spec (Linux RPM) au BufNewFile,BufRead *.spec setf spec " Speedup (AspenTech plant simulator) au BufNewFile,BufRead *.speedup,*.spdata,*.spd setf spup " Slice au BufNewFile,BufRead *.ice setf slice " Spice au BufNewFile,BufRead *.sp,*.spice setf spice " Spyce au BufNewFile,BufRead *.spy,*.spi setf spyce " Squid au BufNewFile,BufRead squid.conf setf squid " SQL for Oracle Designer au BufNewFile,BufRead *.tyb,*.typ,*.tyc,*.pkb,*.pks setf sql " SQL au BufNewFile,BufRead *.sql call polyglot#ft#SQL() " SQLJ au BufNewFile,BufRead *.sqlj setf sqlj " SQR au BufNewFile,BufRead *.sqr,*.sqi setf sqr " OpenSSH configuration au BufNewFile,BufRead ssh_config,*/.ssh/config setf sshconfig au BufNewFile,BufRead */etc/ssh/ssh_config.d/*.conf setf sshconfig " OpenSSH server configuration au BufNewFile,BufRead sshd_config setf sshdconfig au BufNewFile,BufRead */etc/ssh/sshd_config.d/*.conf setf sshdconfig " Stata au BufNewFile,BufRead *.ado,*.do,*.imata,*.mata setf stata " Also *.class, but not when it's a Java bytecode file au BufNewFile,BufRead *.class \ if getline(1) !~ "^\xca\xfe\xba\xbe" | setf stata | endif " SMCL au BufNewFile,BufRead *.hlp,*.ihlp,*.smcl setf smcl " Stored Procedures au BufNewFile,BufRead *.stp setf stp " Standard ML au BufNewFile,BufRead *.sml setf sml " Sratus VOS command macro au BufNewFile,BufRead *.cm setf voscm " Swift au BufNewFile,BufRead *.swift setf swift au BufNewFile,BufRead *.swift.gyb setf swiftgyb " Swift Intermediate Language au BufNewFile,BufRead *.sil setf sil " Sysctl au BufNewFile,BufRead */etc/sysctl.conf,*/etc/sysctl.d/*.conf setf sysctl " Systemd unit files au BufNewFile,BufRead */systemd/*.{automount,dnssd,link,mount,netdev,network,nspawn,path,service,slice,socket,swap,target,timer} setf systemd " Systemd overrides au BufNewFile,BufRead */etc/systemd/*.conf.d/*.conf setf systemd au BufNewFile,BufRead */etc/systemd/system/*.d/*.conf setf systemd au BufNewFile,BufRead */.config/systemd/user/*.d/*.conf setf systemd " Systemd temp files au BufNewFile,BufRead */etc/systemd/system/*.d/.#* setf systemd au BufNewFile,BufRead */etc/systemd/system/.#* setf systemd au BufNewFile,BufRead */.config/systemd/user/*.d/.#* setf systemd au BufNewFile,BufRead */.config/systemd/user/.#* setf systemd " Synopsys Design Constraints au BufNewFile,BufRead *.sdc setf sdc " Sudoers au BufNewFile,BufRead */etc/sudoers,sudoers.tmp setf sudoers " SVG (Scalable Vector Graphics) au BufNewFile,BufRead *.svg setf svg " Tads (or Nroff or Perl test file) "au BufNewFile,BufRead *.t " \ if !polyglot#ft#FTnroff() && !polyglot#ft#FTperl() | setf tads | endif " Tags au BufNewFile,BufRead tags setf tags " TAK au BufNewFile,BufRead *.tak setf tak " Task au BufRead,BufNewFile {pending,completed,undo}.data setf taskdata au BufRead,BufNewFile *.task setf taskedit " Tcl (JACL too) au BufNewFile,BufRead *.tcl,*.tk,*.itcl,*.itk,*.jacl setf tcl " TealInfo au BufNewFile,BufRead *.tli setf tli " Telix Salt au BufNewFile,BufRead *.slt setf tsalt " Tera Term Language au BufRead,BufNewFile *.ttl setf teraterm " Terminfo au BufNewFile,BufRead *.ti setf terminfo " TeX au BufNewFile,BufRead *.latex,*.sty,*.dtx,*.ltx,*.bbl setf tex au BufNewFile,BufRead *.tex call polyglot#ft#FTtex() " ConTeXt au BufNewFile,BufRead *.mkii,*.mkiv,*.mkvi setf context " Texinfo au BufNewFile,BufRead *.texinfo,*.texi,*.txi setf texinfo " TeX configuration au BufNewFile,BufRead texmf.cnf setf texmf " Tidy config au BufNewFile,BufRead .tidyrc,tidyrc,tidy.conf setf tidy " TF mud client au BufNewFile,BufRead *.tf,.tfrc,tfrc setf tf " tmux configuration au BufNewFile,BufRead {.,}tmux*.conf setf tmux " TPP - Text Presentation Program au BufNewFile,BufReadPost *.tpp setf tpp " Treetop au BufRead,BufNewFile *.treetop setf treetop " Trustees au BufNewFile,BufRead trustees.conf setf trustees " TSS - Geometry au BufNewFile,BufReadPost *.tssgm setf tssgm " TSS - Optics au BufNewFile,BufReadPost *.tssop setf tssop " TSS - Command Line (temporary) au BufNewFile,BufReadPost *.tsscl setf tsscl " TWIG files au BufNewFile,BufReadPost *.twig setf twig " Typescript au BufNewFile,BufReadPost *.ts setf typescript " TypeScript with React au BufNewFile,BufRead *.tsx setf typescriptreact " Motif UIT/UIL files au BufNewFile,BufRead *.uit,*.uil setf uil " Udev conf au BufNewFile,BufRead */etc/udev/udev.conf setf udevconf " Udev permissions au BufNewFile,BufRead */etc/udev/permissions.d/*.permissions setf udevperm " " Udev symlinks config au BufNewFile,BufRead */etc/udev/cdsymlinks.conf setf sh " UnrealScript au BufNewFile,BufRead *.uc setf uc " Updatedb au BufNewFile,BufRead */etc/updatedb.conf setf updatedb " Upstart (init(8)) config files au BufNewFile,BufRead */usr/share/upstart/*.conf setf upstart au BufNewFile,BufRead */usr/share/upstart/*.override setf upstart au BufNewFile,BufRead */etc/init/*.conf,*/etc/init/*.override setf upstart au BufNewFile,BufRead */.init/*.conf,*/.init/*.override setf upstart au BufNewFile,BufRead */.config/upstart/*.conf setf upstart au BufNewFile,BufRead */.config/upstart/*.override setf upstart " Vera au BufNewFile,BufRead *.vr,*.vri,*.vrh setf vera " Verilog HDL au BufNewFile,BufRead *.v setf verilog " Verilog-AMS HDL au BufNewFile,BufRead *.va,*.vams setf verilogams " SystemVerilog au BufNewFile,BufRead *.sv,*.svh setf systemverilog " VHDL au BufNewFile,BufRead *.hdl,*.vhd,*.vhdl,*.vbe,*.vst,*.vho setf vhdl " Vim script au BufNewFile,BufRead *.vim,*.vba,.exrc,_exrc setf vim " Viminfo file au BufNewFile,BufRead .viminfo,_viminfo setf viminfo " Virata Config Script File or Drupal module au BufRead,BufNewFile *.hw,*.module,*.pkg \ if getline(1) =~ '' | \ let b:xf86conf_xfree86_version = 3 | \ endif | \ setf xf86conf au BufNewFile,BufRead */xorg.conf.d/*.conf \ let b:xf86conf_xfree86_version = 4 | \ setf xf86conf " Xorg config au BufNewFile,BufRead xorg.conf,xorg.conf-4 let b:xf86conf_xfree86_version = 4 | setf xf86conf " Xinetd conf au BufNewFile,BufRead */etc/xinetd.conf setf xinetd " XS Perl extension interface language au BufNewFile,BufRead *.xs setf xs " X resources file au BufNewFile,BufRead .Xdefaults,.Xpdefaults,.Xresources,xdm-config,*.ad setf xdefaults " Xmath au BufNewFile,BufRead *.msc,*.msf setf xmath au BufNewFile,BufRead *.ms \ if !polyglot#ft#FTnroff() | setf xmath | endif " XML specific variants: docbk and xbl au BufNewFile,BufRead *.xml call polyglot#ft#FTxml() " XMI (holding UML models) is also XML au BufNewFile,BufRead *.xmi setf xml " CSPROJ files are Visual Studio.NET's XML-based project config files au BufNewFile,BufRead *.csproj,*.csproj.user setf xml " Qt Linguist translation source and Qt User Interface Files are XML " However, for .ts Typescript is more common. au BufNewFile,BufRead *.ui setf xml " TPM's are RDF-based descriptions of TeX packages (Nikolai Weibull) au BufNewFile,BufRead *.tpm setf xml " Xdg menus au BufNewFile,BufRead */etc/xdg/menus/*.menu setf xml " ATI graphics driver configuration au BufNewFile,BufRead fglrxrc setf xml " Web Services Description Language (WSDL) au BufNewFile,BufRead *.wsdl setf xml " XLIFF (XML Localisation Interchange File Format) is also XML au BufNewFile,BufRead *.xlf setf xml au BufNewFile,BufRead *.xliff setf xml " XML User Interface Language au BufNewFile,BufRead *.xul setf xml " X11 xmodmap (also see below) au BufNewFile,BufRead *Xmodmap setf xmodmap " Xquery au BufNewFile,BufRead *.xq,*.xql,*.xqm,*.xquery,*.xqy setf xquery " XSD au BufNewFile,BufRead *.xsd setf xsd " Xslt au BufNewFile,BufRead *.xsl,*.xslt setf xslt " Yacc au BufNewFile,BufRead *.yy,*.yxx,*.y++ setf yacc " Yacc or racc au BufNewFile,BufRead *.y call polyglot#ft#FTy() " Yaml au BufNewFile,BufRead *.yaml,*.yml setf yaml " Raml au BufNewFile,BufRead *.raml setf raml " yum conf (close enough to dosini) au BufNewFile,BufRead */etc/yum.conf setf dosini " Zimbu au BufNewFile,BufRead *.zu setf zimbu " Zimbu Templates au BufNewFile,BufRead *.zut setf zimbutempl " Zope " dtml (zope dynamic template markup language), pt (zope page template), " cpt (zope form controller page template) au BufNewFile,BufRead *.dtml,*.pt,*.cpt call polyglot#ft#FThtml() " zsql (zope sql method) au BufNewFile,BufRead *.zsql call polyglot#ft#SQL() " Z80 assembler asz80 au BufNewFile,BufRead *.z8a setf z8a augroup END " Source the user-specified filetype file, for backwards compatibility with " Vim 5.x. if exists("myfiletypefile") && filereadable(expand(myfiletypefile)) execute "source " . myfiletypefile endif " Check for "*" after loading myfiletypefile, so that scripts.vim is only used " when there are no matching file name extensions. " Don't do this for compressed files. augroup filetypedetect au BufNewFile,BufRead * \ if !did_filetype() && expand("") !~ g:ft_ignore_pat \ | runtime! scripts.vim | endif au StdinReadPost * if !did_filetype() | runtime! scripts.vim | endif " Extra checks for when no filetype has been detected now. Mostly used for " patterns that end in "*". E.g., "zsh*" matches "zsh.vim", but that's a Vim " script file. " Most of these should call s:StarSetf() to avoid names ending in .gz and the " like are used. " More Apache style config files au BufNewFile,BufRead */etc/proftpd/*.conf*,*/etc/proftpd/conf.*/* call s:StarSetf('apachestyle') au BufNewFile,BufRead proftpd.conf* call s:StarSetf('apachestyle') " More Apache config files au BufNewFile,BufRead access.conf*,apache.conf*,apache2.conf*,httpd.conf*,srm.conf* call s:StarSetf('apache') au BufNewFile,BufRead */etc/apache2/*.conf*,*/etc/apache2/conf.*/*,*/etc/apache2/mods-*/*,*/etc/apache2/sites-*/*,*/etc/httpd/conf.d/*.conf* call s:StarSetf('apache') " Asterisk config file au BufNewFile,BufRead *asterisk/*.conf* call s:StarSetf('asterisk') au BufNewFile,BufRead *asterisk*/*voicemail.conf* call s:StarSetf('asteriskvm') " Bazaar version control au BufNewFile,BufRead bzr_log.* setf bzr " Bazel build file if !has("fname_case") au BufNewFile,BufRead *.BUILD,BUILD setf bzl endif " BIND zone au BufNewFile,BufRead */named/db.*,*/bind/db.* call s:StarSetf('bindzone') " Calendar au BufNewFile,BufRead */.calendar/*, \*/share/calendar/*/calendar.*,*/share/calendar/calendar.* \ call s:StarSetf('calendar') " Changelog au BufNewFile,BufRead [cC]hange[lL]og* \ if getline(1) =~ '; urgency=' \| call s:StarSetf('debchangelog') \|else \| call s:StarSetf('changelog') \|endif " Crontab au BufNewFile,BufRead crontab,crontab.*,*/etc/cron.d/* call s:StarSetf('crontab') " dnsmasq(8) configuration au BufNewFile,BufRead */etc/dnsmasq.d/* call s:StarSetf('dnsmasq') " Dracula au BufNewFile,BufRead drac.* call s:StarSetf('dracula') " Fvwm au BufNewFile,BufRead */.fvwm/* call s:StarSetf('fvwm') au BufNewFile,BufRead *fvwmrc*,*fvwm95*.hook \ let b:fvwm_version = 1 | call s:StarSetf('fvwm') au BufNewFile,BufRead *fvwm2rc* \ if expand(":e") == "m4" \| call s:StarSetf('fvwm2m4') \|else \| let b:fvwm_version = 2 | call s:StarSetf('fvwm') \|endif " Gedcom au BufNewFile,BufRead */tmp/lltmp* call s:StarSetf('gedcom') " Git au BufNewFile,BufRead */.gitconfig.d/*,/etc/gitconfig.d/* call s:StarSetf('gitconfig') " Gitolite au BufNewFile,BufRead */gitolite-admin/conf/* call s:StarSetf('gitolite') " GTK RC au BufNewFile,BufRead .gtkrc*,gtkrc* call s:StarSetf('gtkrc') " Jam au BufNewFile,BufRead Prl*.*,JAM*.* call s:StarSetf('jam') " Jargon au! BufNewFile,BufRead *jarg* \ if getline(1).getline(2).getline(3).getline(4).getline(5) =~? 'THIS IS THE JARGON FILE' \| call s:StarSetf('jargon') \|endif " Java Properties resource file (note: doesn't catch font.properties.pl) au BufNewFile,BufRead *.properties_??_??_* call s:StarSetf('jproperties') " Kconfig au BufNewFile,BufRead Kconfig.* call s:StarSetf('kconfig') " Lilo: Linux loader au BufNewFile,BufRead lilo.conf* call s:StarSetf('lilo') " Logcheck au BufNewFile,BufRead */etc/logcheck/*.d*/* call s:StarSetf('logcheck') " Makefile au BufNewFile,BufRead [mM]akefile* call s:StarSetf('make') " Ruby Makefile au BufNewFile,BufRead [rR]akefile* call s:StarSetf('ruby') " Mail (also matches muttrc.vim, so this is below the other checks) au BufNewFile,BufRead {neo,}mutt[[:alnum:]._-]\\\{6\} setf mail au BufNewFile,BufRead reportbug-* call s:StarSetf('mail') " Modconf au BufNewFile,BufRead */etc/modutils/* \ if executable(expand("")) != 1 \| call s:StarSetf('modconf') \|endif au BufNewFile,BufRead */etc/modprobe.* call s:StarSetf('modconf') " Mutt setup file au BufNewFile,BufRead .mutt{ng,}rc*,*/.mutt{ng,}/mutt{ng,}rc* call s:StarSetf('muttrc') au BufNewFile,BufRead mutt{ng,}rc*,Mutt{ng,}rc* call s:StarSetf('muttrc') " Neomutt setup file au BufNewFile,BufRead .neomuttrc*,*/.neomutt/neomuttrc* call s:StarSetf('neomuttrc') au BufNewFile,BufRead neomuttrc*,Neomuttrc* call s:StarSetf('neomuttrc') " Nroff macros au BufNewFile,BufRead tmac.* call s:StarSetf('nroff') " OpenBSD hostname.if au BufNewFile,BufRead /etc/hostname.* call s:StarSetf('config') " Pam conf au BufNewFile,BufRead */etc/pam.d/* call s:StarSetf('pamconf') " Printcap and Termcap au BufNewFile,BufRead *printcap* \ if !did_filetype() \| let b:ptcap_type = "print" | call s:StarSetf('ptcap') \|endif au BufNewFile,BufRead *termcap* \ if !did_filetype() \| let b:ptcap_type = "term" | call s:StarSetf('ptcap') \|endif " ReDIF " Only used when the .rdf file was not detected to be XML. au BufRead,BufNewFile *.rdf call polyglot#ft#Redif() " Remind au BufNewFile,BufRead .reminders* call s:StarSetf('remind') " SGML catalog file au BufNewFile,BufRead sgml.catalog* call s:StarSetf('catalog') " Shell scripts ending in a star au BufNewFile,BufRead .bashrc*,.bash[_-]profile*,.bash[_-]logout*,.bash[_-]aliases*,bash-fc[-.]*,,PKGBUILD* call polyglot#ft#SetFileTypeSH("bash") au BufNewFile,BufRead .kshrc* call polyglot#ft#SetFileTypeSH("ksh") au BufNewFile,BufRead .profile* call polyglot#ft#SetFileTypeSH(getline(1)) " tcsh scripts ending in a star au BufNewFile,BufRead .tcshrc* call polyglot#ft#SetFileTypeShell("tcsh") " csh scripts ending in a star au BufNewFile,BufRead .login*,.cshrc* call polyglot#ft#CSH() " VHDL au BufNewFile,BufRead *.vhdl_[0-9]* call s:StarSetf('vhdl') " Vim script au BufNewFile,BufRead *vimrc* call s:StarSetf('vim') " Subversion commit file au BufNewFile,BufRead svn-commit*.tmp setf svn " X resources file au BufNewFile,BufRead Xresources*,*/app-defaults/*,*/Xresources/* call s:StarSetf('xdefaults') " XFree86 config au BufNewFile,BufRead XF86Config-4* \ let b:xf86conf_xfree86_version = 4 | call s:StarSetf('xf86conf') au BufNewFile,BufRead XF86Config* \ if getline(1) =~ '\' \| let b:xf86conf_xfree86_version = 3 \|endif \|call s:StarSetf('xf86conf') " X11 xmodmap au BufNewFile,BufRead *xmodmap* call s:StarSetf('xmodmap') " Xinetd conf au BufNewFile,BufRead */etc/xinetd.d/* call s:StarSetf('xinetd') " yum conf (close enough to dosini) au BufNewFile,BufRead */etc/yum.repos.d/* call s:StarSetf('dosini') " Z-Shell script ending in a star au BufNewFile,BufRead .zsh*,.zlog*,.zcompdump* call s:StarSetf('zsh') au BufNewFile,BufRead zsh*,zlog* call s:StarSetf('zsh') " Plain text files, needs to be far down to not override others. This avoids " the "conf" type being used if there is a line starting with '#'. au BufNewFile,BufRead *.text,README setf text " Help files match *.txt but should have a last line that is a modeline. au BufNewFile,BufRead *.txt \ if getline('$') !~ 'vim:.*ft=help' \| setf text \| endif " NOTE: The above command could have ended the filetypedetect autocmd group " and started another one. Let's make sure it has ended to get to a consistent " state. augroup END " Restore 'cpoptions' let &cpo = s:cpo_save unlet s:cpo_save