local env = require("my.helpers.env") local M = { "hkupty/iron.nvim", -- repl support cond = env.vscode.not_active(), cmd = "IronRepl", } function M.init() -- iron also has a list of commands, see :h iron-commands for all available commands vim.keymap.set("n", "<space>iss", "<cmd>IronRepl<cr>") vim.keymap.set("n", "<space>ir", "<cmd>IronRestart<cr>") vim.keymap.set("n", "<space>if", "<cmd>IronFocus<cr>") vim.keymap.set("n", "<space>ih", "<cmd>IronHide<cr>") local status, wk = pcall(require, "which-key") if status then wk.register({ ["<leader>i"] = { name = "[I]ron repl", s = { name = "[s]end" }, m = { name = "[m]ark" }, }, }) end end function M.config() local iron = require("iron.core") iron.setup({ config = { -- Your repl definitions come here repl_definition = {}, -- How the repl window will be displayed -- See below for more information repl_open_cmd = require("iron.view").right(40), }, -- Iron doesn't set keymaps by default anymore. -- You can set them here or manually add keymaps to the functions in iron.core keymaps = { send_motion = "<space>isc", visual_send = "<space>is", send_file = "<space>isf", send_line = "<space>isl", send_mark = "<space>ism", mark_motion = "<space>imc", mark_visual = "<space>imc", remove_mark = "<space>imd", cr = "<space>is<cr>", interrupt = "<space>is<space>", exit = "<space>isq", clear = "<space>isr", }, -- If the highlight is on, you can change how it looks -- For the available options, check nvim_set_hl highlight = { italic = true }, ignore_blank_lines = true, -- ignore blank lines when sending visual select lines }) end return M