neovim

Personal neovim configuration files
git clone git://gtms.dev:neovim
Log | Files | Refs

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