diff options
Diffstat (limited to '')
-rw-r--r-- | lua/conf/plugins/glance.lua | 44 |
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 +} |