ws.lua (811B)
1 local ws = require('tms.ws') 2 3 for name, setup in pairs(ws) do 4 if setup.path then 5 local group = vim.api.nvim_create_augroup('user-project-' .. name, {}) 6 vim.api.nvim_create_autocmd('BufEnter', { group = group, pattern = setup.path, callback = setup.config }) 7 end 8 if setup.root_pattern then 9 local group = vim.api.nvim_create_augroup('user-project-' .. name, {}) 10 vim.api.nvim_create_autocmd('BufEnter', { 11 group = group, 12 callback = function() 13 if not pcall(require, 'lspconfig') then return end 14 if require('lspconfig.util').root_pattern(setup.root_pattern)(vim.fn.getcwd()) then 15 setup.config() 16 end 17 end, 18 }) 19 end 20 -- if setup.buffer then au.addListener('user-project-buffer-' .. name, {'BufEnter ' .. setup.buffer}, setup.config) end 21 end