summaryrefslogtreecommitdiff
path: root/scratch/example.lua
diff options
context:
space:
mode:
authorTJ DeVries <devries.timothyj@gmail.com>2020-07-15 00:05:14 -0400
committerTJ DeVries <devries.timothyj@gmail.com>2020-07-15 00:05:14 -0400
commit69d4cd3899845d84767fa0e2ff9c8234e9dcbf84 (patch)
tree4cdce2c77f17d9d79235c2ea64b2879e2c77d93e /scratch/example.lua
Initial commit after stream
Diffstat (limited to 'scratch/example.lua')
-rw-r--r--scratch/example.lua68
1 files changed, 68 insertions, 0 deletions
diff --git a/scratch/example.lua b/scratch/example.lua
new file mode 100644
index 0000000..19952dc
--- /dev/null
+++ b/scratch/example.lua
@@ -0,0 +1,68 @@
+
+local finder = Finder:new {
+ 'rg %s -l',
+ pipeable = true,
+ ...
+}
+
+local filter = Filter:new {
+ "fzf --filter '%s'"
+}
+
+local lua_filter = Filter:new {
+ function(input, line)
+ if string.match(line, input) then
+ return true
+ end
+
+ return false
+ end
+}
+
+
+local picker_read = Picker:new {
+ filter = filter,
+
+ previewer = function(window, buffer, line)
+ local file = io.open(line, "r")
+
+ local filename = vim.split(line, ':')[1]
+ if vim.fn.bufexists(filename) then
+ vim.api.nvim_win_set_buf(window, vim.fn.bufnr(filename))
+ return
+ end
+
+ local lines = {}
+ for _ = 1, 100 do
+ table.insert(lines, file:read("l"))
+
+ -- TODO: Check if we're out of lines
+ end
+
+ -- optionally set the filetype or whatever...
+ vim.api.nvim_buf_set_lines(buffer, 0, -1, false, lines)
+ end,
+
+ mappings = {
+ ["<CR>"] = function(line)
+ vim.cmd(string.format('e ', vim.split(line, ':')))
+ end,
+ },
+}
+
+local picker = Picker:new {
+ filter = filter,
+
+ -- idk
+ previewer = function(window, line)
+ vim.api.nvim_win_set_current_window(window)
+
+ -- if is_file_loaded(line) then
+ -- lien_number = vim.api.nvim_...
+
+ vim.fn.termopen(string.format(
+ 'bat --color=always --style=grid %s',
+ vim.split(line, ':')[1]
+ ))
+ end
+}