From b065423013c35112f00154b575900482738ec7ef Mon Sep 17 00:00:00 2001 From: Brian Ryall Date: Sun, 6 Sep 2020 22:48:36 -0400 Subject: added treesitter builtin (#31) * added treesitter builtim * fixed treesitter pr comments * fix the buffer previewer to keep lnum visable --- lua/telescope/make_entry.lua | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'lua/telescope/make_entry.lua') 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 -- cgit v1.2.3