Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Empty history list (buffer list, etc.) on Windows #967

Closed
vds2212 opened this issue May 26, 2023 · 37 comments
Closed

Empty history list (buffer list, etc.) on Windows #967

vds2212 opened this issue May 26, 2023 · 37 comments
Labels

Comments

@vds2212
Copy link

vds2212 commented May 26, 2023

Instructions: Replace the template text and remove irrelevant text (including this line)
Warning: if you don't fill this issue template and provide the reproducible steps the issue could be closed directly.

Environment (please complete the following information):

OS: Windows 10
gVim version: 9.0
vim-clap version: 0.38 (0647599)
Have you reproduced with a minimal vimrc: yes
Have you updated to the latest plugin version: head
Have you upgraded to/compiled the latest Rust binary: yes

Describe the bug
A clear and concise description of what the bug is.

Start gVim.exe
Run the command :Clap history

I get an empty history list.

If I try the commit before (fdf8d6c) the version is still running smooth.

I have also tried several version 0.39, 0.40, 0.41, 0.42, 043 but I have the same symptoms.

@vds2212 vds2212 added the bug Something isn't working label May 26, 2023
@liuchengxu
Copy link
Owner

Are the version of the repo and binaries aligned? I mean switching to a specific tag of vim-clap repo and use the binary built for that tag, It's possible the binary is not compatible with the code on the client(Vim) side. BTW, does the other providers work or just this particular provider?

@vds2212
Copy link
Author

vds2212 commented May 27, 2023

Thanks for your quick reply :-)

I have used the maple.exe corresponding to the tag in my tests but it didn't help

I believe it is all the providers but I only tested

  • buffers
  • history
  • files

Reamrk: It seems that maple.exe is somehow backward compatible the 0.43 version works with 0.37 tag

Is there a test I can do to narrow down the problem?

@liuchengxu
Copy link
Owner

I just published a new release v0.44, I don't have a Windows machine, can you try that and see how it goes?

To debug it further, create a config.toml at C:\Users\Alice\AppData\Roaming\vim\Vim Clap\config.toml and specify the log, and then start vim-clap in Vim, type anything to trigger the searching and upload the log file.

[log]
log-file = "/tmp/clap.log"
max-level = "trace"

@vds2212
Copy link
Author

vds2212 commented May 27, 2023

Thanks for your message and your release.
I have switched to that release and created the config.toml

But I don't find the clap.log file
Can you tell me where it should be?

@liuchengxu
Copy link
Owner

log-file = "/tmp/clap.log" specifies the path of log file, here it's /tmp/clap.log, I guess you need to change it to a valid windows path, note that it should be an absolute path.

@vds2212
Copy link
Author

vds2212 commented May 27, 2023

I have tried several syntax but with no luck.
I'll try to debug with messages to make the logging working.

If you have pointers I'm interested :-)

@vds2212
Copy link
Author

vds2212 commented May 27, 2023

I have compiled locally a version of maple.exe and with that version (that is significantly heavier than the one that is on the site 15.01 Mb vs. 10.97 Mb) it seems that vim-clap is working fine again.

@liuchengxu
Copy link
Owner

Hmm, interesting, that means the one built by GitHub Action maple-x86_64-pc-windows-msvc does not work? Can you try that binary from the cmd, just to check whether it works, something like maple-x86_64-pc-windows-msvc --help.

@vds2212
Copy link
Author

vds2212 commented May 27, 2023

It does do something.

Here is the result of:
maple.exe version

version 0.1.44 (git v0.44), compiled at: 2023-05-27 04:06:48.432734300 +00:00, built for x86_64-pc-windows-msvc by rustc 1.69.0 (84c898d65 2023-04-16).

Here is the result of:
maple.exe --help

Maple core CLI arguments

Usage: maple-0.44.exe [OPTIONS] <COMMAND>

Commands:
  version
          Display the current version
  upgrade
          Upgrade the prebuilt binary to the latest GitHub release if any
  rpc
          Start the stdio-based service, currently there is only filer support
  grep

  live-grep
          Execute the ripgrep command to avoid the escape issue
  gtags
          Fuzzy filter the current vim buffer given the query
  exec
          Execute the shell command
  dumb-jump
          Dumb jump
  ctags
          Generate the project-wide tags using ctags
  cache
          Interact with the cache info
  filter
          Fuzzy filter the input
  blines
          Filter against current Vim buffer
  helptags
          Generate vim help tags
  ripgrep-forerunner
          Start the forerunner job of grep
  help
          Print this message or the help of the given subcommand(s)

Options:
      --number <NUM>
          Print the top NUM of filtered items.

          The returned JSON has three fields: - total: total number of initial filtered result set. - lines: text lines used for displaying directly. - indices: the indices of matched elements per line, used for the highlight purpose.

      --winwidth <WINWIDTH>
          Width of clap window

      --icon <ICON>
          Prepend an icon for item of files and grep provider, valid only when --number is used

          [default: unknown]

      --case-matching <CASE_MATCHING>
          Case matching strategy

          [default: smart]

      --no-cache
          Do not use the cached file for exec subcommand

      --rayon-num-threads <RAYON_NUM_THREADS>
          Specify the number of threads used in the rayon global thread pool.

          By default, the number of physical cores will be used if the environment variable `RAYON_NUM_THREADS` also does not exist.

      --log <LOG>
          Enable the logging system

      --config-file <CONFIG_FILE>
          Specify the path of the config file

  -h, --help
          Print help (see a summary with '-h')

@vds2212
Copy link
Author

vds2212 commented May 27, 2023

I don't manage to make the logging functionality working.
I have tried to specify the log file explicitely:

maple.exe --log C:\Temp\clap.log ctags buffer-tags --file C:\Users\vds\Desktop\grr\grr.py

I have tried the specify the config file explicitly

maple.exe --config-file "C:\Users\vds\AppData\Roaming\Vim\Vim Clap\config.toml" ctags buffer-tags --file C:\Users\vds\Desktop\grr\grr.py

Here is my C:\Users\vds\AppData\Roaming\vim\Vim Clap\config.toml

[log]
log-file = "C:\Temp\clap.log"
max-level = "trace"

@liuchengxu
Copy link
Owner

Try ./target/release/maple --log=C:\Temp\clap.log rpc to see if the log file will be created.

@vds2212
Copy link
Author

vds2212 commented May 27, 2023

If I specify the log file explicitly like proposed it works.
If I specify explicitly the config file using the --config-file flag it works to with the following config.toml file:

[log]
log-file = "C:\\Temp\\clap.log"
max-level = "trace"

I have to double the backslash

But If I don't specify the config file it seems the config file is not found.
Maybe the code has difficulties with the path containing a space C:\Users\vds\AppData\Roaming\vim\Vim Clap\config.toml

@vds2212
Copy link
Author

vds2212 commented May 27, 2023

The two logs are very similar but the log produced by the exe from GitHub has an addition session_id : None.

@liuchengxu
Copy link
Owner

The whitespace in path shouldn't be an issue, it's fine from the example in the library used in vim-clap https://docs.rs/directories/latest/directories/struct.ProjectDirs.html#examples, https://github.com/liuchengxu/vim-clap/blob/master/crates/maple_core/src/dirs.rs#L9.

So now the locally compiled version works fine for you, but the one on GitHub does not, right?

@vds2212
Copy link
Author

vds2212 commented May 27, 2023

Indeed.
And no exe generate logging if the logging file is not explicitly given.

@liuchengxu
Copy link
Owner

That's expected, the log is not enabled until you explicitly specify it.

Not a Windows expert, I have no idea what happened exactly.

@vds2212
Copy link
Author

vds2212 commented May 27, 2023

It seems to me that the configuration is not found automatically. It looks that the default place I tried is wrong.

I'll try to debug to tell you more.

If you tell me how to test the maple in rpc mode I can give you more hint about what is not working with the GitHub version.

Do you have a Python client and a set of json file to test?

@liuchengxu
Copy link
Owner

Basically, the maple is started in RPC mode as long as you start vim, so when you enter vim, try :echo clap#job#daemon#is_running() to see if the service is running. If true, open the log in another terminal, invoke any clap provider and input any query to see whether it works. The log looks like the following:

2023-05-28T02:43:34.256662Z TRACE rpc: 249: => Vim msg=Notification(Notification { method: "clap#state#clear_preview", params: Array([]) })
2023-05-28T02:43:34.296221Z TRACE rpc: 249: => Vim msg=MethodCall(MethodCall { id: 300, method: "eval", params: Array([String("g:clap.input.get()")]) })
2023-05-28T02:43:34.296630Z TRACE rpc: 249: => Vim msg=MethodCall(MethodCall { id: 301, method: "eval", params: Array([String("g:clap.input.get()")]) })
2023-05-28T02:43:34.299118Z TRACE rpc: 249: => Vim msg=MethodCall(MethodCall { id: 302, method: "eval", params: Array([String("g:clap.display.getcurlnum()")]) })
2023-05-28T02:43:34.299134Z TRACE rpc: 249: => Vim msg=Notification(Notification { method: "clap#spinner#set_busy", params: Array([]) })
2023-05-28T02:43:34.301155Z TRACE rpc: 249: => Vim msg=MethodCall(MethodCall { id: 303, method: "display_getcurline", params: Array([]) })
2023-05-28T02:43:34.317784Z DEBUG maple_core::stdio_server::provider: 452: Skipping preview as curline is empty
2023-05-28T02:43:34.317801Z TRACE rpc: 249: => Vim msg=Notification(Notification { method: "clap#state#clear_preview", params: Array([]) })
2023-05-28T02:43:34.381813Z DEBUG maple_core::searcher::grep::stoppable_searcher: 353: Searching is completed in 82ms query="hello" total_matched=3323 total_processed=134364
2023-05-28T02:43:34.381853Z TRACE rpc: 251: => Vim msg_size=9226 msg_kind="Notification" method=Some("clap#state#update_progress_full")
2023-05-28T02:43:34.381871Z TRACE rpc: 249: => Vim msg=Notification(Notification { method: "clap#spinner#set_idle", params: Array([]) })
2023-05-28T02:43:34.489470Z TRACE maple_core::stdio_server::service: 95: [with_debounce] Received event: OnMove

@liuchengxu
Copy link
Owner

Any way to specify the log file is using an env variable, try setting VIM_CLAP_LOG_PATH to a valid absolute Windows path.

@vds2212
Copy link
Author

vds2212 commented May 28, 2023

The VIM_CLAP_LOG_PATH is working fine. I have now logging. But I suspect that because the configuration is not read the log level is the default log level.

@vds2212
Copy link
Author

vds2212 commented May 28, 2023

I have add some trace to the maple executable and it seems that configuration file used by maple is actually:
~\AppData\Roaming\vim\Vim Clap\config\config.toml
instead of:
~\AppData\Roaming\vim\Vim Clap\config.toml

@liuchengxu
Copy link
Owner

Hmm, interesting, thanks for letting me know, I'm only sure about the location of macOS and Linux honestly.

@vds2212
Copy link
Author

vds2212 commented May 28, 2023

Here are the files that you requested:

This is the log file generated by the executable from GitHub:
clap-0.44.log

This is the log file generated by the executable that I have compiled from the source:
clap-local.log

Like already mentioned in the log generated by the executable from GitHub the method have an additional parameter session_id: None.
The program seems to complains that the session_id must not be None.
That could be the origin of the problem.

@liuchengxu
Copy link
Owner

Yeah, that's the culprit. I downloaded the v0.44 for macOS which works fine.

You can add a debugging print to see the message sent to Rust backend that whether the session_id exists in the notification.

diff --git a/autoload/clap/job/daemon.vim b/autoload/clap/job/daemon.vim
index f28bcd7..fbcb174 100644
--- a/autoload/clap/job/daemon.vim
+++ b/autoload/clap/job/daemon.vim
@@ -118,6 +118,7 @@ else
   endfunction

   function! clap#job#daemon#send_message(msg) abort
+    echom 'Sending:'.string(a:msg)
     call ch_sendraw(s:job, a:msg."\n")
   endfunction
 endif

I do plan to remove it from the notification and it's done in another branch, but it makes no sense as the branch is not yet merged and session_id is included unconditionally now

\ 'session_id': s:session_id,

@vds2212
Copy link
Author

vds2212 commented May 28, 2023

Here are the logs created when I add the echom you suggested:

