diff options
author | Jonas Strittmatter <40792180+smjonas@users.noreply.github.com> | 2022-09-02 08:16:17 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-02 08:16:17 +0200 |
commit | ce80b8f50d7d56ac12aa06a64a65799ec18b69af (patch) | |
tree | 778a1643173565b4b12175eb863c67072e76a02f /runtime/lua | |
parent | 12fe197cffc687cedc65259d9fd8351a25aa7792 (diff) | |
download | rneovim-ce80b8f50d7d56ac12aa06a64a65799ec18b69af.tar.gz rneovim-ce80b8f50d7d56ac12aa06a64a65799ec18b69af.tar.bz2 rneovim-ce80b8f50d7d56ac12aa06a64a65799ec18b69af.zip |
vim-patch:9.0.0349: filetype of *.sil files not well detected (#20050)
Problem: Filetype of *.sil files not well detected.
Solution: Inspect the file contents to guess the filetype.
https://github.com/vim/vim/commit/be807d582499acbe314ead3891481cba6ca136df
Diffstat (limited to 'runtime/lua')
-rw-r--r-- | runtime/lua/vim/filetype.lua | 4 | ||||
-rw-r--r-- | runtime/lua/vim/filetype/detect.lua | 13 |
2 files changed, 16 insertions, 1 deletions
diff --git a/runtime/lua/vim/filetype.lua b/runtime/lua/vim/filetype.lua index fcd697a7c1..6306605641 100644 --- a/runtime/lua/vim/filetype.lua +++ b/runtime/lua/vim/filetype.lua @@ -902,7 +902,9 @@ local extension = { sig = function(path, bufnr) return require('vim.filetype.detect').sig(bufnr) end, - sil = 'sil', + sil = function(path, bufnr) + return require('vim.filetype.detect').sil(bufnr) + end, sim = 'simula', ['s85'] = 'sinda', sin = 'sinda', diff --git a/runtime/lua/vim/filetype/detect.lua b/runtime/lua/vim/filetype/detect.lua index 2be9dcff88..7fc7f1b7ca 100644 --- a/runtime/lua/vim/filetype/detect.lua +++ b/runtime/lua/vim/filetype/detect.lua @@ -1194,6 +1194,19 @@ function M.shell(path, contents, name) return name end +-- Swift Intermediate Language or SILE +function M.sil(bufnr) + for _, line in ipairs(getlines(bufnr, 1, 100)) do + if line:find('^%s*[\\%%]') then + return 'sile' + elseif line:find('^%s*%S') then + return 'sil' + end + end + -- No clue, default to "sil" + return 'sil' +end + -- SMIL or SNMP MIB file function M.smi(bufnr) local line = getlines(bufnr, 1) |