added auto-session support
This commit is contained in:
parent
fca859c4cb
commit
78c1905cab
1
after/plugin/session.lua
Normal file
1
after/plugin/session.lua
Normal file
@ -0,0 +1 @@
|
|||||||
|
vim.o.sessionoptions = "blank,buffers,curdir,folds,help,tabpages,winsize,winpos,terminal,localoptions"
|
@ -2,5 +2,6 @@ local builtin = require('telescope.builtin')
|
|||||||
vim.keymap.set('n', '<leader>pf', builtin.find_files, { desc = 'Telescope find files' })
|
vim.keymap.set('n', '<leader>pf', builtin.find_files, { desc = 'Telescope find files' })
|
||||||
vim.keymap.set('n', '<C-p>', builtin.git_files, {})
|
vim.keymap.set('n', '<C-p>', builtin.git_files, {})
|
||||||
vim.keymap.set('n', '<leader>ps', function()
|
vim.keymap.set('n', '<leader>ps', function()
|
||||||
builtin.grep_string({ search = vim.fn.input("Grep > ") })
|
-- builtin.grep_string({ search = vim.fn.input("Grep > ") })
|
||||||
|
builtin.live_grep()
|
||||||
end)
|
end)
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
{
|
{
|
||||||
|
"auto-session": { "branch": "main", "commit": "00334ee24b9a05001ad50221c8daffbeedaa0842" },
|
||||||
"cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
|
"cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
|
||||||
"cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" },
|
"cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" },
|
||||||
"cmp-nvim-lsp": { "branch": "main", "commit": "a8912b88ce488f411177fc8aed358b04dc246d7b" },
|
"cmp-nvim-lsp": { "branch": "main", "commit": "a8912b88ce488f411177fc8aed358b04dc246d7b" },
|
||||||
@ -6,13 +7,16 @@
|
|||||||
"cmp-vsnip": { "branch": "main", "commit": "989a8a73c44e926199bfd05fa7a516d51f2d2752" },
|
"cmp-vsnip": { "branch": "main", "commit": "989a8a73c44e926199bfd05fa7a516d51f2d2752" },
|
||||||
"conform.nvim": { "branch": "master", "commit": "2b2b30260203af3b93a7470ac6c8457ddd6e32d9" },
|
"conform.nvim": { "branch": "master", "commit": "2b2b30260203af3b93a7470ac6c8457ddd6e32d9" },
|
||||||
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
|
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
|
||||||
|
"mason-lspconfig.nvim": { "branch": "main", "commit": "d39a75bbce4b8aad5d627191ea915179c77c100f" },
|
||||||
|
"mason-null-ls.nvim": { "branch": "main", "commit": "de19726de7260c68d94691afb057fa73d3cc53e7" },
|
||||||
"mason.nvim": { "branch": "main", "commit": "888d6ee499d8089a3a4be4309d239d6be1c1e6c0" },
|
"mason.nvim": { "branch": "main", "commit": "888d6ee499d8089a3a4be4309d239d6be1c1e6c0" },
|
||||||
|
"none-ls.nvim": { "branch": "main", "commit": "90e4a27ccaa25979a6b732b9f06dfa43b54957b7" },
|
||||||
"nvim-autopairs": { "branch": "master", "commit": "4d74e75913832866aa7de35e4202463ddf6efd1b" },
|
"nvim-autopairs": { "branch": "master", "commit": "4d74e75913832866aa7de35e4202463ddf6efd1b" },
|
||||||
"nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" },
|
"nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" },
|
||||||
"nvim-lspconfig": { "branch": "master", "commit": "ac1dfbe3b60e5e23a2cff90e3bd6a3bc88031a57" },
|
"nvim-lspconfig": { "branch": "master", "commit": "ac1dfbe3b60e5e23a2cff90e3bd6a3bc88031a57" },
|
||||||
"nvim-tree.lua": { "branch": "master", "commit": "be5b788f2dc1522c73fb7afad9092331c8aebe80" },
|
"nvim-tree.lua": { "branch": "master", "commit": "be5b788f2dc1522c73fb7afad9092331c8aebe80" },
|
||||||
"nvim-treesitter": { "branch": "master", "commit": "066fd6505377e3fd4aa219e61ce94c2b8bdb0b79" },
|
"nvim-treesitter": { "branch": "master", "commit": "066fd6505377e3fd4aa219e61ce94c2b8bdb0b79" },
|
||||||
"nvim-web-devicons": { "branch": "master", "commit": "d360317f8f509b99229bb31d42269987696df6ff" },
|
"nvim-web-devicons": { "branch": "master", "commit": "1fb58cca9aebbc4fd32b086cb413548ce132c127" },
|
||||||
"outline.nvim": { "branch": "main", "commit": "321f89ef79f168a78685f70d70c52d0e7b563abb" },
|
"outline.nvim": { "branch": "main", "commit": "321f89ef79f168a78685f70d70c52d0e7b563abb" },
|
||||||
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
|
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
|
||||||
"telescope.nvim": { "branch": "master", "commit": "b4da76be54691e854d3e0e02c36b0245f945c2c7" },
|
"telescope.nvim": { "branch": "master", "commit": "b4da76be54691e854d3e0e02c36b0245f945c2c7" },
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
local function config_lsp()
|
local function config_lsp()
|
||||||
vim.lsp.enable("rust_analyzer")
|
vim.lsp.enable("rust_analyzer")
|
||||||
vim.lsp.enable("lua_ls")
|
|
||||||
end
|
end
|
||||||
|
|
||||||
return {
|
return {
|
||||||
@ -8,17 +7,17 @@ return {
|
|||||||
"neovim/nvim-lspconfig",
|
"neovim/nvim-lspconfig",
|
||||||
lazy = false, -- REQUIRED: tell lazy.nvim to start this plugin at startup
|
lazy = false, -- REQUIRED: tell lazy.nvim to start this plugin at startup
|
||||||
dependencies = {
|
dependencies = {
|
||||||
'neovim/nvim-lspconfig',
|
"neovim/nvim-lspconfig",
|
||||||
'hrsh7th/cmp-nvim-lsp',
|
"hrsh7th/cmp-nvim-lsp",
|
||||||
'hrsh7th/cmp-buffer',
|
"hrsh7th/cmp-buffer",
|
||||||
'hrsh7th/cmp-path',
|
"hrsh7th/cmp-path",
|
||||||
'hrsh7th/cmp-cmdline',
|
"hrsh7th/cmp-cmdline",
|
||||||
'hrsh7th/nvim-cmp',
|
"hrsh7th/nvim-cmp",
|
||||||
'hrsh7th/cmp-vsnip',
|
"hrsh7th/cmp-vsnip",
|
||||||
'hrsh7th/vim-vsnip'
|
"hrsh7th/vim-vsnip",
|
||||||
},
|
},
|
||||||
config = function()
|
config = function()
|
||||||
local cmp = require'cmp'
|
local cmp = require("cmp")
|
||||||
|
|
||||||
cmp.setup({
|
cmp.setup({
|
||||||
snippet = {
|
snippet = {
|
||||||
@ -42,21 +41,21 @@ return {
|
|||||||
-- documentation = cmp.config.window.bordered(),
|
-- documentation = cmp.config.window.bordered(),
|
||||||
},
|
},
|
||||||
mapping = cmp.mapping.preset.insert({
|
mapping = cmp.mapping.preset.insert({
|
||||||
['<C-b>'] = cmp.mapping.scroll_docs(-4),
|
["<C-b>"] = cmp.mapping.scroll_docs(-4),
|
||||||
['<C-f>'] = cmp.mapping.scroll_docs(4),
|
["<C-f>"] = cmp.mapping.scroll_docs(4),
|
||||||
['<C-Space>'] = cmp.mapping.complete(),
|
["<C-Space>"] = cmp.mapping.complete(),
|
||||||
['<C-e>'] = cmp.mapping.abort(),
|
["<C-e>"] = cmp.mapping.abort(),
|
||||||
['<CR>'] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
|
["<CR>"] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
|
||||||
}),
|
}),
|
||||||
sources = cmp.config.sources({
|
sources = cmp.config.sources({
|
||||||
{ name = 'nvim_lsp' },
|
{ name = "nvim_lsp" },
|
||||||
{ name = 'vsnip' }, -- For vsnip users.
|
{ name = "vsnip" }, -- For vsnip users.
|
||||||
-- { name = 'luasnip' }, -- For luasnip users.
|
-- { name = 'luasnip' }, -- For luasnip users.
|
||||||
-- { name = 'ultisnips' }, -- For ultisnips users.
|
-- { name = 'ultisnips' }, -- For ultisnips users.
|
||||||
-- { name = 'snippy' }, -- For snippy users.
|
-- { name = 'snippy' }, -- For snippy users.
|
||||||
}, {
|
}, {
|
||||||
{ name = 'buffer' },
|
{ name = "buffer" },
|
||||||
})
|
}),
|
||||||
})
|
})
|
||||||
|
|
||||||
-- To use git you need to install the plugin petertriho/cmp-git and uncomment lines below
|
-- To use git you need to install the plugin petertriho/cmp-git and uncomment lines below
|
||||||
@ -68,27 +67,28 @@ return {
|
|||||||
{ name = 'buffer' },
|
{ name = 'buffer' },
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
require("cmp_git").setup() ]]--
|
require("cmp_git").setup() ]]
|
||||||
|
--
|
||||||
|
|
||||||
-- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore).
|
-- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore).
|
||||||
cmp.setup.cmdline({ '/', '?' }, {
|
cmp.setup.cmdline({ "/", "?" }, {
|
||||||
mapping = cmp.mapping.preset.cmdline(),
|
mapping = cmp.mapping.preset.cmdline(),
|
||||||
sources = {
|
sources = {
|
||||||
{ name = 'buffer' }
|
{ name = "buffer" },
|
||||||
}
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
-- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore).
|
-- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore).
|
||||||
cmp.setup.cmdline(':', {
|
cmp.setup.cmdline(":", {
|
||||||
mapping = cmp.mapping.preset.cmdline(),
|
mapping = cmp.mapping.preset.cmdline(),
|
||||||
sources = cmp.config.sources({
|
sources = cmp.config.sources({
|
||||||
{ name = 'path' }
|
{ name = "path" },
|
||||||
}, {
|
}, {
|
||||||
{ name = 'cmdline' }
|
{ name = "cmdline" },
|
||||||
}),
|
}),
|
||||||
matching = { disallow_symbol_nonprefix_matching = false }
|
matching = { disallow_symbol_nonprefix_matching = false },
|
||||||
})
|
})
|
||||||
config_lsp()
|
config_lsp()
|
||||||
end
|
end,
|
||||||
}
|
},
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
"nvim-telescope/telescope.nvim",
|
"nvim-telescope/telescope.nvim",
|
||||||
dependencies = { "nvim-lua/plenary.nvim" }
|
dependencies = { "nvim-lua/plenary.nvim" },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"nvim-treesitter/nvim-treesitter",
|
"nvim-treesitter/nvim-treesitter",
|
||||||
build = ":TSUpdate"
|
build = ":TSUpdate",
|
||||||
},
|
},
|
||||||
{ "mbbill/undotree" },
|
{ "mbbill/undotree" },
|
||||||
{ "tpope/vim-fugitive" },
|
{ "tpope/vim-fugitive" },
|
||||||
@ -18,43 +18,60 @@ return {
|
|||||||
"<leader>xx",
|
"<leader>xx",
|
||||||
"<cmd>Trouble diagnostics toggle<cr>",
|
"<cmd>Trouble diagnostics toggle<cr>",
|
||||||
desc = "Diagnostics (Trouble)",
|
desc = "Diagnostics (Trouble)",
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"nvim-tree/nvim-tree.lua",
|
"nvim-tree/nvim-tree.lua",
|
||||||
version = "*",
|
version = "*",
|
||||||
lazy = false,
|
|
||||||
dependencies = {
|
dependencies = {
|
||||||
"nvim-tree/nvim-web-devicons",
|
"nvim-tree/nvim-web-devicons",
|
||||||
},
|
},
|
||||||
config = function()
|
cmd = {
|
||||||
require("nvim-tree").setup {
|
"NvimTreeToggle",
|
||||||
update_focused_file = { enable = true }
|
},
|
||||||
}
|
opts = {
|
||||||
end,
|
update_focused_file = { enable = true },
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"mason-org/mason.nvim"
|
"mason-org/mason.nvim",
|
||||||
|
opts = {},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"mason-org/mason-lspconfig.nvim",
|
||||||
|
opts = {
|
||||||
|
automatic_enable = true,
|
||||||
|
ensure_installed = { "lua_ls", "ts_ls" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"jay-babu/mason-null-ls.nvim",
|
||||||
|
dependencies = {
|
||||||
|
"mason-org/mason.nvim",
|
||||||
|
"nvimtools/none-ls.nvim",
|
||||||
|
},
|
||||||
|
opts = { ensure_installed = { "prettier", "stylua" } },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"hedyhli/outline.nvim",
|
"hedyhli/outline.nvim",
|
||||||
config = function()
|
config = function()
|
||||||
-- Example mapping to toggle outline
|
-- Example mapping to toggle outline
|
||||||
vim.keymap.set("n", "<leader>o", "<cmd>Outline<CR>",
|
vim.keymap.set("n", "<leader>o", "<cmd>Outline<CR>", { desc = "Toggle Outline" })
|
||||||
{ desc = "Toggle Outline" })
|
|
||||||
|
|
||||||
require("outline").setup {
|
require("outline").setup({
|
||||||
-- Your setup opts here (leave empty to use defaults)
|
-- Your setup opts here (leave empty to use defaults)
|
||||||
}
|
})
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'stevearc/conform.nvim',
|
"stevearc/conform.nvim",
|
||||||
opts = {
|
opts = {
|
||||||
formatters_by_ft = {
|
formatters_by_ft = {
|
||||||
|
typescript = { "prettier" },
|
||||||
|
jsx = { "prettier" },
|
||||||
lua = { "stylua" },
|
lua = { "stylua" },
|
||||||
rust = { "rustfmt", lsp_format = "fallback" }
|
rust = { "rustfmt", lsp_format = "fallback" },
|
||||||
},
|
},
|
||||||
format_on_save = {
|
format_on_save = {
|
||||||
timeout_ms = 500,
|
timeout_ms = 500,
|
||||||
@ -63,10 +80,26 @@ return {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'windwp/nvim-autopairs',
|
"windwp/nvim-autopairs",
|
||||||
event = "InsertEnter",
|
event = "InsertEnter",
|
||||||
config = true
|
config = true,
|
||||||
-- use opts = {} for passing setup options
|
-- use opts = {} for passing setup options
|
||||||
-- this is equivalent to setup({}) function
|
-- this is equivalent to setup({}) function
|
||||||
}
|
},
|
||||||
|
{
|
||||||
|
"rmagatti/auto-session",
|
||||||
|
lazy = false,
|
||||||
|
opts = {
|
||||||
|
suppressed_dirs = { "~/", "~/Downloads", "/" },
|
||||||
|
post_restore_cmds = {
|
||||||
|
function()
|
||||||
|
-- Restore nvim-tree after a session is restored
|
||||||
|
local nvim_tree_api = require("nvim-tree.api")
|
||||||
|
nvim_tree_api.tree.open()
|
||||||
|
nvim_tree_api.tree.change_root(vim.fn.getcwd())
|
||||||
|
nvim_tree_api.tree.reload()
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user