local filetypes = { 'Glance', 'Outline', 'WhichKey', '^git.*', 'bigfile', 'blink-cmp-menu', 'dap-repl', 'dap-view', 'dap-view-term', 'dap-float', 'dapui_console', 'dapui_scopes', 'dapui_breakpoints', 'dapui_stacks', 'dapui_watches', 'dapui_hover', 'mininotify', 'mininotify-history', 'checkhealth', 'fidget', 'grug-far', 'help', 'minipick', 'ivy', 'incline', 'lazy', 'man', 'neo-tree', 'neo-tree-popup', 'notify', 'nvim-docs-view', 'oil', 'oil_progress', 'oil_preview', 'outputpanel', 'qf', 'netrw', 'svn', } local buftypes = { 'acwrite', 'help', 'prompt', 'nofile', } local as_kv = function(list) local tbl = {} for _, value in ipairs(list) do vim.validate('value', value, 'string') tbl[value] = true end return tbl end local filetypes_kv = as_kv(filetypes) local buftypes_kv = as_kv(buftypes) local filetypes_patterns = vim.iter(filetypes) :filter(function(v) return v:find('[%^%$%*%+%.%?]') end) :totable() return { filetypes = filetypes, filetypes_kv = filetypes_kv, filetypes_patterns = filetypes_patterns, buftypes = buftypes, buftypes_kv = buftypes_kv, }