summaryrefslogtreecommitdiffstats
path: root/lua/conf/plugins/glance.lua
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--lua/conf/plugins/glance.lua44
1 files changed, 44 insertions, 0 deletions
diff --git a/lua/conf/plugins/glance.lua b/lua/conf/plugins/glance.lua
new file mode 100644
index 0000000..c5a4d41
--- /dev/null
+++ b/lua/conf/plugins/glance.lua
@@ -0,0 +1,44 @@
+local misc = require('core.misc')
+local map = misc.map
+
+return { 'dnlhc/glance.nvim',
+ disable = vim.version().minor < 7,
+ function()
+ require('glance').setup {
+ border = {
+ enable = true,
+ top_char = '',
+ bottom_char = '─',
+ },
+ folds = {
+ fold_closed = '+',
+ fold_open = '-',
+ folded = true
+ },
+ theme = {
+ enable = false
+ },
+ hooks = {
+ before_open = function(results, open, jump, method)
+ local uri = vim.uri_from_bufnr(0)
+ if #results == 1 then
+ local target_uri = results[1].uri or results[1].targetUri
+
+ if target_uri == uri then
+ jump()
+ misc.timeout_highlight()
+ return
+ end
+ end
+
+ open()
+ end
+ }
+ }
+
+ map('n', 'gd', '<cmd>Glance definitions<CR>')
+ map('n', 'gr', '<cmd>Glance references<CR>')
+ map('n', 'gy', '<cmd>Glance type_definitions<CR>')
+ map('n', 'gi', '<cmd>Glance implementations<CR>')
+ end
+}