Initial commit
This commit is contained in:
35
nvim/lua/config/plugins/airline.lua
Normal file
35
nvim/lua/config/plugins/airline.lua
Normal file
@ -0,0 +1,35 @@
|
||||
return {
|
||||
'vim-airline/vim-airline',
|
||||
dependencies = {
|
||||
'vim-airline/vim-airline-themes',
|
||||
'nvim-tree/nvim-web-devicons',
|
||||
},
|
||||
config = function()
|
||||
vim.g.airline_theme = 'base16_monokai'
|
||||
vim.g.airline_powerline_fonts = 1
|
||||
-- vim.g.airline_symbols = {}
|
||||
|
||||
-- unicode symbols
|
||||
vim.g.airline_left_sep = '»'
|
||||
vim.g.airline_left_sep = '▶'
|
||||
vim.g.airline_right_sep = '«'
|
||||
vim.g.airline_right_sep = '◀'
|
||||
vim.g.airline_symbols.linenr = '␊'
|
||||
vim.g.airline_symbols.linenr = ''
|
||||
vim.g.airline_symbols.linenr = '¶'
|
||||
vim.g.airline_symbols.branch = '⎇'
|
||||
vim.g.airline_symbols.paste = 'ρ'
|
||||
vim.g.airline_symbols.paste = 'Þ'
|
||||
vim.g.airline_symbols.paste = '∥'
|
||||
vim.g.airline_symbols.whitespace = 'Ξ'
|
||||
|
||||
-- airline symbols
|
||||
vim.g.airline_left_sep = ''
|
||||
vim.g.airline_left_alt_sep = ''
|
||||
vim.g.airline_right_sep = ''
|
||||
vim.g.airline_right_alt_sep = ''
|
||||
vim.g.airline_symbols.branch = ''
|
||||
vim.g.airline_symbols.readonly = ''
|
||||
vim.g.airline_symbols.linenr = ''
|
||||
end,
|
||||
}
|
||||
40
nvim/lua/config/plugins/alpha.lua
Normal file
40
nvim/lua/config/plugins/alpha.lua
Normal file
@ -0,0 +1,40 @@
|
||||
return {
|
||||
'goolord/alpha-nvim',
|
||||
dependencies = {
|
||||
'nvim-tree/nvim-web-devicons',
|
||||
},
|
||||
event = 'VimEnter',
|
||||
config = function()
|
||||
local alpha = require('alpha')
|
||||
local startify = require('alpha.themes.startify')
|
||||
|
||||
-- startify.section.header.val = {
|
||||
-- '░▒▓███████▓▒░ ░▒▓████████▓▒░░▒▓██████▓▒░ ░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒░░▒▓██████████████▓▒░ ',
|
||||
-- '░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒░',
|
||||
-- '░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░ ░▒▓█▓▒▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒░',
|
||||
-- '░▒▓█▓▒░░▒▓█▓▒░░▒▓██████▓▒░ ░▒▓█▓▒░░▒▓█▓▒░ ░▒▓█▓▒▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒░',
|
||||
-- '░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░ ░▒▓█▓▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒░',
|
||||
-- '░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░ ░▒▓█▓▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒░',
|
||||
-- '░▒▓█▓▒░░▒▓█▓▒░░▒▓████████▓▒░░▒▓██████▓▒░ ░▒▓██▓▒░ ░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒░',
|
||||
-- ' '
|
||||
-- }
|
||||
|
||||
alpha.setup(startify.opts)
|
||||
|
||||
local alpha_start_group = vim.api.nvim_create_augroup('AlphaStart', { clear = true })
|
||||
vim.api.nvim_create_autocmd('TabNewEntered', {
|
||||
callback = function()
|
||||
local bufnr = vim.api.nvim_get_current_buf()
|
||||
local bufname = vim.api.nvim_buf_get_name(bufnr)
|
||||
|
||||
-- Start alpha if no file associated with buffer
|
||||
if bufname == '' then
|
||||
alpha.start()
|
||||
end
|
||||
end,
|
||||
group = alpha_start_group
|
||||
})
|
||||
|
||||
-- vim.cmd([[autocmd FileType alpha setlocal nofoldenable]])
|
||||
end
|
||||
}
|
||||
55
nvim/lua/config/plugins/auto-session.lua
Normal file
55
nvim/lua/config/plugins/auto-session.lua
Normal file
@ -0,0 +1,55 @@
|
||||
return {
|
||||
'rmagatti/auto-session',
|
||||
lazy = false,
|
||||
config = function()
|
||||
local auto_session = require('auto-session')
|
||||
auto_session.setup({
|
||||
auto_save = false,
|
||||
auto_restore = false,
|
||||
post_restore_cmds = {
|
||||
function ()
|
||||
local buf_exists = function(bufname)
|
||||
for _, buf in ipairs(vim.fn.getbufinfo({ bufloaded = true })) do
|
||||
if buf.name:match(bufname) then
|
||||
return true
|
||||
end
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
-- If NvimTree was opened when the session was saved, show it
|
||||
if buf_exists('NvimTree_') then
|
||||
require('nvim-tree.api').tree.open()
|
||||
end
|
||||
end
|
||||
}
|
||||
})
|
||||
|
||||
local opts = { silent = true, noremap = true }
|
||||
|
||||
local keymap = vim.keymap
|
||||
keymap.set('n', '<leader>ss', '<cmd>SessionSave<cr>', opts)
|
||||
keymap.set('n', '<leader>sq', '<cmd>SessionSave<cr><cmd>wa<cr><cmd>qa<cr>', opts)
|
||||
keymap.set('n', '<leader>sl', '<cmd>SessionSearch<cr>', opts)
|
||||
keymap.set('n', '<leader>sr', '<cmd>SessionRestore<cr>', opts)
|
||||
keymap.set('n', '<leader>sd', '<cmd>Autosession delete<cr>', opts)
|
||||
|
||||
local function named_save()
|
||||
vim.ui.input({ prompt = 'Enter Session name: ' }, function(input)
|
||||
auto_session.SaveSession(input)
|
||||
end)
|
||||
end
|
||||
keymap.set('n', '<leader>sS', named_save, opts)
|
||||
|
||||
local wk = require('which-key')
|
||||
wk.add({
|
||||
{ '<leader>s', group = 'auto-session' },
|
||||
{ '<leader>ss', desc = 'SessionSave' },
|
||||
{ '<leader>sS', desc = 'NamedSessionSave' },
|
||||
{ '<leader>sq', desc = 'Save and Quit' },
|
||||
{ '<leader>sl', desc = 'SessionList (SessionSearch)'},
|
||||
{ '<leader>sr', desc = 'SessionRestore'},
|
||||
{ '<leader>sd', desc = 'SessionDelete'},
|
||||
})
|
||||
end,
|
||||
}
|
||||
22
nvim/lua/config/plugins/autopairs.lua
Normal file
22
nvim/lua/config/plugins/autopairs.lua
Normal file
@ -0,0 +1,22 @@
|
||||
return {
|
||||
'windwp/nvim-autopairs',
|
||||
event = { 'InsertEnter' },
|
||||
dependencies = {
|
||||
'hrsh7th/nvim-cmp',
|
||||
},
|
||||
config = function()
|
||||
local autopairs = require('nvim-autopairs')
|
||||
|
||||
autopairs.setup({
|
||||
check_ts = true,
|
||||
ts_config = {
|
||||
javascript = { 'template_string' },
|
||||
},
|
||||
})
|
||||
|
||||
local cmp_autopairs = require('nvim-autopairs.completion.cmp')
|
||||
local cmp = require('cmp')
|
||||
|
||||
cmp.event:on('confirm_done', cmp_autopairs.on_confirm_done())
|
||||
end,
|
||||
}
|
||||
24
nvim/lua/config/plugins/bufferline.lua
Normal file
24
nvim/lua/config/plugins/bufferline.lua
Normal file
@ -0,0 +1,24 @@
|
||||
return {
|
||||
'akinsho/bufferline.nvim',
|
||||
lazy = false,
|
||||
version = '*',
|
||||
dependencies = { 'nvim-tree/nvim-web-devicons' },
|
||||
config = function ()
|
||||
local bufferline = require('bufferline')
|
||||
bufferline.setup({
|
||||
options = {
|
||||
hover = {
|
||||
enabled = true,
|
||||
delay = 200,
|
||||
reveal = {'close'}
|
||||
},
|
||||
}
|
||||
})
|
||||
|
||||
local map = vim.keymap.set
|
||||
local opts = { noremap = true, silent = true }
|
||||
|
||||
map('n', '<A-Left>', '<cmd>BufferLineCyclePrev<cr>', opts)
|
||||
map('n', '<A-Right>', '<cmd>BufferLineCycleNext<cr>', opts)
|
||||
end
|
||||
}
|
||||
55
nvim/lua/config/plugins/cmp.lua
Normal file
55
nvim/lua/config/plugins/cmp.lua
Normal file
@ -0,0 +1,55 @@
|
||||
return {
|
||||
'hrsh7th/nvim-cmp',
|
||||
event = 'InsertEnter',
|
||||
dependencies = {
|
||||
"hrsh7th/cmp-buffer", -- source for text in buffer
|
||||
"hrsh7th/cmp-path", -- source for file system paths
|
||||
{
|
||||
"L3MON4D3/LuaSnip",
|
||||
-- follow latest release.
|
||||
version = "v2.*", -- Replace <CurrentMajor> by the latest released major (first number of latest release)
|
||||
-- install jsregexp (optional!).
|
||||
build = "make install_jsregexp",
|
||||
},
|
||||
"saadparwaiz1/cmp_luasnip", -- for autocompletion
|
||||
"rafamadriz/friendly-snippets", -- useful snippets
|
||||
"onsails/lspkind.nvim", -- vs-code like pictograms
|
||||
},
|
||||
config = function()
|
||||
-- TODO keybindings
|
||||
local cmp = require('cmp')
|
||||
local luasnip = require('luasnip')
|
||||
local lspkind = require('lspkind')
|
||||
-- require('lspkind.loaders.from_vscode').lazy_load()
|
||||
|
||||
cmp.setup({
|
||||
-- preselect = nil,
|
||||
completion = {
|
||||
completeopt = 'menu,menuone,preview',
|
||||
},
|
||||
snippet = {
|
||||
expand = function(args)
|
||||
luasnip.lsp_expand(args.body)
|
||||
end,
|
||||
},
|
||||
mapping = cmp.mapping.preset.insert({
|
||||
['<C-Space>'] = cmp.mapping.complete(),
|
||||
['<C-e>'] = cmp.mapping.abort(),
|
||||
['<Tab>'] = cmp.mapping.confirm({ select = true }),
|
||||
['<Enter>'] = cmp.mapping.confirm({ select = true }),
|
||||
}),
|
||||
sources = cmp.config.sources({
|
||||
{ name = 'nvim_lsp' },
|
||||
{ name = 'luasnip' },
|
||||
{ name = 'buffer' },
|
||||
{ name = 'path' },
|
||||
}),
|
||||
-- formatting = {
|
||||
-- format = lspkind.cmp_format({
|
||||
-- maxwidth = 50,
|
||||
-- ellipsis_char = '...',
|
||||
-- }),
|
||||
-- },
|
||||
})
|
||||
end,
|
||||
}
|
||||
8
nvim/lua/config/plugins/colorscheme.lua
Normal file
8
nvim/lua/config/plugins/colorscheme.lua
Normal file
@ -0,0 +1,8 @@
|
||||
return {
|
||||
'polirritmico/monokai-nightasty.nvim',
|
||||
priority = 1000,
|
||||
config = function()
|
||||
require('monokai-nightasty').setup()
|
||||
vim.cmd('colorscheme monokai-nightasty')
|
||||
end,
|
||||
}
|
||||
3
nvim/lua/config/plugins/diffview.lua
Normal file
3
nvim/lua/config/plugins/diffview.lua
Normal file
@ -0,0 +1,3 @@
|
||||
return {
|
||||
'sindrets/diffview.nvim'
|
||||
}
|
||||
4
nvim/lua/config/plugins/dressing.lua
Normal file
4
nvim/lua/config/plugins/dressing.lua
Normal file
@ -0,0 +1,4 @@
|
||||
return {
|
||||
'stevearc/dressing.nvim',
|
||||
opts = {}
|
||||
}
|
||||
18
nvim/lua/config/plugins/floaterm.lua
Normal file
18
nvim/lua/config/plugins/floaterm.lua
Normal file
@ -0,0 +1,18 @@
|
||||
return {
|
||||
'voldikss/vim-floaterm',
|
||||
config = function ()
|
||||
local keymap = vim.keymap
|
||||
local opts = { noremap = true, silent = true }
|
||||
keymap.set('n', '<C-q>', '<cmd>FloatermToggle<cr>', opts)
|
||||
keymap.set('t', '<C-q>', '<cmd>FloatermToggle<cr>', opts)
|
||||
keymap.set('t', '<PageUp>', '<cmd>FloatermPrev<cr>', opts)
|
||||
keymap.set('t', '<PageDown>', '<cmd>FloatermNext<cr>', opts)
|
||||
|
||||
local wk = require('which-key')
|
||||
wk.add({
|
||||
{ '<leader>t', group = 'Floaterm', icon = { icon = ' ', color = 'red' } },
|
||||
{ '<leader>tn', '<leader>tn', desc = 'New Terminal', noremap = true, silent = true },
|
||||
{ '<leader>tt', '<leader>tt', desc = 'Toggle Terminal', noremap = true, silent = true },
|
||||
})
|
||||
end
|
||||
}
|
||||
3
nvim/lua/config/plugins/init.lua
Normal file
3
nvim/lua/config/plugins/init.lua
Normal file
@ -0,0 +1,3 @@
|
||||
return {
|
||||
'nvim-lua/plenary.nvim', -- dependency of many plungins
|
||||
}
|
||||
14
nvim/lua/config/plugins/lazygit.lua
Normal file
14
nvim/lua/config/plugins/lazygit.lua
Normal file
@ -0,0 +1,14 @@
|
||||
return {
|
||||
'kdheepak/lazygit.nvim',
|
||||
lazy = true,
|
||||
cmd = {
|
||||
'LazyGit',
|
||||
'LazyGitConfig',
|
||||
'LazyGitCurrentFile',
|
||||
'LazyGitFilter',
|
||||
'LazyGitFilterCurrentFile',
|
||||
},
|
||||
depedencies = {
|
||||
'nvim-lua/plenary.nvim',
|
||||
},
|
||||
}
|
||||
81
nvim/lua/config/plugins/lsp/lspconfig.lua
Normal file
81
nvim/lua/config/plugins/lsp/lspconfig.lua
Normal file
@ -0,0 +1,81 @@
|
||||
return {
|
||||
'neovim/nvim-lspconfig',
|
||||
event = { 'BufReadPre', 'BufNewFile' },
|
||||
dependencies = {
|
||||
'williamboman/mason.nvim',
|
||||
'hrsh7th/cmp-nvim-lsp',
|
||||
{ 'antosha417/nvim-lsp-file-operations', config = true },
|
||||
{ 'folke/neodev.nvim', opts = {} },
|
||||
},
|
||||
config = function()
|
||||
local lspconfig = require('lspconfig')
|
||||
local mason_lspconfig = require('mason-lspconfig')
|
||||
local cmp_nvim_lsp = require('cmp_nvim_lsp')
|
||||
local keymap = vim.keymap
|
||||
local wk = require('which-key')
|
||||
|
||||
vim.api.nvim_create_autocmd('LspAttach', {
|
||||
group = vim.api.nvim_create_augroup('UserLspConfig', {}),
|
||||
callback = function(ev)
|
||||
local function opts(desc)
|
||||
return { desc = desc, buffer = ev.buf, silent = true }
|
||||
end
|
||||
|
||||
keymap.set('n', 'K', vim.lsp.buf.hover, opts('Show documentation'))
|
||||
keymap.set('n', 'gR', '<cmd>Telescope lsp_references<cr>', opts('Show LSP references'))
|
||||
keymap.set('n', 'gD', vim.lsp.buf.declaration, opts('Go to declaration'))
|
||||
keymap.set('n', 'gd', '<cmd>Telescope lsp_definitions<cr>', opts('Show LSP definitions'))
|
||||
keymap.set('n', 'gi', '<cmd>Telescope lsp_implementations<cr>', opts('Show LSP implementations'))
|
||||
keymap.set('n', 'gt', '<cmd>Telescope lsp_type_definitions<cr>', opts('Show LSP type definitions'))
|
||||
keymap.set({ 'n', 'v' }, 'ga', vim.lsp.buf.code_action, opts('Show available code actions'))
|
||||
wk.add({
|
||||
{ '<leader>r', group = 'Rename' },
|
||||
{ '<leader>rn', vim.lsp.buf.rename, desc = 'Smart Rename' },
|
||||
})
|
||||
end,
|
||||
})
|
||||
|
||||
local capabilities = cmp_nvim_lsp.default_capabilities()
|
||||
mason_lspconfig.setup_handlers({
|
||||
-- default handler for installed servers
|
||||
function(server_name)
|
||||
lspconfig[server_name].setup({
|
||||
capabilities = capabilities,
|
||||
})
|
||||
end,
|
||||
-- TODO add lsp configs
|
||||
['lua_ls'] = function()
|
||||
lspconfig['lua_ls'].setup({
|
||||
capabilities = capabilities,
|
||||
settings = {
|
||||
Lua = {
|
||||
diagnostics = {
|
||||
globals = { 'vim' },
|
||||
},
|
||||
completion = {
|
||||
callSnippet = 'Replace'
|
||||
},
|
||||
}
|
||||
}
|
||||
})
|
||||
end,
|
||||
['emmet_ls'] = function()
|
||||
-- capabilities.textDocument.completion.completionItem.snippetSupport = true
|
||||
lspconfig['emmet_ls'].setup({
|
||||
capabilities = capabilities,
|
||||
filetypes = {
|
||||
'html',
|
||||
'css',
|
||||
'sass',
|
||||
'scss',
|
||||
'less',
|
||||
'javascript',
|
||||
'javascriptreact',
|
||||
'svelte',
|
||||
'vue',
|
||||
}
|
||||
})
|
||||
end,
|
||||
})
|
||||
end
|
||||
}
|
||||
46
nvim/lua/config/plugins/lsp/mason.lua
Normal file
46
nvim/lua/config/plugins/lsp/mason.lua
Normal file
@ -0,0 +1,46 @@
|
||||
return {
|
||||
'williamboman/mason.nvim',
|
||||
dependencies = {
|
||||
'williamboman/mason-lspconfig.nvim',
|
||||
'WhoIsSethDaniel/mason-tool-installer.nvim',
|
||||
},
|
||||
config = function()
|
||||
local mason = require('mason')
|
||||
local mason_lspconfig = require('mason-lspconfig')
|
||||
local mason_tool_installer = require('mason-tool-installer')
|
||||
|
||||
mason.setup({
|
||||
ui = {
|
||||
icons = {
|
||||
package_installed = "✓",
|
||||
package_pending = "➜",
|
||||
package_uninstalled = "✗",
|
||||
},
|
||||
},
|
||||
pip = {
|
||||
upgrade_pip = true,
|
||||
}
|
||||
})
|
||||
|
||||
mason_lspconfig.setup({
|
||||
ensure_installed = {
|
||||
'lua_ls',
|
||||
'html',
|
||||
'cssls',
|
||||
'pyright',
|
||||
'emmet_ls',
|
||||
'bashls',
|
||||
},
|
||||
})
|
||||
|
||||
mason_tool_installer.setup({
|
||||
ensure_installed = {
|
||||
'prettier',
|
||||
'isort',
|
||||
'black',
|
||||
'pylint',
|
||||
'eslint_d',
|
||||
}
|
||||
})
|
||||
end,
|
||||
}
|
||||
41
nvim/lua/config/plugins/lsp/null-ls.lua
Normal file
41
nvim/lua/config/plugins/lsp/null-ls.lua
Normal file
@ -0,0 +1,41 @@
|
||||
return {
|
||||
'nvimtools/none-ls.nvim',
|
||||
dependencies = {
|
||||
'nvimtools/none-ls-extras.nvim'
|
||||
},
|
||||
config = function()
|
||||
local null_ls = require('null-ls')
|
||||
|
||||
local sources = {
|
||||
null_ls.builtins.formatting.prettier.with({
|
||||
filetypes = { 'javascript', 'typescript', 'css', 'html', 'json', 'markdown', 'yaml' }
|
||||
}),
|
||||
null_ls.builtins.formatting.black,
|
||||
null_ls.builtins.formatting.djlint,
|
||||
null_ls.builtins.formatting.isort,
|
||||
null_ls.builtins.formatting.stylua,
|
||||
require('none-ls.diagnostics.eslint_d'),
|
||||
}
|
||||
|
||||
null_ls.setup({
|
||||
sources = sources,
|
||||
-- on_attach = function(client, bufnr)
|
||||
-- if client.server_capabilities.documentFormattingProvider then
|
||||
-- vim.
|
||||
-- end
|
||||
-- end,
|
||||
})
|
||||
|
||||
local keymap = vim.keymap
|
||||
local fmt_func = function()
|
||||
vim.lsp.buf.format({ async = true })
|
||||
end
|
||||
keymap.set('n', '<leader>ii', fmt_func, { noremap = true, silent = true })
|
||||
|
||||
local wk = require('which-key')
|
||||
wk.add({
|
||||
{ '<leader>i', group = 'Formatting' },
|
||||
{ '<leader>ii', desc = 'Format File' },
|
||||
})
|
||||
end,
|
||||
}
|
||||
24
nvim/lua/config/plugins/nvim-tree.lua
Normal file
24
nvim/lua/config/plugins/nvim-tree.lua
Normal file
@ -0,0 +1,24 @@
|
||||
return {
|
||||
'nvim-tree/nvim-tree.lua',
|
||||
dependencies = {
|
||||
'nvim-tree/nvim-web-devicons',
|
||||
},
|
||||
config = function ()
|
||||
local nvim_tree = require('nvim-tree')
|
||||
local api = require('nvim-tree.api')
|
||||
|
||||
vim.g.loaded_netrw = 1
|
||||
vim.g.loaded_netrwPlugin = 1
|
||||
|
||||
nvim_tree.setup()
|
||||
|
||||
local keymap = vim.keymap
|
||||
keymap.set('n', '<leader>ee', api.tree.toggle, { noremap = true, silent = true })
|
||||
|
||||
local wk = require('which-key')
|
||||
wk.add({
|
||||
{ '<leader>e', group = 'nvim-tree', icon = { icon = ' ', color = 'orange' } },
|
||||
{ '<leader>ee', group = 'Toggle tree' }
|
||||
})
|
||||
end
|
||||
}
|
||||
6
nvim/lua/config/plugins/surround.lua
Normal file
6
nvim/lua/config/plugins/surround.lua
Normal file
@ -0,0 +1,6 @@
|
||||
return {
|
||||
'kylechui/nvim-surround',
|
||||
event = { 'BufReadPre', 'BufNewFile' },
|
||||
version = '*',
|
||||
config = true,
|
||||
}
|
||||
43
nvim/lua/config/plugins/telescope.lua
Normal file
43
nvim/lua/config/plugins/telescope.lua
Normal file
@ -0,0 +1,43 @@
|
||||
return {
|
||||
'nvim-telescope/telescope.nvim',
|
||||
branch = '0.1.x',
|
||||
dependencies = {
|
||||
'nvim-lua/plenary.nvim',
|
||||
{ "nvim-telescope/telescope-fzf-native.nvim", build = "make" },
|
||||
"nvim-tree/nvim-web-devicons",
|
||||
},
|
||||
config = function()
|
||||
local telescope = require('telescope')
|
||||
-- local actions = require('telescope.actions')
|
||||
-- local transform_mod = require('telescope.actions.mt').transform_mod
|
||||
-- local trouble = require('trouble')
|
||||
-- local trouble_telescope = require('trouble.sources.telescope')
|
||||
|
||||
telescope.setup({
|
||||
defaults = {
|
||||
path_display = { 'smart' },
|
||||
},
|
||||
})
|
||||
|
||||
telescope.load_extension('fzf')
|
||||
|
||||
local opts = { noremap = true, silent = true }
|
||||
|
||||
local keymap = vim.keymap
|
||||
local builtin = require('telescope.builtin')
|
||||
|
||||
keymap.set('n', '<leader>ff', builtin.find_files, opts)
|
||||
keymap.set('n', '<leader>fh', builtin.oldfiles, opts)
|
||||
keymap.set('n', '<leader>fs', builtin.live_grep, opts)
|
||||
keymap.set('n', '<leader>fc', builtin.grep_string, opts)
|
||||
|
||||
local wk = require('which-key')
|
||||
wk.add({
|
||||
{ '<leader>f', group = 'telescope' },
|
||||
{ '<leader>ff', desc = 'Find Files'},
|
||||
{ '<leader>fh', desc = 'Recent Files'},
|
||||
{ '<leader>fs', desc = 'Search Text in Files'},
|
||||
{ '<leader>fc', desc = 'Search Text under Cursor'},
|
||||
})
|
||||
end,
|
||||
}
|
||||
51
nvim/lua/config/plugins/treesitter.lua
Normal file
51
nvim/lua/config/plugins/treesitter.lua
Normal file
@ -0,0 +1,51 @@
|
||||
return {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
event = { "BufReadPre", "BufNewFile" },
|
||||
build = ":TSUpdate",
|
||||
dependencies = {
|
||||
"windwp/nvim-ts-autotag",
|
||||
},
|
||||
config = function()
|
||||
local treesitter = require('nvim-treesitter.configs')
|
||||
|
||||
treesitter.setup({
|
||||
auto_install = true,
|
||||
sync_install = false,
|
||||
highlight = {
|
||||
enable = true,
|
||||
additional_vim_regex_highlighting = false,
|
||||
},
|
||||
indent = { enable = true },
|
||||
autotag = { enable = true },
|
||||
ensure_installed = {
|
||||
'json',
|
||||
'javascript',
|
||||
'typescript',
|
||||
'yaml',
|
||||
'html',
|
||||
'htmldjango',
|
||||
'css',
|
||||
'scss',
|
||||
'markdown',
|
||||
'markdown_inline',
|
||||
'bash',
|
||||
'lua',
|
||||
'vim',
|
||||
'dockerfile',
|
||||
'python',
|
||||
'gitignore',
|
||||
'c',
|
||||
},
|
||||
ignore_install = {},
|
||||
incremental_selection = {
|
||||
enable = true,
|
||||
keymaps = {
|
||||
init_selection = '<C-Space>',
|
||||
node_incremental = '<C-Space>',
|
||||
scope_incremental = false,
|
||||
node_decremental = '<bs>',
|
||||
},
|
||||
},
|
||||
})
|
||||
end,
|
||||
}
|
||||
12
nvim/lua/config/plugins/which-key.lua
Normal file
12
nvim/lua/config/plugins/which-key.lua
Normal file
@ -0,0 +1,12 @@
|
||||
return {
|
||||
'folke/which-key.nvim',
|
||||
event = 'VeryLazy',
|
||||
config = function()
|
||||
local wk = require('which-key')
|
||||
wk.add({
|
||||
{ '<leader>nh', '<cmd>nohl<cr>', desc = 'No Highlight' },
|
||||
{ '<leader>l', group = 'LazyGit', icon = { icon = '', color = 'cyan' } },
|
||||
{ '<leader>lg', '<cmd>LazyGit<cr>', desc = 'Open LazyGit', icon = { icon = '', color = 'cyan' } },
|
||||
})
|
||||
end
|
||||
}
|
||||
Reference in New Issue
Block a user