Messages maintainer: Bram Moolenaar <[email protected]>
Sending:'{"id":0,"result":"\n--- Autocommands ---\nfiletypedetect  BufNewFile\n    ?\\+.orig  exe \"doau filetypedetect BufRead \" . fnameescape(expand(\"<afile>:r\"))\n    ?\\+.bak   exe \"doau filetypedetect BufRead \" . fnameescape(expand(\"<afile>:r\"))\n    ?\\+.old   exe \"doau filetypedetect BufRead \" . fnameescape(expand(\"<afile>:r\"))\n    ?\\+.new   exe \"doau filetypedetect BufRead \" . fnameescape(expand(\"<afile>:r\"))\n    ?\\+.dpkg-dist\n              exe \"doau filetypedetect BufRead \" . fnameescape(expand(\"<afile>:r\"))\n    ?\\+.dpkg-old\n              exe \"doau filetypedetect BufRead \" . fnameescape(expand(\"<afile>:r\"))\n    ?\\+.dpkg-new\n              exe \"doau filetypedetect BufRead \" . fnameescape(expand(\"<afile>:r\"))\n    ?\\+.dpkg-bak\n              exe \"doau filetypedetect BufRead \" . fnameescape(expand(\"<afile>:r\"))\n    ?\\+.rpmsave\n              exe \"doau filetypedetect BufRead \" . fnameescape(expand(\"<afile>:r\"))\n    ?\\+.rpmnew\n              exe \"doau filetypedetect BufRead \" . fnameescape(expand(\"<afile>:r\"))\n    ?\\+.pacsave\n              exe \"doau filetypedetect BufRead \" . fnameescape(expand(\"<afile>:r\"))\n    ?\\+.pacnew\n              exe \"doau filetypedetect BufRead \" . fnameescape(expand(\"<afile>:r\"))\n    *~        let s:name = expand(\"<afile>\") | 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\n    ?\\+.in    if expand(\"<afile>:t\") != \"configure.in\" |   exe \"doau filetypedetect BufRead \" . fnameescape(expand(\"<afile>:r\")) | endif\n    C:/Softs/vim90/doc/*.txt\n              setf help\n    *.inp     call dist#ft#Check_inp()\n    *.8th     setf 8th\n    *.aap     setf aap\n    */etc/a2ps.cfg\n              setf a2ps\n    */etc/a2ps/*.cfg\n              setf a2ps\n    a2psrc    setf a2ps\n    .a2psrc   setf a2ps\n    *.abap    setf abap\n    *.abc     setf abc\n    *.abl     setf abel\n    *.wrm     setf acedb\n    *.adb     setf ada\n    *.ads     setf ada\n    *.ada     setf ada\n    *.gpr     setf ada\n    *.tdf     setf ahdl\n    *.aidl    setf aidl\n    *.run     setf ampl\n    build.xml setf ant\n    *.ino     setf arduino\n    *.pde     setf arduino\n    .htaccess setf apache\n    */etc/httpd/*.conf\n              setf apache\n    */etc/apache2/sites-*/*.com\n              setf apache\n    *.a65     setf a65\n    *.scpt    setf applescript\n    [mM]akefile.am\n              setf automake\n    GNUmakefile.am\n              setf automake\n    *.am      setf elf\n    .asoundrc setf alsaconf\n    */usr/share/alsa/alsa.conf\n              setf alsaconf\n    */etc/asound.conf\n              setf alsaconf\n    *.aml     setf aml\n    apt.conf  setf aptconf\n    */.aptitude/config\n              setf aptconf\n    .arch-inventory\n              setf arch\n    =tagging-method\n              setf arch\n    *.art     setf art\n    *.asciidoc\n              setf asciidoc\n    *.adoc    setf asciidoc\n    *.asn     setf asn\n    *.asn1    setf asn\n    *.asa     if exists(\"g:filetype_asa\") |   exe \"setf \" . g:filetype_asa | else |   setf aspvbs | endif\n    *.asp     if exists(\"g:filetype_asp\") |   exe \"setf \" . g:filetype_asp | elseif getline(1) . getline(2) . getline(3) =~? \"perlscript\" |   setf aspperl | else |   setf aspvbs | endif\n    */boot/grub/menu.lst\n              setf grub\n    */boot/grub/grub.conf\n              setf grub\n    */etc/grub.conf\n              setf grub\n    *.demo    setf maxima\n    *.dm{1,2,3,t}\n              setf maxima\n    *.wxm     setf maxima\n    maxima-init.mac\n              setf maxima\n    *.asm     call dist#ft#FTasm()\n    *.[sS]    call dist#ft#FTasm()\n    *.[aA]    call dist#ft#FTasm()\n    *.mac     call dist#ft#FTasm()\n    *.lst     call dist#ft#FTasm()\n    *.mar     setf vmasm\n    *.astro   setf astro\n    *.atl     setf atlas\n    *.as      setf atlas\n    *.atom    setf xml\n    *.au3     setf autoit\n    *.ahk     setf autohotkey\n    *.at      setf m4\n    *.ave     setf ave\n    *.awk     setf awk\n    *.gawk    setf awk\n    *.mch     setf b\n    *.ref     setf b\n    *.imp     setf b\n    *.bas     call dist#ft#FTbas()\n    *.bi      call dist#ft#FTbas()\n    *.bm      call dist#ft#FTbas()\n    *.vb      setf vb\n    *.vbs     setf vb\n    *.dsm     setf vb\n    *.ctl     setf vb\n    *.iba     setf ibasic\n    *.ibi     setf ibasic\n    *.fb      setf freebasic\n    *.bat     setf dosbatch\n    *.cmd     if getline(1) =~ ''^/\\*'' | setf rexx | else | setf dosbatch | endif\n    *.sys\\c   call dist#ft#FTsys()\n    *.btm     call dist#ft#FTbtm()\n    *.bc      setf bc\n    *.bdf     setf bdf\n    *.beancount\n              setf beancount\n    *.bib     setf bib\n    *.bst     setf bst\n    *.bicep   setf bicep\n    named*.conf\n              setf named\n    rndc*.conf\n              setf named\n    rndc*.key setf named\n    named.root\n              setf bindzone\n    *.db      call dist#ft#BindzoneCheck('''')\n    *.bl      setf blank\n    *.bb      setf bitbake\n    *.bbappend\n              setf bitbake\n    *.bbclass setf bitbake\n    */build/conf/*.conf\n              setf bitbake\n    */meta{-*,}/conf/*.conf\n              setf bitbake\n    */etc/blkid.tab\n              setf xml\n    */etc/blkid.tab.old\n              setf xml\n    *.bsd     setf bsdl\n    *.bsdl    setf bsdl\n    *.bzl     setf bzl\n    *.bazel   setf bzl\n    WORKSPACE setf bzl\n    WORKSPACE.bzlmod\n              setf bzl\n    *.c       call dist#ft#FTlpc()\n    *.lpc     setf lpc\n    *.ulpc    setf lpc\n    calendar  setf calendar\n    *.capnp   setf capnp\n    *.cs      setf cs\n    *.csx     setf cs\n    *.csdl    setf csdl\n    *.cabal   setf cabal\n    *.toc     setf cdrtoc\n    */etc/cdrdao.conf\n              setf cdrdaoconf\n    */etc/defaults/cdrdao\n              setf cdrdaoconf\n    */etc/default/cdrdao\n              setf cdrdaoconf\n    .cdrdao   setf cdrdaoconf\n    cfengine.conf\n              setf cfengine\n    *.chai    setf chaiscript\n    *.chatito setf chatito\n    *.cdl     setf cdl\n    *.recipe  setf conaryrecipe\n    *.crm     setf crm\n    *.cyn     setf cynpp\n    *.cc      if exists(\"cynlib_syntax_for_cc\")|setf cynlib|else|setf cpp|endif\n    *.cpp     if exists(\"cynlib_syntax_for_cpp\")|setf cynlib|else|setf cpp|endif\n    *.cxx     setf cpp\n    *.c++     setf cpp\n    *.hh      setf cpp\n    *.hxx     setf cpp\n    *.hpp     setf cpp\n    *.ipp     setf cpp\n    *.moc     setf cpp\n    *.tcc     setf cpp\n    *.inl     setf cpp\n    *.h       call dist#ft#FTheader()\n    *.chf     setf ch\n    *.tlh     setf cpp\n    *.css     setf css\n    *.con     setf cterm\n    changelog.Debian\n              setf debchangelog\n    changelog.dch\n              setf debchangelog\n    NEWS.Debian\n              setf debchangelog\n    NEWS.dch  setf debchangelog\n    */debian/changelog\n              setf debchangelog\n    [cC]hange[lL]og\n              if getline(1) =~ ''; urgency=''|   setf debchangelog| else|   setf changelog| endif\n    NEWS      if getline(1) =~ ''; urgency=''|   setf debchangelog| endif\n    *..ch     setf chill\n    *.ch      call dist#ft#FTchange()\n    *.chopro  setf chordpro\n    *.crd     setf chordpro\n    *.cho     setf chordpro\n    *.crdpro  setf chordpro\n    *.chordpro\n              setf chordpro\n    .clangd   setf yaml\n    .clang-format\n              setf yaml\n    .clang-tidy\n              setf yaml\n    *.dcl     setf clean\n    *.icl     setf clean\n    *.eni     setf cl\n    *.ent     call dist#ft#FTent()\n    *.prg\\c   call dist#ft#FTprg()\n    *.clj     setf clojure\n    *.cljs    setf clojure\n    *.cljx    setf clojure\n    *.cljc    setf clojure\n    CMakeLists.txt\n              setf cmake\n    *.cmake   setf cmake\n    *.cmake.in\n              setf cmake\n    */.cmus/{autosave,rc,command-history,*.theme}\n              setf cmusrc\n    */cmus/{rc,*.theme}\n              setf cmusrc\n    *.cbl     setf cobol\n    *.cob     setf cobol\n    *.lib     setf cobol\n    *.cpy     if getline(1) =~ ''^##'' |   setf python | else |   setf cobol | endif\n    *.atg     setf coco\n    *.cfm     setf cf\n    *.cfi     setf cf\n    *.cfc     setf cf\n    configure.in\n              setf config\n    configure.ac\n              setf config\n    *.cook    setf cook\n    *.cql     setf cqlang\n    *.csv     setf csv\n    *.cu      setf cuda\n    *.cuh     setf cuda\n    Containerfile\n              setf dockerfile\n    Dockerfile\n              setf dockerfile\n    dockerfile\n              setf dockerfile\n    *.[dD]ockerfile\n              setf dockerfile\n    *.dcd     setf dcd\n    *enlightenment/*.cfg\n              setf c\n    *Eterm/*.cfg\n              setf eterm\n    *.ex      call dist#ft#ExCheck()\n    mix.lock  setf elixir\n    *.exs     setf elixir\n    *.eex     setf eelixir\n    *.leex    setf eelixir\n    *.elv     setf elvish\n    *.eu      call dist#ft#EuphoriaCheck()\n    *.ew      call dist#ft#EuphoriaCheck()\n    *.exu     call dist#ft#EuphoriaCheck()\n    *.exw     call dist#ft#EuphoriaCheck()\n    lynx.cfg  setf lynx\n    *.lrc     setf lyrics\n    *.quake   setf m3quake\n    cm3.cfg   setf m3quake\n    m3makefile\n              setf m3build\n    m3overrides\n              setf m3build\n    *baseq[2-3]/*.cfg\n              setf quake\n    *id1/*.cfg\n              setf quake\n    *quake[1-3]/*.cfg\n              setf quake\n    *.qc      setf c\n    *.cfg\\c   call dist#ft#FTcfg()\n    *.feature setf cucumber\n    *.csp     setf csp\n    *.fdr     setf csp\n    *.pld     setf cupl\n    *.si      setf cuplsim\n    *.dart    setf dart\n    *.drt     setf dart\n    */debian/control\n              setf debcontrol\n    control   if getline(1) =~ ''^Source:''|   setf debcontrol| endif\n    */debian/copyright\n              setf debcopyright\n    copyright if getline(1) =~ ''^Format:''|   setf debcopyright| endif\n    */etc/apt/sources.list\n              setf debsources\n    */etc/apt/sources.list.d/*.list\n              setf debsources\n    denyhosts.conf\n              setf denyhosts\n    */etc/dnsmasq.conf\n              setf dnsmasq\n    *.desc    setf desc\n    */dtrace/*.d\n              setf dtrace\n    *.d       call dist#ft#DtraceCheck()\n    *.desktop setf desktop\n    *.directory\n              setf desktop\n    dict.conf setf dictconf\n    .dictrc   setf dictconf\n    dictd*.conf\n              setf dictdconf\n    */debian/patches/*\n              call dist#ft#Dep3patch()\n    *.diff    setf diff\n    *.rej     setf diff\n    *.patch   if getline(1) =~# ''^From [0-9a-f]\\{40,\\} Mon Sep 17 00:00:00 2001$'' |   setf gitsendemail | else |   setf diff | endif\n    .dir_colors\n              setf dircolors\n    .dircolors\n              setf dircolors\n    */etc/DIR_COLORS\n              setf dircolors\n    *.rul     if getline(1).getline(2).getline(3).getline(4).getline(5).getline(6) =~? ''InstallShield'' |   setf ishd | else |   setf diva | endif\n    *.com     call dist#ft#BindzoneCheck(''dcl'')\n    *.dot     setf dot\n    *.gv      setf dot\n    jbuild    setf dune\n    dune      setf dune\n    dune-project\n              setf dune\n    dune-workspace\n              setf dune\n    *.lid     setf dylanlid\n    *.intr    setf dylanintr\n    *.dylan   setf dylan\n    *.def     setf def\n    *.drac    setf dracula\n    *.drc     setf dracula\n    *lvs      setf dracula\n    *lpe      setf dracula\n    *.ds      setf datascript\n    *.dsl     if getline(1) =~ ''^\\s*<\\!'' |   setf dsl | else |   setf structurizr | endif\n    *.dtd     setf dtd\n    *.dts     setf dts\n    *.dtsi    setf dts\n    *.ed\\(f\\|if\\|o\\)\n              setf edif\n    *.edn     if getline(1) =~ ''^\\s*(\\s*edif\\>'' |   setf edif | else |   setf clojure | endif\n    .editorconfig\n              setf editorconfig\n    *.ecd     setf ecd\n    *.e       call dist#ft#FTe()\n    *.E       call dist#ft#FTe()\n    elinks.conf\n              setf elinks\n    *.erl     setf erlang\n    *.hrl     setf erlang\n    *.yaws    setf erlang\n    *.elm     setf elm\n    filter-rules\n              setf elmfilt\n    *.lc      setf elsa\n    *esmtprc  setf esmtprc\n    *.ec      setf esqlc\n    *.EC      setf esqlc\n    *.strl    setf esterel\n    *.csc     setf csc\n    exim.conf setf exim\n    *.exp     setf expect\n    exports   setf exports\n    *.fal     setf falcon\n    *.fan     setf fan\n    *.fwt     setf fan\n    *.factor  setf factor\n    *.fnl     setf fennel\n    .fetchmailrc\n              setf fetchmail\n    *.fir     setf firrtl\n    *.fish    setf fish\n    *.fex     setf focexec\n    *.focexec setf focexec\n    auto.master\n              setf conf\n    *.mas     setf master\n    *.master  setf master\n    *.ft      setf forth\n    *.fth     setf forth\n    *.frt     setf reva\n    *.f       setf fortran\n    *.for     setf fortran\n    *.fortran setf fortran\n    *.fpp     setf fortran\n    *.ftn     setf fortran\n    *.f77     setf fortran\n    *.f90     setf fortran\n    *.f95     setf fortran\n    *.f03     setf fortran\n    *.f08     setf fortran\n    *.fsl     setf framescript\n    fstab     setf fstab\n    mtab      setf fstab\n    *.fc      setf func\n    *.fusion  setf fusion\n    *.fs      call dist#ft#FTfs()\n    *.fsh     setf fsh\n    *.fsi     setf fsharp\n    *.fsx     setf fsharp\n    .gdbinit  setf gdb\n    gdbinit   setf gdb\n    .gdbearlyinit\n              setf gdb\n    gdbearlyinit\n              setf gdb\n    *.gdb     setf gdb\n    *.mo      setf gdmo\n    *.gdmo    setf gdmo\n    *.gd      setf gdscript\n    *.tscn    setf gdresource\n    *.tres    setf gdresource\n    *.gdshader\n              setf gdshader\n    *.shader  setf gdshader\n    *.ged     setf gedcom\n    lltxxxxx.txt\n              setf gedcom\n    *.gmi     setf gemtext\n    *.gemini  setf gemtext\n    *.gift    setf gift\n    COMMIT_EDITMSG\n              setf gitcommit\n    MERGE_MSG setf gitcommit\n    TAG_EDITMSG\n              setf gitcommit\n    NOTES_EDITMSG\n              setf gitcommit\n    EDIT_DESCRIPTION\n              setf gitcommit\n    *.git/config\n              setf gitconfig\n    .gitconfig\n              setf gitconfig\n    */etc/gitconfig\n              setf gitconfig\n    */.config/git/config\n              setf gitconfig\n    *.git/config.worktree\n              setf gitconfig\n    *.git/worktrees/*/config.worktree\n              setf gitconfig\n    .gitmodules\n              setf gitconfig\n    *.git/modules/*/config\n              setf gitconfig\n    C:/Users/vds/Neovim-Vim/git/config\n              setf gitconfig\n    C:/Users/vds/Neovim-Vim/git/attributes\n              setf gitattributes\n    C:/Users/vds/Neovim-Vim/git/ignore\n              setf gitignore\n    .gitattributes\n              setf gitattributes\n    *.git/info/attributes\n              setf gitattributes\n    */.config/git/attributes\n              setf gitattributes\n    */etc/gitattributes\n              setf gitattributes\n    .gitignore\n              setf gitignore\n    *.git/info/exclude\n              setf gitignore\n    */.config/git/ignore\n              setf gitignore\n    git-rebase-todo\n              setf gitrebase\n    .gitsendemail.msg.??????\n              setf gitsendemail\n    *.git/*   if getline(1) =~# ''^\\x\\{40,\\}\\>\\|^ref: '' |   setf git | endif\n    gkrellmrc setf gkrellmrc\n    gkrellmrc_?\n              setf gkrellmrc\n    *.gleam   setf gleam\n    *.glsl    setf glsl\n    *.gp      setf gp\n    .gprc     setf gp\n    */.gnupg/options\n              setf gpg\n    */.gnupg/gpg.conf\n              setf gpg\n    */usr/*/gnupg/options.skel\n              setf gpg\n    gnashrc   setf gnash\n    .gnashrc  setf gnash\n    gnashpluginrc\n              setf gnash\n    .gnashpluginrc\n              setf gnash\n    gitolite.conf\n              setf gitolite\n    {,.}gitolite.rc\n              setf perl\n    example.gitolite.rc\n              setf perl\n    *.gts     setf typescript.glimmer\n    *.gjs     setf javascript.glimmer\n    *.gpi     setf gnuplot\n    .gnuplot  setf gnuplot\n    *.go      setf go\n    Gopkg.lock\n              setf toml\n    go.work   setf gowork\n    *.gs      setf grads\n    *.graphql setf graphql\n    *.graphqls\n              setf graphql\n    *.gql     setf graphql\n    *.gretl   setf gretl\n    *.gradle  setf groovy\n    *.groovy  setf groovy\n    *.gsp     setf gsp\n    */etc/group\n              setf group\n    */etc/group-\n              setf group\n    */etc/group.edit\n              setf group\n    */etc/gshadow\n              setf group\n    */etc/gshadow-\n              setf group\n    */etc/gshadow.edit\n              setf group\n    */var/backups/group.bak\n              setf group\n    */var/backups/gshadow.bak\n              setf group\n    .gtkrc    setf gtkrc\n    gtkrc     setf gtkrc\n    *.gyp     setf gyp\n    *.gypi    setf gyp\n    *.hack    setf hack\n    *.hackpartial\n              setf hack\n    *.haml    setf haml\n    *.hsm     setf hamster\n    *.hbs     setf handlebars\n    *.ha      setf hare\n    *.hs      setf haskell\n    *.hsc     setf haskell\n    *.hs-boot setf haskell\n    *.hsig    setf haskell\n    *.lhs     setf lhaskell\n    *.chs     setf chaskell\n    cabal.project\n              setf cabalproject\n    C:/Users/vds/.cabal/config\n              setf cabalconfig\n    cabal.config\n              setf cabalconfig\n    *.ht      setf haste\n    *.htpp    setf hastepreproc\n    *.hcl     setf hcl\n    go.sum    setf gosum\n    go.work.sum\n              setf gosum\n    *.vc      setf hercules\n    *.ev      setf hercules\n    *.sum     setf hercules\n    *.errsum  setf hercules\n    *.heex    setf heex\n    *.hex     setf hex\n    *.h32     setf hex\n    *.hjson   setf hjson\n    *.m3u     setf hlsplaylist\n    *.m3u8    setf hlsplaylist\n    *.hws     setf hollywood\n    *.hoon    setf hoon\n    *.t.html  setf tilde\n    *.html    call dist#ft#FThtml()\n    *.htm     call dist#ft#FThtml()\n    *.shtml   call dist#ft#FThtml()\n    *.stm     call dist#ft#FThtml()\n    *.cshtml  setf html\n    *.erb     setf eruby\n    *.rhtml   setf eruby\n    *.html.m4 setf htmlm4\n    *.tmpl    setf template\n    */etc/host.conf\n              setf hostconf\n    */etc/hosts.allow\n              setf hostsaccess\n    */etc/hosts.deny\n              setf hostsaccess\n    *.hb      setf hb\n    *.htt     setf httest\n    *.htb     setf httest\n    */i3/config\n              setf i3config\n    */.i3/config\n              setf i3config\n    */sway/config\n              setf swayconfig\n    */.sway/config\n              setf swayconfig\n    *.icn     setf icon\n    *.idl     call dist#ft#FTidl()\n    *.odl     setf msidl\n    *.mof     setf msidl\n    */.icewm/menu\n              setf icemenu\n    .indent.pro\n              setf indent\n    indent.pro\n              call dist#ft#ProtoCheck(''indent'')\n    *.pro     call dist#ft#ProtoCheck(''idlang'')\n    indentrc  setf indent\n    *.inf     setf inform\n    *.INF     setf inform\n    */etc/initng/*/*.i\n              setf initng\n    *.ii      setf initng\n    upstream.dat\\c\n              setf upstreamdat\n    upstream.*.dat\\c\n              setf upstreamdat\n    *.upstream.dat\\c\n              setf upstreamdat\n    fdrupstream.log\n              setf upstreamlog\n    upstream.log\\c\n              setf upstreamlog\n    upstream.*.log\\c\n              setf upstreamlog\n    *.upstream.log\\c\n              setf upstreamlog\n    UPSTREAM-*.log\\c\n              setf upstreamlog\n    upstreaminstall.log\\c\n              setf upstreaminstalllog\n    upstreaminstall.*.log\\c\n              setf upstreaminstalllog\n    *.upstreaminstall.log\\c\n              setf upstreaminstalllog\n    usserver.log\\c\n              setf usserverlog\n    usserver.*.log\\c\n              setf usserverlog\n    *.usserver.log\\c\n              setf usserverlog\n    usw2kagt.log\\c\n              setf usw2kagtlog\n    usw2kagt.*.log\\c\n              setf usw2kagtlog\n    *.usw2kagt.log\\c\n              setf usw2kagtlog\n    ipf.conf  setf ipfilter\n    ipf6.conf setf ipfilter\n    ipf.rules setf ipfilter\n    *.4gl     setf fgl\n    *.4gh     setf fgl\n    *.m4gl    setf fgl\n    *.ini     setf dosini\n    inittab   setf inittab\n    *.iss     setf iss\n    *.ijs     setf j\n    *.jal     setf jal\n    *.JAL     setf jal\n    *.jpl     setf jam\n    *.jpr     setf jam\n    *.java    setf java\n    *.jav     setf java\n    *.jj      setf javacc\n    *.jjt     setf javacc\n    *.js      setf javascript\n    *.jsm     setf javascript\n    *.javascript\n              setf javascript\n    *.es      setf javascript\n    *.mjs     setf javascript\n    *.cjs     setf javascript\n    *.jsx     setf javascriptreact\n    *.jsp     setf jsp\n    *.properties\n              setf jproperties\n    *.properties_??\n              setf jproperties\n    *.properties_??_??\n              setf jproperties\n    org.eclipse.*.prefs\n              setf jproperties\n    *.clp     setf jess\n    *.jgr     setf jgraph\n    *.jov     setf jovial\n    *.j73     setf jovial\n    *.jovial  setf jovial\n    *.jq      setf jq\n    *.json5   setf json5\n    *.json-patch\n              setf json\n    *.ipynb   setf json\n    .prettierrc\n              setf json\n    .firebaserc\n              setf json\n    .stylelintrc\n              setf json\n    *.jsonc   setf jsonc\n    .babelrc  setf jsonc\n    .eslintrc setf jsonc\n    .jsfmtrc  setf jsonc\n    .jshintrc setf jsonc\n    .hintrc   setf jsonc\n    .swrc     setf jsonc\n    [jt]sconfig*.json\n              setf jsonc\n    *.json    setf json\n    *.jsonp   setf json\n    *.webmanifest\n              setf json\n    *.jsonnet setf jsonnet\n    *.libsonnet\n              setf jsonnet\n    *.jl      setf julia\n    *.kdl     setf kdl\n    *.kix     setf kix\n    *.src\\c   call dist#ft#FTsrc()\n    *.dat\\c   call dist#ft#FTdat()\n    *.sub\\c   setf krl\n    *.k       setf kwt\n    *.kv      setf kivy\n    *.kt      setf kotlin\n    *.ktm     setf kotlin\n    *.kts     setf kotlin\n    *.ks      setf kscript\n    Kconfig   setf kconfig\n    Kconfig.debug\n              setf kconfig\n    *.ace     setf lace\n    *.ACE     setf lace\n    .lsl      call dist#ft#FTlsl()\n    .latexmkrc\n              setf perl\n    latexmkrc setf perl\n    *.latte   setf latte\n    *.lte     setf latte\n    */etc/limits\n              setf limits\n    */etc/*limits.conf\n              setf limits\n    */etc/*limits.d/*.conf\n              setf limits\n    *.sig     call dist#ft#FTsig()\n    *.ldif    setf ldif\n    *.ld      setf ld\n    *.ldg     setf ledger\n    *.ledger  setf ledger\n    *.journal setf ledger\n    *.less    setf less\n    *.lex     setf lex\n    *.l       setf lex\n    *.lxx     setf lex\n    *.l++     setf lex\n    */etc/libao.conf\n              setf libao\n    */.libao  setf libao\n    */etc/sensors.conf\n              setf sensors\n    */etc/sensors3.conf\n              setf sensors\n    lftp.conf setf lftp\n    .lftprc   setf lftp\n    *lftp/rc  setf lftp\n    *.ll      setf lifelines\n    lilo.conf setf lilo\n    *.ly      setf lilypond\n    *.ily     setf lilypond\n    *.lsp     setf lisp\n    *.lisp    setf lisp\n    *.asd     setf lisp\n    *.el      setf lisp\n    *.cl      setf lisp\n    .emacs    setf lisp\n    .sawfishrc\n              setf lisp\n    sbclrc    setf lisp\n    .sbclrc   setf lisp\n    *.liquid  setf liquid\n    *.lite    setf lite\n    *.lt      setf lite\n    */LiteStep/*/*.rc\n              setf litestep\n    */etc/login.access\n              setf loginaccess\n    */etc/login.defs\n              setf logindefs\n    *.lgt     setf logtalk\n    *.lot     setf lotos\n    *.lotos   setf lotos\n    *.lou     setf lout\n    *.lout    setf lout\n    *.lua     setf lua\n    .luacheckrc\n              setf lua\n    *.rockspec\n              setf lua\n    *.lsl     call dist#ft#FTlsl()\n    *.lss     setf lss\n    *.m4      if expand(\"<afile>\") !~? ''html.m4$\\|fvwm2rc'' | setf m4 | endif\n    *.mgp     setf mgp\n    snd.\\d\\+  setf mail\n    .letter   setf mail\n    .letter.\\d\\+\n              setf mail\n    .followup setf mail\n    .article  setf mail\n    .article.\\d\\+\n              setf mail\n    pico.\\d\\+ setf mail\n    mutt{ng,}-*-\\w\\+\n              setf mail\n    mutt[[:alnum:]_-]\\\\\\{6\\}\n              setf mail\n    neomutt-*-\\w\\+\n              setf mail\n    neomutt[[:alnum:]_-]\\\\\\{6\\}\n              setf mail\n    ae\\d\\+.txt\n              setf mail\n    /tmp/SLRN[0-9A-Z.]\\+\n              setf mail\n    *.eml     setf mail\n    */etc/mail/aliases\n              setf mailaliases\n    */etc/aliases\n              setf mailaliases\n    .mailcap  setf mailcap\n    mailcap   setf mailcap\n    *[mM]akefile\n              setf make\n    *.mk      setf make\n    *.mak     setf make\n    *.dsp     setf make\n    *.ist     setf ist\n    *.mst     setf ist\n    *.page    setf mallard\n    *.man     setf man\n    */etc/man.conf\n              setf manconf\n    man.config\n              setf manconf\n    *.mv      setf maple\n    *.mpl     setf maple\n    *.mws     setf maple\n    *.map     setf map\n    *.markdown\n              setf markdown\n    *.mdown   setf markdown\n    *.mkd     setf markdown\n    *.mkdn    setf markdown\n    *.mdwn    setf markdown\n    *.md      setf markdown\n    *.mason   setf mason\n    *.mhtml   setf mason\n    *.comp    setf mason\n    *.m       call dist#ft#FTm()\n    *.nb      setf mma\n    *.mel     setf mel\n    hg-editor-*.txt\n              setf hgcommit\n    *.hgrc    setf cfg\n    *hgrc     setf cfg\n    *.mmd     setf mermaid\n    *.mmdc    setf mermaid\n    *.mermaid setf mermaid\n    meson.build\n              setf meson\n    meson_options.txt\n              setf meson\n    *.wrap    setf dosini\n    */log/{auth,cron,daemon,debug,kern,lpr,mail,messages,news/news,syslog,user}{,.log,.err,.info,.warn,.crit,.notice}{,.[0-9]*,-[0-9]*}\n              setf messages\n    *.mf      setf mf\n    *.mp      setf mp\n    *.mpxl    let b:mp_metafun = 1 | setf mp\n    *.mpiv    let b:mp_metafun = 1 | setf mp\n    *.mpvi    let b:mp_metafun = 1 | setf mp\n    *.mgl     setf mgl\n    *.mix     setf mix\n    *.mixal   setf mix\n    *.mms     call dist#ft#FTmms()\n    *.mmp     setf mmp\n    *.mod\\c   call dist#ft#FTmod()\n    *.m2      setf modula2\n    *.DEF     setf modula2\n    *.mi      setf modula2\n    *.[mi][3g]\n              setf modula3\n    *.lm3     setf modula3\n    */etc/modules.conf\n              setf modconf\n    */etc/modules\n              setf modconf\n    */etc/conf.modules\n              setf modconf\n    *.isc     setf monk\n    *.monk    setf monk\n    *.ssc     setf monk\n    *.tsc     setf monk\n    *.moo     setf moo\n    *.moon    setf moonscript\n    *.move    setf move\n    *.mpd     setf xml\n    mplayer.conf\n              setf mplayerconf\n    */.mplayer/config\n              setf mplayerconf\n    *.s19     setf srec\n    *.s28     setf srec\n    *.s37     setf srec\n    *.mot     setf srec\n    *.srec    setf srec\n    mrxvtrc   setf mrxvtrc\n    .mrxvtrc  setf mrxvtrc\n    *.msql    setf msql\n    *.mysql   setf mysql\n    tclsh.rc  setf tcl\n    *.rc      if expand(\"<afile>\") !~ \"/etc/Muttrc.d/\" |   setf rc | endif\n    *.rch     if expand(\"<afile>\") !~ \"/etc/Muttrc.d/\" |   setf rc | endif\n    *.mush    setf mush\n    Mutt{ng,}rc\n              setf muttrc\n    *.n1ql    setf n1ql\n    *.nql     setf n1ql\n    */etc/nanorc\n              setf nanorc\n    *.nanorc  setf nanorc\n    *.NS[ACGLMNPS]\n              setf natural\n    Neomuttrc setf neomuttrc\n    .netrc    setf netrc\n    *.nginx   setf nginx\n    nginx*.conf\n              setf nginx\n    *nginx.conf\n              setf nginx\n    */etc/nginx/*\n              setf nginx\n    */usr/local/nginx/conf/*\n              setf nginx\n    */nginx/*.conf\n              setf nginx\n    *.nim     setf nim\n    *.nims    setf nim\n    *.nimble  setf nim\n    *.ninja   setf ninja\n    *.nix     setf nix\n    npmrc     setf dosini\n    .npmrc    setf dosini\n    *.ncf     setf ncf\n    *.me      if expand(\"<afile>\") != \"read.me\" && expand(\"<afile>\") != \"click.me\" |   setf nroff | endif\n    *.tr      setf nroff\n    *.nr      setf nroff\n    *.roff    setf nroff\n    *.tmac    setf nroff\n    *.mom     setf nroff\n    *.[1-9]   call dist#ft#FTnroff()\n    *.mm      call dist#ft#FTmm()\n    *.nqc     setf nqc\n    *.nse     setf lua\n    *.nsi     setf nsis\n    *.nsh     setf nsis\n    *.obl     setf obse\n    *.obse    setf obse\n    *.oblivion\n              setf obse\n    *.obscript\n              setf obse\n    *.ml      setf ocaml\n    *.mli     setf ocaml\n    *.mll     setf ocaml\n    *.mly     setf ocaml\n    .ocamlinit\n              setf ocaml\n    *.mlt     setf ocaml\n    *.mlp     setf ocaml\n    *.mlip    setf ocaml\n    *.mli.cppo\n              setf ocaml\n    *.ml.cppo setf ocaml\n    *.occ     setf occam\n    octave.conf\n              setf octave\n    .octaverc setf octave\n    octaverc  setf octave\n    *.xom     setf omnimark\n    *.xin     setf omnimark\n    opam      setf opam\n    *.opam    setf opam\n    *.opam.template\n              setf opam\n    [a-zA-Z0-9]*Dict\\(.*\\)\\=\n              call dist#ft#FTfoam()\n    [a-zA-Z]*Properties\\(.*\\)\\=\n              call dist#ft#FTfoam()\n    *Transport\\(.*\\)\n              call dist#ft#FTfoam()\n    fvSchemes call dist#ft#FTfoam()\n    fvSolution\n              call dist#ft#FTfoam()\n    fvConstrains\n              call dist#ft#FTfoam()\n    fvModels  call dist#ft#FTfoam()\n    */constant/g\n              call dist#ft#FTfoam()\n    */0\\(\\.orig\\)\\=/*\n              call dist#ft#FTfoam()\n    *.or      setf openroad\n    *.[Oo][Pp][Ll]\n              setf opl\n    *.scad    setf openscad\n    *.ora     setf ora\n    *.org     setf org\n    *.org_archive\n              setf org\n    pf.conf   setf pf\n    */etc/pacman.conf\n              setf confini\n    mpv.conf  setf confini\n    */.aws/config\n              setf confini\n    */.aws/credentials\n              setf confini\n    *.nmconnection\n              setf confini\n    *.hook    if getline(1) == ''[Trigger]'' |   setf conf | endif\n    */etc/pam.conf\n              setf pamconf\n    pam_env.conf\n              setf pamenv\n    .pam_environment\n              setf pamenv\n    *.papp    setf papp\n    *.pxml    setf papp\n    *.pxsl    setf papp\n    */etc/passwd\n              setf passwd\n    */etc/passwd-\n              setf passwd\n    */etc/passwd.edit\n              setf passwd\n    */etc/shadow\n              setf passwd\n    */etc/shadow-\n              setf passwd\n    */etc/shadow.edit\n              setf passwd\n    */var/backups/passwd.bak\n              setf passwd\n    */var/backups/shadow.bak\n              setf passwd\n    *.pas     setf pascal\n    *.pp      call dist#ft#FTpp()\n    *.dpr     setf pascal\n    *.lpr     setf pascal\n    *.fpc     setf fpcmake\n    *.filter  setf poefilter\n    *.pdf     setf pdf\n    *.pcmk    setf pcmk\n    *.pl      call dist#ft#FTpl()\n    *.plx     setf perl\n    *.al      setf perl\n    *.psgi    setf perl\n    *.pm      if getline(1) =~ \"XPM2\" |   setf xpm2 | elseif getline(1) =~ \"XPM\" |   setf xpm | else |   setf perl | endif\n    *.pod     setf pod\n    *.php     setf php\n    *.php\\d   setf php\n    *.phtml   setf php\n    *.ctp     setf php\n    *.phpt    setf php\n    *.theme   setf php\n    php.ini-* setf dosini\n    *.pike    setf pike\n    *.pmod    setf pike\n    *.cmod    setf cmod\n    */etc/pinforc\n              setf pinfo\n    */.pinforc\n              setf pinfo\n    *.rcp     setf pilrc\n    .pinerc   setf pine\n    pinerc    setf pine\n    .pinercex setf pine\n    pinercex  setf pine\n    Pipfile   setf toml\n    Pipfile.lock\n              setf json\n    *.pli     setf pli\n    *.pl1     setf pli\n    *.plm     setf plm\n    *.p36     setf plm\n    *.pac     setf plm\n    *.pls     setf plsql\n    *.plsql   setf plsql\n    *.plp     setf plp\n    *.po      setf po\n    *.pot     setf po\n    main.cf   setf pfmain\n    main.cf.proto\n              setf pfmain\n    *.ps      setf postscr\n    *.pfa     setf postscr\n    *.afm     setf postscr\n    *.eps     setf postscr\n    *.epsf    setf postscr\n    *.epsi    setf postscr\n    *.ai      setf postscr\n    *.ppd     setf ppd\n    *.pov     setf pov\n    .povrayrc setf povini\n    *.inc     call dist#ft#FTinc()\n    *.ps1     setf ps1\n    *.psd1    setf ps1\n    *.psm1    setf ps1\n    *.pssc    setf ps1\n    *.ps1xml  setf ps1xml\n    *.cdxml   setf xml\n    *.psc1    setf xml\n    *printcap let b:ptcap_type = \"print\" | setf ptcap\n    *termcap  let b:ptcap_type = \"term\" | setf ptcap\n    *.prisma  setf prisma\n    *.g       setf pccts\n    *.it      setf ppwiz\n    *.ih      setf ppwiz\n    *.pug     setf pug\n    Puppetfile\n              setf ruby\n    *.epp     setf epuppet\n    *.obj     setf obj\n    *.pc      setf proc\n    *.action  setf privoxy\n    .procmail setf procmail\n    .procmailrc\n              setf procmail\n    *.w       call dist#ft#FTprogress_cweb()\n    *.i       call dist#ft#FTprogress_asm()\n    *.p       call dist#ft#FTprogress_pascal()\n    *.psf     setf psf\n    INDEX     if getline(1) =~ ''^\\s*\\(distribution\\|installed_software\\|root\\|bundle\\|product\\)\\s*$'' |   setf psf | endif\n    INFO      if getline(1) =~ ''^\\s*\\(distribution\\|installed_software\\|root\\|bundle\\|product\\)\\s*$'' |   setf psf | endif\n    *.pdb     setf prolog\n    *.pml     setf promela\n    *.psl     setf psl\n    *.proto   setf proto\n    *.pbtxt   setf pbtxt\n    *.pk      setf poke\n    */etc/protocols\n              setf protocols\n    *.arr     setf pyret\n    *.pyx     setf pyrex\n    *.pxd     setf pyrex\n    *.py      setf python\n    *.pyw     setf python\n    .pythonstartup\n              setf python\n    .pythonrc setf python\n    *.ptl     setf python\n    *.pyi     setf python\n    SConstruct\n              setf python\n    *.ql      setf ql\n    *.qll     setf ql\n    *.qmd     setf quarto\n    *.rad     setf radiance\n    *.mat     setf radiance\n    *.pm6     setf raku\n    *.p6      setf raku\n    *.t6      setf raku\n    *.pod6    setf raku\n    *.raku    setf raku\n    *.rakumod setf raku\n    *.rakudoc setf raku\n    *.rakutest\n              setf raku\n    .ratpoisonrc\n              setf ratpoison\n    ratpoisonrc\n              setf ratpoison\n    *\\,v      setf rcs\n    .inputrc  setf readline\n    inputrc   setf readline\n    *.reg     if getline(1) =~? ''^REGEDIT[0-9]*\\s*$\\|^Windows Registry Editor Version \\d*\\.\\d*\\s*$'' | setf registry | endif\n    *.rib     setf rib\n    *.rego    setf rego\n    *.rex     setf rexx\n    *.orx     setf rexx\n    *.rxo     setf rexx\n    *.rxj     setf rexx\n    *.jrexx   setf rexx\n    *.rexxj   setf rexx\n    *.rexx    setf rexx\n    *.testGroup\n              setf rexx\n    *.testUnit\n              setf rexx\n    *.rd      setf rhelp\n    *.rnw     setf rnoweb\n    *.snw     setf rnoweb\n    *.rmd     setf rmd\n    *.smd     setf rmd\n    .Rprofile setf r\n    Rprofile  setf r\n    Rprofile.site\n              setf r\n    *.rss     setf xml\n    *.rrst    setf rrst\n    *.srst    setf rrst\n    *.r       call dist#ft#FTr()\n    *.R       call dist#ft#FTr()\n    .reminders\n              setf remind\n    *.remind  setf remind\n    *.rem     setf remind\n    *.res     setf rescript\n    *.resi    setf rescript\n    resolv.conf\n              setf resolv\n    *.rnc     setf rnc\n    *.rng     setf rng\n    *.rpl     setf rpl\n    *.robot   setf robot\n    *.resource\n              setf robot\n    robots.txt\n              setf robots\n    *.ron     setf ron\n    *.rsc     setf routeros\n    *.x       setf rpcgen\n    *.rst     setf rst\n    *.rtf     setf rtf\n    .irbrc    setf ruby\n    irbrc     setf ruby\n    *.rb      setf ruby\n    *.rbw     setf ruby\n    *.gemspec setf ruby\n    *.rbs     setf rbs\n    *.ru      setf ruby\n    Gemfile   setf ruby\n    *.builder setf ruby\n    *.rxml    setf ruby\n    *.rjs     setf ruby\n    [rR]antfile\n              setf ruby\n    *.rant    setf ruby\n    [rR]akefile\n              setf ruby\n    *.rake    setf ruby\n    *.rs      setf rust\n    Cargo.lock\n              setf toml\n    */.cargo/config\n              setf toml\n    */.cargo/credentials\n              setf toml\n    *.sl      setf slang\n    smb.conf  setf samba\n    *.sas     setf sas\n    *.sass    setf sass\n    *.sa      setf sather\n    *.scala   setf scala\n    *.sbt     setf sbt\n    *.sc      call dist#ft#FTsc()\n    *.quark   setf supercollider\n    *.scd     call dist#ft#FTscd()\n    *.sci     setf scilab\n    *.sce     setf scilab\n    *.scss    setf scss\n    *.sd      setf sd\n    *.sdl     setf sdl\n    *.pr      setf sdl\n    *.sed     setf sed\n    *.srt     setf srt\n    *.ass     setf ssa\n    *.ssa     setf ssa\n    *.svelte  setf svelte\n    *.siv     setf sieve\n    *.sieve   setf sieve\n    sendmail.cf\n              setf sm\n    *.mc      call dist#ft#McSetf()\n    */etc/services\n              setf services\n    */etc/slp.conf\n              setf slpconf\n    */etc/slp.reg\n              setf slpreg\n    */etc/slp.spi\n              setf slpspi\n    */etc/serial.conf\n              setf setserial\n    *.sgm     if getline(1).getline(2).getline(3).getline(4).getline(5) =~? ''linuxdoc'' |   setf sgmllnx | elseif getline(1) =~ ''<!DOCTYPE.*DocBook'' || getline(2) =~ ''<!DOCTYPE.*DocBook'' |   let b:docbk_type = \"sgml\" |   let b:docbk_ver = 4 |   setf docbk | else |   setf sgml | endif\n    *.sgml    if getline(1).getline(2).getline(3).getline(4).getline(5) =~? ''linuxdoc'' |   setf sgmllnx | elseif getline(1) =~ ''<!DOCTYPE.*DocBook'' || getline(2) =~ ''<!DOCTYPE.*DocBook'' |   let b:docbk_type = \"sgml\" |   let b:docbk_ver = 4 |   setf docbk | else |   setf sgml | endif\n    *.decl    if getline(1).getline(2).getline(3) =~? ''^<!SGML'' |    setf sgmldecl | endif\n    *.dcl     if getline(1).getline(2).getline(3) =~? ''^<!SGML'' |    setf sgmldecl | endif\n    *.dec     if getline(1).getline(2).getline(3) =~? ''^<!SGML'' |    setf sgmldecl | endif\n    catalog   setf catalog\n    .bashrc   call dist#ft#SetFileTypeSH(\"bash\")\n    bashrc    call dist#ft#SetFileTypeSH(\"bash\")\n    bash.bashrc\n              call dist#ft#SetFileTypeSH(\"bash\")\n    .bash[_-]profile\n              call dist#ft#SetFileTypeSH(\"bash\")\n    .bash[_-]logout\n              call dist#ft#SetFileTypeSH(\"bash\")\n    .bash[_-]aliases\n              call dist#ft#SetFileTypeSH(\"bash\")\n    bash-fc[-.]\n              call dist#ft#SetFileTypeSH(\"bash\")\n    *.ebuild  call dist#ft#SetFileTypeSH(\"bash\")\n    *.bash    call dist#ft#SetFileTypeSH(\"bash\")\n    *.eclass  call dist#ft#SetFileTypeSH(\"bash\")\n    PKGBUILD  call dist#ft#SetFileTypeSH(\"bash\")\n    APKBUILD  call dist#ft#SetFileTypeSH(\"bash\")\n    .kshrc    call dist#ft#SetFileTypeSH(\"ksh\")\n    *.ksh     call dist#ft#SetFileTypeSH(\"ksh\")\n    */etc/profile\n              call dist#ft#SetFileTypeSH(getline(1))\n    .profile  call dist#ft#SetFileTypeSH(getline(1))\n    *.sh      call dist#ft#SetFileTypeSH(getline(1))\n    *.env     call dist#ft#SetFileTypeSH(getline(1))\n    *.install if getline(1) =~ ''<?php'' |   setf php | else |   call dist#ft#SetFileTypeSH(\"bash\") | endif\n    .tcshrc   call dist#ft#SetFileTypeShell(\"tcsh\")\n    *.tcsh    call dist#ft#SetFileTypeShell(\"tcsh\")\n    tcsh.tcshrc\n              call dist#ft#SetFileTypeShell(\"tcsh\")\n    tcsh.login\n              call dist#ft#SetFileTypeShell(\"tcsh\")\n    .login    call dist#ft#CSH()\n    .cshrc    call dist#ft#CSH()\n    csh.cshrc call dist#ft#CSH()\n    csh.login call dist#ft#CSH()\n    csh.logout\n              call dist#ft#CSH()\n    *.csh     call dist#ft#CSH()\n    .alias    call dist#ft#CSH()\n    *.zig     setf zig\n    *.zir     setf zir\n    .zprofile setf zsh\n    */etc/zprofile\n              setf zsh\n    .zfbfmarks\n              setf zsh\n    .zshrc    setf zsh\n    .zshenv   setf zsh\n    .zlogin   setf zsh\n    .zlogout  setf zsh\n    .zcompdump\n              setf zsh\n    *.zsh     setf zsh\n    *.scm     setf scheme\n    *.ss      setf scheme\n    *.sld     setf scheme\n    *.rkt     setf scheme\n    *.rktd    setf scheme\n    *.rktl    setf scheme\n    .screenrc setf screen\n    screenrc  setf screen\n    *.sexp    setf sexplib\n    *.sim     setf simula\n    *.sin     setf sinda\n    *.s85     setf sinda\n    *.sst     setf sisu\n    *.ssm     setf sisu\n    *.ssi     setf sisu\n    *.-sst    setf sisu\n    *._sst    setf sisu\n    *.sst.meta\n              setf sisu\n    *.-sst.meta\n              setf sisu\n    *._sst.meta\n              setf sisu\n    *.il      setf skill\n    *.ils     setf skill\n    *.cdf     setf skill\n    *.cdc     setf cdc\n    .slrnrc   setf slrnrc\n    *.score   setf slrnsc\n    *.smali   setf smali\n    *.st      setf st\n    *.cls     call dist#ft#FTcls()\n    *.tpl     setf smarty\n    *.smil    if getline(1) =~ ''<?\\s*xml.*?>'' |   setf xml | else |   setf smil | endif\n    *.smi     if getline(1) =~ ''\\<smil\\>'' |   setf smil | else |   setf mib | endif\n    *.smt     setf smith\n    *.smith   setf smith\n    *.smithy  setf smithy\n    *.sno     setf snobol4\n    *.spt     setf snobol4\n    *.mib     setf mib\n    *.my      setf mib\n    *.hog     setf hog\n    snort.conf\n              setf hog\n    vision.conf\n              setf hog\n    *.rules   call dist#ft#FTRules()\n    *.sol     setf solidity\n    *.rq      setf sparql\n    *.sparql  setf sparql\n    *.spec    setf spec\n    *.speedup setf spup\n    *.spdata  setf spup\n    *.spd     setf spup\n    *.ice     setf slice\n    *.sln     setf solution\n    *.slnf    setf json\n    *.sp      setf spice\n    *.spice   setf spice\n    *.spy     setf spyce\n    *.spi     setf spyce\n    squid.conf\n              setf squid\n    *.tyb     setf sql\n    *.typ     setf sql\n    *.tyc     setf sql\n    *.pkb     setf sql\n    *.pks     setf sql\n    *.sql     call dist#ft#SQL()\n    *.sqlj    setf sqlj\n    *.sqr     setf sqr\n    *.sqi     setf sqr\n    *.nut     setf squirrel\n    ssh_config\n              setf sshconfig\n    */.ssh/config\n              setf sshconfig\n    */.ssh/*.conf\n              setf sshconfig\n    */etc/ssh/ssh_config.d/*.conf\n              setf sshconfig\n    sshd_config\n              setf sshdconfig\n    */etc/ssh/sshd_config.d/*.conf\n              setf sshdconfig\n    *.ovpn    setf openvpn\n    */openvpn/*/*.conf\n              setf openvpn\n    *.ado     setf stata\n    *.do      setf stata\n    *.imata   setf stata\n    *.mata    setf stata\n    *.class   if getline(1) !~ \"^\\xca\\xfe\\xba\\xbe\" | setf stata | endif\n    *.hlp     setf smcl\n    *.ihlp    setf smcl\n    *.smcl    setf smcl\n    *.stp     setf stp\n    *.sml     setf sml\n    *.cm      setf voscm\n    *.swift   setf swift\n    *.swift.gyb\n              setf swiftgyb\n    *.sil     call dist#ft#FTsil()\n    */etc/sysctl.conf\n              setf sysctl\n    */etc/sysctl.d/*.conf\n              setf sysctl\n    */systemd/*.{automount,dnssd,link,mount,netdev,network,nspawn,path,service,slice,socket,swap,target,timer}\n              setf systemd\n    */etc/systemd/*.conf.d/*.conf\n              setf systemd\n    */etc/systemd/system/*.d/*.conf\n              setf systemd\n    */.config/systemd/user/*.d/*.conf\n              setf systemd\n    */etc/systemd/system/*.d/.#*\n              setf systemd\n    */etc/systemd/system/.#*\n              setf systemd\n    */.config/systemd/user/*.d/.#*\n              setf systemd\n    */.config/systemd/user/.#*\n              setf systemd\n    *.sdc     setf sdc\n    */etc/sudoers\n              setf sudoers\n    sudoers.tmp\n              setf sudoers\n    *.svg     setf svg\n    *.sface   setf surface\n    *.t       if !dist#ft#FTnroff() && !dist#ft#FTperl() | setf tads | endif\n    tags      setf tags\n    *.tak     setf tak\n    {pending,completed,undo}.data\n              setf taskdata\n    *.task    setf taskedit\n    *.tcl     setf tcl\n    *.tm      setf tcl\n    *.tk      setf tcl\n    *.itcl    setf tcl\n    *.itk     setf tcl\n    *.jacl    setf tcl\n    .tclshrc  setf tcl\n    .wishrc   setf tcl\n    *.tl      setf teal\n    *.tli     setf tli\n    *.slt     setf tsalt\n    *.ttl     if getline(1) =~ ''^@\\?\\(prefix\\|base\\)'' |   setf turtle | else |   setf teraterm | endif\n    *.ti      setf terminfo\n    *.tfvars  setf terraform-vars\n    *.latex   setf tex\n    *.sty     setf tex\n    *.dtx     setf tex\n    *.ltx     setf tex\n    *.bbl     setf tex\n    *.tex     call dist#ft#FTtex()\n    *.mkii    setf context\n    *.mkiv    setf context\n    *.mkvi    setf context\n    *.mkxl    setf context\n    *.mklx    setf context\n    *.texinfo setf texinfo\n    *.texi    setf texinfo\n    *.txi     setf texinfo\n    texmf.cnf setf texmf\n    *.thrift  setf thrift\n    .tidyrc   setf tidy\n    tidyrc    setf tidy\n    tidy.conf setf tidy\n    .tfrc     setf tf\n    tfrc      setf tf\n    *.tf      call dist#ft#FTtf()\n    *.tla     setf tla\n    {.,}tmux*.conf\n              setf tmux\n    *.toml    setf toml\n    *.tpp     setf tpp\n    *.treetop setf treetop\n    trustees.conf\n              setf trustees\n    *.tssgm   setf tssgm\n    *.tssop   setf tssop\n    *.tsscl   setf tsscl\n    *.tsv     setf tsv\n    *.twig    setf twig\n    *.ts      if getline(1) =~ ''<?xml'' |   setf xml | else |   setf typescript | endif\n    *.mts     setf typescript\n    *.cts     setf typescript\n    *.tsx     setf typescriptreact\n    *.uit     setf uil\n    *.uil     setf uil\n    */etc/udev/udev.conf\n              setf udevconf\n    */etc/udev/permissions.d/*.permissions\n              setf udevperm\n    */etc/udev/cdsymlinks.conf\n              setf sh\n    *.uc      setf uc\n    */etc/updatedb.conf\n              setf updatedb\n    */usr/share/upstart/*.conf\n              setf upstart\n    */usr/share/upstart/*.override\n              setf upstart\n    */etc/init/*.conf\n              setf upstart\n    */etc/init/*.override\n              setf upstart\n    */.init/*.conf\n              setf upstart\n    */.init/*.override\n              setf upstart\n    */.config/upstart/*.conf\n              setf upstart\n    */.config/upstart/*.override\n              setf upstart\n    *.vala    setf vala\n    *.vdf     setf vdf\n    *.vdmpp   setf vdmpp\n    *.vpp     setf vdmpp\n    *.vdmrt   setf vdmrt\n    *.vdmsl   setf vdmsl\n    *.vdm     setf vdmsl\n    *.vr      setf vera\n    *.vri     setf vera\n    *.vrh     setf vera\n    Vagrantfile\n              setf ruby\n    *.v       setf verilog\n    *.va      setf verilogams\n    *.vams    setf verilogams\n    *.sv      setf systemverilog\n    *.svh     setf systemverilog\n    *.tape    setf vhs\n    *.hdl     setf vhdl\n    *.vhd     setf vhdl\n    *.vhdl    setf vhdl\n    *.vbe     setf vhdl\n    *.vst     setf vhdl\n    *.vho     setf vhdl\n    *.vim     setf vim\n    *.vba     setf vim\n    .exrc     setf vim\n    _exrc     setf vim\n    .viminfo  setf viminfo\n    _viminfo  setf viminfo\n    *.hw      if getline(1) =~ ''<?php'' |   setf php | else |   setf virata | endif\n    *.module  if getline(1) =~ ''<?php'' |   setf php | else |   setf virata | endif\n    *.pkg     if getline(1) =~ ''<?php'' |   setf php | else |   setf virata | endif\n    *.frm     call dist#ft#FTfrm()\n    *.sba     setf vb\n    vgrindefs setf vgrindefs\n    *.wrl     setf vrml\n    *.vroom   setf vroom\n    *.vue     setf vue\n    *.wast    setf wast\n    *.wat     setf wast\n    *.wm      setf webmacro\n    .wgetrc   setf wget\n    wgetrc    setf wget\n    .wget2rc  setf wget2\n    wget2rc   setf wget2\n    *.wml     setf wml\n    *.wbt     setf winbatch\n    *.wsml    setf wsml\n    *.wpl     setf xml\n    wvdial.conf\n              setf wvdial\n    .wvdialrc setf wvdial\n    .cvsrc    setf cvsrc\n    cvs\\d\\+   setf cvs\n    *.web     if getline(1)[0].getline(2)[0].getline(3)[0].getline(4)[0].getline(5)[0] =~ \"%\" |   setf web | else |   setf winbatch | endif\n    *.ws[fc]  setf wsh\n    *.xhtml   setf xhtml\n    *.xht     setf xhtml\n    *.xpm     if getline(1) =~ \"XPM2\" |   setf xpm2 | else |   setf xpm | endif\n    *.xpm2    setf xpm2\n    XF86Config\n              if getline(1) =~ ''\\<XConfigurator\\>'' |   let b:xf86conf_xfree86_version = 3 | endif | setf xf86conf\n    */xorg.conf.d/*.conf\n              let b:xf86conf_xfree86_version = 4 | setf xf86conf\n    xorg.conf let b:xf86conf_xfree86_version = 4 | setf xf86conf\n    xorg.conf-4\n              let b:xf86conf_xfree86_version = 4 | setf xf86conf\n    */etc/xinetd.conf\n              setf xinetd\n    *.xs      setf xs\n    .Xdefaults\n              setf xdefaults\n    .Xpdefaults\n              setf xdefaults\n    .Xresources\n              setf xdefaults\n    xdm-config\n              setf xdefaults\n    *.ad      setf xdefaults\n    *.msc     setf xmath\n    *.msf     setf xmath\n    *.ms      if !dist#ft#FTnroff() | setf xmath | endif\n    *.xml     call dist#ft#FTxml()\n    *.xmi     setf xml\n    *.csproj  setf xml\n    *.csproj.user\n              setf xml\n    *.fsproj  setf xml\n    *.fsproj.user\n              setf xml\n    *.vbproj  setf xml\n    *.vbproj.user\n              setf xml\n    *.ui      setf xml\n    *.tpm     setf xml\n    */etc/xdg/menus/*.menu\n              setf xml\n    fglrxrc   setf xml\n    *.wsdl    setf xml\n    *.wdl     setf wdl\n    *.xlf     setf xml\n    *.xliff   setf xml\n    *.xul     setf xml\n    *Xmodmap  setf xmodmap\n    *.xq      setf xquery\n    *.xql     setf xquery\n    *.xqm     setf xquery\n    *.xquery  setf xquery\n    *.xqy     setf xquery\n    *.xsd     setf xsd\n    *.xsl     setf xslt\n    *.xslt    setf xslt\n    *.yy      setf yacc\n    *.yxx     setf yacc\n    *.y++     setf yacc\n    *.y       call dist#ft#FTy()\n    *.yaml    setf yaml\n    *.yml     setf yaml\n    *.raml    setf raml\n    */etc/yum.conf\n              setf dosini\n    *.yang    setf yang\n    *.zu      setf zimbu\n    *.zut     setf zimbutempl\n    *.dtml    call dist#ft#FThtml()\n    *.pt      call dist#ft#FThtml()\n    *.cpt     call dist#ft#FThtml()\n    *.zsql    call dist#ft#SQL()\n    *.z8a     setf z8a\n    *         if !did_filetype() && expand(\"<amatch>\") !~ g:ft_ignore_pat | runtime! scripts.vim | endif\n    *.text    setf text\n    README    setf text\n    LICENSE   setf text\n    COPYING   setf text\n    AUTHORS   setf text\n    */etc/proftpd/*.conf*\n              call s:StarSetf(''apachestyle'')\n    */etc/proftpd/conf.*/*\n              call s:StarSetf(''apachestyle'')\n    proftpd.conf*\n              call s:StarSetf(''apachestyle'')\n    access.conf*\n              call s:StarSetf(''apache'')\n    apache.conf*\n              call s:StarSetf(''apache'')\n    apache2.conf*\n              call s:StarSetf(''apache'')\n    httpd.conf*\n              call s:StarSetf(''apache'')\n    srm.conf* call s:StarSetf(''apache'')\n    */etc/apache2/*.conf*\n              call s:StarSetf(''apache'')\n    */etc/apache2/conf.*/*\n              call s:StarSetf(''apache'')\n    */etc/apache2/mods-*/*\n              call s:StarSetf(''apache'')\n    */etc/apache2/sites-*/*\n              call s:StarSetf(''apache'')\n    */etc/httpd/conf.*/*\n              call s:StarSetf(''apache'')\n    */etc/httpd/mods-*/*\n              call s:StarSetf(''apache'')\n    */etc/httpd/sites-*/*\n              call s:StarSetf(''apache'')\n    */etc/httpd/conf.d/*.conf*\n              call s:StarSetf(''apache'')\n    */etc/apt/apt.conf.d/{[-_[:alnum:]]\\+,[-_.[:alnum:]]\\+.conf}\n              call s:StarSetf(''aptconf'')\n    *asterisk/*.conf*\n              call s:StarSetf(''asterisk'')\n    *asterisk*/*voicemail.conf*\n              call s:StarSetf(''asteriskvm'')\n    bzr_log.* setf bzr\n    *.BUILD   setf bzl\n    BUILD     setf bzl\n    */named/db.*\n              call s:StarSetf(''bindzone'')\n    */bind/db.*\n              call s:StarSetf(''bindzone'')\n    cabal.project.*\n              call s:StarSetf(''cabalproject'')\n    */.calendar/*\n              call s:StarSetf(''calendar'')\n    */share/calendar/*/calendar.*\n              call s:StarSetf(''calendar'')\n    */share/calendar/calendar.*\n              call s:StarSetf(''calendar'')\n    [cC]hange[lL]og*\n              if getline(1) =~ ''; urgency=''|  call s:StarSetf(''debchangelog'')|else|  call s:StarSetf(''changelog'')|endif\n    crontab   call s:StarSetf(''crontab'')\n    crontab.* call s:StarSetf(''crontab'')\n    */etc/cron.d/*\n              call s:StarSetf(''crontab'')\n    */etc/dnsmasq.d/*\n              call s:StarSetf(''dnsmasq'')\n    Dockerfile.*\n              call s:StarSetf(''dockerfile'')\n    Containerfile.*\n              call s:StarSetf(''dockerfile'')\n    drac.*    call s:StarSetf(''dracula'')\n    */.fvwm/* call s:StarSetf(''fvwm'')\n    *fvwmrc*  let b:fvwm_version = 1 | call s:StarSetf(''fvwm'')\n    *fvwm95*.hook\n              let b:fvwm_version = 1 | call s:StarSetf(''fvwm'')\n    *fvwm2rc* if expand(\"<afile>:e\") == \"m4\"|  call s:StarSetf(''fvwm2m4'')|else|  let b:fvwm_version = 2 | call s:StarSetf(''fvwm'')|endif\n    */tmp/lltmp*\n              call s:StarSetf(''gedcom'')\n    */.gitconfig.d/*\n              call s:StarSetf(''gitconfig'')\n    */etc/gitconfig.d/*\n              call s:StarSetf(''gitconfig'')\n    */gitolite-admin/conf/*\n              call s:StarSetf(''gitolite'')\n    .gtkrc*   call s:StarSetf(''gtkrc'')\n    gtkrc*    call s:StarSetf(''gtkrc'')\n    Prl*.*    call s:StarSetf(''jam'')\n    JAM*.*    call s:StarSetf(''jam'')\n    *jarg*    if getline(1).getline(2).getline(3).getline(4).getline(5) =~? ''THIS IS THE JARGON FILE''|  call s:StarSetf(''jargon'')|endif\n    *.properties_??_??_*\n              call s:StarSetf(''jproperties'')\n    Kconfig.* call s:StarSetf(''kconfig'')\n    lilo.conf*\n              call s:StarSetf(''lilo'')\n    */etc/sensors.d/[^.]*\n              call s:StarSetf(''sensors'')\n    */etc/logcheck/*.d*/*\n              call s:StarSetf(''logcheck'')\n    [mM]akefile*\n              call s:StarSetf(''make'')\n    [rR]akefile*\n              call s:StarSetf(''ruby'')\n    {neo,}mutt[[:alnum:]._-]\\\\\\{6\\}\n              setf mail\n    reportbug-*\n              call s:StarSetf(''mail'')\n    */etc/modutils/*\n              if executable(expand(\"<afile>\")) != 1|  call s:StarSetf(''modconf'')|endif\n    */etc/modprobe.*\n              call s:StarSetf(''modconf'')\n    */etc/Muttrc.d/*\n              call s:StarSetf(''muttrc'')\n    .mutt{ng,}rc*\n              call s:StarSetf(''muttrc'')\n    */.mutt{ng,}/mutt{ng,}rc*\n              call s:StarSetf(''muttrc'')\n    mutt{ng,}rc*\n              call s:StarSetf(''muttrc'')\n    Mutt{ng,}rc*\n              call s:StarSetf(''muttrc'')\n    .neomuttrc*\n              call s:StarSetf(''neomuttrc'')\n    */.neomutt/neomuttrc*\n              call s:StarSetf(''neomuttrc'')\n    neomuttrc*\n              call s:StarSetf(''neomuttrc'')\n    Neomuttrc*\n              call s:StarSetf(''neomuttrc'')\n    tmac.*    call s:StarSetf(''nroff'')\n    */etc/hostname.*\n              call s:StarSetf(''config'')\n    */etc/pam.d/*\n              call s:StarSetf(''pamconf'')\n    *printcap*\n              if !did_filetype()|  let b:ptcap_type = \"print\" | call s:StarSetf(''ptcap'')|endif\n    *termcap* if !did_filetype()|  let b:ptcap_type = \"term\" | call s:StarSetf(''ptcap'')|endif\n    *.rdf     call dist#ft#Redif()\n    .reminders*\n              call s:StarSetf(''remind'')\n    sgml.catalog*\n              call s:StarSetf(''catalog'')\n    */doc/{,.}bash[_-]completion{,.d,.sh}{,/*}\n              setf text\n    .bashrc*  call dist#ft#SetFileTypeSH(\"bash\")\n    .bash[_-]profile*\n              call dist#ft#SetFileTypeSH(\"bash\")\n    .bash[_-]logout*\n              call dist#ft#SetFileTypeSH(\"bash\")\n    .bash[_-]aliases*\n              call dist#ft#SetFileTypeSH(\"bash\")\n    bash-fc[-.]*\n              call dist#ft#SetFileTypeSH(\"bash\")\n    PKGBUILD* call dist#ft#SetFileTypeSH(\"bash\")\n    APKBUILD* call dist#ft#SetFileTypeSH(\"bash\")\n    */{,.}bash[_-]completion{,.d,.sh}{,/*}\n              call dist#ft#SetFileTypeSH(\"bash\")\n    .kshrc*   call dist#ft#SetFileTypeSH(\"ksh\")\n    .profile* call dist#ft#SetFileTypeSH(getline(1))\n    */etc/sudoers.d/*\n              call s:StarSetf(''sudoers'')\n    .tcshrc*  call dist#ft#SetFileTypeShell(\"tcsh\")\n    .login*   call dist#ft#CSH()\n    .cshrc*   call dist#ft#CSH()\n    {.,}tmux*.conf*\n              setf tmux\n    *.vhdl_[0-9]*\n              call s:StarSetf(''vhdl'')\n    *vimrc*   call s:StarSetf(''vim'')\n    svn-commit*.tmp\n              setf svn\n    Xresources*\n              call s:StarSetf(''xdefaults'')\n    */app-defaults/*\n              call s:StarSetf(''xdefaults'')\n    */Xresources/*\n              call s:StarSetf(''xdefaults'')\n    XF86Config-4*\n              let b:xf86conf_xfree86_version = 4 | call s:StarSetf(''xf86conf'')\n    XF86Config*\n              if getline(1) =~ ''\\<XConfigurator\\>''|  let b:xf86conf_xfree86_version = 3|endif|call s:StarSetf(''xf86conf'')\n    *xmodmap* call s:StarSetf(''xmodmap'')\n    */etc/xinetd.d/*\n              call s:StarSetf(''xinetd'')\n    */etc/yum.repos.d/*\n              call s:StarSetf(''dosini'')\n    .zsh*     call s:StarSetf(''zsh'')\n    .zlog*    call s:StarSetf(''zsh'')\n    .zcompdump*\n              call s:StarSetf(''zsh'')\n    zsh*      call s:StarSetf(''zsh'')\n    zlog*     call s:StarSetf(''zsh'')\n    *.txt     if getline(''$'') !~ ''vim:.*ft=help''|   setf text| endif\n    *.blp     setf blueprint\n    *.brol    setfiletype foo\n    *.foo     setfiletype foo\n    bash-*    setfiletype foo\n    *.alpha   setfiletype psi\n    *.beta    setfiletype psi\n    *.cof     setfiletype psi\n    *.fmt     setfiletype psi\n    *.mfc     setfiletype psi\n    *.mu      setfiletype psi\n    *.pm      setfiletype psi\n    *.rls     setfiletype psi\n    *.setup   setfiletype psi\n    *.tng     setfiletype psi\n    *.cfg     setfiletype psi\n    *.sql     setfiletype sql\n    *.sps     setfiletype sql\n    *.spb     setfiletype sql\n    *.tsn     setfiletype tsn\n    UnicodeTable.txt\n              set filetype=unicode\n    *tridactylrc\n              setf tridactyl\n    .editorconfig\n              setfiletype dosini\n    *.snippets\n              setf snippets\n    *.rs      call s:set_rust_filetype()\n    Cargo.toml\n              setf FALLBACK cfg\n    *.html    call s:SelectHTML()\n    *.htm     call s:SelectHTML()\n    *.nunjucks\n              call s:SelectHTML()\n    *.nunjs   call s:SelectHTML()\n    *.njk     call s:SelectHTML()\n    *.jinja2  set ft=jinja\n    *.j2      set ft=jinja\n    *.jinja   set ft=jinja\n    *.tera    set ft=jinja\n    *.log     set filetype=log\n    *_log     set filetype=log\n    *.LOG     set filetype=log\n    *_LOG     set filetype=log\n    *         if !did_filetype() && expand(\"<amatch>\") !~ g:ft_ignore_pat    && (getline(1) =~ ''^#'' || getline(2) =~ ''^#'' || getline(3) =~ ''^#''^I|| getline(4) =~ ''^#'' || getline(5) =~ ''^#'') |   setf FALLBACK conf | endif\nfiletypedetect  BufRead\n    ?\\+.orig  exe \"doau filetypedetect BufRead \" . fnameescape(expand(\"<afile>:r\"))\n    ?\\+.bak   exe \"doau filetypedetect BufRead \" . fnameescape(expand(\"<afile>:r\"))\n    ?\\+.old   exe \"doau filetypedetect BufRead \" . fnameescape(expand(\"<afile>:r\"))\n    ?\\+.new   exe \"doau filetypedetect BufRead \" . fnameescape(expand(\"<afile>:r\"))\n    ?\\+.dpkg-dist\n              exe \"doau filetypedetect BufRead \" . fnameescape(expand(\"<afile>:r\"))\n    ?\\+.dpkg-old\n              exe \"doau filetypedetect BufRead \" . fnameescape(expand(\"<afile>:r\"))\n    ?\\+.dpkg-new\n              exe \"doau filetypedetect BufRead \" . fnameescape(expand(\"<afile>:r\"))\n    ?\\+.dpkg-bak\n              exe \"doau filetypedetect BufRead \" . fnameescape(expand(\"<afile>:r\"))\n    ?\\+.rpmsave\n              exe \"doau filetypedetect BufRead \" . fnameescape(expand(\"<afile>:r\"))\n    ?\\+.rpmnew\n              exe \"doau filetypedetect BufRead \" . fnameescape(expand(\"<afile>:r\"))\n    ?\\+.pacsave\n              exe \"doau filetypedetect BufRead \" . fnameescape(expand(\"<afile>:r\"))\n    ?\\+.pacnew\n              exe \"doau filetypedetect BufRead \" . fnameescape(expand(\"<afile>:r\"))\n    *~        let s:name = expand(\"<afile>\") | 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\n    ?\\+.in    if expand(\"<afile>:t\") != \"configure.in\" |   exe \"doau filetypedetect BufRead \" . fnameescape(expand(\"<afile>:r\")) | endif\n    C:/Softs/vim90/doc/*.txt\n              setf help\n    *.inp     call dist#ft#Check_inp()\n    *.8th     setf 8th\n    *.aap     setf aap\n    */etc/a2ps.cfg\n              setf a2ps\n    */etc/a2ps/*.cfg\n              setf a2ps\n    a2psrc    setf a2ps\n    .a2psrc   setf a2ps\n    *.abap    setf abap\n    *.abc     setf abc\n    *.abl     setf abel\n    *.wrm     setf acedb\n    *.adb     setf ada\n    *.ads     setf ada\n    *.ada     setf ada\n    *.gpr     setf ada\n    *.tdf     setf ahdl\n    *.aidl    setf aidl\n    *.run     setf ampl\n    build.xml setf ant\n    *.ino     setf arduino\n    *.pde     setf arduino\n    .htaccess setf apache\n    */etc/httpd/*.conf\n              setf apache\n    */etc/apache2/sites-*/*.com\n              setf apache\n    *.a65     setf a65\n    *.scpt    setf applescript\n    [mM]akefile.am\n              setf automake\n    GNUmakefile.am\n              setf automake\n    *.am      setf elf\n    .asoundrc setf alsaconf\n    */usr/share/alsa/alsa.conf\n              setf alsaconf\n    */etc/asound.conf\n              setf alsaconf\n    *.aml     setf aml\n    apt.conf  setf aptconf\n    */.aptitude/config\n              setf aptconf\n    .arch-inventory\n              setf arch\n    =tagging-method\n              setf arch\n    *.art     setf art\n    *.asciidoc\n              setf asciidoc\n    *.adoc    setf asciidoc\n    *.asn     setf asn\n    *.asn1    setf asn\n    *.asa     if exists(\"g:filetype_asa\") |   exe \"setf \" . g:filetype_asa | else |   setf aspvbs | endif\n    *.asp     if exists(\"g:filetype_asp\") |   exe \"setf \" . g:filetype_asp | elseif getline(1) . getline(2) . getline(3) =~? \"perlscript\" |   setf aspperl | else |   setf aspvbs | endif\n    */boot/grub/menu.lst\n              setf grub\n    */boot/grub/grub.conf\n              setf grub\n    */etc/grub.conf\n              setf grub\n    *.demo    setf maxima\n    *.dm{1,2,3,t}\n              setf maxima\n    *.wxm     setf maxima\n    maxima-init.mac\n              setf maxima\n    *.asm     call dist#ft#FTasm()\n    *.[sS]    call dist#ft#FTasm()\n    *.[aA]    call dist#ft#FTasm()\n    *.mac     call dist#ft#FTasm()\n    *.lst     call dist#ft#FTasm()\n    *.mar     setf vmasm\n    *.astro   setf astro\n    *.atl     setf atlas\n    *.as      setf atlas\n    *.atom    setf xml\n    *.au3     setf autoit\n    *.ahk     setf autohotkey\n    *.at      setf m4\n    *.ave     setf ave\n    *.awk     setf awk\n    *.gawk    setf awk\n    *.mch     setf b\n    *.ref     setf b\n    *.imp     setf b\n    *.bas     call dist#ft#FTbas()\n    *.bi      call dist#ft#FTbas()\n    *.bm      call dist#ft#FTbas()\n    *.vb      setf vb\n    *.vbs     setf vb\n    *.dsm     setf vb\n    *.ctl     setf vb\n    *.iba     setf ibasic\n    *.ibi     setf ibasic\n    *.fb      setf freebasic\n    *.bat     setf dosbatch\n    *.cmd     if getline(1) =~ ''^/\\*'' | setf rexx | else | setf dosbatch | endif\n    *.sys\\c   call dist#ft#FTsys()\n    *.btm     call dist#ft#FTbtm()\n    *.bc      setf bc\n    *.bdf     setf bdf\n    *.beancount\n              setf beancount\n    *.bib     setf bib\n    *.bst     setf bst\n    *.bicep   setf bicep\n    named*.conf\n              setf named\n    rndc*.conf\n              setf named\n    rndc*.key setf named\n    named.root\n              setf bindzone\n    *.db      call dist#ft#BindzoneCheck('''')\n    *.bl      setf blank\n    *.bb      setf bitbake\n    *.bbappend\n              setf bitbake\n    *.bbclass setf bitbake\n    */build/conf/*.conf\n              setf bitbake\n    */meta{-*,}/conf/*.conf\n              setf bitbake\n    */etc/blkid.tab\n              setf xml\n    */etc/blkid.tab.old\n              setf xml\n    *.bsd     setf bsdl\n    *.bsdl    setf bsdl\n    *.bzl     setf bzl\n    *.bazel   setf bzl\n    WORKSPACE setf bzl\n    WORKSPACE.bzlmod\n              setf bzl\n    *.c       call dist#ft#FTlpc()\n    *.lpc     setf lpc\n    *.ulpc    setf lpc\n    calendar  setf calendar\n    *.capnp   setf capnp\n    *.cs      setf cs\n    *.csx     setf cs\n    *.csdl    setf csdl\n    *.cabal   setf cabal\n    *.toc     setf cdrtoc\n    */etc/cdrdao.conf\n              setf cdrdaoconf\n    */etc/defaults/cdrdao\n              setf cdrdaoconf\n    */etc/default/cdrdao\n              setf cdrdaoconf\n    .cdrdao   setf cdrdaoconf\n    cfengine.conf\n              setf cfengine\n    *.chai    setf chaiscript\n    *.chatito setf chatito\n    *.cdl     setf cdl\n    *.recipe  setf conaryrecipe\n    *.crm     setf crm\n    *.cyn     setf cynpp\n    *.cc      if exists(\"cynlib_syntax_for_cc\")|setf cynlib|else|setf cpp|endif\n    *.cpp     if exists(\"cynlib_syntax_for_cpp\")|setf cynlib|else|setf cpp|endif\n    *.cxx     setf cpp\n    *.c++     setf cpp\n    *.hh      setf cpp\n    *.hxx     setf cpp\n    *.hpp     setf cpp\n    *.ipp     setf cpp\n    *.moc     setf cpp\n    *.tcc     setf cpp\n    *.inl     setf cpp\n    *.h       call dist#ft#FTheader()\n    *.chf     setf ch\n    *.tlh     setf cpp\n    *.css     setf css\n    *.con     setf cterm\n    changelog.Debian\n              setf debchangelog\n    changelog.dch\n              setf debchangelog\n    NEWS.Debian\n              setf debchangelog\n    NEWS.dch  setf debchangelog\n    */debian/changelog\n              setf debchangelog\n    [cC]hange[lL]og\n              if getline(1) =~ ''; urgency=''|   setf debchangelog| else|   setf changelog| endif\n    NEWS      if getline(1) =~ ''; urgency=''|   setf debchangelog| endif\n    *..ch     setf chill\n    *.ch      call dist#ft#FTchange()\n    *.chopro  setf chordpro\n    *.crd     setf chordpro\n    *.cho     setf chordpro\n    *.crdpro  setf chordpro\n    *.chordpro\n              setf chordpro\n    .clangd   setf yaml\n    .clang-format\n              setf yaml\n    .clang-tidy\n              setf yaml\n    *.dcl     setf clean\n    *.icl     setf clean\n    *.eni     setf cl\n    *.ent     call dist#ft#FTent()\n    *.prg\\c   call dist#ft#FTprg()\n    *.clj     setf clojure\n    *.cljs    setf clojure\n    *.cljx    setf clojure\n    *.cljc    setf clojure\n    CMakeLists.txt\n              setf cmake\n    *.cmake   setf cmake\n    *.cmake.in\n              setf cmake\n    */.cmus/{autosave,rc,command-history,*.theme}\n              setf cmusrc\n    */cmus/{rc,*.theme}\n              setf cmusrc\n    *.cbl     setf cobol\n    *.cob     setf cobol\n    *.lib     setf cobol\n    *.cpy     if getline(1) =~ ''^##'' |   setf python | else |   setf cobol | endif\n    *.atg     setf coco\n    *.cfm     setf cf\n    *.cfi     setf cf\n    *.cfc     setf cf\n    configure.in\n              setf config\n    configure.ac\n              setf config\n    *.cook    setf cook\n    *.cql     setf cqlang\n    *.csv     setf csv\n    *.cu      setf cuda\n    *.cuh     setf cuda\n    Containerfile\n              setf dockerfile\n    Dockerfile\n              setf dockerfile\n    dockerfile\n              setf dockerfile\n    *.[dD]ockerfile\n              setf dockerfile\n    *.dcd     setf dcd\n    *enlightenment/*.cfg\n              setf c\n    *Eterm/*.cfg\n              setf eterm\n    *.ex      call dist#ft#ExCheck()\n    mix.lock  setf elixir\n    *.exs     setf elixir\n    *.eex     setf eelixir\n    *.leex    setf eelixir\n    *.elv     setf elvish\n    *.eu      call dist#ft#EuphoriaCheck()\n    *.ew      call dist#ft#EuphoriaCheck()\n    *.exu     call dist#ft#EuphoriaCheck()\n    *.exw     call dist#ft#EuphoriaCheck()\n    lynx.cfg  setf lynx\n    *.lrc     setf lyrics\n    *.quake   setf m3quake\n    cm3.cfg   setf m3quake\n    m3makefile\n              setf m3build\n    m3overrides\n              setf m3build\n    *baseq[2-3]/*.cfg\n              setf quake\n    *id1/*.cfg\n              setf quake\n    *quake[1-3]/*.cfg\n              setf quake\n    *.qc      setf c\n    *.cfg\\c   call dist#ft#FTcfg()\n    *.feature setf cucumber\n    *.csp     setf csp\n    *.fdr     setf csp\n    *.pld     setf cupl\n    *.si      setf cuplsim\n    *.dart    setf dart\n    *.drt     setf dart\n    */debian/control\n              setf debcontrol\n    control   if getline(1) =~ ''^Source:''|   setf debcontrol| endif\n    */debian/copyright\n              setf debcopyright\n    copyright if getline(1) =~ ''^Format:''|   setf debcopyright| endif\n    */etc/apt/sources.list\n              setf debsources\n    */etc/apt/sources.list.d/*.list\n              setf debsources\n    denyhosts.conf\n              setf denyhosts\n    */etc/dnsmasq.conf\n              setf dnsmasq\n    *.desc    setf desc\n    */dtrace/*.d\n              setf dtrace\n    *.d       call dist#ft#DtraceCheck()\n    *.desktop setf desktop\n    *.directory\n              setf desktop\n    dict.conf setf dictconf\n    .dictrc   setf dictconf\n    dictd*.conf\n              setf dictdconf\n    */debian/patches/*\n              call dist#ft#Dep3patch()\n    *.diff    setf diff\n    *.rej     setf diff\n    *.patch   if getline(1) =~# ''^From [0-9a-f]\\{40,\\} Mon Sep 17 00:00:00 2001$'' |   setf gitsendemail | else |   setf diff | endif\n    .dir_colors\n              setf dircolors\n    .dircolors\n              setf dircolors\n    */etc/DIR_COLORS\n              setf dircolors\n    *.rul     if getline(1).getline(2).getline(3).getline(4).getline(5).getline(6) =~? ''InstallShield'' |   setf ishd | else |   setf diva | endif\n    *.com     call dist#ft#BindzoneCheck(''dcl'')\n    *.dot     setf dot\n    *.gv      setf dot\n    jbuild    setf dune\n    dune      setf dune\n    dune-project\n              setf dune\n    dune-workspace\n              setf dune\n    *.lid     setf dylanlid\n    *.intr    setf dylanintr\n    *.dylan   setf dylan\n    *.def     setf def\n    *.drac    setf dracula\n    *.drc     setf dracula\n    *lvs      setf dracula\n    *lpe      setf dracula\n    *.ds      setf datascript\n    *.dsl     if getline(1) =~ ''^\\s*<\\!'' |   setf dsl | else |   setf structurizr | endif\n    *.dtd     setf dtd\n    *.dts     setf dts\n    *.dtsi    setf dts\n    *.ed\\(f\\|if\\|o\\)\n              setf edif\n    *.edn     if getline(1) =~ ''^\\s*(\\s*edif\\>'' |   setf edif | else |   setf clojure | endif\n    .editorconfig\n              setf editorconfig\n    *.ecd     setf ecd\n    *.e       call dist#ft#FTe()\n    *.E       call dist#ft#FTe()\n    elinks.conf\n              setf elinks\n    *.erl     setf erlang\n    *.hrl     setf erlang\n    *.yaws    setf erlang\n    *.elm     setf elm\n    filter-rules\n              setf elmfilt\n    *.lc      setf elsa\n    *esmtprc  setf esmtprc\n    *.ec      setf esqlc\n    *.EC      setf esqlc\n    *.strl    setf esterel\n    *.csc     setf csc\n    exim.conf setf exim\n    *.exp     setf expect\n    exports   setf exports\n    *.fal     setf falcon\n    *.fan     setf fan\n    *.fwt     setf fan\n    *.factor  setf factor\n    *.fnl     setf fennel\n    .fetchmailrc\n              setf fetchmail\n    *.fir     setf firrtl\n    *.fish    setf fish\n    *.fex     setf focexec\n    *.focexec setf focexec\n    auto.master\n              setf conf\n    *.mas     setf master\n    *.master  setf master\n    *.ft      setf forth\n    *.fth     setf forth\n    *.frt     setf reva\n    *.f       setf fortran\n    *.for     setf fortran\n    *.fortran setf fortran\n    *.fpp     setf fortran\n    *.ftn     setf fortran\n    *.f77     setf fortran\n    *.f90     setf fortran\n    *.f95     setf fortran\n    *.f03     setf fortran\n    *.f08     setf fortran\n    *.fsl     setf framescript\n    fstab     setf fstab\n    mtab      setf fstab\n    *.fc      setf func\n    *.fusion  setf fusion\n    *.fs      call dist#ft#FTfs()\n    *.fsh     setf fsh\n    *.fsi     setf fsharp\n    *.fsx     setf fsharp\n    .gdbinit  setf gdb\n    gdbinit   setf gdb\n    .gdbearlyinit\n              setf gdb\n    gdbearlyinit\n              setf gdb\n    *.gdb     setf gdb\n    *.mo      setf gdmo\n    *.gdmo    setf gdmo\n    *.gd      setf gdscript\n    *.tscn    setf gdresource\n    *.tres    setf gdresource\n    *.gdshader\n              setf gdshader\n    *.shader  setf gdshader\n    *.ged     setf gedcom\n    lltxxxxx.txt\n              setf gedcom\n    *.gmi     setf gemtext\n    *.gemini  setf gemtext\n    *.gift    setf gift\n    COMMIT_EDITMSG\n              setf gitcommit\n    MERGE_MSG setf gitcommit\n    TAG_EDITMSG\n              setf gitcommit\n    NOTES_EDITMSG\n              setf gitcommit\n    EDIT_DESCRIPTION\n              setf gitcommit\n    *.git/config\n              setf gitconfig\n    .gitconfig\n              setf gitconfig\n    */etc/gitconfig\n              setf gitconfig\n    */.config/git/config\n              setf gitconfig\n    *.git/config.worktree\n              setf gitconfig\n    *.git/worktrees/*/config.worktree\n              setf gitconfig\n    .gitmodules\n              setf gitconfig\n    *.git/modules/*/config\n              setf gitconfig\n    C:/Users/vds/Neovim-Vim/git/config\n              setf gitconfig\n    C:/Users/vds/Neovim-Vim/git/attributes\n              setf gitattributes\n    C:/Users/vds/Neovim-Vim/git/ignore\n              setf gitignore\n    .gitattributes\n              setf gitattributes\n    *.git/info/attributes\n              setf gitattributes\n    */.config/git/attributes\n              setf gitattributes\n    */etc/gitattributes\n              setf gitattributes\n    .gitignore\n              setf gitignore\n    *.git/info/exclude\n              setf gitignore\n    */.config/git/ignore\n              setf gitignore\n    git-rebase-todo\n              setf gitrebase\n    .gitsendemail.msg.??????\n              setf gitsendemail\n    *.git/*   if getline(1) =~# ''^\\x\\{40,\\}\\>\\|^ref: '' |   setf git | endif\n    gkrellmrc setf gkrellmrc\n    gkrellmrc_?\n              setf gkrellmrc\n    *.gleam   setf gleam\n    *.glsl    setf glsl\n    *.gp      setf gp\n    .gprc     setf gp\n    */.gnupg/options\n              setf gpg\n    */.gnupg/gpg.conf\n              setf gpg\n    */usr/*/gnupg/options.skel\n              setf gpg\n    gnashrc   setf gnash\n    .gnashrc  setf gnash\n    gnashpluginrc\n              setf gnash\n    .gnashpluginrc\n              setf gnash\n    gitolite.conf\n              setf gitolite\n    {,.}gitolite.rc\n              setf perl\n    example.gitolite.rc\n              setf perl\n    *.gts     setf typescript.glimmer\n    *.gjs     setf javascript.glimmer\n    *.gpi     setf gnuplot\n    .gnuplot  setf gnuplot\n    *.go      setf go\n    Gopkg.lock\n              setf toml\n    go.work   setf gowork\n    *.gs      setf grads\n    *.graphql setf graphql\n    *.graphqls\n              setf graphql\n    *.gql     setf graphql\n    *.gretl   setf gretl\n    *.gradle  setf groovy\n    *.groovy  setf groovy\n    *.gsp     setf gsp\n    */etc/group\n              setf group\n    */etc/group-\n              setf group\n    */etc/group.edit\n              setf group\n    */etc/gshadow\n              setf group\n    */etc/gshadow-\n              setf group\n    */etc/gshadow.edit\n              setf group\n    */var/backups/group.bak\n              setf group\n    */var/backups/gshadow.bak\n              setf group\n    .gtkrc    setf gtkrc\n    gtkrc     setf gtkrc\n    *.gyp     setf gyp\n    *.gypi    setf gyp\n    *.hack    setf hack\n    *.hackpartial\n              setf hack\n    *.haml    setf haml\n    *.hsm     setf hamster\n    *.hbs     setf handlebars\n    *.ha      setf hare\n    *.hs      setf haskell\n    *.hsc     setf haskell\n    *.hs-boot setf haskell\n    *.hsig    setf haskell\n    *.lhs     setf lhaskell\n    *.chs     setf chaskell\n    cabal.project\n              setf cabalproject\n    C:/Users/vds/.cabal/config\n              setf cabalconfig\n    cabal.config\n              setf cabalconfig\n    *.ht      setf haste\n    *.htpp    setf hastepreproc\n    *.hcl     setf hcl\n    go.sum    setf gosum\n    go.work.sum\n              setf gosum\n    *.vc      setf hercules\n    *.ev      setf hercules\n    *.sum     setf hercules\n    *.errsum  setf hercules\n    *.heex    setf heex\n    *.hex     setf hex\n    *.h32     setf hex\n    *.hjson   setf hjson\n    *.m3u     setf hlsplaylist\n    *.m3u8    setf hlsplaylist\n    *.hws     setf hollywood\n    *.hoon    setf hoon\n    *.t.html  setf tilde\n    *.html    call dist#ft#FThtml()\n    *.htm     call dist#ft#FThtml()\n    *.shtml   call dist#ft#FThtml()\n    *.stm     call dist#ft#FThtml()\n    *.cshtml  setf html\n    *.erb     setf eruby\n    *.rhtml   setf eruby\n    *.html.m4 setf htmlm4\n    *.tmpl    setf template\n    */etc/host.conf\n              setf hostconf\n    */etc/hosts.allow\n              setf hostsaccess\n    */etc/hosts.deny\n              setf hostsaccess\n    *.hb      setf hb\n    *.htt     setf httest\n    *.htb     setf httest\n    */i3/config\n              setf i3config\n    */.i3/config\n              setf i3config\n    */sway/config\n              setf swayconfig\n    */.sway/config\n              setf swayconfig\n    *.icn     setf icon\n    *.idl     call dist#ft#FTidl()\n    *.odl     setf msidl\n    *.mof     setf msidl\n    */.icewm/menu\n              setf icemenu\n    .indent.pro\n              setf indent\n    indent.pro\n              call dist#ft#ProtoCheck(''indent'')\n    *.pro     call dist#ft#ProtoCheck(''idlang'')\n    indentrc  setf indent\n    *.inf     setf inform\n    *.INF     setf inform\n    */etc/initng/*/*.i\n              setf initng\n    *.ii      setf initng\n    upstream.dat\\c\n              setf upstreamdat\n    upstream.*.dat\\c\n              setf upstreamdat\n    *.upstream.dat\\c\n              setf upstreamdat\n    fdrupstream.log\n              setf upstreamlog\n    upstream.log\\c\n              setf upstreamlog\n    upstream.*.log\\c\n              setf upstreamlog\n    *.upstream.log\\c\n              setf upstreamlog\n    UPSTREAM-*.log\\c\n              setf upstreamlog\n    upstreaminstall.log\\c\n              setf upstreaminstalllog\n    upstreaminstall.*.log\\c\n              setf upstreaminstalllog\n    *.upstreaminstall.log\\c\n              setf upstreaminstalllog\n    usserver.log\\c\n              setf usserverlog\n    usserver.*.log\\c\n              setf usserverlog\n    *.usserver.log\\c\n              setf usserverlog\n    usw2kagt.log\\c\n              setf usw2kagtlog\n    usw2kagt.*.log\\c\n              setf usw2kagtlog\n    *.usw2kagt.log\\c\n              setf usw2kagtlog\n    ipf.conf  setf ipfilter\n    ipf6.conf setf ipfilter\n    ipf.rules setf ipfilter\n    *.4gl     setf fgl\n    *.4gh     setf fgl\n    *.m4gl    setf fgl\n    *.ini     setf dosini\n    inittab   setf inittab\n    *.iss     setf iss\n    *.ijs     setf j\n    *.jal     setf jal\n    *.JAL     setf jal\n    *.jpl     setf jam\n    *.jpr     setf jam\n    *.java    setf java\n    *.jav     setf java\n    *.jj      setf javacc\n    *.jjt     setf javacc\n    *.js      setf javascript\n    *.jsm     setf javascript\n    *.javascript\n              setf javascript\n    *.es      setf javascript\n    *.mjs     setf javascript\n    *.cjs     setf javascript\n    *.jsx     setf javascriptreact\n    *.jsp     setf jsp\n    *.properties\n              setf jproperties\n    *.properties_??\n              setf jproperties\n    *.properties_??_??\n              setf jproperties\n    org.eclipse.*.prefs\n              setf jproperties\n    *.clp     setf jess\n    *.jgr     setf jgraph\n    *.jov     setf jovial\n    *.j73     setf jovial\n    *.jovial  setf jovial\n    *.jq      setf jq\n    *.json5   setf json5\n    *.json-patch\n              setf json\n    *.ipynb   setf json\n    .prettierrc\n              setf json\n    .firebaserc\n              setf json\n    .stylelintrc\n              setf json\n    *.jsonc   setf jsonc\n    .babelrc  setf jsonc\n    .eslintrc setf jsonc\n    .jsfmtrc  setf jsonc\n    .jshintrc setf jsonc\n    .hintrc   setf jsonc\n    .swrc     setf jsonc\n    [jt]sconfig*.json\n              setf jsonc\n    *.json    setf json\n    *.jsonp   setf json\n    *.webmanifest\n              setf json\n    *.jsonnet setf jsonnet\n    *.libsonnet\n              setf jsonnet\n    *.jl      setf julia\n    *.kdl     setf kdl\n    *.kix     setf kix\n    *.src\\c   call dist#ft#FTsrc()\n    *.dat\\c   call dist#ft#FTdat()\n    *.sub\\c   setf krl\n    *.k       setf kwt\n    *.kv      setf kivy\n    *.kt      setf kotlin\n    *.ktm     setf kotlin\n    *.kts     setf kotlin\n    *.ks      setf kscript\n    Kconfig   setf kconfig\n    Kconfig.debug\n              setf kconfig\n    *.ace     setf lace\n    *.ACE     setf lace\n    .lsl      call dist#ft#FTlsl()\n    .latexmkrc\n              setf perl\n    latexmkrc setf perl\n    *.latte   setf latte\n    *.lte     setf latte\n    */etc/limits\n              setf limits\n    */etc/*limits.conf\n              setf limits\n    */etc/*limits.d/*.conf\n              setf limits\n    *.sig     call dist#ft#FTsig()\n    *.ldif    setf ldif\n    *.ld      setf ld\n    *.ldg     setf ledger\n    *.ledger  setf ledger\n    *.journal setf ledger\n    *.less    setf less\n    *.lex     setf lex\n    *.l       setf lex\n    *.lxx     setf lex\n    *.l++     setf lex\n    */etc/libao.conf\n              setf libao\n    */.libao  setf libao\n    */etc/sensors.conf\n              setf sensors\n    */etc/sensors3.conf\n              setf sensors\n    lftp.conf setf lftp\n    .lftprc   setf lftp\n    *lftp/rc  setf lftp\n    *.ll      setf lifelines\n    lilo.conf setf lilo\n    *.ly      setf lilypond\n    *.ily     setf lilypond\n    *.lsp     setf lisp\n    *.lisp    setf lisp\n    *.asd     setf lisp\n    *.el      setf lisp\n    *.cl      setf lisp\n    .emacs    setf lisp\n    .sawfishrc\n              setf lisp\n    sbclrc    setf lisp\n    .sbclrc   setf lisp\n    *.liquid  setf liquid\n    *.lite    setf lite\n    *.lt      setf lite\n    */LiteStep/*/*.rc\n              setf litestep\n    */etc/login.access\n              setf loginaccess\n    */etc/login.defs\n              setf logindefs\n    *.lgt     setf logtalk\n    *.lot     setf lotos\n    *.lotos   setf lotos\n    *.lou     setf lout\n    *.lout    setf lout\n    *.lua     setf lua\n    .luacheckrc\n              setf lua\n    *.rockspec\n              setf lua\n    *.lsl     call dist#ft#FTlsl()\n    *.lss     setf lss\n    *.m4      if expand(\"<afile>\") !~? ''html.m4$\\|fvwm2rc'' | setf m4 | endif\n    *.mgp     setf mgp\n    snd.\\d\\+  setf mail\n    .letter   setf mail\n    .letter.\\d\\+\n              setf mail\n    .followup setf mail\n    .article  setf mail\n    .article.\\d\\+\n              setf mail\n    pico.\\d\\+ setf mail\n    mutt{ng,}-*-\\w\\+\n              setf mail\n    mutt[[:alnum:]_-]\\\\\\{6\\}\n              setf mail\n    neomutt-*-\\w\\+\n              setf mail\n    neomutt[[:alnum:]_-]\\\\\\{6\\}\n              setf mail\n    ae\\d\\+.txt\n              setf mail\n    /tmp/SLRN[0-9A-Z.]\\+\n              setf mail\n    *.eml     setf mail\n    */etc/mail/aliases\n              setf mailaliases\n    */etc/aliases\n              setf mailaliases\n    .mailcap  setf mailcap\n    mailcap   setf mailcap\n    *[mM]akefile\n              setf make\n    *.mk      setf make\n    *.mak     setf make\n    *.dsp     setf make\n    *.ist     setf ist\n    *.mst     setf ist\n    *.page    setf mallard\n    *.man     setf man\n    */etc/man.conf\n              setf manconf\n    man.config\n              setf manconf\n    *.mv      setf maple\n    *.mpl     setf maple\n    *.mws     setf maple\n    *.map     setf map\n    *.markdown\n              setf markdown\n    *.mdown   setf markdown\n    *.mkd     setf markdown\n    *.mkdn    setf markdown\n    *.mdwn    setf markdown\n    *.md      setf markdown\n    *.mason   setf mason\n    *.mhtml   setf mason\n    *.comp    setf mason\n    *.m       call dist#ft#FTm()\n    *.nb      setf mma\n    *.mel     setf mel\n    hg-editor-*.txt\n              setf hgcommit\n    *.hgrc    setf cfg\n    *hgrc     setf cfg\n    *.mmd     setf mermaid\n    *.mmdc    setf mermaid\n    *.mermaid setf mermaid\n    meson.build\n              setf meson\n    meson_options.txt\n              setf meson\n    *.wrap    setf dosini\n    */log/{auth,cron,daemon,debug,kern,lpr,mail,messages,news/news,syslog,user}{,.log,.err,.info,.warn,.crit,.notice}{,.[0-9]*,-[0-9]*}\n              setf messages\n    *.mf      setf mf\n    *.mp      setf mp\n    *.mpxl    let b:mp_metafun = 1 | setf mp\n    *.mpiv    let b:mp_metafun = 1 | setf mp\n    *.mpvi    let b:mp_metafun = 1 | setf mp\n    *.mgl     setf mgl\n    *.mix     setf mix\n    *.mixal   setf mix\n    *.mms     call dist#ft#FTmms()\n    *.mmp     setf mmp\n    *.mod\\c   call dist#ft#FTmod()\n    *.m2      setf modula2\n    *.DEF     setf modula2\n    *.mi      setf modula2\n    *.[mi][3g]\n              setf modula3\n    *.lm3     setf modula3\n    */etc/modules.conf\n              setf modconf\n    */etc/modules\n              setf modconf\n    */etc/conf.modules\n              setf modconf\n    *.isc     setf monk\n    *.monk    setf monk\n    *.ssc     setf monk\n    *.tsc     setf monk\n    *.moo     setf moo\n    *.moon    setf moonscript\n    *.move    setf move\n    *.mpd     setf xml\n    mplayer.conf\n              setf mplayerconf\n    */.mplayer/config\n              setf mplayerconf\n    *.s19     setf srec\n    *.s28     setf srec\n    *.s37     setf srec\n    *.mot     setf srec\n    *.srec    setf srec\n    mrxvtrc   setf mrxvtrc\n    .mrxvtrc  setf mrxvtrc\n    *.msql    setf msql\n    *.mysql   setf mysql\n    tclsh.rc  setf tcl\n    *.rc      if expand(\"<afile>\") !~ \"/etc/Muttrc.d/\" |   setf rc | endif\n    *.rch     if expand(\"<afile>\") !~ \"/etc/Muttrc.d/\" |   setf rc | endif\n    *.mush    setf mush\n    Mutt{ng,}rc\n              setf muttrc\n    *.n1ql    setf n1ql\n    *.nql     setf n1ql\n    */etc/nanorc\n              setf nanorc\n    *.nanorc  setf nanorc\n    *.NS[ACGLMNPS]\n              setf natural\n    Neomuttrc setf neomuttrc\n    .netrc    setf netrc\n    *.nginx   setf nginx\n    nginx*.conf\n              setf nginx\n    *nginx.conf\n              setf nginx\n    */etc/nginx/*\n              setf nginx\n    */usr/local/nginx/conf/*\n              setf nginx\n    */nginx/*.conf\n              setf nginx\n    *.nim     setf nim\n    *.nims    setf nim\n    *.nimble  setf nim\n    *.ninja   setf ninja\n    *.nix     setf nix\n    npmrc     setf dosini\n    .npmrc    setf dosini\n    *.ncf     setf ncf\n    *.me      if expand(\"<afile>\") != \"read.me\" && expand(\"<afile>\") != \"click.me\" |   setf nroff | endif\n    *.tr      setf nroff\n    *.nr      setf nroff\n    *.roff    setf nroff\n    *.tmac    setf nroff\n    *.mom     setf nroff\n    *.[1-9]   call dist#ft#FTnroff()\n    *.mm      call dist#ft#FTmm()\n    *.nqc     setf nqc\n    *.nse     setf lua\n    *.nsi     setf nsis\n    *.nsh     setf nsis\n    *.obl     setf obse\n    *.obse    setf obse\n    *.oblivion\n              setf obse\n    *.obscript\n              setf obse\n    *.ml      setf ocaml\n    *.mli     setf ocaml\n    *.mll     setf ocaml\n    *.mly     setf ocaml\n    .ocamlinit\n              setf ocaml\n    *.mlt     setf ocaml\n    *.mlp     setf ocaml\n    *.mlip    setf ocaml\n    *.mli.cppo\n              setf ocaml\n    *.ml.cppo setf ocaml\n    *.occ     setf occam\n    octave.conf\n              setf octave\n    .octaverc setf octave\n    octaverc  setf octave\n    *.xom     setf omnimark\n    *.xin     setf omnimark\n    opam      setf opam\n    *.opam    setf opam\n    *.opam.template\n              setf opam\n    [a-zA-Z0-9]*Dict\\(.*\\)\\=\n              call dist#ft#FTfoam()\n    [a-zA-Z]*Properties\\(.*\\)\\=\n              call dist#ft#FTfoam()\n    *Transport\\(.*\\)\n              call dist#ft#FTfoam()\n    fvSchemes call dist#ft#FTfoam()\n    fvSolution\n              call dist#ft#FTfoam()\n    fvConstrains\n              call dist#ft#FTfoam()\n    fvModels  call dist#ft#FTfoam()\n    */constant/g\n              call dist#ft#FTfoam()\n    */0\\(\\.orig\\)\\=/*\n              call dist#ft#FTfoam()\n    *.or      setf openroad\n    *.[Oo][Pp][Ll]\n              setf opl\n    *.scad    setf openscad\n    *.ora     setf ora\n    *.org     setf org\n    *.org_archive\n              setf org\n    pf.conf   setf pf\n    */etc/pacman.conf\n              setf confini\n    mpv.conf  setf confini\n    */.aws/config\n              setf confini\n    */.aws/credentials\n              setf confini\n    *.nmconnection\n              setf confini\n    *.hook    if getline(1) == ''[Trigger]'' |   setf conf | endif\n    */etc/pam.conf\n              setf pamconf\n    pam_env.conf\n              setf pamenv\n    .pam_environment\n              setf pamenv\n    *.papp    setf papp\n    *.pxml    setf papp\n    *.pxsl    setf papp\n    */etc/passwd\n              setf passwd\n    */etc/passwd-\n              setf passwd\n    */etc/passwd.edit\n              setf passwd\n    */etc/shadow\n              setf passwd\n    */etc/shadow-\n              setf passwd\n    */etc/shadow.edit\n              setf passwd\n    */var/backups/passwd.bak\n              setf passwd\n    */var/backups/shadow.bak\n              setf passwd\n    *.pas     setf pascal\n    *.pp      call dist#ft#FTpp()\n    *.dpr     setf pascal\n    *.lpr     setf pascal\n    *.fpc     setf fpcmake\n    *.filter  setf poefilter\n    *.pdf     setf pdf\n    *.pcmk    setf pcmk\n    *.pl      call dist#ft#FTpl()\n    *.plx     setf perl\n    *.al      setf perl\n    *.psgi    setf perl\n    *.pm      if getline(1) =~ \"XPM2\" |   setf xpm2 | elseif getline(1) =~ \"XPM\" |   setf xpm | else |   setf perl | endif\n    *.pod     setf pod\n    *.php     setf php\n    *.php\\d   setf php\n    *.phtml   setf php\n    *.ctp     setf php\n    *.phpt    setf php\n    *.theme   setf php\n    php.ini-* setf dosini\n    *.pike    setf pike\n    *.pmod    setf pike\n    *.cmod    setf cmod\n    */etc/pinforc\n              setf pinfo\n    */.pinforc\n              setf pinfo\n    *.rcp     setf pilrc\n    .pinerc   setf pine\n    pinerc    setf pine\n    .pinercex setf pine\n    pinercex  setf pine\n    Pipfile   setf toml\n    Pipfile.lock\n              setf json\n    *.pli     setf pli\n    *.pl1     setf pli\n    *.plm     setf plm\n    *.p36     setf plm\n    *.pac     setf plm\n    *.pls     setf plsql\n    *.plsql   setf plsql\n    *.plp     setf plp\n    *.po      setf po\n    *.pot     setf po\n    main.cf   setf pfmain\n    main.cf.proto\n              setf pfmain\n    *.ps      setf postscr\n    *.pfa     setf postscr\n    *.afm     setf postscr\n    *.eps     setf postscr\n    *.epsf    setf postscr\n    *.epsi    setf postscr\n    *.ai      setf postscr\n    *.ppd     setf ppd\n    *.pov     setf pov\n    .povrayrc setf povini\n    *.inc     call dist#ft#FTinc()\n    *.ps1     setf ps1\n    *.psd1    setf ps1\n    *.psm1    setf ps1\n    *.pssc    setf ps1\n    *.ps1xml  setf ps1xml\n    *.cdxml   setf xml\n    *.psc1    setf xml\n    *printcap let b:ptcap_type = \"print\" | setf ptcap\n    *termcap  let b:ptcap_type = \"term\" | setf ptcap\n    *.prisma  setf prisma\n    *.g       setf pccts\n    *.it      setf ppwiz\n    *.ih      setf ppwiz\n    *.pug     setf pug\n    Puppetfile\n              setf ruby\n    *.epp     setf epuppet\n    *.obj     setf obj\n    *.pc      setf proc\n    *.action  setf privoxy\n    .procmail setf procmail\n    .procmailrc\n              setf procmail\n    *.w       call dist#ft#FTprogress_cweb()\n    *.i       call dist#ft#FTprogress_asm()\n    *.p       call dist#ft#FTprogress_pascal()\n    *.psf     setf psf\n    INDEX     if getline(1) =~ ''^\\s*\\(distribution\\|installed_software\\|root\\|bundle\\|product\\)\\s*$'' |   setf psf | endif\n    INFO      if getline(1) =~ ''^\\s*\\(distribution\\|installed_software\\|root\\|bundle\\|product\\)\\s*$'' |   setf psf | endif\n    *.pdb     setf prolog\n    *.pml     setf promela\n    *.psl     setf psl\n    *.proto   setf proto\n    *.pbtxt   setf pbtxt\n    *.pk      setf poke\n    */etc/protocols\n              setf protocols\n    *.arr     setf pyret\n    *.pyx     setf pyrex\n    *.pxd     setf pyrex\n    *.py      setf python\n    *.pyw     setf python\n    .pythonstartup\n              setf python\n    .pythonrc setf python\n    *.ptl     setf python\n    *.pyi     setf python\n    SConstruct\n              setf python\n    *.ql      setf ql\n    *.qll     setf ql\n    *.qmd     setf quarto\n    *.rad     setf radiance\n    *.mat     setf radiance\n    *.pm6     setf raku\n    *.p6      setf raku\n    *.t6      setf raku\n    *.pod6    setf raku\n    *.raku    setf raku\n    *.rakumod setf raku\n    *.rakudoc setf raku\n    *.rakutest\n              setf raku\n    .ratpoisonrc\n              setf ratpoison\n    ratpoisonrc\n              setf ratpoison\n    *\\,v      setf rcs\n    .inputrc  setf readline\n    inputrc   setf readline\n    *.reg     if getline(1) =~? ''^REGEDIT[0-9]*\\s*$\\|^Windows Registry Editor Version \\d*\\.\\d*\\s*$'' | setf registry | endif\n    *.rib     setf rib\n    *.rego    setf rego\n    *.rex     setf rexx\n    *.orx     setf rexx\n    *.rxo     setf rexx\n    *.rxj     setf rexx\n    *.jrexx   setf rexx\n    *.rexxj   setf rexx\n    *.rexx    setf rexx\n    *.testGroup\n              setf rexx\n    *.testUnit\n              setf rexx\n    *.rd      setf rhelp\n    *.rnw     setf rnoweb\n    *.snw     setf rnoweb\n    *.rmd     setf rmd\n    *.smd     setf rmd\n    .Rprofile setf r\n    Rprofile  setf r\n    Rprofile.site\n              setf r\n    *.rss     setf xml\n    *.rrst    setf rrst\n    *.srst    setf rrst\n    *.r       call dist#ft#FTr()\n    *.R       call dist#ft#FTr()\n    .reminders\n              setf remind\n    *.remind  setf remind\n    *.rem     setf remind\n    *.res     setf rescript\n    *.resi    setf rescript\n    resolv.conf\n              setf resolv\n    *.rnc     setf rnc\n    *.rng     setf rng\n    *.rpl     setf rpl\n    *.robot   setf robot\n    *.resource\n              setf robot\n    robots.txt\n              setf robots\n    *.ron     setf ron\n    *.rsc     setf routeros\n    *.x       setf rpcgen\n    *.rst     setf rst\n    *.rtf     setf rtf\n    .irbrc    setf ruby\n    irbrc     setf ruby\n    *.rb      setf ruby\n    *.rbw     setf ruby\n    *.gemspec setf ruby\n    *.rbs     setf rbs\n    *.ru      setf ruby\n    Gemfile   setf ruby\n    *.builder setf ruby\n    *.rxml    setf ruby\n    *.rjs     setf ruby\n    [rR]antfile\n              setf ruby\n    *.rant    setf ruby\n    [rR]akefile\n              setf ruby\n    *.rake    setf ruby\n    *.rs      setf rust\n    Cargo.lock\n              setf toml\n    */.cargo/config\n              setf toml\n    */.cargo/credentials\n              setf toml\n    *.sl      setf slang\n    smb.conf  setf samba\n    *.sas     setf sas\n    *.sass    setf sass\n    *.sa      setf sather\n    *.scala   setf scala\n    *.sbt     setf sbt\n    *.sc      call dist#ft#FTsc()\n    *.quark   setf supercollider\n    *.scd     call dist#ft#FTscd()\n    *.sci     setf scilab\n    *.sce     setf scilab\n    *.scss    setf scss\n    *.sd      setf sd\n    *.sdl     setf sdl\n    *.pr      setf sdl\n    *.sed     setf sed\n    *.srt     setf srt\n    *.ass     setf ssa\n    *.ssa     setf ssa\n    *.svelte  setf svelte\n    *.siv     setf sieve\n    *.sieve   setf sieve\n    sendmail.cf\n              setf sm\n    *.mc      call dist#ft#McSetf()\n    */etc/services\n              setf services\n    */etc/slp.conf\n              setf slpconf\n    */etc/slp.reg\n              setf slpreg\n    */etc/slp.spi\n              setf slpspi\n    */etc/serial.conf\n              setf setserial\n    *.sgm     if getline(1).getline(2).getline(3).getline(4).getline(5) =~? ''linuxdoc'' |   setf sgmllnx | elseif getline(1) =~ ''<!DOCTYPE.*DocBook'' || getline(2) =~ ''<!DOCTYPE.*DocBook'' |   let b:docbk_type = \"sgml\" |   let b:docbk_ver = 4 |   setf docbk | else |   setf sgml | endif\n    *.sgml    if getline(1).getline(2).getline(3).getline(4).getline(5) =~? ''linuxdoc'' |   setf sgmllnx | elseif getline(1) =~ ''<!DOCTYPE.*DocBook'' || getline(2) =~ ''<!DOCTYPE.*DocBook'' |   let b:docbk_type = \"sgml\" |   let b:docbk_ver = 4 |   setf docbk | else |   setf sgml | endif\n    *.decl    if getline(1).getline(2).getline(3) =~? ''^<!SGML'' |    setf sgmldecl | endif\n    *.dcl     if getline(1).getline(2).getline(3) =~? ''^<!SGML'' |    setf sgmldecl | endif\n    *.dec     if getline(1).getline(2).getline(3) =~? ''^<!SGML'' |    setf sgmldecl | endif\n    catalog   setf catalog\n    .bashrc   call dist#ft#SetFileTypeSH(\"bash\")\n    bashrc    call dist#ft#SetFileTypeSH(\"bash\")\n    bash.bashrc\n              call dist#ft#SetFileTypeSH(\"bash\")\n    .bash[_-]profile\n              call dist#ft#SetFileTypeSH(\"bash\")\n    .bash[_-]logout\n              call dist#ft#SetFileTypeSH(\"bash\")\n    .bash[_-]aliases\n              call dist#ft#SetFileTypeSH(\"bash\")\n    bash-fc[-.]\n              call dist#ft#SetFileTypeSH(\"bash\")\n    *.ebuild  call dist#ft#SetFileTypeSH(\"bash\")\n    *.bash    call dist#ft#SetFileTypeSH(\"bash\")\n    *.eclass  call dist#ft#SetFileTypeSH(\"bash\")\n    PKGBUILD  call dist#ft#SetFileTypeSH(\"bash\")\n    APKBUILD  call dist#ft#SetFileTypeSH(\"bash\")\n    .kshrc    call dist#ft#SetFileTypeSH(\"ksh\")\n    *.ksh     call dist#ft#SetFileTypeSH(\"ksh\")\n    */etc/profile\n              call dist#ft#SetFileTypeSH(getline(1))\n    .profile  call dist#ft#SetFileTypeSH(getline(1))\n    *.sh      call dist#ft#SetFileTypeSH(getline(1))\n    *.env     call dist#ft#SetFileTypeSH(getline(1))\n    *.install if getline(1) =~ ''<?php'' |   setf php | else |   call dist#ft#SetFileTypeSH(\"bash\") | endif\n    .tcshrc   call dist#ft#SetFileTypeShell(\"tcsh\")\n    *.tcsh    call dist#ft#SetFileTypeShell(\"tcsh\")\n    tcsh.tcshrc\n              call dist#ft#SetFileTypeShell(\"tcsh\")\n    tcsh.login\n              call dist#ft#SetFileTypeShell(\"tcsh\")\n    .login    call dist#ft#CSH()\n    .cshrc    call dist#ft#CSH()\n    csh.cshrc call dist#ft#CSH()\n    csh.login call dist#ft#CSH()\n    csh.logout\n              call dist#ft#CSH()\n    *.csh     call dist#ft#CSH()\n    .alias    call dist#ft#CSH()\n    *.zig     setf zig\n    *.zir     setf zir\n    .zprofile setf zsh\n    */etc/zprofile\n              setf zsh\n    .zfbfmarks\n              setf zsh\n    .zshrc    setf zsh\n    .zshenv   setf zsh\n    .zlogin   setf zsh\n    .zlogout  setf zsh\n    .zcompdump\n              setf zsh\n    *.zsh     setf zsh\n    *.scm     setf scheme\n    *.ss      setf scheme\n    *.sld     setf scheme\n    *.rkt     setf scheme\n    *.rktd    setf scheme\n    *.rktl    setf scheme\n    .screenrc setf screen\n    screenrc  setf screen\n    *.sexp    setf sexplib\n    *.sim     setf simula\n    *.sin     setf sinda\n    *.s85     setf sinda\n    *.sst     setf sisu\n    *.ssm     setf sisu\n    *.ssi     setf sisu\n    *.-sst    setf sisu\n    *._sst    setf sisu\n    *.sst.meta\n              setf sisu\n    *.-sst.meta\n              setf sisu\n    *._sst.meta\n              setf sisu\n    *.il      setf skill\n    *.ils     setf skill\n    *.cdf     setf skill\n    *.cdc     setf cdc\n    .slrnrc   setf slrnrc\n    *.score   setf slrnsc\n    *.smali   setf smali\n    *.st      setf st\n    *.cls     call dist#ft#FTcls()\n    *.tpl     setf smarty\n    *.smil    if getline(1) =~ ''<?\\s*xml.*?>'' |   setf xml | else |   setf smil | endif\n    *.smi     if getline(1) =~ ''\\<smil\\>'' |   setf smil | else |   setf mib | endif\n    *.smt     setf smith\n    *.smith   setf smith\n    *.smithy  setf smithy\n    *.sno     setf snobol4\n    *.spt     setf snobol4\n    *.mib     setf mib\n    *.my      setf mib\n    *.hog     setf hog\n    snort.conf\n              setf hog\n    vision.conf\n              setf hog\n    *.rules   call dist#ft#FTRules()\n    *.sol     setf solidity\n    *.rq      setf sparql\n    *.sparql  setf sparql\n    *.spec    setf spec\n    *.speedup setf spup\n    *.spdata  setf spup\n    *.spd     setf spup\n    *.ice     setf slice\n    *.sln     setf solution\n    *.slnf    setf json\n    *.sp      setf spice\n    *.spice   setf spice\n    *.spy     setf spyce\n    *.spi     setf spyce\n    squid.conf\n              setf squid\n    *.tyb     setf sql\n    *.typ     setf sql\n    *.tyc     setf sql\n    *.pkb     setf sql\n    *.pks     setf sql\n    *.sql     call dist#ft#SQL()\n    *.sqlj    setf sqlj\n    *.sqr     setf sqr\n    *.sqi     setf sqr\n    *.nut     setf squirrel\n    ssh_config\n              setf sshconfig\n    */.ssh/config\n              setf sshconfig\n    */.ssh/*.conf\n              setf sshconfig\n    */etc/ssh/ssh_config.d/*.conf\n              setf sshconfig\n    sshd_config\n              setf sshdconfig\n    */etc/ssh/sshd_config.d/*.conf\n              setf sshdconfig\n    *.ovpn    setf openvpn\n    */openvpn/*/*.conf\n              setf openvpn\n    *.ado     setf stata\n    *.do      setf stata\n    *.imata   setf stata\n    *.mata    setf stata\n    *.class   if getline(1) !~ \"^\\xca\\xfe\\xba\\xbe\" | setf stata | endif\n    *.hlp     setf smcl\n    *.ihlp    setf smcl\n    *.smcl    setf smcl\n    *.stp     setf stp\n    *.sml     setf sml\n    *.cm      setf voscm\n    *.swift   setf swift\n    *.swift.gyb\n              setf swiftgyb\n    *.sil     call dist#ft#FTsil()\n    */etc/sysctl.conf\n              setf sysctl\n    */etc/sysctl.d/*.conf\n              setf sysctl\n    */systemd/*.{automount,dnssd,link,mount,netdev,network,nspawn,path,service,slice,socket,swap,target,timer}\n              setf systemd\n    */etc/systemd/*.conf.d/*.conf\n              setf systemd\n    */etc/systemd/system/*.d/*.conf\n              setf systemd\n    */.config/systemd/user/*.d/*.conf\n              setf systemd\n    */etc/systemd/system/*.d/.#*\n              setf systemd\n    */etc/systemd/system/.#*\n              setf systemd\n    */.config/systemd/user/*.d/.#*\n              setf systemd\n    */.config/systemd/user/.#*\n              setf systemd\n    *.sdc     setf sdc\n    */etc/sudoers\n              setf sudoers\n    sudoers.tmp\n              setf sudoers\n    *.svg     setf svg\n    *.sface   setf surface\n    *.t       if !dist#ft#FTnroff() && !dist#ft#FTperl() | setf tads | endif\n    tags      setf tags\n    *.tak     setf tak\n    {pending,completed,undo}.data\n              setf taskdata\n    *.task    setf taskedit\n    *.tcl     setf tcl\n    *.tm      setf tcl\n    *.tk      setf tcl\n    *.itcl    setf tcl\n    *.itk     setf tcl\n    *.jacl    setf tcl\n    .tclshrc  setf tcl\n    .wishrc   setf tcl\n    *.tl      setf teal\n    *.tli     setf tli\n    *.slt     setf tsalt\n    *.ttl     if getline(1) =~ ''^@\\?\\(prefix\\|base\\)'' |   setf turtle | else |   setf teraterm | endif\n    *.ti      setf terminfo\n    *.tfvars  setf terraform-vars\n    *.latex   setf tex\n    *.sty     setf tex\n    *.dtx     setf tex\n    *.ltx     setf tex\n    *.bbl     setf tex\n    *.tex     call dist#ft#FTtex()\n    *.mkii    setf context\n    *.mkiv    setf context\n    *.mkvi    setf context\n    *.mkxl    setf context\n    *.mklx    setf context\n    *.texinfo setf texinfo\n    *.texi    setf texinfo\n    *.txi     setf texinfo\n    texmf.cnf setf texmf\n    *.thrift  setf thrift\n    .tidyrc   setf tidy\n    tidyrc    setf tidy\n    tidy.conf setf tidy\n    .tfrc     setf tf\n    tfrc      setf tf\n    *.tf      call dist#ft#FTtf()\n    *.tla     setf tla\n    {.,}tmux*.conf\n              setf tmux\n    *.toml    setf toml\n    *.tpp     setf tpp\n    *.treetop setf treetop\n    trustees.conf\n              setf trustees\n    *.tssgm   setf tssgm\n    *.tssop   setf tssop\n    *.tsscl   setf tsscl\n    *.tsv     setf tsv\n    *.twig    setf twig\n    *.ts      if getline(1) =~ ''<?xml'' |   setf xml | else |   setf typescript | endif\n    *.mts     setf typescript\n    *.cts     setf typescript\n    *.tsx     setf typescriptreact\n    *.uit     setf uil\n    *.uil     setf uil\n    */etc/udev/udev.conf\n              setf udevconf\n    */etc/udev/permissions.d/*.permissions\n              setf udevperm\n    */etc/udev/cdsymlinks.conf\n              setf sh\n    *.uc      setf uc\n    */etc/updatedb.conf\n              setf updatedb\n    */usr/share/upstart/*.conf\n              setf upstart\n    */usr/share/upstart/*.override\n              setf upstart\n    */etc/init/*.conf\n              setf upstart\n    */etc/init/*.override\n              setf upstart\n    */.init/*.conf\n              setf upstart\n    */.init/*.override\n              setf upstart\n    */.config/upstart/*.conf\n              setf upstart\n    */.config/upstart/*.override\n              setf upstart\n    *.vala    setf vala\n    *.vdf     setf vdf\n    *.vdmpp   setf vdmpp\n    *.vpp     setf vdmpp\n    *.vdmrt   setf vdmrt\n    *.vdmsl   setf vdmsl\n    *.vdm     setf vdmsl\n    *.vr      setf vera\n    *.vri     setf vera\n    *.vrh     setf vera\n    Vagrantfile\n              setf ruby\n    *.v       setf verilog\n    *.va      setf verilogams\n    *.vams    setf verilogams\n    *.sv      setf systemverilog\n    *.svh     setf systemverilog\n    *.tape    setf vhs\n    *.hdl     setf vhdl\n    *.vhd     setf vhdl\n    *.vhdl    setf vhdl\n    *.vbe     setf vhdl\n    *.vst     setf vhdl\n    *.vho     setf vhdl\n    *.vim     setf vim\n    *.vba     setf vim\n    .exrc     setf vim\n    _exrc     setf vim\n    .viminfo  setf viminfo\n    _viminfo  setf viminfo\n    *.hw      if getline(1) =~ ''<?php'' |   setf php | else |   setf virata | endif\n    *.module  if getline(1) =~ ''<?php'' |   setf php | else |   setf virata | endif\n    *.pkg     if getline(1) =~ ''<?php'' |   setf php | else |   setf virata | endif\n    *.frm     call dist#ft#FTfrm()\n    *.sba     setf vb\n    vgrindefs setf vgrindefs\n    *.wrl     setf vrml\n    *.vroom   setf vroom\n    *.vue     setf vue\n    *.wast    setf wast\n    *.wat     setf wast\n    *.wm      setf webmacro\n    .wgetrc   setf wget\n    wgetrc    setf wget\n    .wget2rc  setf wget2\n    wget2rc   setf wget2\n    *.wml     setf wml\n    *.wbt     setf winbatch\n    *.wsml    setf wsml\n    *.wpl     setf xml\n    wvdial.conf\n              setf wvdial\n    .wvdialrc setf wvdial\n    .cvsrc    setf cvsrc\n    cvs\\d\\+   setf cvs\n    *.web     if getline(1)[0].getline(2)[0].getline(3)[0].getline(4)[0].getline(5)[0] =~ \"%\" |   setf web | else |   setf winbatch | endif\n    *.ws[fc]  setf wsh\n    *.xhtml   setf xhtml\n    *.xht     setf xhtml\n    *.xpm     if getline(1) =~ \"XPM2\" |   setf xpm2 | else |   setf xpm | endif\n    *.xpm2    setf xpm2\n    XF86Config\n              if getline(1) =~ ''\\<XConfigurator\\>'' |   let b:xf86conf_xfree86_version = 3 | endif | setf xf86conf\n    */xorg.conf.d/*.conf\n              let b:xf86conf_xfree86_version = 4 | setf xf86conf\n    xorg.conf let b:xf86conf_xfree86_version = 4 | setf xf86conf\n    xorg.conf-4\n              let b:xf86conf_xfree86_version = 4 | setf xf86conf\n    */etc/xinetd.conf\n              setf xinetd\n    *.xs      setf xs\n    .Xdefaults\n              setf xdefaults\n    .Xpdefaults\n              setf xdefaults\n    .Xresources\n              setf xdefaults\n    xdm-config\n              setf xdefaults\n    *.ad      setf xdefaults\n    *.msc     setf xmath\n    *.msf     setf xmath\n    *.ms      if !dist#ft#FTnroff() | setf xmath | endif\n    *.xml     call dist#ft#FTxml()\n    *.xmi     setf xml\n    *.csproj  setf xml\n    *.csproj.user\n              setf xml\n    *.fsproj  setf xml\n    *.fsproj.user\n              setf xml\n    *.vbproj  setf xml\n    *.vbproj.user\n              setf xml\n    *.ui      setf xml\n    *.tpm     setf xml\n    */etc/xdg/menus/*.menu\n              setf xml\n    fglrxrc   setf xml\n    *.wsdl    setf xml\n    *.wdl     setf wdl\n    *.xlf     setf xml\n    *.xliff   setf xml\n    *.xul     setf xml\n    *Xmodmap  setf xmodmap\n    *.xq      setf xquery\n    *.xql     setf xquery\n    *.xqm     setf xquery\n    *.xquery  setf xquery\n    *.xqy     setf xquery\n    *.xsd     setf xsd\n    *.xsl     setf xslt\n    *.xslt    setf xslt\n    *.yy      setf yacc\n    *.yxx     setf yacc\n    *.y++     setf yacc\n    *.y       call dist#ft#FTy()\n    *.yaml    setf yaml\n    *.yml     setf yaml\n    *.raml    setf raml\n    */etc/yum.conf\n              setf dosini\n    *.yang    setf yang\n    *.zu      setf zimbu\n    *.zut     setf zimbutempl\n    *.dtml    call dist#ft#FThtml()\n    *.pt      call dist#ft#FThtml()\n    *.cpt     call dist#ft#FThtml()\n    *.zsql    call dist#ft#SQL()\n    *.z8a     setf z8a\n    *         if !did_filetype() && expand(\"<amatch>\") !~ g:ft_ignore_pat | runtime! scripts.vim | endif\n    *.text    setf text\n    README    setf text\n    LICENSE   setf text\n    COPYING   setf text\n    AUTHORS   setf text\n    */etc/proftpd/*.conf*\n              call s:StarSetf(''apachestyle'')\n    */etc/proftpd/conf.*/*\n              call s:StarSetf(''apachestyle'')\n    proftpd.conf*\n              call s:StarSetf(''apachestyle'')\n    access.conf*\n              call s:StarSetf(''apache'')\n    apache.conf*\n              call s:StarSetf(''apache'')\n    apache2.conf*\n              call s:StarSetf(''apache'')\n    httpd.conf*\n              call s:StarSetf(''apache'')\n    srm.conf* call s:StarSetf(''apache'')\n    */etc/apache2/*.conf*\n              call s:StarSetf(''apache'')\n    */etc/apache2/conf.*/*\n              call s:StarSetf(''apache'')\n    */etc/apache2/mods-*/*\n              call s:StarSetf(''apache'')\n    */etc/apache2/sites-*/*\n              call s:StarSetf(''apache'')\n    */etc/httpd/conf.*/*\n              call s:StarSetf(''apache'')\n    */etc/httpd/mods-*/*\n              call s:StarSetf(''apache'')\n    */etc/httpd/sites-*/*\n              call s:StarSetf(''apache'')\n    */etc/httpd/conf.d/*.conf*\n              call s:StarSetf(''apache'')\n    */etc/apt/apt.conf.d/{[-_[:alnum:]]\\+,[-_.[:alnum:]]\\+.conf}\n              call s:StarSetf(''aptconf'')\n    *asterisk/*.conf*\n              call s:StarSetf(''asterisk'')\n    *asterisk*/*voicemail.conf*\n              call s:StarSetf(''asteriskvm'')\n    bzr_log.* setf bzr\n    *.BUILD   setf bzl\n    BUILD     setf bzl\n    */named/db.*\n              call s:StarSetf(''bindzone'')\n    */bind/db.*\n              call s:StarSetf(''bindzone'')\n    cabal.project.*\n              call s:StarSetf(''cabalproject'')\n    */.calendar/*\n              call s:StarSetf(''calendar'')\n    */share/calendar/*/calendar.*\n              call s:StarSetf(''calendar'')\n    */share/calendar/calendar.*\n              call s:StarSetf(''calendar'')\n    [cC]hange[lL]og*\n              if getline(1) =~ ''; urgency=''|  call s:StarSetf(''debchangelog'')|else|  call s:StarSetf(''changelog'')|endif\n    crontab   call s:StarSetf(''crontab'')\n    crontab.* call s:StarSetf(''crontab'')\n    */etc/cron.d/*\n              call s:StarSetf(''crontab'')\n    */etc/dnsmasq.d/*\n              call s:StarSetf(''dnsmasq'')\n    Dockerfile.*\n              call s:StarSetf(''dockerfile'')\n    Containerfile.*\n              call s:StarSetf(''dockerfile'')\n    drac.*    call s:StarSetf(''dracula'')\n    */.fvwm/* call s:StarSetf(''fvwm'')\n    *fvwmrc*  let b:fvwm_version = 1 | call s:StarSetf(''fvwm'')\n    *fvwm95*.hook\n              let b:fvwm_version = 1 | call s:StarSetf(''fvwm'')\n    *fvwm2rc* if expand(\"<afile>:e\") == \"m4\"|  call s:StarSetf(''fvwm2m4'')|else|  let b:fvwm_version = 2 | call s:StarSetf(''fvwm'')|endif\n    */tmp/lltmp*\n              call s:StarSetf(''gedcom'')\n    */.gitconfig.d/*\n              call s:StarSetf(''gitconfig'')\n    */etc/gitconfig.d/*\n              call s:StarSetf(''gitconfig'')\n    */gitolite-admin/conf/*\n              call s:StarSetf(''gitolite'')\n    .gtkrc*   call s:StarSetf(''gtkrc'')\n    gtkrc*    call s:StarSetf(''gtkrc'')\n    Prl*.*    call s:StarSetf(''jam'')\n    JAM*.*    call s:StarSetf(''jam'')\n    *jarg*    if getline(1).getline(2).getline(3).getline(4).getline(5) =~? ''THIS IS THE JARGON FILE''|  call s:StarSetf(''jargon'')|endif\n    *.properties_??_??_*\n              call s:StarSetf(''jproperties'')\n    Kconfig.* call s:StarSetf(''kconfig'')\n    lilo.conf*\n              call s:StarSetf(''lilo'')\n    */etc/sensors.d/[^.]*\n              call s:StarSetf(''sensors'')\n    */etc/logcheck/*.d*/*\n              call s:StarSetf(''logcheck'')\n    [mM]akefile*\n              call s:StarSetf(''make'')\n    [rR]akefile*\n              call s:StarSetf(''ruby'')\n    {neo,}mutt[[:alnum:]._-]\\\\\\{6\\}\n              setf mail\n    reportbug-*\n              call s:StarSetf(''mail'')\n    */etc/modutils/*\n              if executable(expand(\"<afile>\")) != 1|  call s:StarSetf(''modconf'')|endif\n    */etc/modprobe.*\n              call s:StarSetf(''modconf'')\n    */etc/Muttrc.d/*\n              call s:StarSetf(''muttrc'')\n    .mutt{ng,}rc*\n              call s:StarSetf(''muttrc'')\n    */.mutt{ng,}/mutt{ng,}rc*\n              call s:StarSetf(''muttrc'')\n    mutt{ng,}rc*\n              call s:StarSetf(''muttrc'')\n    Mutt{ng,}rc*\n              call s:StarSetf(''muttrc'')\n    .neomuttrc*\n              call s:StarSetf(''neomuttrc'')\n    */.neomutt/neomuttrc*\n              call s:StarSetf(''neomuttrc'')\n    neomuttrc*\n              call s:StarSetf(''neomuttrc'')\n    Neomuttrc*\n              call s:StarSetf(''neomuttrc'')\n    tmac.*    call s:StarSetf(''nroff'')\n    */etc/hostname.*\n              call s:StarSetf(''config'')\n    */etc/pam.d/*\n              call s:StarSetf(''pamconf'')\n    *printcap*\n              if !did_filetype()|  let b:ptcap_type = \"print\" | call s:StarSetf(''ptcap'')|endif\n    *termcap* if !did_filetype()|  let b:ptcap_type = \"term\" | call s:StarSetf(''ptcap'')|endif\n    *.rdf     call dist#ft#Redif()\n    .reminders*\n              call s:StarSetf(''remind'')\n    sgml.catalog*\n              call s:StarSetf(''catalog'')\n    */doc/{,.}bash[_-]completion{,.d,.sh}{,/*}\n              setf text\n    .bashrc*  call dist#ft#SetFileTypeSH(\"bash\")\n    .bash[_-]profile*\n              call dist#ft#SetFileTypeSH(\"bash\")\n    .bash[_-]logout*\n              call dist#ft#SetFileTypeSH(\"bash\")\n    .bash[_-]aliases*\n              call dist#ft#SetFileTypeSH(\"bash\")\n    bash-fc[-.]*\n              call dist#ft#SetFileTypeSH(\"bash\")\n    PKGBUILD* call dist#ft#SetFileTypeSH(\"bash\")\n    APKBUILD* call dist#ft#SetFileTypeSH(\"bash\")\n    */{,.}bash[_-]completion{,.d,.sh}{,/*}\n              call dist#ft#SetFileTypeSH(\"bash\")\n    .kshrc*   call dist#ft#SetFileTypeSH(\"ksh\")\n    .profile* call dist#ft#SetFileTypeSH(getline(1))\n    */etc/sudoers.d/*\n              call s:StarSetf(''sudoers'')\n    .tcshrc*  call dist#ft#SetFileTypeShell(\"tcsh\")\n    .login*   call dist#ft#CSH()\n    .cshrc*   call dist#ft#CSH()\n    {.,}tmux*.conf*\n              setf tmux\n    *.vhdl_[0-9]*\n              call s:StarSetf(''vhdl'')\n    *vimrc*   call s:StarSetf(''vim'')\n    svn-commit*.tmp\n              setf svn\n    Xresources*\n              call s:StarSetf(''xdefaults'')\n    */app-defaults/*\n              call s:StarSetf(''xdefaults'')\n    */Xresources/*\n              call s:StarSetf(''xdefaults'')\n    XF86Config-4*\n              let b:xf86conf_xfree86_version = 4 | call s:StarSetf(''xf86conf'')\n    XF86Config*\n              if getline(1) =~ ''\\<XConfigurator\\>''|  let b:xf86conf_xfree86_version = 3|endif|call s:StarSetf(''xf86conf'')\n    *xmodmap* call s:StarSetf(''xmodmap'')\n    */etc/xinetd.d/*\n              call s:StarSetf(''xinetd'')\n    */etc/yum.repos.d/*\n              call s:StarSetf(''dosini'')\n    .zsh*     call s:StarSetf(''zsh'')\n    .zlog*    call s:StarSetf(''zsh'')\n    .zcompdump*\n              call s:StarSetf(''zsh'')\n    zsh*      call s:StarSetf(''zsh'')\n    zlog*     call s:StarSetf(''zsh'')\n    *.txt     if getline(''$'') !~ ''vim:.*ft=help''|   setf text| endif\n    *.blp     setf blueprint\n    *.brol    setfiletype foo\n    *.foo     setfiletype foo\n    bash-*    setfiletype foo\n    *.alpha   setfiletype psi\n    *.beta    setfiletype psi\n    *.cof     setfiletype psi\n    *.fmt     setfiletype psi\n    *.mfc     setfiletype psi\n    *.mu      setfiletype psi\n    *.pm      setfiletype psi\n    *.rls     setfiletype psi\n    *.setup   setfiletype psi\n    *.tng     setfiletype psi\n    *.cfg     setfiletype psi\n    *.sql     setfiletype sql\n    *.sps     setfiletype sql\n    *.spb     setfiletype sql\n    *.tsn     setfiletype tsn\n    UnicodeTable.txt\n              set filetype=unicode\n    *tridactylrc\n              setf tridactyl\n    *.fugitiveblame\n              setfiletype fugitiveblame\n    .editorconfig\n              setfiletype dosini\n    *.snippets\n              setf snippets\n    *.rs      call s:set_rust_filetype()\n    Cargo.toml\n              setf FALLBACK cfg\n    *.html    call s:SelectHTML()\n    *.htm     call s:SelectHTML()\n    *.nunjucks\n              call s:SelectHTML()\n    *.nunjs   call s:SelectHTML()\n    *.njk     call s:SelectHTML()\n    *.jinja2  set ft=jinja\n    *.j2      set ft=jinja\n    *.jinja   set ft=jinja\n    *.tera    set ft=jinja\n    *.log     set filetype=log\n    *_log     set filetype=log\n    *.LOG     set filetype=log\n    *_LOG     set filetype=log\n    *         if !did_filetype() && expand(\"<amatch>\") !~ g:ft_ignore_pat    && (getline(1) =~ ''^#'' || getline(2) =~ ''^#'' || getline(3) =~ ''^#''^I|| getline(4) =~ ''^#'' || getline(5) =~ ''^#'') |   setf FALLBACK conf | endif\nfiletypedetect  FileType\n    tridactyl setlocal commentstring=\\\"\\ %s\nfiletypedetect  StdinReadPost\n    *         if !did_filetype() | runtime! scripts.vim | endif\n              if !did_filetype() && expand(\"<amatch>\") !~ g:ft_ignore_pat    && (getline(1) =~ ''^#'' || getline(2) =~ ''^#'' || getline(3) =~ ''^#''^I|| getline(4) =~ ''^#'' || getline(5) =~ ''^#'') |   setf FALLBACK conf | endif"}'
Sending:'{"method":"new_session","params":{"no_cache":false,"session_id":1,"cwd":"C:\\Softs\\vim90","provider_id":"history","display":{"bufnr":2,"winid":1001},"icon":"File","start_buffer_path":"","input":{"bufnr":4,"winid":1003},"debounce":true,"start":{"bufnr":1,"winid":1000}}}'
Sending:'{"id":1,"result":"history"}'
Sending:'{"id":2,"result":188}'
Sending:'{"id":3,"result":43}'
Sending:'{"id":4,"result":0}'
Sending:'{"id":5,"result":0}'
Sending:'{"id":6,"result":0}'
Sending:'{"method":"exit","params":{"session_id":1}}'
Sending:'{"method":"exit","params":{"session_id":1}}'
Sending:'{"method":"note_recent_files","params":[6]}'
Sending:'{"id":7,"result":""}'
Sending:'{"method":"note_recent_files","params":[9]}'
"~\AppData\Local\Temp\V2M9155.tmp.scriptease-verbose" [noeol][unix] 14L, 120307B
Sending:'{"id":8,"result":"C:\\Users\\vds\\AppData\\Local\\Temp\\V2M9155.tmp.scriptease-verbose"}'
12 lines yanked
Sending:'{"method":"new_session","params":{"no_cache":false,"session_id":2,"cwd":"C:\\Softs\\vim90","provider_id":"history","display":{"bufnr":2,"winid":1011},"icon":"File","start_buffer_path":"","input":{"bufnr":4,"winid":1013},"debounce":true,"start":{"bufnr":6,"winid":1000}}}'
Sending:'{"id":9,"result":"history"}'
Sending:'{"id":10,"result":188}'
Sending:'{"id":11,"result":43}'
Sending:'{"id":12,"result":0}'
Sending:'{"id":13,"result":0}'
Sending:'{"id":14,"result":0}'
Sending:'{"method":"exit","params":{"session_id":2}}'
Sending:'{"method":"exit","params":{"session_id":2}}'
Sending:'{"method":"new_session","params":{"no_cache":false,"session_id":3,"cwd":"C:\\Softs\\vim90","provider_id":"buffers","display":{"bufnr":2,"winid":1015},"icon":"Null","start_buffer_path":"","input":{"bufnr":4,"winid":1017},"debounce":true,"start":{"bufnr":6,"winid":1000}}}'
Sending:'{"id":15,"result":"buffers"}'
Sending:'{"id":16,"result":188}'
Sending:'{"id":17,"result":43}'
Sending:'{"id":18,"result":0}'
Sending:'{"id":19,"result":0}'
Sending:'{"id":20,"result":0}'
Sending:'{"method":"exit","params":{"session_id":3}}'
Sending:'{"method":"exit","params":{"session_id":3}}'

