diff options
| author | Brian Ryall <bryall@users.noreply.github.com> | 2020-09-06 22:48:36 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-09-06 22:48:36 -0400 |
| commit | b065423013c35112f00154b575900482738ec7ef (patch) | |
| tree | ee6e83b40b6e67d95b71fcd8c96cb5ad3868daf4 /lua/telescope/make_entry.lua | |
| parent | 0185d9b6b0fb2b00317ddec870cc6d2ac923a4ad (diff) | |
added treesitter builtin (#31)
* added treesitter builtim
* fixed treesitter pr comments
* fix the buffer previewer to keep lnum visable
Diffstat (limited to 'lua/telescope/make_entry.lua')
| -rw-r--r-- | lua/telescope/make_entry.lua | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/lua/telescope/make_entry.lua b/lua/telescope/make_entry.lua index 7c35699..a25758e 100644 --- a/lua/telescope/make_entry.lua +++ b/lua/telescope/make_entry.lua @@ -191,4 +191,29 @@ function make_entry.gen_from_buffer(opts) end end +function make_entry.gen_from_treesitter(opts) + opts = opts or {} + return function(entry) + local ts_utils = require('nvim-treesitter.ts_utils') + local start_row, start_col, end_row, end_col = ts_utils.get_node_range(entry.node) + local node_text = ts_utils.get_node_text(entry.node)[1] + local bufnr = vim.api.nvim_get_current_buf() + return { + valid = true, + + value = entry.node, + ordinal = entry.kind .. " " .. node_text, + display = entry.kind .. " " .. node_text, + + filename = vim.api.nvim_buf_get_name(bufnr), + -- need to add one since the previewer substacts one + lnum = start_row + 1, + col = start_col, + text = node_text, + start = start_row, + finish = end_row + } + end +end + return make_entry |
