a forked version of jaq-nvim adding feature for execute external command independently current file.
PR already made.
execute external system command like in any vim context, any system command
:Jaq float ls -althe result is..
jaq-nvim is Just Another Quickrun plugin for Neovim that was inspired by quickrun.vim. In short, it is a plugin that lets you run the code of any language with a single command.
use {"is0n/jaq-nvim"}require('jaq-nvim').setup{
cmds = {
-- Uses vim commands
internal = {
lua = "luafile %",
vim = "source %"
},
-- Uses shell commands
external = {
markdown = "glow %",
python = "python3 %",
go = "go run %",
sh = "sh %"
}
},
behavior = {
-- Default type
default = "float",
-- Start in insert mode
startinsert = false,
-- Use `wincmd p` on startup
wincmd = false,
-- Auto-save files
autosave = false
},
ui = {
float = {
-- See ':h nvim_open_win'
border = "none",
-- See ':h winhl'
winhl = "Normal",
borderhl = "FloatBorder",
-- See ':h winblend'
winblend = 0,
-- Num from `0-1` for measurements
height = 0.8,
width = 0.8,
x = 0.5,
y = 0.5
},
terminal = {
-- Window position
position = "bot",
-- Window size
size = 10,
-- Disable line numbers
line_no = false
},
quickfix = {
-- Window position
position = "bot",
-- Window size
size = 10
}
}
}{
"internal": {
"lua": "luafile %",
"vim": "source %"
},
"external": {
"markdown": "glow %",
"python": "python3 %",
"go": "go run %",
"sh": "sh %"
}
}In the current working directory, Jaq will search for a file called .jaq.json.
This config file will be used for running commands, both external and internal.
:Jaq by default uses the float type to run code. The default can be changed (see Example Lua Config).
To use any other type, provide any of the arguments seen in Demonstration.
Example: :Jaq bang
The commands for :Jaq also have certain variables that can help in running code.
You can put any of the following in require('jaq-nvim').setup() or .jaq.json ...
%/$file• Current File#/$altFile• Alternate File$dir• Current Working Directory$filePath• Path to Current File$fileBase• Basename of File (no extension)$moduleName• Python Module Name
you can run any system command in any context (regardless current filetype),
:Jaq {type} {sys ...args}, execute system command and print with type.
ex. (Jaq float ls -al) will do ls -al and show in passed type.