update setting
This commit is contained in:
parent
06ab884fb2
commit
6ca59d77b4
26 changed files with 504 additions and 38 deletions
20
init.lua
20
init.lua
|
|
@ -65,6 +65,22 @@ vim.opt.inccommand = 'split'
|
||||||
-- Show which line your cursor is on
|
-- Show which line your cursor is on
|
||||||
vim.opt.cursorline = true
|
vim.opt.cursorline = true
|
||||||
|
|
||||||
|
vim.opt.termguicolors = true
|
||||||
|
|
||||||
|
-- session
|
||||||
|
-- vim.opt.sessionoptions = {
|
||||||
|
-- 'buffers',
|
||||||
|
-- 'tabpages',
|
||||||
|
-- -- 'curdir',
|
||||||
|
-- -- 'folds',
|
||||||
|
-- -- 'help',
|
||||||
|
-- -- 'winsize',
|
||||||
|
-- -- 'winpos',
|
||||||
|
-- -- 'terminal',
|
||||||
|
-- 'globals',
|
||||||
|
-- 'localoptions',
|
||||||
|
-- }
|
||||||
|
|
||||||
-- Minimal number of screen lines to keep above and below the cursor.
|
-- Minimal number of screen lines to keep above and below the cursor.
|
||||||
-- vim.opt.scrolloff = 10
|
-- vim.opt.scrolloff = 10
|
||||||
|
|
||||||
|
|
@ -100,6 +116,10 @@ vim.api.nvim_create_autocmd('TextYankPost', {
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
-- treat underscore and hyphen NOT as word separators
|
||||||
|
-- vim.opt.iskeyword:remove '-'
|
||||||
|
-- vim.opt.iskeyword:remove '_'
|
||||||
|
|
||||||
-- [[ Install `lazy.nvim` plugin manager ]]
|
-- [[ Install `lazy.nvim` plugin manager ]]
|
||||||
-- See `:help lazy.nvim.txt` or https://github.com/folke/lazy.nvim for more info
|
-- See `:help lazy.nvim.txt` or https://github.com/folke/lazy.nvim for more info
|
||||||
local lazypath = vim.fn.stdpath 'data' .. '/lazy/lazy.nvim'
|
local lazypath = vim.fn.stdpath 'data' .. '/lazy/lazy.nvim'
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,10 @@
|
||||||
"LuaSnip": { "branch": "master", "commit": "b84eeb3641b08324287587b426ec974b888390d9" },
|
"LuaSnip": { "branch": "master", "commit": "b84eeb3641b08324287587b426ec974b888390d9" },
|
||||||
"adwaita.nvim": { "branch": "main", "commit": "c9379097755701ab597140bafd097fbaff3dd517" },
|
"adwaita.nvim": { "branch": "main", "commit": "c9379097755701ab597140bafd097fbaff3dd517" },
|
||||||
"aerial.nvim": { "branch": "master", "commit": "e75a3df2c20b3a98c786f5e61587d74a7a6b61d6" },
|
"aerial.nvim": { "branch": "master", "commit": "e75a3df2c20b3a98c786f5e61587d74a7a6b61d6" },
|
||||||
|
"alpha-nvim": { "branch": "main", "commit": "41283fb402713fc8b327e60907f74e46166f4cfd" },
|
||||||
|
"auto-session": { "branch": "main", "commit": "afa735f5923a4c0e8f519ffaa18885dc03922571" },
|
||||||
"baleia.nvim": { "branch": "main", "commit": "fb3aff021b2b64ef820d0230d2c22ebfaf71bb6a" },
|
"baleia.nvim": { "branch": "main", "commit": "fb3aff021b2b64ef820d0230d2c22ebfaf71bb6a" },
|
||||||
|
"bufferline.nvim": { "branch": "main", "commit": "0b2fd861eee7595015b6561dade52fb060be10c4" },
|
||||||
"cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" },
|
"cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" },
|
||||||
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
|
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
|
||||||
"cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" },
|
"cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" },
|
||||||
|
|
@ -11,12 +14,12 @@
|
||||||
"copilot-cmp": { "branch": "master", "commit": "b6e5286b3d74b04256d0a7e3bd2908eabec34b44" },
|
"copilot-cmp": { "branch": "master", "commit": "b6e5286b3d74b04256d0a7e3bd2908eabec34b44" },
|
||||||
"copilot.lua": { "branch": "master", "commit": "86537b286f18783f8b67bccd78a4ef4345679625" },
|
"copilot.lua": { "branch": "master", "commit": "86537b286f18783f8b67bccd78a4ef4345679625" },
|
||||||
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
|
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
|
||||||
"fidget.nvim": { "branch": "main", "commit": "d855eed8a06531a7e8fd0684889b2943f373c469" },
|
|
||||||
"friendly-snippets": { "branch": "main", "commit": "00ebcaa159e817150bd83bfe2d51fa3b3377d5c4" },
|
"friendly-snippets": { "branch": "main", "commit": "00ebcaa159e817150bd83bfe2d51fa3b3377d5c4" },
|
||||||
"fzf-lua": { "branch": "main", "commit": "e9413dc2b6e8ab7f62385c972df1dceba483492d" },
|
"fzf-lua": { "branch": "main", "commit": "e9413dc2b6e8ab7f62385c972df1dceba483492d" },
|
||||||
"git-conflict.nvim": { "branch": "main", "commit": "bfd9fe6fba9a161fc199771d85996236a0d0faad" },
|
"git-conflict.nvim": { "branch": "main", "commit": "bfd9fe6fba9a161fc199771d85996236a0d0faad" },
|
||||||
"gitsigns.nvim": { "branch": "main", "commit": "58bd9e98d8e3c5a1c98af312e85247ee1afd3ed2" },
|
"gitsigns.nvim": { "branch": "main", "commit": "58bd9e98d8e3c5a1c98af312e85247ee1afd3ed2" },
|
||||||
"gruber-darker.nvim": { "branch": "main", "commit": "1793c0929ca965430410f7ec578272a4af9226ee" },
|
"gruber-darker.nvim": { "branch": "main", "commit": "1793c0929ca965430410f7ec578272a4af9226ee" },
|
||||||
|
"gruvbox.nvim": { "branch": "main", "commit": "7a1b23e4edf73a39642e77508ee6b9cbb8c60f9e" },
|
||||||
"harpoon": { "branch": "master", "commit": "ccae1b9bec717ae284906b0bf83d720e59d12b91" },
|
"harpoon": { "branch": "master", "commit": "ccae1b9bec717ae284906b0bf83d720e59d12b91" },
|
||||||
"hybrid.nvim": { "branch": "master", "commit": "8838621a2e299582a0af5b8b96d5515f27b5d058" },
|
"hybrid.nvim": { "branch": "master", "commit": "8838621a2e299582a0af5b8b96d5515f27b5d058" },
|
||||||
"hydra.nvim": { "branch": "main", "commit": "8578056a2226ed49fc608167edc143a87f75d809" },
|
"hydra.nvim": { "branch": "main", "commit": "8578056a2226ed49fc608167edc143a87f75d809" },
|
||||||
|
|
@ -25,14 +28,15 @@
|
||||||
"lazy.nvim": { "branch": "main", "commit": "077102c5bfc578693f12377846d427f49bc50076" },
|
"lazy.nvim": { "branch": "main", "commit": "077102c5bfc578693f12377846d427f49bc50076" },
|
||||||
"lazydev.nvim": { "branch": "main", "commit": "491452cf1ca6f029e90ad0d0368848fac717c6d2" },
|
"lazydev.nvim": { "branch": "main", "commit": "491452cf1ca6f029e90ad0d0368848fac717c6d2" },
|
||||||
"lsp_signature.nvim": { "branch": "master", "commit": "a38da0a61c172bb59e34befc12efe48359884793" },
|
"lsp_signature.nvim": { "branch": "master", "commit": "a38da0a61c172bb59e34befc12efe48359884793" },
|
||||||
|
"lspkind.nvim": { "branch": "master", "commit": "cff4ae321a91ee3473a92ea1a8c637e3a9510aec" },
|
||||||
"luvit-meta": { "branch": "main", "commit": "ce76f6f6cdc9201523a5875a4471dcfe0186eb60" },
|
"luvit-meta": { "branch": "main", "commit": "ce76f6f6cdc9201523a5875a4471dcfe0186eb60" },
|
||||||
"markview.nvim": { "branch": "main", "commit": "9e5275f3b7507da51deab9bc985e9154d0b6af28" },
|
|
||||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "62360f061d45177dda8afc1b0fd1327328540301" },
|
"mason-lspconfig.nvim": { "branch": "main", "commit": "62360f061d45177dda8afc1b0fd1327328540301" },
|
||||||
"mason-tool-installer.nvim": { "branch": "main", "commit": "c5e07b8ff54187716334d585db34282e46fa2932" },
|
"mason-tool-installer.nvim": { "branch": "main", "commit": "c5e07b8ff54187716334d585db34282e46fa2932" },
|
||||||
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
|
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
|
||||||
"mini-git": { "branch": "main", "commit": "c5daa5556c1798b6ef6595a3011af3ca5f7a2fd8" },
|
"mini-git": { "branch": "main", "commit": "c5daa5556c1798b6ef6595a3011af3ca5f7a2fd8" },
|
||||||
"mini.ai": { "branch": "main", "commit": "a9b992b13d22a8db8df6beac25afa59a10b5584d" },
|
"mini.ai": { "branch": "main", "commit": "a9b992b13d22a8db8df6beac25afa59a10b5584d" },
|
||||||
"mini.bufremove": { "branch": "main", "commit": "1ee294a97e091d3cf967974df622c0d887890dc2" },
|
"mini.bufremove": { "branch": "main", "commit": "1ee294a97e091d3cf967974df622c0d887890dc2" },
|
||||||
|
"mini.diff": { "branch": "main", "commit": "d58f9cb13400aedc5b5a0ef70fcdf31871ba2ee6" },
|
||||||
"mini.icons": { "branch": "main", "commit": "fe63fe080e76d80713557e5f0c65bc15b14b152d" },
|
"mini.icons": { "branch": "main", "commit": "fe63fe080e76d80713557e5f0c65bc15b14b152d" },
|
||||||
"mini.indentscope": { "branch": "main", "commit": "1222393d9c5e8d92b913ccab6701a7164b21781c" },
|
"mini.indentscope": { "branch": "main", "commit": "1222393d9c5e8d92b913ccab6701a7164b21781c" },
|
||||||
"mini.statusline": { "branch": "main", "commit": "ec7e2c509c7262fef85a28a772f60ebe146297db" },
|
"mini.statusline": { "branch": "main", "commit": "ec7e2c509c7262fef85a28a772f60ebe146297db" },
|
||||||
|
|
@ -55,11 +59,15 @@
|
||||||
"promise-async": { "branch": "main", "commit": "119e8961014c9bfaf1487bf3c2a393d254f337e2" },
|
"promise-async": { "branch": "main", "commit": "119e8961014c9bfaf1487bf3c2a393d254f337e2" },
|
||||||
"rainbow-delimiters.nvim": { "branch": "master", "commit": "a727bd368e70808125b7cf589328cc595faf3d5a" },
|
"rainbow-delimiters.nvim": { "branch": "master", "commit": "a727bd368e70808125b7cf589328cc595faf3d5a" },
|
||||||
"readline.nvim": { "branch": "main", "commit": "5cb27349bc01cdcdb3d3494e5337d8b3834aef1a" },
|
"readline.nvim": { "branch": "main", "commit": "5cb27349bc01cdcdb3d3494e5337d8b3834aef1a" },
|
||||||
|
"render-markdown.nvim": { "branch": "main", "commit": "420058baa6e33f20c096c93bb1df52bc841d9475" },
|
||||||
|
"resession.nvim": { "branch": "master", "commit": "e087ebeef81df25a12fcc4ec067ca73e2bb54c4a" },
|
||||||
|
"scope.nvim": { "branch": "main", "commit": "5e3f5ead970317b2f276d38dc031cb4bc5742cd4" },
|
||||||
"sg.nvim": { "branch": "master", "commit": "8bdd4d19da2268072708d5fe18fda9c23e16509d" },
|
"sg.nvim": { "branch": "master", "commit": "8bdd4d19da2268072708d5fe18fda9c23e16509d" },
|
||||||
"telescope-fzf-native.nvim": { "branch": "main", "commit": "cf48d4dfce44e0b9a2e19a008d6ec6ea6f01a83b" },
|
"telescope-fzf-native.nvim": { "branch": "main", "commit": "cf48d4dfce44e0b9a2e19a008d6ec6ea6f01a83b" },
|
||||||
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
|
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
|
||||||
"telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
|
"telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
|
||||||
"todo-comments.nvim": { "branch": "main", "commit": "8f45f353dc3649cb9b44cecda96827ea88128584" },
|
"todo-comments.nvim": { "branch": "main", "commit": "8f45f353dc3649cb9b44cecda96827ea88128584" },
|
||||||
|
"toggleterm.nvim": { "branch": "main", "commit": "48be57eaba817f038d61bbf64d2c597f578c0827" },
|
||||||
"typewriter": { "branch": "main", "commit": "d1b3aa53d4805120674b26554e027d5f10350419" },
|
"typewriter": { "branch": "main", "commit": "d1b3aa53d4805120674b26554e027d5f10350419" },
|
||||||
"undotree": { "branch": "master", "commit": "56c684a805fe948936cda0d1b19505b84ad7e065" },
|
"undotree": { "branch": "master", "commit": "56c684a805fe948936cda0d1b19505b84ad7e065" },
|
||||||
"vim-sleuth": { "branch": "master", "commit": "1cc4557420f215d02c4d2645a748a816c220e99b" },
|
"vim-sleuth": { "branch": "master", "commit": "1cc4557420f215d02c4d2645a748a816c220e99b" },
|
||||||
|
|
|
||||||
|
|
@ -5,4 +5,73 @@ vim.keymap.set('n', '<leader>ws', '<cmd>split<cr>', { desc = '[W]indow Horizonta
|
||||||
vim.keymap.set('n', '<leader>wv', '<cmd>vsplit<cr>', { desc = '[W]indow [V]ertical Split' }) -- split vertical
|
vim.keymap.set('n', '<leader>wv', '<cmd>vsplit<cr>', { desc = '[W]indow [V]ertical Split' }) -- split vertical
|
||||||
vim.keymap.set('n', '<leader>wq', '<C-w>q', { desc = '[W]indow [Q]uit' }) -- quit
|
vim.keymap.set('n', '<leader>wq', '<C-w>q', { desc = '[W]indow [Q]uit' }) -- quit
|
||||||
vim.keymap.set('n', '<leader>x', '<cmd>!chmod +x %<CR>', { desc = 'Chmod File E[x]ecutable', silent = true })
|
vim.keymap.set('n', '<leader>x', '<cmd>!chmod +x %<CR>', { desc = 'Chmod File E[x]ecutable', silent = true })
|
||||||
vim.keymap.set('n', '<leader>lz', '<cmd>Lazy<CR>', { desc = 'Chmod File E[x]ecutable', silent = true })
|
vim.keymap.set('n', '<leader>lz', '<cmd>Lazy<CR>', { desc = '[L]azy', silent = true })
|
||||||
|
vim.keymap.set('n', '<leader>lp', '<cmd>Lazy profile<CR>', { desc = '[L]azy [P]rofile', silent = true })
|
||||||
|
|
||||||
|
vim.keymap.set('n', '<leader><tab>l', '<cmd>tablast<cr>', { desc = 'Last Tab' })
|
||||||
|
vim.keymap.set('n', '<leader><tab>f', '<cmd>tabfirst<cr>', { desc = 'First Tab' })
|
||||||
|
vim.keymap.set('n', '<leader><tab><tab>', '<cmd>tabnew<cr>', { desc = 'New Tab' })
|
||||||
|
vim.keymap.set('n', '<leader><tab>]', '<cmd>tabnext<cr>', { desc = 'Next Tab' })
|
||||||
|
vim.keymap.set('n', '<leader><tab>d', '<cmd>tabclose<cr>', { desc = 'Close Tab' })
|
||||||
|
vim.keymap.set('n', '<leader><tab>[', '<cmd>tabprevious<cr>', { desc = 'Previous Tab' })
|
||||||
|
|
||||||
|
vim.keymap.set('n', '<leader>mx', '<cmd>!chmod +x %<CR>', { desc = 'Chmod File E[x]ecutable', silent = true })
|
||||||
|
|
||||||
|
-- vim.keymap.set('n', '<leader>gg', function()
|
||||||
|
-- Util.float_term({ 'lazygit' }, { cwd = Util.get_root(), esc_esc = false, ctrl_hjkl = false })
|
||||||
|
-- end, { desc = 'Lazygit (root dir)' })
|
||||||
|
vim.keymap.set('n', '<leader>gg', function()
|
||||||
|
local term = require 'rayandrew.term'
|
||||||
|
term.lazygit_float()
|
||||||
|
end, { desc = '[G]it Lazygit', noremap = true, silent = true })
|
||||||
|
vim.keymap.set('n', '<leader>gG', function()
|
||||||
|
local term = require 'rayandrew.term'
|
||||||
|
term.lazygit()
|
||||||
|
end, { desc = '[G]it Lazygit', noremap = true, silent = true })
|
||||||
|
|
||||||
|
vim.keymap.set('n', '<leader>tn', ':$tabnew<CR>', { noremap = true, silent = true, desc = '[T]ab [N]ew' })
|
||||||
|
vim.keymap.set('n', '<leader>tq', ':tabclose<CR>', { noremap = true, silent = true, desc = '[T]ab [Q]uit' })
|
||||||
|
vim.keymap.set('n', '<leader>tc', ':tabonly<CR>', { noremap = true, silent = true, desc = '[T]ab [C]lose All' })
|
||||||
|
vim.keymap.set('n', '<leader>tl', ':tabn<CR>', { noremap = true, silent = true, desc = '[T]ab Prev' })
|
||||||
|
vim.keymap.set('n', '<leader>th', ':tabp<CR>', { noremap = true, silent = true, desc = '[T]ab Next' })
|
||||||
|
-- move current tab to previous position
|
||||||
|
vim.keymap.set('n', '<leader>tmh', ':-tabmove<CR>', { noremap = true, silent = true, desc = '[T]ab Move Left' })
|
||||||
|
-- move current tab to next position
|
||||||
|
vim.keymap.set('n', '<leader>tml', ':+tabmove<CR>', { noremap = true, silent = true, desc = '[T]ab Move Right' })
|
||||||
|
|
||||||
|
-- Toggle Term
|
||||||
|
|
||||||
|
-- local trim_spaces = true
|
||||||
|
-- vim.keymap.set('v', '<leader>tl', function()
|
||||||
|
-- require('toggleterm').send_lines_to_terminal('single_line', trim_spaces, { args = vim.v.count })
|
||||||
|
-- end, { desc = 'Send Selection to Terminal' })
|
||||||
|
-- vim.g.send_toggleterm_motion = function(motion_type)
|
||||||
|
-- require('toggleterm').send_lines_to_terminal(motion_type, false, { args = vim.v.count })
|
||||||
|
-- end
|
||||||
|
-- local send_motion_d = function(p)
|
||||||
|
-- return function()
|
||||||
|
-- vim.go.operatorfunc = 'v:lua.send_toggleterm_motion'
|
||||||
|
-- return p
|
||||||
|
-- end
|
||||||
|
-- end
|
||||||
|
-- vim.keymap.set('n', '<leader>tp', send_motion_d 'g@', { desc = 'Send Motion to Terminal', expr = true })
|
||||||
|
-- vim.keymap.set('n', '<leader>tt', send_motion_d 'g@_', { desc = 'Send Motion to Terminal Twice', expr = true })
|
||||||
|
-- vim.keymap.set('n', '<leader>tf', send_motion_d "ggg@G''", { desc = 'Send Motion to Terminal Full File', expr = true })
|
||||||
|
|
||||||
|
-- Double the command to send line to terminal
|
||||||
|
-- vim.keymap.set('n', '<leader>tt', function()
|
||||||
|
-- -- set_opfunc(function(motion_type)
|
||||||
|
-- -- require('toggleterm').send_lines_to_terminal(motion_type, false, { args = vim.v.count })
|
||||||
|
-- -- end)
|
||||||
|
-- vim.go.operatorfunc = 'v:lua.send_toggleterm_motion'
|
||||||
|
-- vim.api.nvim_feedkeys('g@_', 'n', false)
|
||||||
|
-- end, { desc = 'Send Motion to Terminal Twice', expr = true })
|
||||||
|
|
||||||
|
-- Send whole file
|
||||||
|
-- vim.keymap.set('n', '<leader>tf', function()
|
||||||
|
-- -- set_opfunc(function(motion_type)
|
||||||
|
-- -- require('toggleterm').send_lines_to_terminal(motion_type, false, { args = vim.v.count })
|
||||||
|
-- -- end)
|
||||||
|
-- vim.go.operatorfunc = 'v:lua.send_toggleterm_motion'
|
||||||
|
-- vim.api.nvim_feedkeys("ggg@G''", 'n', false)
|
||||||
|
-- end, { desc = 'Send Whole File to Terminal', expr = true })
|
||||||
|
|
|
||||||
14
lua/rayandrew/plugins/alpha.lua
Normal file
14
lua/rayandrew/plugins/alpha.lua
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
'goolord/alpha-nvim',
|
||||||
|
lazy = false,
|
||||||
|
priority = 100,
|
||||||
|
dependencies = {
|
||||||
|
'nvim-tree/nvim-web-devicons',
|
||||||
|
'nvim-lua/plenary.nvim',
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
require('alpha').setup(require('alpha.themes.theta').config)
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
}
|
||||||
35
lua/rayandrew/plugins/auto-session.lua
Normal file
35
lua/rayandrew/plugins/auto-session.lua
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
'rmagatti/auto-session',
|
||||||
|
cond = false,
|
||||||
|
lazy = false,
|
||||||
|
dependencies = {
|
||||||
|
'nvim-telescope/telescope.nvim',
|
||||||
|
},
|
||||||
|
opts = {
|
||||||
|
auto_session_enabled = true,
|
||||||
|
auto_session_root_dir = vim.fn.stdpath 'data' .. '/sessions/',
|
||||||
|
auto_save_enabled = true,
|
||||||
|
auto_restore_enabled = true,
|
||||||
|
auto_session_suppress_dirs = nil,
|
||||||
|
auto_session_allowed_dirs = nil,
|
||||||
|
auto_session_create_enabled = true,
|
||||||
|
auto_session_enable_last_session = false,
|
||||||
|
auto_session_use_git_branch = false,
|
||||||
|
auto_restore_lazy_delay_enabled = true,
|
||||||
|
log_level = 'error',
|
||||||
|
cwd_change_handling = {
|
||||||
|
restore_upcoming_session = false,
|
||||||
|
post_cwd_changed_hook = function()
|
||||||
|
require('bufferline.ui').refresh()
|
||||||
|
--require("lualine").refresh() -- refresh lualine so the new session name is displayed in the status bar
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
config = true,
|
||||||
|
-- config = function(_, opts)
|
||||||
|
-- require('auto-session').setup {
|
||||||
|
-- }
|
||||||
|
-- end,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
@ -115,6 +115,7 @@ return {
|
||||||
-- }
|
-- }
|
||||||
-- end,
|
-- end,
|
||||||
-- },
|
-- },
|
||||||
|
{ 'onsails/lspkind.nvim', config = true },
|
||||||
},
|
},
|
||||||
config = function()
|
config = function()
|
||||||
-- See `:help cmp`
|
-- See `:help cmp`
|
||||||
|
|
@ -123,6 +124,17 @@ return {
|
||||||
luasnip.config.setup {}
|
luasnip.config.setup {}
|
||||||
|
|
||||||
cmp.setup {
|
cmp.setup {
|
||||||
|
formatting = {
|
||||||
|
format = require('lspkind').cmp_format {
|
||||||
|
mode = 'symbol_text',
|
||||||
|
maxwidth = 50,
|
||||||
|
ellipsis_char = '...',
|
||||||
|
show_labelDetails = true,
|
||||||
|
before = function(entry, vim_item)
|
||||||
|
return vim_item
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
},
|
||||||
snippet = {
|
snippet = {
|
||||||
expand = function(args)
|
expand = function(args)
|
||||||
luasnip.lsp_expand(args.body)
|
luasnip.lsp_expand(args.body)
|
||||||
|
|
|
||||||
53
lua/rayandrew/plugins/bufferline.lua
Normal file
53
lua/rayandrew/plugins/bufferline.lua
Normal file
|
|
@ -0,0 +1,53 @@
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
'akinsho/bufferline.nvim',
|
||||||
|
cond = false,
|
||||||
|
-- event = 'VimEnter',
|
||||||
|
config = true,
|
||||||
|
lazy = false,
|
||||||
|
opts = {
|
||||||
|
options = {
|
||||||
|
view = 'multiwindow',
|
||||||
|
numbers = function(opts)
|
||||||
|
local harpoon = require 'harpoon.mark'
|
||||||
|
local buf_name = vim.api.nvim_buf_get_name(opts.id)
|
||||||
|
local harpoon_mark = harpoon.get_index_of(buf_name)
|
||||||
|
return harpoon_mark
|
||||||
|
end,
|
||||||
|
modified_icon = '●',
|
||||||
|
max_prefix_length = 5,
|
||||||
|
tab_size = 18,
|
||||||
|
diagnostics = 'nvim_lsp',
|
||||||
|
separator_style = { '|', '' },
|
||||||
|
offsets = {
|
||||||
|
{
|
||||||
|
filetype = 'NvimTree',
|
||||||
|
text = 'File Explorer',
|
||||||
|
text_align = 'center',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
sort_by = function(buffer_a, buffer_b)
|
||||||
|
local function get_local_mark(id)
|
||||||
|
local harpoon = require 'harpoon.mark'
|
||||||
|
local buf_name = vim.api.nvim_buf_get_name(id)
|
||||||
|
local harpoon_mark = harpoon.get_index_of(buf_name)
|
||||||
|
if harpoon_mark == nil then
|
||||||
|
return 999999
|
||||||
|
end
|
||||||
|
return harpoon_mark
|
||||||
|
end
|
||||||
|
return get_local_mark(buffer_a.id) < get_local_mark(buffer_b.id)
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
keys = {
|
||||||
|
{ '<S-h>', '<cmd>BufferLineCyclePrev<cr>', desc = 'Prev buffer' },
|
||||||
|
{ '<S-l>', '<cmd>BufferLineCycleNext<cr>', desc = 'Next buffer' },
|
||||||
|
{ '[b', '<cmd>BufferLineCyclePrev<cr>', desc = 'Prev buffer' },
|
||||||
|
{ ']b', '<cmd>BufferLineCycleNext<cr>', desc = 'Next buffer' },
|
||||||
|
},
|
||||||
|
-- config = function()
|
||||||
|
--
|
||||||
|
-- end,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
@ -8,8 +8,8 @@ return {
|
||||||
},
|
},
|
||||||
config = function(_, opts)
|
config = function(_, opts)
|
||||||
require('gruber-darker').setup(opts)
|
require('gruber-darker').setup(opts)
|
||||||
vim.cmd.colorscheme 'gruber-darker'
|
-- vim.cmd.colorscheme 'gruber-darker'
|
||||||
vim.cmd.hi 'Comment gui=none'
|
-- vim.cmd.hi 'Comment gui=none'
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
@ -19,19 +19,19 @@ return {
|
||||||
-- priority = 1000,
|
-- priority = 1000,
|
||||||
-- configure and set on startup
|
-- configure and set on startup
|
||||||
config = function()
|
config = function()
|
||||||
vim.g.adwaita_darker = true -- for darker version
|
-- vim.g.adwaita_darker = true -- for darker version
|
||||||
vim.g.adwaita_disable_cursorline = true -- to disable cursorline
|
-- vim.g.adwaita_disable_cursorline = true -- to disable cursorline
|
||||||
vim.g.adwaita_transparent = true -- makes the background transparent
|
-- vim.g.adwaita_transparent = true -- makes the background transparent
|
||||||
-- vim.cmd.colorscheme 'adwaita'
|
-- vim.cmd.colorscheme 'adwaita'
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
'HoNamDuong/hybrid.nvim',
|
'HoNamDuong/hybrid.nvim',
|
||||||
lazy = false,
|
lazy = true,
|
||||||
priority = 1000,
|
-- priority = 1000,
|
||||||
config = function()
|
config = function()
|
||||||
vim.cmd.colorscheme 'hybrid'
|
-- vim.cmd.colorscheme 'hybrid'
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
@ -43,4 +43,39 @@ return {
|
||||||
-- vim.cmd.colorscheme 'kanagawa-dragon'
|
-- vim.cmd.colorscheme 'kanagawa-dragon'
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
'ellisonleao/gruvbox.nvim',
|
||||||
|
lazy = false,
|
||||||
|
priority = 1000,
|
||||||
|
opts = {
|
||||||
|
terminal_colors = true, -- add neovim terminal colors
|
||||||
|
undercurl = true,
|
||||||
|
underline = true,
|
||||||
|
bold = true,
|
||||||
|
italic = {
|
||||||
|
strings = true,
|
||||||
|
emphasis = true,
|
||||||
|
comments = true,
|
||||||
|
operators = false,
|
||||||
|
folds = true,
|
||||||
|
},
|
||||||
|
strikethrough = true,
|
||||||
|
invert_selection = false,
|
||||||
|
invert_signs = false,
|
||||||
|
invert_tabline = false,
|
||||||
|
invert_intend_guides = false,
|
||||||
|
inverse = true, -- invert background for search, diffs, statuslines and errors
|
||||||
|
contrast = '', -- can be "hard", "soft" or empty string
|
||||||
|
palette_overrides = {},
|
||||||
|
overrides = {},
|
||||||
|
dim_inactive = false,
|
||||||
|
transparent_mode = false,
|
||||||
|
},
|
||||||
|
config = function(_, opts)
|
||||||
|
vim.o.background = 'dark'
|
||||||
|
vim.cmd.colorscheme 'gruvbox'
|
||||||
|
require('gruvbox').setup(opts)
|
||||||
|
end,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ return {
|
||||||
-- languages here or re-enable it for the disabled ones.
|
-- languages here or re-enable it for the disabled ones.
|
||||||
local disable_filetypes = { c = true, cpp = true }
|
local disable_filetypes = { c = true, cpp = true }
|
||||||
return {
|
return {
|
||||||
timeout_ms = 5000,
|
timeout_ms = 7500,
|
||||||
lsp_fallback = not disable_filetypes[vim.bo[bufnr].filetype],
|
lsp_fallback = not disable_filetypes[vim.bo[bufnr].filetype],
|
||||||
}
|
}
|
||||||
end,
|
end,
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ return {
|
||||||
}
|
}
|
||||||
vim.keymap.set('n', '<leader>sf', fzf.files, { desc = '[S]earch [F]iles' })
|
vim.keymap.set('n', '<leader>sf', fzf.files, { desc = '[S]earch [F]iles' })
|
||||||
vim.keymap.set('n', '<leader>sk', fzf.keymaps, { desc = '[S]earch [K]eymaps' })
|
vim.keymap.set('n', '<leader>sk', fzf.keymaps, { desc = '[S]earch [K]eymaps' })
|
||||||
vim.keymap.set('n', '<leader>ss', fzf.builtin, { desc = '[S]earch [S]elect Telescope' })
|
vim.keymap.set('n', '<leader>ss', fzf.builtin, { desc = '[S]earch [S]elect' })
|
||||||
vim.keymap.set('n', '<leader>sg', fzf.live_grep, { desc = '[S]earch by [G]rep' })
|
vim.keymap.set('n', '<leader>sg', fzf.live_grep, { desc = '[S]earch by [G]rep' })
|
||||||
vim.keymap.set('n', '<leader>sd', fzf.diagnostics_document, { desc = '[S]earch [D]iagnostics' })
|
vim.keymap.set('n', '<leader>sd', fzf.diagnostics_document, { desc = '[S]earch [D]iagnostics' })
|
||||||
vim.keymap.set('n', '<leader>sr', fzf.resume, { desc = '[S]earch [R]esume' })
|
vim.keymap.set('n', '<leader>sr', fzf.resume, { desc = '[S]earch [R]esume' })
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
return {
|
return {
|
||||||
{ -- Add indentation guides even on blank lines
|
{ -- Add indentation guides even on blank lines
|
||||||
'lukas-reineke/indent-blankline.nvim',
|
'lukas-reineke/indent-blankline.nvim',
|
||||||
|
event = 'BufRead',
|
||||||
-- Enable `lukas-reineke/indent-blankline.nvim`
|
-- Enable `lukas-reineke/indent-blankline.nvim`
|
||||||
-- See `:help ibl`
|
-- See `:help ibl`
|
||||||
main = 'ibl',
|
main = 'ibl',
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ return {
|
||||||
|
|
||||||
-- Useful status updates for LSP.
|
-- Useful status updates for LSP.
|
||||||
-- NOTE: `opts = {}` is the same as calling `require('fidget').setup({})`
|
-- NOTE: `opts = {}` is the same as calling `require('fidget').setup({})`
|
||||||
{ 'j-hui/fidget.nvim', opts = {} },
|
-- { 'j-hui/fidget.nvim', opts = {} },
|
||||||
|
|
||||||
-- Allows extra capabilities provided by nvim-cmp
|
-- Allows extra capabilities provided by nvim-cmp
|
||||||
'hrsh7th/cmp-nvim-lsp',
|
'hrsh7th/cmp-nvim-lsp',
|
||||||
|
|
@ -100,7 +100,7 @@ return {
|
||||||
map('gI', require('fzf-lua').lsp_implementations, '[G]oto [I]mplementation')
|
map('gI', require('fzf-lua').lsp_implementations, '[G]oto [I]mplementation')
|
||||||
map('<leader>D', require('fzf-lua').lsp_typedefs, 'Type [D]efinition')
|
map('<leader>D', require('fzf-lua').lsp_typedefs, 'Type [D]efinition')
|
||||||
map('<leader>ds', require('fzf-lua').lsp_document_symbols, '[D]ocument [S]ymbols')
|
map('<leader>ds', require('fzf-lua').lsp_document_symbols, '[D]ocument [S]ymbols')
|
||||||
map('<leader>ws', require('fzf-lua').lsp_live_workspace_symbols, '[W]orkspace [S]ymbols')
|
map('<leader>ps', require('fzf-lua').lsp_live_workspace_symbols, '[W]orkspace [S]ymbols')
|
||||||
|
|
||||||
-- Rename the variable under your cursor.
|
-- Rename the variable under your cursor.
|
||||||
-- Most Language Servers support renaming across files, etc.
|
-- Most Language Servers support renaming across files, etc.
|
||||||
|
|
@ -148,7 +148,7 @@ return {
|
||||||
--
|
--
|
||||||
-- This may be unwanted, since they displace some of your code
|
-- This may be unwanted, since they displace some of your code
|
||||||
if client and client.supports_method(vim.lsp.protocol.Methods.textDocument_inlayHint) then
|
if client and client.supports_method(vim.lsp.protocol.Methods.textDocument_inlayHint) then
|
||||||
map('<leader>th', function()
|
map('<leader>tlh', function()
|
||||||
vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled { bufnr = event.buf })
|
vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled { bufnr = event.buf })
|
||||||
end, '[T]oggle Inlay [H]ints')
|
end, '[T]oggle Inlay [H]ints')
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,31 @@
|
||||||
return {
|
return {
|
||||||
|
-- {
|
||||||
|
-- 'OXY2DEV/markview.nvim',
|
||||||
|
-- lazy = true,
|
||||||
|
-- ft = 'markdown',
|
||||||
|
-- dependencies = {
|
||||||
|
-- 'nvim-treesitter/nvim-treesitter',
|
||||||
|
-- 'nvim-tree/nvim-web-devicons',
|
||||||
|
-- },
|
||||||
|
-- opts = {
|
||||||
|
-- modes = { 'n', 'no', 'i', 'c' },
|
||||||
|
-- hybrid_modes = { 'i' },
|
||||||
|
-- callbacks = {
|
||||||
|
-- on_enable = function(_, win)
|
||||||
|
-- vim.wo[win].conceallevel = 2
|
||||||
|
-- vim.wo[win].concealcursor = ''
|
||||||
|
-- end,
|
||||||
|
-- },
|
||||||
|
-- },
|
||||||
|
-- },
|
||||||
{
|
{
|
||||||
'OXY2DEV/markview.nvim',
|
'MeanderingProgrammer/render-markdown.nvim',
|
||||||
lazy = true,
|
lazy = true,
|
||||||
ft = 'markdown',
|
ft = 'markdown',
|
||||||
dependencies = {
|
opts = {
|
||||||
'nvim-treesitter/nvim-treesitter',
|
enabled = true,
|
||||||
'nvim-tree/nvim-web-devicons',
|
|
||||||
},
|
},
|
||||||
|
dependencies = { 'nvim-treesitter/nvim-treesitter', 'echasnovski/mini.icons' }, -- if you use the mini.nvim suite
|
||||||
|
-- dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-tree/nvim-web-devicons' }, -- if you prefer nvim-web-devicons
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -62,20 +62,25 @@ return {
|
||||||
{
|
{
|
||||||
'echasnovski/mini-git',
|
'echasnovski/mini-git',
|
||||||
main = 'mini.git',
|
main = 'mini.git',
|
||||||
|
cmd = { 'Git' },
|
||||||
version = false,
|
version = false,
|
||||||
config = true,
|
config = true,
|
||||||
keys = {
|
keys = {
|
||||||
{ '<leader>gs', '<cmd>lua MiniGit.show_at_cursor()<cr>', mode = 'n' },
|
{ '<leader>gc', '<cmd>Git commit<cr>', desc = '[G]it [C]ommit' },
|
||||||
{ '<leader>gs', '<cmd>lua MiniGit.show_at_cursor()<cr>', mode = 'x' },
|
{ '<leader>gC', '<cmd>Git commit --amend<cr>', desc = '[G]it [C]ommit (Amend)' },
|
||||||
|
{ '<leader>gl', '<cmd>Git log --oneline<cr>', desc = '[G]it [L]og' },
|
||||||
|
{ '<leader>gl', '<cmd>Git log --oneline --follow -- %<cr>', desc = '[G]it [L]og Buffer' },
|
||||||
|
{ '<leader>gs', '<cmd>lua MiniGit.show_at_cursor()<cr>', mode = 'n', desc = '[G]it [S]how' },
|
||||||
|
{ '<leader>gs', '<cmd>lua MiniGit.show_at_cursor()<cr>', mode = 'x', desc = '[G]it [S]how' },
|
||||||
|
{ '<leader>ga', '<cmd>Git add -- %<cr>', desc = '[G]it [A]dd' },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'echasnovski/mini.diff',
|
||||||
|
version = false,
|
||||||
|
config = true,
|
||||||
|
keys = {
|
||||||
|
{ '<leader>go', '<cmd>lua MiniDiff.toggle_overlay()<cr>' },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
-- {
|
|
||||||
-- 'echasnovski/mini.comment',
|
|
||||||
-- version = false,
|
|
||||||
-- config = true,
|
|
||||||
-- keys = {
|
|
||||||
-- 'gc',
|
|
||||||
-- 'gcc',
|
|
||||||
-- },
|
|
||||||
-- },
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -13,9 +13,9 @@ return {
|
||||||
lazy = true,
|
lazy = true,
|
||||||
keys = {
|
keys = {
|
||||||
{
|
{
|
||||||
'<leader>gg',
|
'<leader>gt',
|
||||||
':Neogit<CR>',
|
':Neogit<cr>',
|
||||||
desc = 'Neo[g]it',
|
desc = 'Neo[g]i[t]',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
'nacro90/numb.nvim',
|
'nacro90/numb.nvim',
|
||||||
event = 'VimEnter',
|
event = 'BufRead',
|
||||||
config = true,
|
config = true,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
'kevinhwang91/nvim-ufo',
|
'kevinhwang91/nvim-ufo',
|
||||||
|
event = 'BufRead',
|
||||||
dependencies = {
|
dependencies = {
|
||||||
{ 'kevinhwang91/promise-async' },
|
{ 'kevinhwang91/promise-async' },
|
||||||
},
|
},
|
||||||
|
|
@ -4,6 +4,7 @@ return {
|
||||||
dependencies = { { 'echasnovski/mini.icons', opts = {} } },
|
dependencies = { { 'echasnovski/mini.icons', opts = {} } },
|
||||||
cmd = { 'Oil' },
|
cmd = { 'Oil' },
|
||||||
opts = {
|
opts = {
|
||||||
|
columns = {},
|
||||||
default_file_explorer = true,
|
default_file_explorer = true,
|
||||||
restore_win_options = true,
|
restore_win_options = true,
|
||||||
use_default_keymaps = false,
|
use_default_keymaps = false,
|
||||||
|
|
@ -46,7 +47,7 @@ return {
|
||||||
'permissions',
|
'permissions',
|
||||||
'size',
|
'size',
|
||||||
'mtime',
|
'mtime',
|
||||||
'icon',
|
-- 'icon',
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
oil.set_columns {}
|
oil.set_columns {}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
'HiPhish/rainbow-delimiters.nvim',
|
'HiPhish/rainbow-delimiters.nvim',
|
||||||
event = 'VimEnter',
|
event = 'BufRead',
|
||||||
config = function()
|
config = function()
|
||||||
local rainbow_delimiters = require 'rainbow-delimiters'
|
local rainbow_delimiters = require 'rainbow-delimiters'
|
||||||
|
|
||||||
|
|
|
||||||
62
lua/rayandrew/plugins/resession.lua
Normal file
62
lua/rayandrew/plugins/resession.lua
Normal file
|
|
@ -0,0 +1,62 @@
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
'stevearc/resession.nvim',
|
||||||
|
lazy = false,
|
||||||
|
cond = false,
|
||||||
|
keys = {
|
||||||
|
{ '<leader>ps', ":lua require('resession').save()<CR>", desc = '[S]ave [S]ession' },
|
||||||
|
{ '<leader>pl', ":lua require('resession').load()<CR>", desc = '[L]oad [S]ession' },
|
||||||
|
{ '<leader>pd', ":lua require('resession').delete()<CR>", desc = '[D]elete [S]ession' },
|
||||||
|
},
|
||||||
|
opts = {
|
||||||
|
tab_buf_filter = function(tabpage, bufnr)
|
||||||
|
local dir = vim.fn.getcwd(-1, vim.api.nvim_tabpage_get_number(tabpage))
|
||||||
|
-- ensure dir has trailing /
|
||||||
|
dir = dir:sub(-1) ~= '/' and dir .. '/' or dir
|
||||||
|
return vim.startswith(vim.api.nvim_buf_get_name(bufnr), dir)
|
||||||
|
end,
|
||||||
|
-- override default filter
|
||||||
|
buf_filter = function(bufnr)
|
||||||
|
local buftype = vim.bo[bufnr].buftype
|
||||||
|
if buftype == 'help' then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
if buftype ~= '' and buftype ~= 'acwrite' then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
if vim.api.nvim_buf_get_name(bufnr) == '' then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
-- this is required, since the default filter skips nobuflisted buffers
|
||||||
|
return true
|
||||||
|
end,
|
||||||
|
extensions = { scope = {} },
|
||||||
|
},
|
||||||
|
config = function(_, opts)
|
||||||
|
local resession = require 'resession'
|
||||||
|
resession.setup(opts)
|
||||||
|
vim.api.nvim_create_autocmd('VimEnter', {
|
||||||
|
callback = function()
|
||||||
|
-- Only load the session if nvim was started with no args
|
||||||
|
if vim.fn.argc(-1) == 0 then
|
||||||
|
-- Save these to a different directory, so our manual sessions don't get polluted
|
||||||
|
resession.load(vim.fn.getcwd(), { dir = 'dirsession', silence_errors = true })
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
nested = true,
|
||||||
|
})
|
||||||
|
vim.api.nvim_create_autocmd('VimLeavePre', {
|
||||||
|
callback = function()
|
||||||
|
resession.save(vim.fn.getcwd(), { dir = 'dirsession', notify = false })
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
vim.api.nvim_create_autocmd('VimLeavePre', {
|
||||||
|
callback = function()
|
||||||
|
-- Always save a special session named "last"
|
||||||
|
resession.save 'last'
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
}
|
||||||
8
lua/rayandrew/plugins/scope.lua
Normal file
8
lua/rayandrew/plugins/scope.lua
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
'tiagovla/scope.nvim',
|
||||||
|
cond = false,
|
||||||
|
config = true,
|
||||||
|
-- event = 'VimEnter',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
@ -7,7 +7,16 @@ return {
|
||||||
'TmuxNavigateUp',
|
'TmuxNavigateUp',
|
||||||
'TmuxNavigateRight',
|
'TmuxNavigateRight',
|
||||||
},
|
},
|
||||||
keys = { '<C-h>', '<C-j>', '<C-k>', '<C-l>' },
|
keys = {
|
||||||
|
'<C-h>',
|
||||||
|
'<C-j>',
|
||||||
|
'<C-k>',
|
||||||
|
'<C-l>',
|
||||||
|
-- { '<leader>wh', '<cmd>TmuxNavigateLeft<cr>', desc = 'Navigate to the left' },
|
||||||
|
-- { '<leader>wj', '<cmd>TmuxNavigateDown<cr>', desc = 'Navigate down' },
|
||||||
|
-- { '<leader>wk', '<cmd>TmuxNavigateUp<cr>', desc = 'Navigate up' },
|
||||||
|
-- { '<leader>wl', '<cmd>TmuxNavigateRight<cr>', desc = 'Navigate to the right' },
|
||||||
|
},
|
||||||
config = function()
|
config = function()
|
||||||
vim.g.tmux_navigator_no_wrap = 1
|
vim.g.tmux_navigator_no_wrap = 1
|
||||||
end,
|
end,
|
||||||
|
|
|
||||||
21
lua/rayandrew/plugins/toggleterm.lua
Normal file
21
lua/rayandrew/plugins/toggleterm.lua
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
'akinsho/toggleterm.nvim',
|
||||||
|
version = '*',
|
||||||
|
opts = {
|
||||||
|
size = function(term)
|
||||||
|
if term.direction == 'horizontal' then
|
||||||
|
return 15
|
||||||
|
elseif term.direction == 'vertical' then
|
||||||
|
return vim.o.columns * 0.5
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
on_open = function(_)
|
||||||
|
vim.cmd 'startinsert!'
|
||||||
|
-- vim.api.nvim_buf_set_keymap(term.bufnr, 't', '<esc>', '<esc>', { noremap = true, silent = true, nowait = true })
|
||||||
|
-- vim.api.nvim_buf_set_keymap(term.bufnr, 't', '<C-[>', '<esc>', { noremap = true, silent = true, nowait = true })
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
config = true,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
return {
|
return {
|
||||||
{ -- Highlight, edit, and navigate code
|
{ -- Highlight, edit, and navigate code
|
||||||
'nvim-treesitter/nvim-treesitter',
|
'nvim-treesitter/nvim-treesitter',
|
||||||
|
event = 'BufRead',
|
||||||
build = ':TSUpdate',
|
build = ':TSUpdate',
|
||||||
opts = {
|
opts = {
|
||||||
ensure_installed = { 'bash', 'c', 'diff', 'html', 'lua', 'luadoc', 'markdown', 'markdown_inline', 'query', 'vim', 'vimdoc' },
|
ensure_installed = { 'bash', 'c', 'diff', 'html', 'lua', 'luadoc', 'markdown', 'markdown_inline', 'query', 'vim', 'vimdoc' },
|
||||||
|
|
|
||||||
43
lua/rayandrew/term.lua
Normal file
43
lua/rayandrew/term.lua
Normal file
|
|
@ -0,0 +1,43 @@
|
||||||
|
local M = {}
|
||||||
|
|
||||||
|
local create_lazygit = function(direction)
|
||||||
|
local Terminal = require('toggleterm.terminal').Terminal
|
||||||
|
local utils = require 'rayandrew.utils'
|
||||||
|
|
||||||
|
local lazygit = Terminal:new {
|
||||||
|
cmd = 'lazygit',
|
||||||
|
hidden = true,
|
||||||
|
direction = direction,
|
||||||
|
dir = utils.get_project_root(),
|
||||||
|
float_opts = {
|
||||||
|
border = 'double',
|
||||||
|
},
|
||||||
|
|
||||||
|
on_open = function(term)
|
||||||
|
vim.cmd 'startinsert!'
|
||||||
|
vim.api.nvim_buf_set_keymap(term.bufnr, 'n', 'q', '<cmd>close<CR>', { noremap = true, silent = true })
|
||||||
|
vim.api.nvim_buf_set_keymap(term.bufnr, 't', '<esc>', '<esc>', { noremap = true, silent = true, nowait = true })
|
||||||
|
vim.api.nvim_buf_set_keymap(term.bufnr, 't', '<C-[>', '<esc>', { noremap = true, silent = true, nowait = true })
|
||||||
|
|
||||||
|
-- vim.keymap.set('t', '<esc>', '<esc>', { buffer = buf, nowait = true })
|
||||||
|
end,
|
||||||
|
-- function to run on closing the terminal
|
||||||
|
on_close = function(_)
|
||||||
|
vim.cmd 'startinsert!'
|
||||||
|
end,
|
||||||
|
}
|
||||||
|
return lazygit
|
||||||
|
end
|
||||||
|
|
||||||
|
function M.lazygit()
|
||||||
|
local lazygit = create_lazygit 'vertical'
|
||||||
|
lazygit:toggle()
|
||||||
|
end
|
||||||
|
|
||||||
|
function M.lazygit_float()
|
||||||
|
local lazygit = create_lazygit 'float'
|
||||||
|
lazygit:toggle()
|
||||||
|
-- require('rayandrew.utils').float_term({ 'lazygit' }, { esc_esc = false, ctrl_hjkl = false })
|
||||||
|
end
|
||||||
|
|
||||||
|
return M
|
||||||
|
|
@ -8,4 +8,52 @@ M.is_argonne_servers = function()
|
||||||
return _is_argonne_servers
|
return _is_argonne_servers
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local terminals = {}
|
||||||
|
|
||||||
|
function M.float_term(cmd, opts)
|
||||||
|
opts = vim.tbl_deep_extend('force', {
|
||||||
|
ft = 'lazyterm',
|
||||||
|
size = { width = 0.9, height = 0.9 },
|
||||||
|
}, opts or {}, { persistent = true })
|
||||||
|
---@cast opts LazyCmdOptions|{interactive?:boolean, esc_esc?:false}
|
||||||
|
|
||||||
|
local termkey = vim.inspect {
|
||||||
|
cmd = cmd or 'shell',
|
||||||
|
cwd = opts.cwd,
|
||||||
|
env = opts.env,
|
||||||
|
count = vim.v.count1,
|
||||||
|
}
|
||||||
|
|
||||||
|
if terminals[termkey] and terminals[termkey]:buf_valid() then
|
||||||
|
terminals[termkey]:toggle()
|
||||||
|
else
|
||||||
|
terminals[termkey] = require('lazy.util').float_term(cmd, opts)
|
||||||
|
local buf = terminals[termkey].buf
|
||||||
|
vim.b[buf].lazyterm_cmd = cmd
|
||||||
|
if opts.esc_esc == false then
|
||||||
|
vim.keymap.set('t', '<esc>', '<esc>', { buffer = buf, nowait = true })
|
||||||
|
end
|
||||||
|
if opts.ctrl_hjkl == false then
|
||||||
|
vim.keymap.set('t', '<c-h>', '<c-h>', { buffer = buf, nowait = true })
|
||||||
|
vim.keymap.set('t', '<c-j>', '<c-j>', { buffer = buf, nowait = true })
|
||||||
|
vim.keymap.set('t', '<c-k>', '<c-k>', { buffer = buf, nowait = true })
|
||||||
|
vim.keymap.set('t', '<c-l>', '<c-l>', { buffer = buf, nowait = true })
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd('BufEnter', {
|
||||||
|
buffer = buf,
|
||||||
|
callback = function()
|
||||||
|
vim.cmd.startinsert()
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
return terminals[termkey]
|
||||||
|
end
|
||||||
|
|
||||||
|
function M.get_project_root()
|
||||||
|
local lsp = require 'lspconfig'
|
||||||
|
return lsp.util.root_pattern('.git', 'pyproject.toml', '.envrc')()
|
||||||
|
end
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue