From 795287e3ec351def221f9b44d358a182062e203a Mon Sep 17 00:00:00 2001 From: Josh Date: Tue, 22 Jul 2025 13:17:40 -0400 Subject: toggleterm config + misc stuff --- nvim/after/plugin/toggleterm.lua | 47 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 nvim/after/plugin/toggleterm.lua (limited to 'nvim/after/plugin/toggleterm.lua') diff --git a/nvim/after/plugin/toggleterm.lua b/nvim/after/plugin/toggleterm.lua new file mode 100644 index 0000000..61742f6 --- /dev/null +++ b/nvim/after/plugin/toggleterm.lua @@ -0,0 +1,47 @@ +local Terminal = require('toggleterm.terminal').Terminal + +-- lazygit +local lazygit = Terminal:new({ + cmd = 'lazygit', + display_name = 'lazygit', + dir = 'git_dir', + hidden = true, + direction = 'float', + winbar = { enabled = false, }, + float_opts = { + border = 'rounded', + } +}) + +function _lazygit_toggle() + lazygit:toggle() +end + +-- julia +local jlrepl = Terminal:new({ + cmd = 'julia', + on_open = function() + local key = vim.api.nvim_replace_termcodes([[]], true, false, true) + vim.api.nvim_feedkeys(key, 'n', false) + vim.keymap.set('n', 'jr', 'lua _jlrepl_exec()', { noremap = true, silent = true }) + end, + on_close = function() + vim.keymap.set('n', 'jr', '') + end, +}) + +function _jlrepl_exec() + jlrepl:send(string.format('include("%s")', vim.fn.expand('%:p')), true) +end + +function _jlrepl_open() + if not jlrepl:is_open() then + jlrepl:open() + end +end + +-- repl send +local trim_spaces = true +vim.keymap.set("v", "s", function() + require("toggleterm").send_lines_to_terminal("single_line", trim_spaces, { args = vim.v.count }) +end) -- cgit v1.3