diff options
author | Omar El Halabi <omar_halabi25@hotmail.com> | 2023-05-30 00:44:23 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-30 06:44:23 +0800 |
commit | e8776074f50593df90402a3642236990edfba6f0 (patch) | |
tree | 69604609c5168076da68a6733ae72dfa1c3aab79 | |
parent | 2028d1e2bc9fbba66552610b141df962cc550f88 (diff) | |
download | rneovim-e8776074f50593df90402a3642236990edfba6f0.tar.gz rneovim-e8776074f50593df90402a3642236990edfba6f0.tar.bz2 rneovim-e8776074f50593df90402a3642236990edfba6f0.zip |
vim-patch:9.0.1591: some "gomod" files are not recognized (#23820)
Problem: Some "gomod" files are not recognized.
Solution: Check for "go.mod" file name before checking out the contents.
(Omar El Halabi, closes vim/vim#12462)
https://github.com/vim/vim/commit/c9fbd2560f24180d2efa40028ed68427341d2d99
-rw-r--r-- | runtime/lua/vim/filetype/detect.lua | 4 | ||||
-rw-r--r-- | test/old/testdir/test_filetype.vim | 6 |
2 files changed, 8 insertions, 2 deletions
diff --git a/runtime/lua/vim/filetype/detect.lua b/runtime/lua/vim/filetype/detect.lua index 94106a3547..70e590ed10 100644 --- a/runtime/lua/vim/filetype/detect.lua +++ b/runtime/lua/vim/filetype/detect.lua @@ -771,14 +771,14 @@ end function M.mod(path, bufnr) if vim.g.filetype_mod then return vim.g.filetype_mod + elseif matchregex(path, [[\c\<go\.mod$]]) then + return 'gomod' elseif is_lprolog(bufnr) then return 'lprolog' elseif matchregex(nextnonblank(bufnr, 1), [[\%(\<MODULE\s\+\w\+\s*;\|^\s*(\*\)]]) then return 'modula2' elseif is_rapid(bufnr) then return 'rapid' - elseif matchregex(path, [[\c\<go\.mod$]]) then - return 'gomod' else -- Nothing recognized, assume modsim3 return 'modsim3' diff --git a/test/old/testdir/test_filetype.vim b/test/old/testdir/test_filetype.vim index effb67a3df..9ca267f78c 100644 --- a/test/old/testdir/test_filetype.vim +++ b/test/old/testdir/test_filetype.vim @@ -1450,6 +1450,12 @@ func Test_mod_file() bwipe! call delete('go.mod') + call writefile(['module M'], 'go.mod') + split go.mod + call assert_equal('gomod', &filetype) + bwipe! + call delete('go.mod') + filetype off endfunc |