From dce9dc6101446f7a7379498f76972c78d9699fda Mon Sep 17 00:00:00 2001 From: Raghuram Subramani Date: Mon, 9 Oct 2023 17:48:24 +0530 Subject: new neovim config --- .config/nvim/lua/compile.lua | 48 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 .config/nvim/lua/compile.lua (limited to '.config/nvim/lua/compile.lua') diff --git a/.config/nvim/lua/compile.lua b/.config/nvim/lua/compile.lua new file mode 100644 index 0000000..8343cfe --- /dev/null +++ b/.config/nvim/lua/compile.lua @@ -0,0 +1,48 @@ +local openTerminal = function(command) + local Terminal = require('toggleterm.terminal').Terminal + local term = Terminal:new({ + cmd = command, + direction = 'horizontal' + }) + term:toggle() +end + +local compilePath = vim.fn.getcwd() .. '/.compile' +local runPath = vim.fn.getcwd() .. '/.run' + +local checkGetFileContent = function(path, typ) + local file_exists = os.rename(path, path) + + if file_exists then + openTerminal( + 'echo "Directory: $(pwd)"; echo "' .. typ .. ' started at $(date +"%H:%M:%S")"; echo; ' + .. 'bash ' .. path .. + '; echo; echo "' .. typ .. ' finished at $(date +"%H:%M:%S")"; read' + ) + return + end + + local file = io.open(path, 'w') + + file:seek('set') + file:write([[#!/bin/sh +set -xe +]] + ) + file:close() + print('Created ' .. path) + return nil +end + +vim.keymap.set('n', 'zz', function() + checkGetFileContent( + compilePath, + 'Compilation' + ) +end) +vim.keymap.set('n', 'zx', function() + checkGetFileContent( + runPath, + 'Run' + ) +end) -- cgit v1.2.3