init.lua: removed buildcmd, only needed in keybindings.lua
keybindings.lua: added grep_string to <leader>fs and spell_suggest to <leader>ss buildcmd.lua: searches the cwd for a build file and decides which build to use (build.zig, build.bat, build.sh)
This commit is contained in:
parent
de564b9cba
commit
4363c8d7d5
1
init.lua
1
init.lua
|
@ -1,5 +1,4 @@
|
|||
-- Only required if you have packer configured as `opt`
|
||||
require('buildcmd')
|
||||
require('statusline')
|
||||
require('packer_init')
|
||||
require('keybindings')
|
||||
|
|
|
@ -9,6 +9,25 @@ local function has_buffer()
|
|||
return job_buffer and vim.fn.buflisted(job_buffer) == 1
|
||||
end
|
||||
|
||||
local function get_build_cmd()
|
||||
for path, type in vim.fs.dir(vim.fn.getcwd(), nil)
|
||||
do
|
||||
if (path == "build.zig") then
|
||||
return "zig build"
|
||||
end
|
||||
if (path == "build.bat" or path == "build.sh") then
|
||||
if (vim.loop.os_uname().sysname == "Windows_NT") then
|
||||
-- TODO(twig): if I move to llvm this should work, right now cl doesn't work because nvim spawns a command prompt that doesn't have vcvars in it (nor does it have my stuff)
|
||||
return "build.bat"
|
||||
else
|
||||
-- TODO(twig): this is untested!
|
||||
return "build.sh"
|
||||
end
|
||||
end
|
||||
end
|
||||
return ""
|
||||
end
|
||||
|
||||
function save_all_and_build()
|
||||
if job_id then
|
||||
print("Job processing")
|
||||
|
@ -29,7 +48,8 @@ function save_all_and_build()
|
|||
end
|
||||
vim.api.nvim_buf_set_option(job_buffer, 'filetype', 'build')
|
||||
vim.api.nvim_buf_set_option(job_buffer, 'modified', false)
|
||||
-- TODO: if I want to get fancy I can set a build string per language.
|
||||
job_id = vim.fn.termopen("zig build", {on_exit = job_exit})
|
||||
-- THis looks at files in the cwd and decides if there is something to build (build.zig for zig, build.bat/.sh for c++)
|
||||
local build_cmd = get_build_cmd()
|
||||
job_id = vim.fn.termopen(build_cmd, {on_exit = job_exit})
|
||||
vim.api.nvim_buf_set_name(job_buffer, '[build]')
|
||||
end
|
||||
|
|
|
@ -20,6 +20,10 @@ vim.keymap.set('n', '<leader>bb', save_all_and_build, opts)
|
|||
-- Would love to have this be alt but that doesn't work...
|
||||
vim.keymap.set('i', '<A-t>', '// TODO(twig): ', opts)
|
||||
vim.keymap.set('i', '<A-y>', '// NOTE(twig): ', opts)
|
||||
-- This is horrendous on windows, can't use nvim for almost a minute!
|
||||
vim.keymap.set('n', 'K', '')
|
||||
vim.keymap.set('n', '<leader>fs', '<cmd>Telescope grep_string<cr>', opts)
|
||||
vim.keymap.set('n', '<leader>ss', '<cmd>Telescope spell_suggest', opts)
|
||||
|
||||
local on_attach = function(client, bufnr)
|
||||
vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc')
|
||||
|
|
Loading…
Reference in New Issue