Remove nix shell
This commit is contained in:
@@ -46,67 +46,8 @@ vim.keymap.set("n", "<leader>lm", ":set number<cr>")
|
|||||||
vim.keymap.set("n", "<leader>na", ":set norelativenumber<cr>")
|
vim.keymap.set("n", "<leader>na", ":set norelativenumber<cr>")
|
||||||
vim.keymap.set("n", "<leader>nr", ":set relativenumber<cr>")
|
vim.keymap.set("n", "<leader>nr", ":set relativenumber<cr>")
|
||||||
|
|
||||||
-- Nix mode
|
|
||||||
local nix_interpreter_buffer = -1
|
|
||||||
local nix_interpreter_window = -1
|
|
||||||
|
|
||||||
-- @name run_nix_interpreter
|
|
||||||
-- @param
|
|
||||||
-- @short Run nix and output to a buffer on the right
|
|
||||||
local function run_nix_interpreter()
|
|
||||||
local original_win = vim.api.nvim_get_current_win()
|
|
||||||
vim.cmd("vsplit")
|
|
||||||
nix_interpreter_buffer = vim.api.nvim_create_buf(false, true)
|
|
||||||
vim.api.nvim_win_set_buf(0, nix_interpreter_buffer)
|
|
||||||
nix_interpreter_window = vim.api.nvim_get_current_win()
|
|
||||||
vim.api.nvim_set_current_win(original_win)
|
|
||||||
end
|
|
||||||
|
|
||||||
-- @name update_nix_interpreter
|
|
||||||
-- @param
|
|
||||||
-- @short Run nix enterpreter on that file.
|
|
||||||
local function update_nix_interpreter()
|
|
||||||
local filename = vim.api.nvim_buf_get_name(0)
|
|
||||||
if filename == "" then
|
|
||||||
vim.api.nvim_buf_set_lines(nix_interpreter_buffer, 0, -1, false, {
|
|
||||||
"Error: Current buffer has no file name.",
|
|
||||||
})
|
|
||||||
return
|
|
||||||
end
|
|
||||||
local cmd = { "nix-instantiate", "--eval", "--strict", filename }
|
|
||||||
local output = vim.fn.systemlist(cmd)
|
|
||||||
if vim.v.shell_error ~= 0 then
|
|
||||||
table.insert(output, 1, "Error running nix-instantiate:")
|
|
||||||
end
|
|
||||||
vim.api.nvim_buf_set_lines(nix_interpreter_buffer, 0, -1, false, output)
|
|
||||||
end
|
|
||||||
|
|
||||||
-- @name close_nix_interpreter
|
|
||||||
-- @param
|
|
||||||
-- @short Closes the window and buffer of the interpreter
|
|
||||||
local function close_nix_interpreter()
|
|
||||||
vim.api.nvim_buf_delete(nix_interpreter_buffer, { unload = true })
|
|
||||||
vim.api.nvim_win_close(nix_interpreter_window, true)
|
|
||||||
end
|
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd({ "BufEnter" }, {
|
|
||||||
pattern = { "*.nix" },
|
|
||||||
callback = run_nix_interpreter,
|
|
||||||
})
|
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd({ "BufWritePost" }, {
|
|
||||||
pattern = { "*.nix" },
|
|
||||||
callback = update_nix_interpreter,
|
|
||||||
})
|
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd({ "BufLeave" }, {
|
|
||||||
pattern = { "*.nix" },
|
|
||||||
callback = close_nix_interpreter,
|
|
||||||
})
|
|
||||||
|
|
||||||
vim.filetype.add({
|
vim.filetype.add({
|
||||||
extension = {
|
extension = {
|
||||||
bf = "brainfuck",
|
bf = "brainfuck",
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user