diff --git a/lua/peek/config.lua b/lua/peek/config.lua index 15ca57e..19dc792 100644 --- a/lua/peek/config.lua +++ b/lua/peek/config.lua @@ -10,6 +10,7 @@ local config = { throttle_time = 'auto', app = 'webview', filetype = { 'markdown' }, + user_style = nil, } local function optional(predicate) @@ -54,21 +55,18 @@ end function module.setup(incoming) incoming = incoming or {} - vim.validate({ - config = { incoming, 'table' }, - }) + vim.validate('config', incoming, 'table') - vim.validate({ - close_on_bdelete = { incoming.close_on_bdelete, 'boolean', true }, - auto_load = { incoming.auto_load, 'boolean', true }, - syntax = { incoming.syntax, 'boolean', true }, - theme = { incoming.theme, optional(one_of({ 'dark', 'light' })), '"dark" or "light"' }, - update_on_change = { incoming.update_on_change, 'boolean', true }, - throttle_at = { incoming.throttle_at, 'number', true }, - throttle_time = { incoming.throttle_time, optional(one_of({ 'auto', of_type('number') })), '"auto" or number' }, - app = { incoming.app, optional(one_of({ of_type('string'), every(of_type('string')) })), 'string or string[]' }, - filetype = { incoming.filetype, optional(every(of_type('string'))), 'string[]' }, - }) + vim.validate('close_on_bdelete', incoming.close_on_bdelete, 'boolean', true) + vim.validate('auto_load', incoming.auto_load, 'boolean', true) + vim.validate('syntax', incoming.syntax, 'boolean', true) + vim.validate('theme', incoming.theme, optional(one_of({ 'dark', 'light' })), '"dark" or "light"') + vim.validate('update_on_change', incoming.update_on_change, 'boolean', true) + vim.validate('throttle_at', incoming.throttle_at, 'number', true) + vim.validate('throttle_time', incoming.throttle_time, optional(one_of({ 'auto', of_type('number') })), '"auto" or number') + vim.validate('app', incoming.app, optional(one_of({ of_type('string'), every(of_type('string')) })), 'string or string[]') + vim.validate('filetype', incoming.filetype, optional(every(of_type('string'))), 'string[]') + vim.validate('user_style', incoming.user_style, optional(of_type('string')), 'string') config = vim.tbl_extend('force', config, incoming) end diff --git a/lua/peek/init.lua b/lua/peek/init.lua index 3378d3c..9dfe681 100644 --- a/lua/peek/init.lua +++ b/lua/peek/init.lua @@ -14,7 +14,12 @@ local module = {} local augroup, throttle_at, throttle_time, initialized local function get_buf_content(bufnr) - return concat(nvim_buf_get_lines(bufnr, 0, -1, false), '\n'):gsub('%s*$', '') + local content = concat(nvim_buf_get_lines(bufnr, 0, -1, false), '\n'):gsub('%s*$', '') + local user_style = config.get('user_style') + if user_style ~= nil then + content = concat({"\n", content}) + end + return content end local function open(bufnr)