diff --git a/flake.lock b/flake.lock index 3842575..606e2d9 100644 --- a/flake.lock +++ b/flake.lock @@ -44,11 +44,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1740339700, - "narHash": "sha256-cbrw7EgQhcdFnu6iS3vane53bEagZQy/xyIkDWpCgVE=", + "lastModified": 1740865531, + "narHash": "sha256-h00vGIh/jxcGl8aWdfnVRD74KuLpyY3mZgMFMy7iKIc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "04ef94c4c1582fd485bbfdb8c4a8ba250e359195", + "rev": "5ef6c425980847c78a80d759abc476e941a9bf42", "type": "github" }, "original": { diff --git a/home/modules/nvim/config/lua/dnsc/compile.lua b/home/modules/nvim/config/lua/dnsc/compile.lua index 6b6e2ab..104afae 100644 --- a/home/modules/nvim/config/lua/dnsc/compile.lua +++ b/home/modules/nvim/config/lua/dnsc/compile.lua @@ -1,17 +1,12 @@ -- Map of file markers to their compile commands local project_types = { - ["main.odin"] = "odin build . -file", - ["package.json"] = "npm run build", - ["go.mod"] = "go build ./...", - ["Cargo.toml"] = "cargo build", - ["CMakeLists.txt"] = "cmake --build build", + ["main.odin"] = "odin run .", + ["package.json"] = "pnpm run dev", ["Makefile"] = "make", } local function find_project_type() - -- Search for known project markers in the current directory for marker, _ in pairs(project_types) do - -- Use vim.fn.glob() to check if file exists in current directory if vim.fn.glob(marker) ~= "" then return marker end @@ -19,20 +14,20 @@ local function find_project_type() return nil end -local function compile() +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") @@ -40,5 +35,5 @@ local function compile() end return { - compile, + run, } diff --git a/home/modules/nvim/config/lua/plugins/which-key.lua b/home/modules/nvim/config/lua/plugins/which-key.lua index 58ccba4..43c0fe9 100644 --- a/home/modules/nvim/config/lua/plugins/which-key.lua +++ b/home/modules/nvim/config/lua/plugins/which-key.lua @@ -48,7 +48,8 @@ return { desc = "Delete all buffers", mode = "n", }, - { "c", group = "code", mode = "n" }, + { "c", group = "code/compile", mode = "n" }, + { "cr", "lua require('dnsc.compile').run()", desc = "Run current project", mode = "n" }, { "ca", "FzfLua lsp_code_actions", desc = "Code actions", mode = "n" }, { "cd", "FzfLua diagnostics_document", desc = "Show diagnostics", mode = "n" }, {