diff options
author | Gregory Anders <8965202+gpanders@users.noreply.github.com> | 2022-01-14 14:20:17 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-14 14:20:17 -0700 |
commit | 59ea8fa322c946183631233ae546e3e8b0c37e30 (patch) | |
tree | aa4b402e25f146b3699b2da30fea3db7f7d11212 | |
parent | bac4bb1900059b3f6dfbaabe641571a60b1cb951 (diff) | |
download | rneovim-59ea8fa322c946183631233ae546e3e8b0c37e30.tar.gz rneovim-59ea8fa322c946183631233ae546e3e8b0c37e30.tar.bz2 rneovim-59ea8fa322c946183631233ae546e3e8b0c37e30.zip |
fix(filetype): expand tildes in filetype patterns (#17091)
This allows patterns like
["~/.config/foo"] = "fooscript"
to work.
-rw-r--r-- | runtime/lua/vim/filetype.lua | 2 | ||||
-rw-r--r-- | test/functional/lua/filetype_spec.lua | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/runtime/lua/vim/filetype.lua b/runtime/lua/vim/filetype.lua index 13da5286c8..819587bb3e 100644 --- a/runtime/lua/vim/filetype.lua +++ b/runtime/lua/vim/filetype.lua @@ -1398,7 +1398,7 @@ local pattern_sorted = sort_by_priority(pattern) ---@private local function normalize_path(path) - return (path:gsub("\\", "/")) + return (path:gsub("\\", "/"):gsub("^~", vim.env.HOME)) end --- Add new filetype mappings. diff --git a/test/functional/lua/filetype_spec.lua b/test/functional/lua/filetype_spec.lua index 1b2cb61cc2..729ebc601b 100644 --- a/test/functional/lua/filetype_spec.lua +++ b/test/functional/lua/filetype_spec.lua @@ -72,10 +72,10 @@ describe('vim.filetype', function() local root = ... vim.filetype.add({ pattern = { - [root .. '/blog/.*%.txt'] = 'markdown', + ['~/blog/.*%.txt'] = 'markdown', } }) - vim.filetype.match(root .. '/blog/why_neovim_is_awesome.txt') + vim.filetype.match('~/blog/why_neovim_is_awesome.txt') return vim.bo.filetype ]], root)) end) |