From 35679e83176d7ca14d9c1855061e47b778bb7af6 Mon Sep 17 00:00:00 2001 From: Alex Yatskov Date: Sun, 4 Aug 2024 11:38:45 -0700 Subject: [PATCH] guid_append --- lua/guid/init.lua | 16 ++++++++++++++++ plugin/guid.lua | 5 +++++ 2 files changed, 21 insertions(+) diff --git a/lua/guid/init.lua b/lua/guid/init.lua index 676cd8b..5cf0d85 100644 --- a/lua/guid/init.lua +++ b/lua/guid/init.lua @@ -163,6 +163,21 @@ local function guid_insert(style) end end +local function guid_append(style) + local append_text_at_pos = function(text, pos) + local line = vim.fn.getline(pos.row) + local prefix = string.sub(line, 0, pos.col) + local suffix = string.sub(line, pos.col) + vim.fn.setline(pos.row, prefix .. text .. suffix) + end + + local guid = Guid:generate() + local guid_printed = guid:print(style) + if guid_printed then + append_text_at_pos(guid_printed, get_cursor_pos()) + end +end + local function guid_format(style) local guid_match = Guid.find(get_cursor_pos(), true) if guid_match then @@ -190,6 +205,7 @@ end return { guid_format = guid_format, guid_insert = guid_insert, + guid_append = guid_append, guid_object = guid_object, setup = GuidConfig.setup, } diff --git a/plugin/guid.lua b/plugin/guid.lua index 60756ec..2b9ff67 100644 --- a/plugin/guid.lua +++ b/plugin/guid.lua @@ -11,6 +11,10 @@ if not vim.g.guid then require('guid').guid_insert(ctx.args) end + local function guid_append(ctx) + require('guid').guid_append(ctx.args) + end + local function guid_format(ctx) require('guid').guid_format(ctx.args) end @@ -23,6 +27,7 @@ if not vim.g.guid then vim.api.nvim_create_user_command('GuidFormat', guid_format, {nargs = '?'}) vim.api.nvim_create_user_command('GuidInsert', guid_insert, {nargs = '?'}) + vim.api.nvim_create_user_command('GuidAppend', guid_append, {nargs = '?'}) vim.api.nvim_create_user_command('GuidObject', guid_object, {}) vim.api.nvim_create_user_command('GuidReload', guid_reload, {})