@liuchengxu
Copy link
Owner

Don't see anything wrong, perhaps add some log on the Rust side to see what messages are invalid. Apply the following path, recompile, start Vim and type some query, check out the log.

diff --git a/crates/maple_core/src/stdio_server/mod.rs b/crates/maple_core/src/stdio_server/mod.rs
index 734d8ae..85caa0f 100644
--- a/crates/maple_core/src/stdio_server/mod.rs
+++ b/crates/maple_core/src/stdio_server/mod.rs
@@ -178,6 +178,7 @@ impl Client {

     /// Actually process a Vim notification message.
     async fn do_process_notification(&self, notification: Notification) -> Result<()> {
+        tracing::trace!(?notification, "new notification");
         let provider_session_id = || {
             notification
                 .session_id

@vds2212
Copy link
Author

vds2212 commented May 28, 2023

Here is the corresponding log file:
clap-tracing.log

@liuchengxu
Copy link
Owner

I see, we can't patch the executable that produced error logs. The clap-tracing.log you just uploaded contains no error messages, it should just work fine.

I don't know what we can do here right now. Perhaps just wait for next release to see that will work for you.

@vds2212
Copy link
Author

vds2212 commented May 28, 2023

Thanks for your support and thanks for vim-clap that is the best on Vim+Windows :-)

@fievel
Copy link

fievel commented Jun 28, 2023

Had the same issue and it's well the binary distribution which is wrong in some way. Installing rust tools and compiling it locally fixed the issue.

P.S.: First try of this plugin that I discovered on hackingcpp.com and I'm removing fzf plugin now and changing all my custom map and cabbrev to use it, it's really damn fast

@liuchengxu
Copy link
Owner

@fievel Thanks for confirming this. The next release will be out once #982 is merged, hopefully, I can find some time by the end of this week.

@liuchengxu
Copy link
Owner

https://github.com/liuchengxu/vim-clap/releases/tag/v0.45 New release is out, let me know if it still does not work.

@vds2212
Copy link
Author

vds2212 commented Jul 3, 2023

I get an error when I try to update with PlugUpdate

image

But If I download the version of maple.exe manually and put it at the right place it seems to work fine.

@liuchengxu
Copy link
Owner

Looks like there is an issue of downloading the binary on Windows

async fn download_prebuilt_binary(

Unfortunately, I don't have a Windows machine to test it, have to wait for someone to fix it 🙃 .

@vds2212
Copy link
Author

vds2212 commented Jul 3, 2023

If I run the command call clap#installer#force_download() the file is downloaded successfully in C:\Users\vds\AppData\Local\Temp but it is not moved in: C:\Users\vds\vimfiles\plugged\vim-clap\bin and I get the permission denied message:

image

@vds2212
Copy link
Author

vds2212 commented Jul 3, 2023

What looks odd if that if I remove the maple.exe it seems vim-clap download sucessfully the 0.44 version.
On the second trial (after restarting Vim) vim-clap fail to copy the file (see screenshot).

The impression I have is that:

  • The download is asynchronous but that vim-clap try immediately to copy the file that is not downloaded yet or that
  • maple.exe is still running and can't be overridden (maple.exe should probably first be renamed before being overridden) or
  • both.

@vds2212
Copy link
Author

vds2212 commented Jul 3, 2023

My mistake the plugin didn't update correctly because of some local change I did for debugging the previous version.

Now vim-clap download the correct version 0.45 (the problem was in install.ps1.

Everything seems right to me now :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants