From bb0ff86bc21fd0099e55f6777dad244cddda7e4f Mon Sep 17 00:00:00 2001 From: zbirenbaum Date: Fri, 22 Apr 2022 01:04:33 -0400 Subject: add run command docs --- README.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/README.md b/README.md index 68e10b5..1cc4152 100644 --- a/README.md +++ b/README.md @@ -49,3 +49,30 @@ require("nvterm").setup({ } }) ``` +### Additional Functionality: + +NvTerm provides an api for you to send commands to the terminal. You can create different ones for different filetypes like so: +``` +require("nvterm").setup() + +local terminal = require("nvterm.terminal") + +local ft_cmds = { + python = "python3 " .. vim.fn.expand('%'), + ... + +} +local mappings = { + { 'n', '', function () terminal.send(ft_cmds[vim.bo.filetype]) end }, + { 'n', 's', function () terminal.new_or_toggle('horizontal') end }, + { 'n', 'v', function () terminal.new_or_toggle('vertical') end }, +} +for _, mapping in ipairs(mappings) do + vim.keymap.set(mapping[1], mapping[2], mapping[3], opts) +end +``` + +`terminal.send` also takes a 'type' parameter, so you can choose what type of terminal to send the command to. +By default, it runs the command in the last opened terminal, or a vertical one if none exist. +`terminal.send(ft_cmds[vim.bo.filetype], "float")` will run the command in a floating terminal + -- cgit v1.2.3-70-g09d2