local map = require 'std.map' local puk = require 'std.puk' vim.g.nvim_surround_no_mappings = true puk.defer 'nvim-surround' ( function ( surround ) surround.setup { move_cursor = 'sticky', } map.insert { keys = 's', command = '(nvim-surround-insert)', category = 'surround', description = 'pair in insert', remap = true } map.insert { keys = 'S', command = '(nvim-surround-insert-line)', category = 'surround', description = 'pair line in insert', remap = true } map.normal { keys = 'ma', command = '(nvim-surround-normal)', category = 'surround', description = 'pair around motion' } map.normal { keys = 'ml', command = '(nvim-surround-normal-cur)', category = 'surround', description = 'pair around current line' } map.normal { keys = 'mL', command = '(nvim-surround-normal-cur-line)', category = 'surround', description = 'pair around current line, new lines' } map.normal { keys = 'mm', command = '(nvim-surround-normal-line)', category = 'surround', description = 'pair around motion, new lines' } map.visual { keys = 'm', command = '(nvim-surround-visual)', category = 'surround', description = 'pair around selection' } map.visual { keys = 'M', command = '(nvim-surround-visual-line)', category = 'surround', description = 'pair around selection, new lines' } map.normal { keys = 'md', command = '(nvim-surround-delete)', category = 'surround', description = 'delete' } map.normal { keys = 'mr', command = '(nvim-surround-change)', category = 'surround', description = 'change' } map.normal { keys = 'mR', command = '(nvim-surround-change-line)', category = 'surround', description = 'change pair, new lines' } end )