56 lines
1.8 KiB
Lua
56 lines
1.8 KiB
Lua
-- Reload neovim config
|
|
vim.api.nvim_create_user_command('ReloadConfig', function()
|
|
for name, _ in pairs(package.loaded) do
|
|
if name:match('^plugins') then
|
|
package.loaded[name] = nil
|
|
end
|
|
end
|
|
|
|
dofile(vim.env.MYVIMRC)
|
|
vim.notify('Nvim configuration reloaded!', vim.log.levels.INFO)
|
|
end, {})
|
|
|
|
local function copy_to_clipboard(content, message)
|
|
vim.fn.setreg('+', content)
|
|
vim.notify('Copied "' .. content .. '" to the clipboard!', vim.log.levels.INFO)
|
|
end
|
|
|
|
vim.api.nvim_create_user_command('CopyRelativePath', function()
|
|
local path = vim.fn.expand('%')
|
|
copy_to_clipboard(path, 'Copied "' .. path .. '" to the clipboard!')
|
|
end, {})
|
|
|
|
vim.api.nvim_create_user_command('CopyAbsolutePath', function()
|
|
local path = vim.fn.expand('%:p')
|
|
copy_to_clipboard(path, 'Copied "' .. path .. '" to the clipboard!')
|
|
end, {})
|
|
|
|
vim.api.nvim_create_user_command('CopyRelativePathWithLine', function()
|
|
local path = vim.fn.expand('%')
|
|
local line = vim.fn.line('.')
|
|
local result = path .. ':' .. line
|
|
copy_to_clipboard(result, 'Copied "' .. result .. '" to the clipboard!')
|
|
end, {})
|
|
|
|
vim.api.nvim_create_user_command('CopyAbsolutePathWithLine', function()
|
|
local path = vim.fn.expand('%:p')
|
|
local line = vim.fn.line('.')
|
|
local result = path .. ':' .. line
|
|
copy_to_clipboard(result, 'Copied "' .. result .. '" to the clipboard!')
|
|
end, {})
|
|
|
|
vim.api.nvim_create_user_command('CopyFileName', function()
|
|
local path = vim.fn.expand('%:t')
|
|
copy_to_clipboard(path, 'Copied "' .. path .. '" to the clipboard!')
|
|
end, {})
|
|
|
|
-- Switch to git root or file parent dir
|
|
vim.api.nvim_create_user_command('RootDir', function()
|
|
local root = require('lib.util').get_root_dir()
|
|
|
|
if root == '' then
|
|
return
|
|
end
|
|
vim.cmd('lcd ' .. root)
|
|
end, {})
|