Closed tex closed 2 months ago
Adding tags support for GLOBAL and TTAGS.
ttags - https://github.com/tex/ttags global - https://www.gnu.org/software/global
Example use:
pcall(require, 'luarocks.loader') local snap = require'snap' snap.register.map({"n"}, {"<Leader>ft"}, function () snap.run { producer = snap.get'consumer.positions'( snap.get'consumer.score'( snap.get'producer.tags.symbol')), prompt = "tag completion>", steps = {{ consumer = snap.get'consumer.fzy', config = {prompt = "tag fzy>", initial_filter = function (filter) return string.gsub(filter, "%%", "") end} }}, select = function (result) snap.run { producer = snap.get'consumer.score'(snap.get'producer.tags.def'), initial_filter = tostring(result), prompt = "tag def>", steps = {{ consumer = snap.get'consumer.fzy', config = {prompt = "tag fzy>"} }}, select = snap.get'select.grep'.select, multiselect = snap.get'select.grep'.multiselect, views = {snap.get'preview.grep'}, } end, } end) snap.register.map({"n"}, {"<Leader>fd"}, function () snap.run { producer = snap.get'consumer.score'( snap.get'producer.tags.def'), prompt = "tag def>", initial_filter = snap.config.get_initial_filter({filter_with = "cword"}), steps = {{ consumer = snap.get'consumer.fzy', config = {prompt = "tag fzy>"} }}, select = snap.get'select.grep'.select, multiselect = snap.get'select.grep'.multiselect, views = {snap.get'preview.grep'}, } end) snap.register.map({"n"}, {"<Leader>fr"}, function () snap.run { producer = snap.get'consumer.score'( snap.get'producer.tags.ref'), prompt = "tag ref>", initial_filter = snap.config.get_initial_filter({filter_with = "cword"}), steps = {{ consumer = snap.get'consumer.fzy', config = {prompt = "tag fzy>"} }}, select = snap.get'select.grep'.select, multiselect = snap.get'select.grep'.multiselect, views = {snap.get'preview.grep'}, } end)
PS: I really love how Snap is easy understandable, extendable, performant, usable and written in lisp.
@camspiers
Adding tags support for GLOBAL and TTAGS.
ttags - https://github.com/tex/ttags global - https://www.gnu.org/software/global
Example use:
PS: I really love how Snap is easy understandable, extendable, performant, usable and written in lisp.