Updates new helper function
This commit is contained in:
parent
e14c100dc5
commit
81d9b63e82
3 changed files with 38 additions and 41 deletions
|
|
@ -1,39 +0,0 @@
|
||||||
-- Map of file markers to their compile commands
|
|
||||||
local project_types = {
|
|
||||||
["main.odin"] = "odin run .",
|
|
||||||
["package.json"] = "pnpm run dev",
|
|
||||||
["Makefile"] = "make",
|
|
||||||
}
|
|
||||||
|
|
||||||
local function find_project_type()
|
|
||||||
for marker, _ in pairs(project_types) do
|
|
||||||
if vim.fn.glob(marker) ~= "" then
|
|
||||||
return marker
|
|
||||||
end
|
|
||||||
end
|
|
||||||
return nil
|
|
||||||
end
|
|
||||||
|
|
||||||
local function run()
|
|
||||||
local marker = find_project_type()
|
|
||||||
|
|
||||||
if not marker then
|
|
||||||
vim.notify("No recognized project type found", vim.log.levels.WARN)
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
local cmd = project_types[marker]
|
|
||||||
|
|
||||||
-- Create a new terminal buffer and run the command
|
|
||||||
vim.cmd("botright new") -- Create new window at bottom
|
|
||||||
vim.cmd("terminal " .. cmd)
|
|
||||||
|
|
||||||
-- Enter normal mode and hide the buffer number
|
|
||||||
vim.cmd("setlocal nonumber")
|
|
||||||
vim.cmd("setlocal norelativenumber")
|
|
||||||
vim.cmd("startinsert")
|
|
||||||
end
|
|
||||||
|
|
||||||
return {
|
|
||||||
run,
|
|
||||||
}
|
|
||||||
|
|
@ -33,7 +33,43 @@ local function filterReactDTS(value)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local project_types = {
|
||||||
|
["main.odin"] = "odin run .",
|
||||||
|
["package.json"] = "pnpm run dev",
|
||||||
|
["Makefile"] = "make",
|
||||||
|
}
|
||||||
|
|
||||||
|
local function find_project_type()
|
||||||
|
for marker, _ in pairs(project_types) do
|
||||||
|
if vim.fn.glob(marker) ~= "" then
|
||||||
|
return marker
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return nil
|
||||||
|
end
|
||||||
|
|
||||||
|
local function compile_project()
|
||||||
|
local marker = find_project_type()
|
||||||
|
|
||||||
|
if not marker then
|
||||||
|
vim.notify("No recognized project type found", vim.log.levels.WARN)
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local cmd = project_types[marker]
|
||||||
|
|
||||||
|
-- Create a new terminal buffer and run the command
|
||||||
|
vim.cmd("botright new") -- Create new window at bottom
|
||||||
|
vim.cmd("terminal " .. cmd)
|
||||||
|
|
||||||
|
-- Enter normal mode and hide the buffer number
|
||||||
|
vim.cmd("setlocal nonumber")
|
||||||
|
vim.cmd("setlocal norelativenumber")
|
||||||
|
vim.cmd("startinsert")
|
||||||
|
end
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
compile_project = compile_project,
|
||||||
filter = filter,
|
filter = filter,
|
||||||
filterReactDTS = filterReactDTS,
|
filterReactDTS = filterReactDTS,
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
local compile = require("dnsc.compile")
|
local utils = require("dnsc.utils")
|
||||||
|
|
||||||
return {
|
return {
|
||||||
"folke/which-key.nvim",
|
"folke/which-key.nvim",
|
||||||
|
|
@ -54,7 +54,7 @@ return {
|
||||||
{
|
{
|
||||||
"<leader>cr",
|
"<leader>cr",
|
||||||
function()
|
function()
|
||||||
compile.run()
|
utils.compile_project()
|
||||||
end,
|
end,
|
||||||
desc = "Run current project",
|
desc = "Run current project",
|
||||||
mode = "n",
|
mode = "n",
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue