📦 Initial Commit
This commit is contained in:
parent
5125fd927a
commit
e77acb091e
70
init.lua
70
init.lua
|
@ -63,6 +63,7 @@ vim.opt.rtp:prepend(lazypath)
|
||||||
-- You can also configure plugins after the setup call,
|
-- You can also configure plugins after the setup call,
|
||||||
-- as they will be available in your neovim runtime.
|
-- as they will be available in your neovim runtime.
|
||||||
require('lazy').setup({
|
require('lazy').setup({
|
||||||
|
|
||||||
-- NOTE: First, some plugins that don't require any configuration
|
-- NOTE: First, some plugins that don't require any configuration
|
||||||
|
|
||||||
-- Git related plugins
|
-- Git related plugins
|
||||||
|
@ -72,6 +73,8 @@ require('lazy').setup({
|
||||||
-- Detect tabstop and shiftwidth automatically
|
-- Detect tabstop and shiftwidth automatically
|
||||||
'tpope/vim-sleuth',
|
'tpope/vim-sleuth',
|
||||||
|
|
||||||
|
require('custom.plugins.inlayhint'),
|
||||||
|
|
||||||
-- NOTE: This is where your plugins related to LSP can be installed.
|
-- NOTE: This is where your plugins related to LSP can be installed.
|
||||||
-- The configuration is done below. Search for lspconfig to find it below.
|
-- The configuration is done below. Search for lspconfig to find it below.
|
||||||
{
|
{
|
||||||
|
@ -84,7 +87,7 @@ require('lazy').setup({
|
||||||
|
|
||||||
-- 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 = {} },
|
||||||
|
|
||||||
-- Additional lua configuration, makes nvim stuff amazing!
|
-- Additional lua configuration, makes nvim stuff amazing!
|
||||||
'folke/neodev.nvim',
|
'folke/neodev.nvim',
|
||||||
|
@ -108,7 +111,7 @@ require('lazy').setup({
|
||||||
},
|
},
|
||||||
|
|
||||||
-- Useful plugin to show you pending keybinds.
|
-- Useful plugin to show you pending keybinds.
|
||||||
{ 'folke/which-key.nvim', opts = {} },
|
{ 'folke/which-key.nvim', opts = {} },
|
||||||
{
|
{
|
||||||
-- Adds git releated signs to the gutter, as well as utilities for managing changes
|
-- Adds git releated signs to the gutter, as well as utilities for managing changes
|
||||||
'lewis6991/gitsigns.nvim',
|
'lewis6991/gitsigns.nvim',
|
||||||
|
@ -122,21 +125,14 @@ require('lazy').setup({
|
||||||
changedelete = { text = '~' },
|
changedelete = { text = '~' },
|
||||||
},
|
},
|
||||||
on_attach = function(bufnr)
|
on_attach = function(bufnr)
|
||||||
vim.keymap.set('n', '<leader>gp', require('gitsigns').prev_hunk, { buffer = bufnr, desc = '[G]o to [P]revious Hunk' })
|
vim.keymap.set('n', '[c', require('gitsigns').prev_hunk, { buffer = bufnr, desc = 'Go to Previous Hunk' })
|
||||||
vim.keymap.set('n', '<leader>gn', require('gitsigns').next_hunk, { buffer = bufnr, desc = '[G]o to [N]ext Hunk' })
|
vim.keymap.set('n', ']c', require('gitsigns').next_hunk, { buffer = bufnr, desc = 'Go to Next Hunk' })
|
||||||
vim.keymap.set('n', '<leader>ph', require('gitsigns').preview_hunk, { buffer = bufnr, desc = '[P]review [H]unk' })
|
vim.keymap.set('n', '<leader>ph', require('gitsigns').preview_hunk, { buffer = bufnr, desc = '[P]review [H]unk' })
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
require('custom.theme'),
|
||||||
-- Theme inspired by Atom
|
|
||||||
'navarasu/onedark.nvim',
|
|
||||||
priority = 1000,
|
|
||||||
config = function()
|
|
||||||
vim.cmd.colorscheme 'onedark'
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
{
|
||||||
-- Set lualine as statusline
|
-- Set lualine as statusline
|
||||||
|
@ -144,10 +140,27 @@ require('lazy').setup({
|
||||||
-- See `:help lualine.txt`
|
-- See `:help lualine.txt`
|
||||||
opts = {
|
opts = {
|
||||||
options = {
|
options = {
|
||||||
icons_enabled = false,
|
icons_enabled = true,
|
||||||
theme = 'onedark',
|
theme = 'auto',
|
||||||
component_separators = '|',
|
section_separators = { left = "", right = "" },
|
||||||
section_separators = '',
|
component_separators = { left = "", right = "" }
|
||||||
|
},
|
||||||
|
-- Custom sections
|
||||||
|
sections = {
|
||||||
|
lualine_a = { 'mode' },
|
||||||
|
lualine_b = { 'branch', 'diff', 'diagnostics' },
|
||||||
|
lualine_c = { 'filename' },
|
||||||
|
lualine_x = { 'encoding', 'filetype', require('custom.lualine').me },
|
||||||
|
lualine_y = { 'progress' },
|
||||||
|
lualine_z = { 'location' }
|
||||||
|
},
|
||||||
|
inactive_sections = {
|
||||||
|
lualine_a = {},
|
||||||
|
lualine_b = {},
|
||||||
|
lualine_c = { 'filename' },
|
||||||
|
lualine_x = {},
|
||||||
|
lualine_y = { 'encoding', 'filetype', require('custom.lualine').me },
|
||||||
|
lualine_z = { 'location' }
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -164,7 +177,7 @@ require('lazy').setup({
|
||||||
},
|
},
|
||||||
|
|
||||||
-- "gc" to comment visual regions/lines
|
-- "gc" to comment visual regions/lines
|
||||||
{ 'numToStr/Comment.nvim', opts = {} },
|
{ 'numToStr/Comment.nvim', opts = {} },
|
||||||
|
|
||||||
-- Fuzzy Finder (files, lsp, etc)
|
-- Fuzzy Finder (files, lsp, etc)
|
||||||
{ 'nvim-telescope/telescope.nvim', branch = '0.1.x', dependencies = { 'nvim-lua/plenary.nvim' } },
|
{ 'nvim-telescope/telescope.nvim', branch = '0.1.x', dependencies = { 'nvim-lua/plenary.nvim' } },
|
||||||
|
@ -272,11 +285,15 @@ vim.api.nvim_create_autocmd('TextYankPost', {
|
||||||
-- See `:help telescope` and `:help telescope.setup()`
|
-- See `:help telescope` and `:help telescope.setup()`
|
||||||
require('telescope').setup {
|
require('telescope').setup {
|
||||||
defaults = {
|
defaults = {
|
||||||
|
winblend = 50,
|
||||||
mappings = {
|
mappings = {
|
||||||
i = {
|
i = {
|
||||||
['<C-u>'] = false,
|
["<C-n>"] = require('telescope.actions').cycle_history_next,
|
||||||
['<C-d>'] = false,
|
["<C-p>"] = require('telescope.actions').cycle_history_prev,
|
||||||
|
["<C-j>"] = require('telescope.actions').move_selection_next,
|
||||||
|
["<C-k>"] = require('telescope.actions').move_selection_previous,
|
||||||
},
|
},
|
||||||
|
n = { q = require('telescope.actions').close },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -306,10 +323,10 @@ vim.keymap.set('n', '<leader>sd', require('telescope.builtin').diagnostics, { de
|
||||||
-- See `:help nvim-treesitter`
|
-- See `:help nvim-treesitter`
|
||||||
require('nvim-treesitter.configs').setup {
|
require('nvim-treesitter.configs').setup {
|
||||||
-- Add languages to be installed here that you want installed for treesitter
|
-- Add languages to be installed here that you want installed for treesitter
|
||||||
ensure_installed = { 'c', 'cpp', 'go', 'lua', 'python', 'rust', 'tsx', 'typescript', 'vimdoc', 'vim' },
|
ensure_installed = { 'c', 'cpp', 'go', 'lua', 'python', 'rust', 'tsx', 'typescript', 'vimdoc', 'vim', 'php' },
|
||||||
|
|
||||||
-- Autoinstall languages that are not installed. Defaults to false (but you can change for yourself!)
|
-- Autoinstall languages that are not installed. Defaults to false (but you can change for yourself!)
|
||||||
auto_install = false,
|
auto_install = true,
|
||||||
|
|
||||||
highlight = { enable = true },
|
highlight = { enable = true },
|
||||||
indent = { enable = true },
|
indent = { enable = true },
|
||||||
|
@ -477,8 +494,10 @@ cmp.setup {
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
mapping = cmp.mapping.preset.insert {
|
mapping = cmp.mapping.preset.insert {
|
||||||
['<C-n>'] = cmp.mapping.select_next_item(),
|
['<C-j>'] = cmp.mapping.select_next_item(),
|
||||||
['<C-p>'] = cmp.mapping.select_prev_item(),
|
['<C-k>'] = cmp.mapping.select_prev_item(),
|
||||||
|
-- ['<C-n>'] = cmp.mapping.select_next_item(),
|
||||||
|
-- ['<C-p>'] = cmp.mapping.select_prev_item(),
|
||||||
['<C-d>'] = cmp.mapping.scroll_docs(-4),
|
['<C-d>'] = 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 {},
|
||||||
|
@ -513,3 +532,8 @@ cmp.setup {
|
||||||
|
|
||||||
-- The line beneath this is called `modeline`. See `:help modeline`
|
-- The line beneath this is called `modeline`. See `:help modeline`
|
||||||
-- vim: ts=2 sts=2 sw=2 et
|
-- vim: ts=2 sts=2 sw=2 et
|
||||||
|
|
||||||
|
|
||||||
|
-- Custom stuff
|
||||||
|
|
||||||
|
require('custom.core')
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
local colors = {}
|
||||||
|
function colors.LineNumberColors()
|
||||||
|
vim.api.nvim_set_hl(0, 'LineNrAbove', { fg='#999966', bold=true })
|
||||||
|
vim.api.nvim_set_hl(0, 'LineNr', { fg='white', bold=true })
|
||||||
|
vim.api.nvim_set_hl(0, 'LineNrBelow', { fg='#999966', bold=true })
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.api.nvim_create_user_command('TransparencyToggle',
|
||||||
|
function (opts)
|
||||||
|
vim.cmd('TransparentToggle')
|
||||||
|
colors.LineNumberColors()
|
||||||
|
end,
|
||||||
|
{}
|
||||||
|
)
|
||||||
|
|
||||||
|
vim.g.transparent_groups = vim.list_extend(
|
||||||
|
vim.g.transparent_groups or {},
|
||||||
|
vim.tbl_map(function(v)
|
||||||
|
return v.hl_group
|
||||||
|
end, vim.tbl_values(require('bufferline.config').highlights))
|
||||||
|
)
|
||||||
|
|
||||||
|
return colors
|
|
@ -0,0 +1,27 @@
|
||||||
|
vim.g.transparent_enabled = true
|
||||||
|
vim.g.transparency = 0.8
|
||||||
|
vim.wo.number = true
|
||||||
|
vim.o.relativenumber = true
|
||||||
|
|
||||||
|
vim.o.wrap = false
|
||||||
|
vim.o.smartindent = true
|
||||||
|
vim.o.ruler = true
|
||||||
|
vim.o.colorcolumn = "80"
|
||||||
|
|
||||||
|
vim.o.shiftround = true
|
||||||
|
vim.o.expandtab = true
|
||||||
|
vim.o.smartindent = true
|
||||||
|
vim.o.tabstop = 4
|
||||||
|
vim.o.shiftwidth = 4
|
||||||
|
vim.opt.guicursor = 'n-v-c-sm:block'
|
||||||
|
vim.opt.guifont = 'FiraCode Nerd Font'
|
||||||
|
|
||||||
|
vim.opt.shell = 'bash'
|
||||||
|
vim.o.shell = 'bash'
|
||||||
|
vim.opt.shellcmdflag = '-c'
|
||||||
|
vim.opt.termguicolors = true
|
||||||
|
|
||||||
|
require('custom.colors').LineNumberColors()
|
||||||
|
-- require('custom.colors').CursorLineColors()
|
||||||
|
require('custom.keymaps')
|
||||||
|
require('custom.neovide')
|
|
@ -0,0 +1,88 @@
|
||||||
|
-- Custom keymap
|
||||||
|
-- See `:help vim.keymap.set()`
|
||||||
|
|
||||||
|
-- Cool keymap
|
||||||
|
vim.keymap.set("i", "jk", "<Esc>", { desc = "Exit insert mode" })
|
||||||
|
vim.keymap.set("i", "jj", "<Esc>", { desc = "Exit insert mode" })
|
||||||
|
vim.keymap.set("v", "p", "pgvy", { desc = "Paste without empty paste register" })
|
||||||
|
|
||||||
|
-- File operation
|
||||||
|
vim.keymap.set("n", "<Leader>w", "<cmd>w<cr>", { desc = "Save the file" })
|
||||||
|
vim.keymap.set("n", "<Leader>q", "<cmd>bdelete<cr>", { desc = "Quit the current buffer" })
|
||||||
|
vim.keymap.set("n", "<Leader><leader>q", "<cmd>q<cr>", { desc = "Quit the window" })
|
||||||
|
|
||||||
|
-- Lsp stuff
|
||||||
|
vim.keymap.set("n", "gh", vim.lsp.buf.hover, { desc = "Hover documentation" })
|
||||||
|
|
||||||
|
-- Split window
|
||||||
|
vim.keymap.set("n", "<Leader><leader>=", "<cmd>split<cr>", { desc = "Split the window horizontally" })
|
||||||
|
vim.keymap.set("n", "<Leader><leader>-", "<cmd>vsplit<cr>", { desc = "Split the window vertically" })
|
||||||
|
|
||||||
|
-- Better window operation
|
||||||
|
|
||||||
|
vim.keymap.set("n", "<Leader>j", "<C-w>j", { desc = "Focus buffer below" })
|
||||||
|
vim.keymap.set("n", "<Leader>k", "<C-w>k", { desc = "Focus buffer above" })
|
||||||
|
vim.keymap.set("n", "<Leader>l", "<C-w>l", { desc = "Focus buffer left" })
|
||||||
|
vim.keymap.set("n", "<Leader>h", "<C-w>h", { desc = "Focus buffer right" })
|
||||||
|
|
||||||
|
vim.keymap.set("n", "<C-Up>", ":resize -2<CR>", { desc = "Resize current view to the top" })
|
||||||
|
vim.keymap.set("n", "<C-Down>", ":resize +2<CR>", { desc = "Resize current view to the bottom" })
|
||||||
|
vim.keymap.set("n", "<C-Right>", ":vertical resize -2<CR>", { desc = "Resize current view to the left" })
|
||||||
|
vim.keymap.set("n", "<C-Left>", ":vertical resize +2<CR>", { desc = "Resize current view to the right" })
|
||||||
|
|
||||||
|
-- Buffer
|
||||||
|
vim.keymap.set("n", "<Leader><Leader>l", "<cmd>bnext<cr>", { desc = "Next buffer" })
|
||||||
|
vim.keymap.set("n", "<Leader><Leader>h", "<cmd>bnext<cr>", { desc = "Previous buffer" })
|
||||||
|
|
||||||
|
-- Formatting
|
||||||
|
-- vim.keymap.set("n", "<C-/>", "gcc", { desc = "Adding comment to the current line" })
|
||||||
|
-- vim.keymap.set("v", "<C-/>", "gcc", { desc = "Adding comment to the current line" })
|
||||||
|
|
||||||
|
vim.keymap.set("v", "<", "<gv", { desc = "Decrease indent" })
|
||||||
|
vim.keymap.set("v", ">", ">gv", { desc = "Increase indent" })
|
||||||
|
|
||||||
|
-- vim.keymap.set("n", "<Space>j", ":m .+1<CR>==", { desc = "" } )
|
||||||
|
-- vim.keymap.set("n", "<Space>k", ":m .-2<CR>==", { desc = "" } )
|
||||||
|
|
||||||
|
vim.keymap.set("v", "<Space>j", ":m .+1<CR>==", { desc = "" } )
|
||||||
|
vim.keymap.set("v", "<Space>k", ":m .-2<CR>==", { desc = "" } )
|
||||||
|
|
||||||
|
-- Nerdtree
|
||||||
|
vim.keymap.set('n', '<Leader>n', '<cmd>NERDTreeFocus<cr>', { desc = "Nerd tree focus" })
|
||||||
|
vim.keymap.set('n', '<C-n>', '<cmd>NERDTree<cr>', { desc = "Nerd tree focus" })
|
||||||
|
vim.keymap.set('n', '<C-t>', '<cmd>NERDTreeToggle<cr>', { desc = "Nerd tree toggle" })
|
||||||
|
vim.keymap.set('n', '<C-f>', '<cmd>NERDTreeFind<cr>', { desc = "Nerd tree find" })
|
||||||
|
|
||||||
|
-- Term
|
||||||
|
vim.keymap.set('n', '<Leader>t', '<cmd>terminal<cr>', { desc = "Show terminal" } )
|
||||||
|
|
||||||
|
vim.keymap.set('n', '<Leader><Leader>t', '<CMD>lua require("FTerm").toggle()<CR>', { desc = "Toggle Float Terminal" })
|
||||||
|
vim.keymap.set('t', '<Leader><Leader>t', '<C-\\><C-n><CMD>lua require("FTerm").toggle()<CR>', { desc = "Toggle Float Terminal" })
|
||||||
|
|
||||||
|
vim.keymap.set('t', '<Esc>', '<C-\\><C-n>', { desc = "Exit terminal mode "} )
|
||||||
|
vim.keymap.set('t', 'jk', '<C-\\><C-n>', { desc = "Exit terminal mode "} )
|
||||||
|
vim.keymap.set('t', 'jj', '<C-\\><C-n>', { desc = "Exit terminal mode "} )
|
||||||
|
vim.keymap.set("t", "<Leader>q", "<cmd>bdelete<cr>", { desc = "Quit the current buffer" })
|
||||||
|
|
||||||
|
vim.keymap.set('t', '<A-h>', '<C-\\><C-N><C-w>h', { desc = "" })
|
||||||
|
vim.keymap.set('t', '<A-j>', '<C-\\><C-N><C-w>j', { desc = "" })
|
||||||
|
vim.keymap.set('t', '<A-k>', '<C-\\><C-N><C-w>k', { desc = "" })
|
||||||
|
vim.keymap.set('t', '<A-l>', '<C-\\><C-N><C-w>l', { desc = "" })
|
||||||
|
|
||||||
|
vim.keymap.set('i', '<A-h>', '<C-\\><C-N><C-w>h', { desc = "" })
|
||||||
|
vim.keymap.set('i', '<A-j>', '<C-\\><C-N><C-w>j', { desc = "" })
|
||||||
|
vim.keymap.set('i', '<A-k>', '<C-\\><C-N><C-w>k', { desc = "" })
|
||||||
|
vim.keymap.set('i', '<A-l>', '<C-\\><C-N><C-w>l', { desc = "" })
|
||||||
|
|
||||||
|
vim.keymap.set('n', '<A-j>', '<C-N><C-w>j', { desc = "" })
|
||||||
|
vim.keymap.set('n', '<A-k>', '<C-N><C-w>k', { desc = "" })
|
||||||
|
vim.keymap.set('n', '<A-l>', '<C-N><C-w>l', { desc = "" })
|
||||||
|
|
||||||
|
-- Code action
|
||||||
|
vim.keymap.set('n', '<Leader>,', '<cmd>CodeActionMenu<cr>')
|
||||||
|
|
||||||
|
-- Oil
|
||||||
|
vim.keymap.set('n', '<Leader>-', '<cmd>Oil<cr>', { desc = "Open Oil" })
|
||||||
|
|
||||||
|
-- Transparency
|
||||||
|
vim.keymap.set('n', '<Leader>=', '<cmd>TransparencyToggle<cr>', { desc = "Toggle Transparency" })
|
|
@ -0,0 +1,7 @@
|
||||||
|
local me_lualine = {}
|
||||||
|
|
||||||
|
function me_lualine.me()
|
||||||
|
return "UnknownRori"
|
||||||
|
end
|
||||||
|
|
||||||
|
return me_lualine
|
|
@ -0,0 +1,24 @@
|
||||||
|
if vim.g.neovide then
|
||||||
|
vim.g.neovide_scale_factor = 0.9
|
||||||
|
vim.api.nvim_create_user_command('FullscreenToggle',
|
||||||
|
function (opts)
|
||||||
|
vim.g.neovide_fullscreen = not vim.g.neovide_fullscreen
|
||||||
|
end,
|
||||||
|
{}
|
||||||
|
)
|
||||||
|
|
||||||
|
-- Helper function for transparency formatting
|
||||||
|
local alpha = function()
|
||||||
|
return string.format("%x", math.floor(255 * vim.g.transparency or 0.8))
|
||||||
|
end
|
||||||
|
-- g:neovide_transparency should be 0 if you want to unify transparency of content and title bar.
|
||||||
|
vim.g.neovide_transparency = 0.8
|
||||||
|
vim.g.transparency = 0.8
|
||||||
|
vim.g.neovide_background_color = "#0f1117" .. alpha()
|
||||||
|
|
||||||
|
vim.g.neovide_floating_blur_amount_x = 2.0
|
||||||
|
vim.g.neovide_floating_blur_amount_y = 2.0
|
||||||
|
vim.g.neovide_scroll_animation_length = 0.3
|
||||||
|
|
||||||
|
vim.g.neovide_cursor_vfx_mode = "railgun"
|
||||||
|
end
|
|
@ -0,0 +1,15 @@
|
||||||
|
return {
|
||||||
|
"windwp/nvim-autopairs",
|
||||||
|
-- Optional dependency
|
||||||
|
dependencies = { 'hrsh7th/nvim-cmp' },
|
||||||
|
config = function()
|
||||||
|
require("nvim-autopairs").setup {}
|
||||||
|
-- If you want to automatically add `(` after selecting a function or method
|
||||||
|
local cmp_autopairs = require('nvim-autopairs.completion.cmp')
|
||||||
|
local cmp = require('cmp')
|
||||||
|
cmp.event:on(
|
||||||
|
'confirm_done',
|
||||||
|
cmp_autopairs.on_confirm_done()
|
||||||
|
)
|
||||||
|
end,
|
||||||
|
}
|
|
@ -0,0 +1,19 @@
|
||||||
|
return {
|
||||||
|
'akinsho/bufferline.nvim',
|
||||||
|
version = "*",
|
||||||
|
dependencies = 'nvim-tree/nvim-web-devicons',
|
||||||
|
config = function()
|
||||||
|
vim.opt.termguicolors = true
|
||||||
|
require('bufferline').setup({
|
||||||
|
options = {
|
||||||
|
diagnostics = "nvim_lsp",
|
||||||
|
hover = {
|
||||||
|
enabled = true,
|
||||||
|
delay = 200,
|
||||||
|
reveal = {'close'}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
return {
|
||||||
|
'brenoprata10/nvim-highlight-colors',
|
||||||
|
config = function ()
|
||||||
|
require('nvim-highlight-colors').setup {}
|
||||||
|
end,
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
return {
|
||||||
|
"max397574/colortils.nvim",
|
||||||
|
cmd = "Colortils",
|
||||||
|
config = function()
|
||||||
|
require("colortils").setup()
|
||||||
|
end,
|
||||||
|
}
|
|
@ -0,0 +1,15 @@
|
||||||
|
return {
|
||||||
|
'yamatsum/nvim-cursorline',
|
||||||
|
opts = {
|
||||||
|
cursorline = {
|
||||||
|
enable = true,
|
||||||
|
timeout = 0,
|
||||||
|
number = false,
|
||||||
|
},
|
||||||
|
cursorword = {
|
||||||
|
enable = true,
|
||||||
|
min_length = 3,
|
||||||
|
hl = { underline = true },
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
return {
|
||||||
|
'xiyaowong/nvim-cursorword',
|
||||||
|
}
|
|
@ -0,0 +1,62 @@
|
||||||
|
return {
|
||||||
|
"goolord/alpha-nvim",
|
||||||
|
event = "VimEnter",
|
||||||
|
dependencies = { {'nvim-tree/nvim-web-devicons'}},
|
||||||
|
opts = function()
|
||||||
|
local dashboard = require("alpha.themes.dashboard")
|
||||||
|
local logo = [[
|
||||||
|
██████╗ ██████╗ ██████╗ ██╗
|
||||||
|
██╔══██╗██╔═══██╗██╔══██╗██║
|
||||||
|
██████╔╝██║ ██║██████╔╝██║
|
||||||
|
██╔══██╗██║ ██║██╔══██╗██║
|
||||||
|
██║ ██║╚██████╔╝██║ ██║██║
|
||||||
|
╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝
|
||||||
|
]]
|
||||||
|
|
||||||
|
dashboard.section.header.val = vim.split(logo, "\n")
|
||||||
|
dashboard.section.buttons.val = {
|
||||||
|
dashboard.button("f", " " .. " Find file", ":Telescope find_files <CR>"),
|
||||||
|
dashboard.button("n", " " .. " New file", ":ene <BAR> startinsert <CR>"),
|
||||||
|
dashboard.button("r", " " .. " Recent files", ":Telescope oldfiles <CR>"),
|
||||||
|
dashboard.button("g", " " .. " Find text", ":Telescope live_grep <CR>"),
|
||||||
|
dashboard.button("c", " " .. " Config", ":e $MYVIMRC <CR>"),
|
||||||
|
dashboard.button("s", " " .. " Restore Session", [[:lua require("persistence").load() <cr>]]),
|
||||||
|
dashboard.button("l", " " .. " Lazy", ":Lazy<CR>"),
|
||||||
|
dashboard.button("q", " " .. " Quit", ":qa<CR>"),
|
||||||
|
}
|
||||||
|
for _, button in ipairs(dashboard.section.buttons.val) do
|
||||||
|
button.opts.hl = "AlphaButtons"
|
||||||
|
button.opts.hl_shortcut = "AlphaShortcut"
|
||||||
|
end
|
||||||
|
dashboard.section.header.opts.hl = "AlphaHeader"
|
||||||
|
dashboard.section.buttons.opts.hl = "AlphaButtons"
|
||||||
|
dashboard.section.footer.opts.hl = "AlphaFooter"
|
||||||
|
dashboard.opts.layout[1].val = 8
|
||||||
|
return dashboard
|
||||||
|
end,
|
||||||
|
config = function(_, dashboard)
|
||||||
|
-- close Lazy and re-open when the dashboard is ready
|
||||||
|
if vim.o.filetype == "lazy" then
|
||||||
|
vim.cmd.close()
|
||||||
|
vim.api.nvim_create_autocmd("User", {
|
||||||
|
pattern = "AlphaReady",
|
||||||
|
callback = function()
|
||||||
|
require("lazy").show()
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
require("alpha").setup(dashboard.opts)
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd("User", {
|
||||||
|
pattern = "LazyVimStarted",
|
||||||
|
callback = function()
|
||||||
|
local stats = require("lazy").stats()
|
||||||
|
local ms = (math.floor(stats.startuptime * 100 + 0.5) / 100)
|
||||||
|
dashboard.section.footer.val = "⚡ Rori's Editor loaded " .. stats.count .. " plugins in " .. ms .. "ms"
|
||||||
|
pcall(vim.cmd.AlphaRedraw)
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
return {
|
||||||
|
'andweeb/presence.nvim',
|
||||||
|
opts = {
|
||||||
|
editing_text = "🛠️ Editing %s",
|
||||||
|
file_explorer_text = "📝 Browsing %s",
|
||||||
|
git_commit_text = "📝 Committing changes",
|
||||||
|
plugin_manager_text = "📦 Managing plugins",
|
||||||
|
reading_text = "📝 Reading %s",
|
||||||
|
workspace_text = "🔨 Working on %s",
|
||||||
|
line_number_text = "📝 Line %s out of %s",
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,16 @@
|
||||||
|
return {
|
||||||
|
'anuvyklack/pretty-fold.nvim',
|
||||||
|
config = function()
|
||||||
|
require('pretty-fold').ft_setup('lua', {
|
||||||
|
matchup_patterns = {
|
||||||
|
{ '^%s*do$', 'end' }, -- do ... end blocks
|
||||||
|
{ '^%s*if', 'end' }, -- if ... end
|
||||||
|
{ '^%s*for', 'end' }, -- for
|
||||||
|
{ 'function%s*%(', 'end' }, -- 'function( or 'function (''
|
||||||
|
{ '{', '}' },
|
||||||
|
{ '%(', ')' }, -- % to escape lua pattern char
|
||||||
|
{ '%[', ']' }, -- % to escape lua pattern char
|
||||||
|
},
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
}
|
|
@ -2,4 +2,51 @@
|
||||||
-- I promise not to create any merge conflicts in this directory :)
|
-- I promise not to create any merge conflicts in this directory :)
|
||||||
--
|
--
|
||||||
-- See the kickstart.nvim README for more information
|
-- See the kickstart.nvim README for more information
|
||||||
return {}
|
|
||||||
|
function load_plugin (name)
|
||||||
|
return require('custom.plugins.' .. name)
|
||||||
|
end
|
||||||
|
|
||||||
|
return {
|
||||||
|
'nvim-tree/nvim-web-devicons',
|
||||||
|
'preservim/nerdtree',
|
||||||
|
|
||||||
|
'hrsh7th/nvim-cmp',
|
||||||
|
'hrsh7th/cmp-nvim-lsp',
|
||||||
|
'hrsh7th/cmp-buffer',
|
||||||
|
'hrsh7th/cmp-path',
|
||||||
|
'saadparwaiz1/cmp_luasnip',
|
||||||
|
'hrsh7th/cmp-nvim-lua',
|
||||||
|
'jose-elias-alvarez/null-ls.nvim',
|
||||||
|
'simrat39/rust-tools.nvim',
|
||||||
|
-- 'jose-elias-alvarez/nvim-lsp-ts-utils',
|
||||||
|
{
|
||||||
|
'p00f/clangd_extensions.nvim',
|
||||||
|
lazy = false,
|
||||||
|
},
|
||||||
|
|
||||||
|
'L3MON4D3/LuaSnip',
|
||||||
|
'rafamadriz/friendly-snippets',
|
||||||
|
|
||||||
|
'RRethy/vim-illuminate',
|
||||||
|
'ray-x/lsp_signature.nvim',
|
||||||
|
'nvim-treesitter/nvim-treesitter-context',
|
||||||
|
|
||||||
|
|
||||||
|
load_plugin('discord_presence'),
|
||||||
|
|
||||||
|
load_plugin('oil'),
|
||||||
|
load_plugin('bufferline'),
|
||||||
|
load_plugin('terminal'),
|
||||||
|
load_plugin('autopairs'),
|
||||||
|
load_plugin('dashboard'),
|
||||||
|
load_plugin('todocomment'),
|
||||||
|
load_plugin('notify'),
|
||||||
|
load_plugin('cursorword'),
|
||||||
|
load_plugin('cursorline'),
|
||||||
|
load_plugin('transparent'),
|
||||||
|
load_plugin('fold'),
|
||||||
|
load_plugin('colorpicker'),
|
||||||
|
load_plugin('color_highlight'),
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
return {
|
||||||
|
'lvimuser/lsp-inlayhints.nvim',
|
||||||
|
lazy = false,
|
||||||
|
config = function()
|
||||||
|
require('lsp-inlayhints.init').setup();
|
||||||
|
vim.api.nvim_create_augroup("LspAttach_inlayhints", {})
|
||||||
|
vim.api.nvim_create_autocmd("LspAttach", {
|
||||||
|
group = "LspAttach_inlayhints",
|
||||||
|
callback = function(args)
|
||||||
|
if not (args.data and args.data.client_id) then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local bufnr = args.buf
|
||||||
|
local client = vim.lsp.get_client_by_id(args.data.client_id)
|
||||||
|
require("lsp-inlayhints").on_attach(client, bufnr)
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
end
|
||||||
|
}
|
|
@ -0,0 +1,10 @@
|
||||||
|
return {
|
||||||
|
"rcarriga/nvim-notify",
|
||||||
|
config = function()
|
||||||
|
local notify = require("notify")
|
||||||
|
-- this for transparency
|
||||||
|
notify.setup({ background_colour = "#000000" })
|
||||||
|
-- this overwrites the vim notify function
|
||||||
|
vim.notify = notify.notify
|
||||||
|
end
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
return {
|
||||||
|
'stevearc/oil.nvim',
|
||||||
|
opts = {},
|
||||||
|
-- Optional dependencies
|
||||||
|
dependencies = { "nvim-tree/nvim-web-devicons" },
|
||||||
|
}
|
|
@ -0,0 +1,27 @@
|
||||||
|
return {
|
||||||
|
"numToStr/FTerm.nvim",
|
||||||
|
opts = {
|
||||||
|
cmd = "bash",
|
||||||
|
blend = 50,
|
||||||
|
width = function()
|
||||||
|
return vim.opt.columns * 20
|
||||||
|
end,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
-- return {
|
||||||
|
-- "akinsho/toggleterm.nvim",
|
||||||
|
-- -- cmd = { "ToggleTerm", "TermExec" },
|
||||||
|
-- opts = {
|
||||||
|
-- size = function()
|
||||||
|
-- return vim.opt.columns * 20
|
||||||
|
-- end,
|
||||||
|
-- hide_numbers = false,
|
||||||
|
-- shading_factor = 2,
|
||||||
|
-- direction = "float",
|
||||||
|
-- float_opts = {
|
||||||
|
-- border = "curved",
|
||||||
|
-- highlights = { border = "Normal", background = "Normal" },
|
||||||
|
-- },
|
||||||
|
-- },
|
||||||
|
-- }
|
||||||
|
--
|
|
@ -0,0 +1,15 @@
|
||||||
|
return {
|
||||||
|
"folke/todo-comments.nvim",
|
||||||
|
cmd = { "TodoTrouble", "TodoTelescope" }, event = { "BufReadPost", "BufNewFile" },
|
||||||
|
config = true,
|
||||||
|
-- stylua: ignore
|
||||||
|
keys = {
|
||||||
|
{ "]t", function() require("todo-comments").jump_next() end, desc = "Next todo comment" },
|
||||||
|
{ "[t", function() require("todo-comments").jump_prev() end, desc = "Previous todo comment" },
|
||||||
|
{ "<leader>xt", "<cmd>TodoTrouble<cr>", desc = "Todo (Trouble)" },
|
||||||
|
{ "<leader>xT", "<cmd>TodoTrouble keywords=TODO,FIX,FIXME<cr>", desc = "Todo/Fix/Fixme (Trouble)" },
|
||||||
|
{ "<leader>st", "<cmd>TodoTelescope<cr>", desc = "Todo" },
|
||||||
|
{ "<leader>sT", "<cmd>TodoTelescope keywords=TODO,FIX,FIXME<cr>", desc = "Todo/Fix/Fixme" },
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
return {
|
||||||
|
'xiyaowong/transparent.nvim',
|
||||||
|
opts = {
|
||||||
|
extra_groups = {
|
||||||
|
"NormalFloat", -- plugins which have float panel such as Lazy, Mason, LspInfo
|
||||||
|
"NvimTreeNormal", -- NvimTree
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,10 @@
|
||||||
|
return {
|
||||||
|
'Shatur/neovim-ayu',
|
||||||
|
-- "folke/tokyonight.nvim",
|
||||||
|
priority = 1000,
|
||||||
|
-- opts = { style = "night" },
|
||||||
|
config = function()
|
||||||
|
-- vim.cmd.colorscheme 'tokyonight'
|
||||||
|
vim.cmd.colorscheme 'ayu'
|
||||||
|
end
|
||||||
|
}
|
Loading…
Reference in New Issue