refactor(lsp): move glob parsing to util (#26519)

refactor(lsp): move glob parsing to vim.glob

Moving the logic for using vim.lpeg to create a match pattern from a
glob into `vim.glob`. There are several places in the LSP spec that
use globs, and it's very useful to have glob matching as a
generally-available utility.
This commit is contained in:
Steven Arcangeli
2023-12-22 02:40:01 -08:00
committed by GitHub
parent db0ec84fb4
commit 92204b06e7
6 changed files with 97 additions and 92 deletions

View File

@@ -1,4 +1,4 @@
local wf = require('vim.lsp._watchfiles')
local glob = require('vim.glob')
--- @class lsp.DynamicCapabilities
--- @field capabilities table<string, lsp.Registration[]>
@@ -97,7 +97,7 @@ function M.match(bufnr, documentSelector)
if matches and filter.scheme and not vim.startswith(uri, filter.scheme .. ':') then
matches = false
end
if matches and filter.pattern and not wf._match(filter.pattern, fname) then
if matches and filter.pattern and not glob.to_lpeg(filter.pattern):match(fname) then
matches = false
end
if matches then