aboutsummaryrefslogtreecommitdiff
path: root/.config/nvim/lua/user/mods.lua
diff options
context:
space:
mode:
authorsrdusr <trevorgray@srdusr.com>2023-07-14 17:35:37 +0200
committersrdusr <trevorgray@srdusr.com>2023-07-14 17:35:37 +0200
commit90982cf76ae6bf29840f2ecd6fc790151fc0fffe (patch)
treec4b3cc68248dacbf9ed832647980d139ccea30f3 /.config/nvim/lua/user/mods.lua
parent863eda5cb97493b0d63ad457069d88c5c5b7a8f5 (diff)
parentd72187703f539920b879439c73ebf4849cc3dbdd (diff)
downloaddotfiles-90982cf76ae6bf29840f2ecd6fc790151fc0fffe.tar.gz
dotfiles-90982cf76ae6bf29840f2ecd6fc790151fc0fffe.zip
Merge commit '600fd511151dec5bc6eafe7912579b9133921125'
Diffstat (limited to '.config/nvim/lua/user/mods.lua')
-rw-r--r--.config/nvim/lua/user/mods.lua204
1 files changed, 193 insertions, 11 deletions
diff --git a/.config/nvim/lua/user/mods.lua b/.config/nvim/lua/user/mods.lua
index 725ca6e..f00621d 100644
--- a/.config/nvim/lua/user/mods.lua
+++ b/.config/nvim/lua/user/mods.lua
@@ -40,7 +40,8 @@ require("null-ls").setup({
buffer = bufnr,
callback = function()
-- on 0.8, you should use vim.lsp.buf.format({ bufnr = bufnr }) instead
- vim.lsp.buf.formatting_seq_sync()
+ --vim.lsp.buf.formatting_seq_sync()
+ vim.lsp.buf.format({ bufnr = bufnr })
end,
})
end
@@ -157,6 +158,38 @@ end
--autocmd User RooterChDir :sleep! | call LogTrigger(timer) | call ConfigureChDir()
--]])
+function M.findFilesInCwd()
+ vim.cmd("let g:rooter_manual_only = 1") -- Toggle the rooter plugin
+ require("plugins.telescope").findhere()
+ vim.defer_fn(function()
+ vim.cmd("let g:rooter_manual_only = 0") -- Change back to automatic rooter
+ end, 100)
+end
+--function M.findFilesInCwd()
+-- vim.cmd("let g:rooter_manual_only = 1") -- Toggle the rooter plugin
+-- require("plugins.telescope").findhere()
+-- --vim.cmd("let g:rooter_manual_only = 0") -- Change back to automatic rooter
+--end
+
+--------------------------------------------------
+
+-- Toggle the executable permission
+function M.Toggle_executable()
+ local current_file = vim.fn.expand('%:p')
+ local executable = vim.fn.executable(current_file) == 1
+
+ if executable then
+ -- File is executable, unset the executable permission
+ vim.fn.system('chmod -x ' .. current_file)
+ --print(current_file .. ' is no longer executable.')
+ print("No longer executable")
+ else
+ -- File is not executable, set the executable permission
+ vim.fn.system('chmod +x ' .. current_file)
+ --print(current_file .. ' is now executable.')
+ print("Now executable")
+ end
+end
--------------------------------------------------
@@ -233,7 +266,7 @@ function M.update_tmux_status()
file:close()
if nvim_running then
-- Neovim is running, update the mode file and refresh tmux
- VI_MODE = "" -- Clear VI_MODE to show Neovim mode
+ VI_MODE = "" -- Clear VI_MODE to show Neovim mode
vim.cmd("silent !tmux refresh-client -S")
end
---- Force tmux to update the status
@@ -253,14 +286,163 @@ vim.cmd([[
-- Add autocmd for <esc>
-- Add autocmd to check when tmux switches panes/windows
- --autocmd InsertLeave,InsertEnter * lua require("user.mods").update_tmux_status()
- --autocmd BufEnter * lua require("user.mods").update_tmux_status()
- --autocmd WinEnter,WinLeave * lua require("user.mods").update_tmux_status()
-
- --autocmd WinEnter,WinLeave * lua require("user.mods").update_tmux_status()
- --autocmd VimResized * lua require("user.mods").update_tmux_status()
- --autocmd FocusGained * lua require("user.mods").update_tmux_status()
- --autocmd FocusLost * lua require("user.mods").update_tmux_status()
- --autocmd CmdwinEnter,CmdwinLeave * lua require("user.mods").update_tmux_status()
+--autocmd InsertLeave,InsertEnter * lua require("user.mods").update_tmux_status()
+--autocmd BufEnter * lua require("user.mods").update_tmux_status()
+--autocmd WinEnter,WinLeave * lua require("user.mods").update_tmux_status()
+
+--autocmd WinEnter,WinLeave * lua require("user.mods").update_tmux_status()
+--autocmd VimResized * lua require("user.mods").update_tmux_status()
+--autocmd FocusGained * lua require("user.mods").update_tmux_status()
+--autocmd FocusLost * lua require("user.mods").update_tmux_status()
+--autocmd CmdwinEnter,CmdwinLeave * lua require("user.mods").update_tmux_status()
--------------------------------------------------
+
+-- function OpenEmulatorList()
+-- local emulatorsBuffer = vim.api.nvim_create_buf(false, true)
+-- vim.api.nvim_buf_set_lines(emulatorsBuffer, 0, 0, true, {"Some text"})
+-- vim.api.nvim_open_win(
+-- emulatorsBuffer,
+-- false,
+-- {
+-- relative='win', row=3, col=3, width=12, height=3
+-- }
+-- )
+-- end
+--
+-- vim.api.nvim_create_user_command('OpenEmulators', OpenEmulatorList, {})
+
+
+
+--local api = vim.api
+--local fn = vim.fn
+--local cmd = vim.cmd
+--
+--local function bufremove(opts)
+-- local target_buf_id = api.nvim_get_current_buf()
+--
+-- -- Do nothing if buffer is in modified state.
+-- if not opts.force and api.nvim_buf_get_option(target_buf_id, 'modified') then
+-- return false
+-- end
+--
+-- -- Hide target buffer from all windows.
+-- vim.tbl_map(function(win_id)
+-- win_id = win_id or 0
+--
+-- local current_buf_id = api.nvim_win_get_buf(win_id)
+--
+-- api.nvim_win_call(win_id, function()
+-- -- Try using alternate buffer
+-- local alt_buf_id = fn.bufnr('#')
+-- if alt_buf_id ~= current_buf_id and fn.buflisted(alt_buf_id) == 1 then
+-- api.nvim_win_set_buf(win_id, alt_buf_id)
+-- return
+-- end
+--
+-- -- Try using previous buffer
+-- cmd('bprevious')
+-- if current_buf_id ~= api.nvim_win_get_buf(win_id) then
+-- return
+-- end
+--
+-- -- Create new listed scratch buffer
+-- local new_buf = api.nvim_create_buf(true, true)
+-- api.nvim_win_set_buf(win_id, new_buf)
+-- end)
+--
+-- return true
+-- end, fn.win_findbuf(target_buf_id))
+--
+-- cmd(string.format('bdelete%s %d', opts.force and '!' or '', target_buf_id))
+--end
+--
+---- Assign bufremove to a global variable
+--_G.bufremove = bufremove
+
+--vim.cmd([[
+-- augroup NvimTreeDelete
+-- autocmd!
+-- autocmd FileType NvimTree lua require('user.mods').enew_on_delete()
+-- augroup END
+--]])
+--
+--function M.enew_on_delete()
+-- if vim.bo.buftype == 'nofile' then
+-- vim.cmd('enew')
+-- end
+--end
+
+-- Update Neovim
+--function M.Update_neovim()
+-- -- Run the commands to download and extract the latest version
+-- os.execute("curl -L -o nvim-linux64.tar.gz https://github.com/neovim/neovim/releases/latest/download/nvim-linux64.tar.gz")
+-- os.execute("tar xzvf nvim-linux64.tar.gz")
+-- -- Replace the existing Neovim installation with the new version
+-- os.execute("rm -rf $HOME/.local/bin/nvim")
+-- os.execute("mv nvim-linux64 $HOME/.local/bin/nvim")
+--
+-- -- Clean up the downloaded file
+-- os.execute("rm nvim-linux64.tar.gz")
+--
+-- -- Print a message to indicate the update is complete
+-- print("Neovim has been updated to the latest version.")
+--end
+--
+---- Bind a keymap to the update_neovim function (optional)
+--vim.api.nvim_set_keymap('n', '<leader>u', '<cmd> lua require("user.mods").Update_neovim()<CR>', { noremap = true, silent = true })
+
+-- Define a function to create a floating window and run the update process inside it
+function M.Update_neovim()
+ -- Create a new floating window
+ local bufnr, winid = vim.api.nvim_create_buf(false, true)
+ vim.api.nvim_open_win(bufnr, true, {
+ relative = "editor",
+ width = 80,
+ height = 20,
+ row = 2,
+ col = 2,
+ style = "minimal",
+ border = "single",
+ })
+
+ -- Function to append a line to the buffer in the floating window
+ local function append_line(line)
+ vim.api.nvim_buf_set_option(bufnr, "modifiable", true)
+ vim.api.nvim_buf_set_lines(bufnr, -1, -1, false, { line })
+ vim.api.nvim_buf_set_option(bufnr, "modifiable", false)
+ end
+
+ -- Download the latest version of Neovim
+ append_line("Downloading the latest version of Neovim...")
+ os.execute(
+ "curl -L -o nvim-linux64.tar.gz https://github.com/neovim/neovim/releases/latest/download/nvim-linux64.tar.gz")
+ append_line("Download complete.")
+
+ -- Extract the downloaded archive
+ append_line("Extracting the downloaded archive...")
+ os.execute("tar xzvf nvim-linux64.tar.gz")
+ append_line("Extraction complete.")
+
+ -- Replace the existing Neovim installation with the new version
+ append_line("Replacing the existing Neovim installation...")
+ os.execute("rm -rf $HOME/nvim")
+ os.execute("mv nvim-linux64 $HOME/nvim")
+ append_line("Update complete.")
+
+ -- Clean up the downloaded file
+ append_line("Cleaning up the downloaded file...")
+ os.execute("rm nvim-linux64.tar.gz")
+ append_line("Cleanup complete.")
+
+ -- Close the floating window after a delay
+ vim.defer_fn(function()
+ vim.api.nvim_win_close(winid, true)
+ end, 5000) -- Adjust the delay as needed
+end
+
+-- Bind a keymap to the update_neovim function (optional)
+vim.api.nvim_set_keymap('n', '<leader>u', '<cmd> lua require("user.mods").Update_neovim()<CR>',
+ { noremap = true, silent = true })
+
+
return M