summaryrefslogtreecommitdiff
path: root/lua/telescope/WIP.lua
blob: 1ababec61784be0bbf0dc3c86443d09f154c7ded (plain)
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

local finders = require('telescope.finders')
local previewers = require('telescope.previewers')
local pickers = require('telescope.pickers')
local sorters = require('telescope.sorters')

local WIP = {}

WIP.git_diff = function()
  local file_picker = pickers.new {
    previewer = previewers.new_termopen {
      command = "git diff %s"
    },
  }

  file_picker:find {
    prompt = "Git Diff Viewier",

    finder = finders.new {
      static = true,

      fn_command = function()
        return {
          command = 'git',
          args = {'ls-files', '-m'}
        }
      end,
    },

    sorter = sorters.get_norcalli_sorter()
  }
end

-- TODO: Make it so that when you select stuff, it's inserted
-- TODO: Make it so the previewer shows the help text.
WIP.completion = function(opts)
  local results = {}
  for k, _ in pairs(vim.api) do
    table.insert(results, k .. "()")
  end

  local lsp_reference_finder = finders.new {
    results = results
  }

  -- TODO: Open the help text for the line.
  local reference_picker = pickers.new(opts, {
    prompt = 'vim.api Help Reference',
    finder = lsp_reference_finder,
    sorter = sorters.get_norcalli_sorter(),
    previewer = previewers.help,
  })

  reference_picker:find {}
end

-- TODO: Use tree sitter to get "everything" in your current scope / file / etc.
-- Fuzzy find ofver it, go to its definition.

return WIP