summary refs log tree commit diff
path: root/.config/nvim/lua/plugins/fzf.lua
blob: efee6ef481167004209df8fee032626996b50fa3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
return {
  {
    enabled = true,
    'ibhagwan/fzf-lua',
    lazy = false,
    dependencies = {
      'echasnovski/mini.icons',
    },
    config = function()
      local fzf = require('fzf-lua')
      fzf.register_ui_select()
      fzf.setup({
        -- PROFILE
        { 'default' },
        -- OPTIONS
        winopts = {
          split = 'belowright 20new',
          border = 'none',
          preview = {
            border = 'none',
          },
          -- on_create = function() end,
        },
        keymap = {
          fzf = {
            true,
            ['ctrl-n'] = 'down',
            ['ctrl-p'] = 'up',
          },
        },
        -- actions = {
        --   files = {
        --     ['ctrl-q'] = { fn = fzf.actions.file_sel_to_qf },
        --   },
        -- },
        fzf_colors = true,
        -- PICKER CONFIG
        files = {
          file_icons = true,
        },
        marks = {
          marks = '[a-zA-Z]',
        }
      })
    end,
    keys = {
      { mode = 'n', ';<space>', '<cmd>FzfLua<cr>', desc = 'fzf: select' },
      { mode = 'n', ';/', '<cmd>FzfLua blines<cr>', desc = 'fzf: current_buffer_fuzzy_find' },
      { mode = 'n', ';b', '<cmd>FzfLua buffers<cr>', desc = 'fzf: buffers' },
      { mode = 'n', ';f', '<cmd>FzfLua files<cr>', desc = 'fzf: find_files' },
      { mode = 'n', ';g', '<cmd>FzfLua live_grep<cr>', desc = 'fzf: live_grep' },
      { mode = 'n', ';d', '<cmd>FzfLua diagnostics_workspace<cr>', desc = 'fzf: workspace diagnostics' },
      { mode = 'n', ';D', '<cmd>FzfLua diagnostics_document<cr>', desc = 'fzf: document diagnostics' },
      { mode = 'n', ';h', '<cmd>FzfLua helptags<cr>', desc = 'fzf: help' },
      { mode = 'n', ';s', '<cmd>FzfLua lsp_document_symbols<cr>', desc = 'fzf: document symbols' },
      { mode = 'n', ';w', '<cmd>FzfLua lsp_live_workspace_symbols<cr>', desc = 'fzf: workspace symbols' },
      { mode = 'n', ';m', '<cmd>FzfLua marks<cr>', desc = 'fzf: marks' },
      {
        mode = 'n',
        ';v',
        function()
          require('fzf-lua').files({ cwd = vim.fn.stdpath('config') })
        end,
        desc = 'fzf: vim_config',
      },
      -- {
      --   mode = 'n',
      --   ';;t',
      --   '<cmd>Telescope<cr>',
      --   desc = 'telescope: select (interactive)',
      -- },
      {
        mode = 'n',
        ';;f',
        function()
          local dir
          if vim.opt.filetype:get() == 'oil' then
            dir = require('oil').get_current_dir()
          else
            dir = vim.fn.expand('%:p:h')
          end
          -- require('fzf-lua').files({ cwd = dir })
          _G.feedkeys(':Fzf files cwd=' .. dir)
        end,
        desc = 'fzf: files (interactive)',
      },
      {
        mode = 'n',
        ';;g',
        function()
          local dir
          if vim.opt.filetype:get() == 'oil' then
            dir = require('oil').get_current_dir()
          else
            dir = vim.fn.expand('%:p:h')
          end
          _G.feedkeys(':Fzf live_grep cwd=' .. dir)
        end,
        desc = 'fzf: grep (interactive)',
      },
    },
  },
}