Improve regex handling

This commit is contained in:
hrsh7th
2021-11-09 17:07:13 +09:00
parent c7a1b9f7c0
commit a62375e4cf
2 changed files with 15 additions and 18 deletions

View File

@@ -68,7 +68,7 @@ end
---@return number|nil ---@return number|nil
context.get_offset = function(self, keyword_pattern) context.get_offset = function(self, keyword_pattern)
return self.cache:ensure({ 'get_offset', keyword_pattern, self.cursor_before_line }, function() return self.cache:ensure({ 'get_offset', keyword_pattern, self.cursor_before_line }, function()
return pattern.offset(keyword_pattern .. '$', self.cursor_before_line) or self.cursor.col return pattern.offset(keyword_pattern .. '\\m$', self.cursor_before_line) or self.cursor.col
end) end)
end end

View File

@@ -20,7 +20,6 @@ vim.cmd [[
autocmd CompleteDone * lua require'cmp.utils.autocmd'.emit('CompleteDone') autocmd CompleteDone * lua require'cmp.utils.autocmd'.emit('CompleteDone')
autocmd ColorScheme * call v:lua.cmp.plugin.colorscheme() autocmd ColorScheme * call v:lua.cmp.plugin.colorscheme()
autocmd CmdlineEnter * call v:lua.cmp.plugin.cmdline.enter() autocmd CmdlineEnter * call v:lua.cmp.plugin.cmdline.enter()
autocmd CmdlineLeave * call v:lua.cmp.plugin.cmdline.leave()
augroup END augroup END
]] ]]
@@ -28,26 +27,24 @@ misc.set(_G, { 'cmp', 'plugin', 'cmdline', 'enter' }, function()
if config.get().experimental.native_menu then if config.get().experimental.native_menu then
return return
end end
local cmdtype = vim.fn.expand('<afile>') if vim.fn.expand('<afile>')~= '=' then
if cmdtype ~= '=' then vim.schedule(function()
if api.is_cmdline_mode() then if api.is_cmdline_mode() then
vim.cmd [[ vim.cmd [[
augroup cmp-cmdline augroup cmp-cmdline
autocmd! autocmd!
autocmd CmdlineChanged * lua require'cmp.utils.autocmd'.emit('TextChanged') autocmd CmdlineChanged * lua require'cmp.utils.autocmd'.emit('TextChanged')
autocmd CmdlineLeave * call v:lua.cmp.plugin.cmdline.leave()
augroup END augroup END
]] ]]
require('cmp.utils.autocmd').emit('CmdlineEnter') require('cmp.utils.autocmd').emit('CmdlineEnter')
end end
end)
end end
end) end)
misc.set(_G, { 'cmp', 'plugin', 'cmdline', 'leave' }, function() misc.set(_G, { 'cmp', 'plugin', 'cmdline', 'leave' }, function()
if config.get().experimental.native_menu then if vim.fn.expand('<afile>') ~= '=' then
return
end
local cmdtype = vim.fn.expand('<afile>')
if cmdtype ~= '=' then
vim.cmd [[ vim.cmd [[
augroup cmp-cmdline augroup cmp-cmdline
autocmd! autocmd!