minimal extui fuzzy finder for neovim
1if vim.g.loaded_artio then
2 return
3end
4
5vim.g.loaded_artio = true
6
7local augroup = vim.api.nvim_create_augroup("artio:hl", {})
8
9vim.api.nvim_create_autocmd("ColorScheme", {
10 group = augroup,
11 callback = function()
12 local hi = function(name, opts)
13 opts.default = true
14 vim.api.nvim_set_hl(0, name, opts)
15 end
16
17 local normal_hl = vim.api.nvim_get_hl(0, { name = "Normal" })
18 local msgarea_hl = vim.api.nvim_get_hl(0, { name = "MsgArea" })
19
20 hi("ArtioNormal", { fg = normal_hl.fg, bg = msgarea_hl.bg })
21 hi("ArtioPrompt", { link = "Title" })
22
23 local cursor_hl = vim.api.nvim_get_hl(0, { name = "Cursor" })
24 local cursorline_hl = vim.api.nvim_get_hl(0, { name = "CursorLine" })
25 hi("ArtioSel", { fg = cursor_hl.bg, bg = cursorline_hl.bg })
26 hi("ArtioPointer", { fg = cursor_hl.bg })
27
28 hi("ArtioMatch", { link = "PmenuMatch" })
29 end,
30})
31
32vim.keymap.set("n", "<Plug>(artio-files)", function()
33 return require("artio.builtins").files()
34end)
35vim.keymap.set("n", "<Plug>(artio-oldfiles)", function()
36 return require("artio.builtins").oldfiles()
37end)
38vim.keymap.set("n", "<Plug>(artio-grep)", function()
39 return require("artio.builtins").grep()
40end)
41vim.keymap.set("n", "<Plug>(artio-helptags)", function()
42 return require("artio.builtins").helptags()
43end)
44vim.keymap.set("n", "<Plug>(artio-buffergrep)", function()
45 return require("artio.builtins").buffergrep()
46end)
47vim.keymap.set("n", "<Plug>(artio-buffers)", function()
48 return require("artio.builtins").buffers()
49end)
50vim.keymap.set("n", "<Plug>(artio-smart)", function()
51 return require("artio.builtins").smart()
52end)