diff options
| author | TJ DeVries <devries.timothyj@gmail.com> | 2020-08-03 20:40:04 -0400 |
|---|---|---|
| committer | TJ DeVries <devries.timothyj@gmail.com> | 2020-08-03 20:40:04 -0400 |
| commit | 96cac0a8c861d5cdb1bb7765cc2d20e47ebb7885 (patch) | |
| tree | 43edecaeef53e683cdacc9588c75817d62f7844f /lua/telescope/previewers.lua | |
| parent | fa0382d93e73b66e7ec769cec27b9fbb21020641 (diff) | |
Work on ngram sorter
Diffstat (limited to 'lua/telescope/previewers.lua')
| -rw-r--r-- | lua/telescope/previewers.lua | 43 |
1 files changed, 40 insertions, 3 deletions
diff --git a/lua/telescope/previewers.lua b/lua/telescope/previewers.lua index 5b686b7..31ea364 100644 --- a/lua/telescope/previewers.lua +++ b/lua/telescope/previewers.lua @@ -1,3 +1,5 @@ +local log = require('telescope.log') + local previewers = {} local Previewer = {} @@ -21,12 +23,14 @@ end previewers.vim_buffer = previewers.new { preview_fn = function(preview_win, preview_bufnr, results_bufnr, row) - assert(preview_bufnr) - local line = vim.api.nvim_buf_get_lines(results_bufnr, row, row + 1, false)[1] + if line == nil then + return + end local file_name = vim.split(line, ":")[1] - -- print(file_name) + log.info("Previewing File: %s", file_name) + -- vim.fn.termopen( -- string.format("bat --color=always --style=grid %s"), -- vim.fn.fnamemodify(file_name, ":p") @@ -45,6 +49,39 @@ previewers.vim_buffer = previewers.new { } +previewers.vim_buffer_or_bat = previewers.new { + preview_fn = function(preview_win, preview_bufnr, results_bufnr, row) + local line = vim.api.nvim_buf_get_lines(results_bufnr, row, row + 1, false)[1] + if line == nil then + return + end + local file_name = vim.split(line, ":")[1] + + log.info("Previewing File: %s", file_name) + + -- vim.fn.termopen( + -- string.format("bat --color=always --style=grid %s"), + -- vim.fn.fnamemodify(file_name, ":p") + local bufnr = vim.fn.bufadd(file_name) + + if vim.api.nvim_buf_is_loaded(bufnr) then + vim.fn.bufload(bufnr) + + -- TODO: We should probably call something like this because we're not always getting highlight and all that stuff. + -- api.nvim_command('doautocmd filetypedetect BufRead ' .. vim.fn.fnameescape(filename)) + vim.api.nvim_win_set_buf(preview_win, bufnr) + vim.api.nvim_win_set_option(preview_win, 'wrap', false) + vim.api.nvim_win_set_option(preview_win, 'winhl', 'Normal:Normal') + -- vim.api.nvim_win_set_option(preview_win, 'winblend', 20) + vim.api.nvim_win_set_option(preview_win, 'signcolumn', 'no') + vim.api.nvim_win_set_option(preview_win, 'foldlevel', 100) + else + vim.api.nvim_buf_set_lines(preview_bufnr, 0, -1, false, vim.fn.systemlist(string.format('bat %s', file_name))) + end + end, +} + + previewers.Previewer = Previewer return previewers |
