local function mapcmd(command) return function() vim.cmd(command) end end local map = vim.keymap.set map("n", ",p", [[s/\(\s*\)\(.\+\)/\1printf("\2: %d\\n", \2);]], { desc = "Surround var with printf" }) map("n", ",i", function() local word = vim.fn.expand("") vim.cmd([[ normal m' 0 normal O .!include.sh ]] .. word) vim.cmd("normal ''") end, { desc = "Include header for word under cursor" }) map("n", ",f", mapcmd("CF"), { desc = "Toggle formatting" }) map("i", "", "#if 1#endifO", { desc = "Insert `#if 1` block" }) vim.opt.commentstring = "// %s" -- disable indent in switch statement vim.opt.cinoptions = "l1" local projects = require("config.projects") if projects and not projects.InProject then vim.bo.makeprg = "./build.sh" end vim.cmd("TSDisable indent")