summaryrefslogtreecommitdiff
path: root/lua/telescope/make_entry.lua
diff options
context:
space:
mode:
authorBrian Ryall <bryall@users.noreply.github.com>2020-09-06 22:48:36 -0400
committerGitHub <noreply@github.com>2020-09-06 22:48:36 -0400
commitb065423013c35112f00154b575900482738ec7ef (patch)
treeee6e83b40b6e67d95b71fcd8c96cb5ad3868daf4 /lua/telescope/make_entry.lua
parent0185d9b6b0fb2b00317ddec870cc6d2ac923a4ad (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.lua25
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