diff options
| author | Ariel D'Alessandro <dalessandro.ariel@gmail.com> | 2022-04-16 00:10:13 +0200 |
|---|---|---|
| committer | Ariel D'Alessandro <dalessandro.ariel@gmail.com> | 2022-04-16 00:10:13 +0200 |
| commit | ac36631668ad3b53b140c8614136c76ac2794164 (patch) | |
| tree | 95104ff4a8628c64796046bffcd737651e9fb01b /lua/alpha/scratchs/draft.lua | |
| parent | 95c1ac78f0ad88fa0c7982d18f398e33839000b8 (diff) | |
| download | nvim-conf-ac36631668ad3b53b140c8614136c76ac2794164.tar.gz nvim-conf-ac36631668ad3b53b140c8614136c76ac2794164.zip | |
some updates
Diffstat (limited to 'lua/alpha/scratchs/draft.lua')
| -rw-r--r-- | lua/alpha/scratchs/draft.lua | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/lua/alpha/scratchs/draft.lua b/lua/alpha/scratchs/draft.lua index 67d0590..32b9c8d 100644 --- a/lua/alpha/scratchs/draft.lua +++ b/lua/alpha/scratchs/draft.lua @@ -71,3 +71,30 @@ function Queries() P(node:end_()) end end + +local function get_visual_selection() + local s_start = vim.fn.getpos("'<") + local s_end = vim.fn.getpos("'>") + local n_lines = math.abs(s_end[2] - s_start[2]) + 1 + local lines = vim.api.nvim_buf_get_lines(0, s_start[2] - 1, s_end[2], false) + lines[1] = string.sub(lines[1], s_start[3], -1) + if n_lines == 1 then + lines[n_lines] = string.sub(lines[n_lines], 1, s_end[3] - s_start[3] + 1) + else + lines[n_lines] = string.sub(lines[n_lines], 1, s_end[3]) + end + return table.concat(lines, '\n') +end + +function GetPhpString() + local s_start = vim.fn.getpos("'<") + local s_end = vim.fn.getpos("'>") + local text = get_visual_selection() + P(text) + local result = vim.fn.system("php -r 'echo \"" .. text .. "\";'") + vim.api.nvim_put({result}, "", true, false) + P(result) + vim.api.nvim_buf_set_text(0, s_start[2] -1 , s_start[3] -1, s_end[2] -1, s_end[3], {result}) +end + +vim.keymap.set('n', '<leader>rrh', GetPhpString, {}) |