diff --git a/nvim/config/lazygit.lua b/nvim/config/lazygit.lua new file mode 100644 index 0000000..6e53f99 --- /dev/null +++ b/nvim/config/lazygit.lua @@ -0,0 +1,2 @@ +require('lazygit') +vim.keymap.set('n', "lg", "LazyGit", { desc = "LazyGit" }) diff --git a/nvim/config/presisted.lua b/nvim/config/presisted.lua new file mode 100644 index 0000000..590b82c --- /dev/null +++ b/nvim/config/presisted.lua @@ -0,0 +1,20 @@ +require("persisted").setup({ + telescope = { + mappings = { -- Mappings for managing sessions in Telescope + copy_session = "", + change_branch = "", + delete_session = "", + }, + icons = { -- icons displayed in the Telescope picker + selected = " ", + dir = " ", + branch = " ", + }, + }, + follow_cwd = true, -- Change the session file to match any change in the cwd? + use_git_branch = true, -- Include the git branch in the session file name? +}) + + + + diff --git a/nvim/config/sessions.lua b/nvim/config/sessions.lua new file mode 100644 index 0000000..6a740f8 --- /dev/null +++ b/nvim/config/sessions.lua @@ -0,0 +1,5 @@ +require("sessions").setup({ + events = { "WinEnter" }, + session_filepath = "~/dotfiles/nvim/sessions/", + absolute = false, +}) diff --git a/nvim/config/telescope.lua b/nvim/config/telescope.lua new file mode 100644 index 0000000..86ab3a2 --- /dev/null +++ b/nvim/config/telescope.lua @@ -0,0 +1,18 @@ +local telescope = require('telescope') +telescope.setup({ + defaults = { + … + }, + extensions = { + persisted = { + layout_config = { width = 0.55, height = 0.55 } + } + } +}) +telescope.load_extension("persisted") +local builtin = require('telescope.builtin') +vim.keymap.set('n', 'ff', builtin.find_files, { desc = 'Telescope find files' }) +vim.keymap.set('n', 'fg', builtin.live_grep, { desc = 'Telescope live grep' }) +vim.keymap.set('n', 'fb', builtin.buffers, { desc = 'Telescope buffers' }) +vim.keymap.set('n', 'fh', builtin.help_tags, { desc = 'Telescope help tags' }) +vim.keymap.set('n', 'fs', 'Telescope persisted') diff --git a/nvim/init.lua b/nvim/init.lua index 27ca325..73c9a40 100644 --- a/nvim/init.lua +++ b/nvim/init.lua @@ -18,4 +18,5 @@ pack.setup("doloro.plugins") vim.lsp.enable('lua_ls', 'rust_analyzer', 'superhtml') -- vim.notify('config loaded', vim.log.levels.INFO) -vim.keymap.set('n', 'f', ':NvimTreeFocus') + +vim.keymap.set('n', 'v', ':NvimTreeFocus') diff --git a/nvim/lua/doloro/init.lua b/nvim/lua/doloro/init.lua index e69de29..58ae155 100644 --- a/nvim/lua/doloro/init.lua +++ b/nvim/lua/doloro/init.lua @@ -0,0 +1 @@ +vim.o.sessionoptions = "buffers,curdir,folds,globals,tabpages,winpos,winsize" diff --git a/nvim/lua/doloro/plugins.lua b/nvim/lua/doloro/plugins.lua index f2a2638..b47538a 100644 --- a/nvim/lua/doloro/plugins.lua +++ b/nvim/lua/doloro/plugins.lua @@ -1,5 +1,6 @@ return { "neovim/nvim-lspconfig", + "nvim-lua/plenary.nvim", { "nvim-tree/nvim-tree.lua", event = "UIEnter", name="nvim-tree" }, -- mini stuff "nvim-mini/mini.notify", @@ -7,8 +8,12 @@ return { "nvim-mini/mini.tabline", "nvim-mini/mini.statusline", "nvim-mini/mini.completion", + { "nvim-telescope/telescope.nvim", event = "BufReadPre", name="telescope"}, "nvim-mini/mini.comment", - "nvim-mini/mini.starter", - "nvim-mini/mini.sessions", - { "rmagatti/auto-session", name="autosession"}, + { "kdheepak/lazygit.nvim", name="lazygit" }, + -- "nvim-mini/mini.starter", + -- "nvim-mini/mini.sessions", + -- "natecraddock/sessions.nvim" + { "olimorris/persisted.nvim", event = "BufReadPre", name="persisted" }, + -- { "rmagatti/auto-session", name="autosession"}, } diff --git a/nvim/meow b/nvim/sessions/home.doloro.dotfiles.nvim.session similarity index 86% rename from nvim/meow rename to nvim/sessions/home.doloro.dotfiles.nvim.session index dfe4ef0..5e7522c 100644 --- a/nvim/meow +++ b/nvim/sessions/home.doloro.dotfiles.nvim.session @@ -9,14 +9,16 @@ if expand('%') == '' && !&modified && line('$') <= 1 && getline(1) == '' endif let s:shortmess_save = &shortmess set shortmess+=aoO -badd +1 config/mini.sessions.lua -badd +0 lua/doloro/init.lua +badd +5 config/sessions.lua +badd +1 sessions/home.doloro.dotfiles.nvim.session +badd +11 lua/doloro/plugins.lua argglobal %argdel +$argadd NvimTree_1 argglobal enew file NvimTree_1 -balt config/mini.sessions.lua +balt config/sessions.lua setlocal foldmethod=manual setlocal foldexpr=0 setlocal foldmarker={{{,}}} @@ -25,6 +27,7 @@ setlocal foldlevel=0 setlocal foldminlines=1 setlocal foldnestmax=20 setlocal nofoldenable +lcd ~/dotfiles/nvim tabnext 1 if exists('s:wipebuf') && len(win_findbuf(s:wipebuf)) == 0 && getbufvar(s:wipebuf, '&buftype') isnot# 'terminal' silent exe 'bwipe ' . s:wipebuf diff --git a/nvim/sessions/meowmeow.vim b/nvim/sessions/meowmeow.vim index e17cc0a..ec4ac76 100644 --- a/nvim/sessions/meowmeow.vim +++ b/nvim/sessions/meowmeow.vim @@ -9,9 +9,34 @@ if expand('%') == '' && !&modified && line('$') <= 1 && getline(1) == '' endif let s:shortmess_save = &shortmess set shortmess+=aoO -badd +3 dotfiles/nvim/lua/doloro/plugins.lua +badd +13 dotfiles/nvim/lua/doloro/plugins.lua +badd +21 dotfiles/nvim/config/mini.sessions.lua +badd +1 dotfiles/nvim/config/sessions.lua argglobal %argdel +edit dotfiles/nvim/config/sessions.lua +let s:save_splitbelow = &splitbelow +let s:save_splitright = &splitright +set splitbelow splitright +wincmd _ | wincmd | +vsplit +wincmd _ | wincmd | +vsplit +2wincmd h +wincmd w +wincmd w +let &splitbelow = s:save_splitbelow +let &splitright = s:save_splitright +wincmd t +let s:save_winminheight = &winminheight +let s:save_winminwidth = &winminwidth +set winminheight=0 +set winheight=1 +set winminwidth=0 +set winwidth=1 +exe 'vert 1resize ' . ((&columns * 30 + 106) / 212) +exe 'vert 2resize ' . ((&columns * 90 + 106) / 212) +exe 'vert 3resize ' . ((&columns * 90 + 106) / 212) argglobal enew file NvimTree_1 @@ -24,6 +49,52 @@ setlocal foldlevel=0 setlocal foldminlines=1 setlocal foldnestmax=20 setlocal nofoldenable +lcd ~/dotfiles +wincmd w +argglobal +balt ~/dotfiles/nvim/lua/doloro/plugins.lua +setlocal foldmethod=manual +setlocal foldexpr=v:lua.vim.treesitter.foldexpr() +setlocal foldmarker={{{,}}} +setlocal foldignore=# +setlocal foldlevel=0 +setlocal foldminlines=1 +setlocal foldnestmax=20 +setlocal foldenable +silent! normal! zE +let &fdl = &fdl +let s:l = 1 - ((0 * winheight(0) + 25) / 51) +if s:l < 1 | let s:l = 1 | endif +keepjumps exe s:l +normal! zt +keepjumps 1 +normal! 027| +wincmd w +argglobal +enew | setl bt=help +help MiniSessions.config@en +balt ~/dotfiles/nvim/config/mini.sessions.lua +setlocal foldmethod=manual +setlocal foldexpr=0 +setlocal foldmarker={{{,}}} +setlocal foldignore=# +setlocal foldlevel=0 +setlocal foldminlines=1 +setlocal foldnestmax=20 +setlocal nofoldenable +silent! normal! zE +let &fdl = &fdl +let s:l = 29 - ((28 * winheight(0) + 25) / 51) +if s:l < 1 | let s:l = 1 | endif +keepjumps exe s:l +normal! zt +keepjumps 29 +normal! 060| +wincmd w +2wincmd w +exe 'vert 1resize ' . ((&columns * 30 + 106) / 212) +exe 'vert 2resize ' . ((&columns * 90 + 106) / 212) +exe 'vert 3resize ' . ((&columns * 90 + 106) / 212) tabnext 1 if exists('s:wipebuf') && len(win_findbuf(s:wipebuf)) == 0 && getbufvar(s:wipebuf, '&buftype') isnot# 'terminal' silent exe 'bwipe ' . s:wipebuf @@ -31,12 +102,15 @@ endif unlet! s:wipebuf set winheight=1 winwidth=20 let &shortmess = s:shortmess_save +let &winminheight = s:save_winminheight +let &winminwidth = s:save_winminwidth let s:sx = expand(":p:r")."x.vim" if filereadable(s:sx) exe "source " . fnameescape(s:sx) endif let &g:so = s:so_save | let &g:siso = s:siso_save set hlsearch +nohlsearch doautoall SessionLoadPost unlet SessionLoad " vim: set ft=vim : diff --git a/nvim/sessions/test b/nvim/sessions/test index 05b4e22..595aa03 100644 --- a/nvim/sessions/test +++ b/nvim/sessions/test @@ -9,11 +9,11 @@ if expand('%') == '' && !&modified && line('$') <= 1 && getline(1) == '' endif let s:shortmess_save = &shortmess set shortmess+=aoO +badd +1 ministarter://1/welcome argglobal %argdel +edit ministarter://1/welcome argglobal -enew -file ministarter://1/welcome setlocal foldmethod=manual setlocal foldexpr=0 setlocal foldmarker={{{,}}} @@ -22,6 +22,14 @@ setlocal foldlevel=999 setlocal foldminlines=1 setlocal foldnestmax=20 setlocal foldenable +silent! normal! zE +let &fdl = &fdl +let s:l = 1 - ((0 * winheight(0) + 25) / 51) +if s:l < 1 | let s:l = 1 | endif +keepjumps exe s:l +normal! zt +keepjumps 1 +normal! 022| tabnext 1 if exists('s:wipebuf') && len(win_findbuf(s:wipebuf)) == 0 && getbufvar(s:wipebuf, '&buftype') isnot# 'terminal' silent exe 'bwipe ' . s:wipebuf