Compare commits

..

No commits in common. "689f994fbdabd144b019b456a22b2ef70eefe43c" and "9fb7d5de4bc8a3fe4e76e830bfe034ab1e4f9d5d" have entirely different histories.

10 changed files with 149 additions and 169 deletions

View File

@ -0,0 +1,8 @@
-- Set keymap to open chat in browser
vim.keymap.set('n', '<leader>cc', ':execute codeium#Chat()<Enter>', { desc = '[C]odeium [C]hat' })
return {
-- Free Github Copilot alternative
'Exafunction/codeium.vim',
event = 'BufEnter',
}

View File

@ -5,42 +5,40 @@ vim.g.conflict_marker_highlight_group = ''
vim.g.conflict_marker_begin = '^<<<<<<< .*$' vim.g.conflict_marker_begin = '^<<<<<<< .*$'
vim.g.conflict_marker_end = '^>>>>>>> .*$' vim.g.conflict_marker_end = '^>>>>>>> .*$'
-- Highlight groups
vim.cmd 'highlight ConflictMarkerBegin guibg=#2f7366'
vim.cmd 'highlight ConflictMarkerOurs guibg=#2e5049'
vim.cmd 'highlight ConflictMarkerTheirs guibg=#344f69'
vim.cmd 'highlight ConflictMarkerEnd guibg=#2f628e'
vim.cmd 'highlight ConflictMarkerCommonAncestorsHunk guibg=#754a81'
-- Git conflict marker management plugin -- Git conflict marker management plugin
return { return {
{ 'rhysd/conflict-marker.vim',
'rhysd/conflict-marker.vim', config = function()
config = function() -- Read all lines in buffer, check if there is any conflict marker
-- Highlight groups function git_conflict_detection()
vim.cmd 'highlight ConflictMarkerBegin guibg=#2f7366' local lines = vim.api.nvim_buf_get_lines(0, 0, -1, false)
vim.cmd 'highlight ConflictMarkerOurs guibg=#2e5049' -- Check if strict regex is contained in any line
vim.cmd 'highlight ConflictMarkerTheirs guibg=#344f69' local beginning = vim.fn.match(lines, vim.g.conflict_marker_begin)
vim.cmd 'highlight ConflictMarkerEnd guibg=#2f628e' local ending = vim.fn.match(lines, vim.g.conflict_marker_end)
vim.cmd 'highlight ConflictMarkerCommonAncestorsHunk guibg=#754a81' local enabled = vim.diagnostic.is_enabled()
if (beginning > -1 or ending > -1) and enabled then
-- Read all lines in buffer, check if there is any conflict marker vim.diagnostic.enable(false)
function git_conflict_detection() elseif not enabled then
local lines = vim.api.nvim_buf_get_lines(0, 0, -1, false) vim.diagnostic.enable(true)
-- Check if strict regex is contained in any line
local beginning = vim.fn.match(lines, vim.g.conflict_marker_begin)
local ending = vim.fn.match(lines, vim.g.conflict_marker_end)
local enabled = vim.diagnostic.is_enabled()
if (beginning > -1 or ending > -1) and enabled then
vim.diagnostic.enable(false)
elseif not enabled then
vim.diagnostic.enable(true)
end
end end
end
-- Autocommand to disable diagnostics on buffer enter -- Autocommand to disable diagnostics on buffer enter
vim.api.nvim_create_autocmd('BufRead', { vim.api.nvim_create_autocmd('BufRead', {
group = vim.api.nvim_create_augroup('git-conflict-lsp-disable', { clear = true }), group = vim.api.nvim_create_augroup('git-conflict-lsp-disable', { clear = true }),
callback = git_conflict_detection, callback = git_conflict_detection,
}) })
-- Autocommand to disable diagnostics on save -- Autocommand to disable diagnostics on save
vim.api.nvim_create_autocmd('BufWritePre', { vim.api.nvim_create_autocmd('BufWritePre', {
group = vim.api.nvim_create_augroup('git-conflict-lsp-disable', { clear = false }), group = vim.api.nvim_create_augroup('git-conflict-lsp-disable', { clear = false }),
callback = git_conflict_detection, callback = git_conflict_detection,
}) })
end, end,
},
} }

View File

@ -1,26 +1,23 @@
-- Switch in fugitive.vim status window with the current one
vim.keymap.set('n', '<leader>gs', '<cmd>Gedit :<cr>', { desc = '[G]it [S]tatus' })
-- Fetch all changes
vim.keymap.set('n', '<leader>gF', '<cmd>Git fetch<cr>', { desc = '[G]it [F]etch' })
-- Push changes
vim.keymap.set('n', '<leader>gP', '<cmd>Git push<cr>', { desc = '[G]it [P]ush' })
-- Pull changes
vim.keymap.set('n', '<leader>gp', '<cmd>Git pull<cr>', { desc = '[G]it [P]ull' })
-- Open history graph
vim.keymap.set('n', '<leader>gl', '<cmd>Flogsplit<cr><cmd>wincmd k<cr><cmd>q<cr>', { desc = '[G]it [L]og' })
return { return {
{ -- Git related plugins
-- Git related plugins 'tpope/vim-fugitive',
'tpope/vim-fugitive', dependencies = {
dependencies = { {
{ 'rbong/vim-flog',
'rbong/vim-flog', lazy = true,
lazy = true, cmd = { 'Flogsplit' },
cmd = { 'Flogsplit' },
},
'idanarye/vim-merginal',
}, },
config = function() 'idanarye/vim-merginal',
-- Switch in fugitive.vim status window with the current one
vim.keymap.set('n', '<leader>gs', '<cmd>Gedit :<cr>', { desc = '[G]it [S]tatus' })
-- Fetch all changes
vim.keymap.set('n', '<leader>gF', '<cmd>Git fetch<cr>', { desc = '[G]it [F]etch' })
-- Push changes
vim.keymap.set('n', '<leader>gP', '<cmd>Git push<cr>', { desc = '[G]it [P]ush' })
-- Pull changes
vim.keymap.set('n', '<leader>gp', '<cmd>Git pull<cr>', { desc = '[G]it [P]ull' })
-- Open history graph
vim.keymap.set('n', '<leader>gl', '<cmd>Flogsplit<cr><cmd>wincmd k<cr><cmd>q<cr>', { desc = '[G]it [L]og' })
end,
}, },
} }

View File

@ -1,6 +1,4 @@
-- Plugin to intelligently reopen files at last edit position -- Plugin to intelligently reopen files at last edit position
return { return {
{ 'farmergreg/vim-lastplace',
'farmergreg/vim-lastplace',
},
} }

View File

@ -1,15 +1,13 @@
return { return {
{ -- Set lualine as statusline
-- Set lualine as statusline 'nvim-lualine/lualine.nvim',
'nvim-lualine/lualine.nvim', -- See `:help lualine.txt`
-- See `:help lualine.txt` opts = {
opts = { options = {
options = { icons_enabled = vim.g.have_nerd_font,
icons_enabled = vim.g.have_nerd_font, theme = 'catppuccin',
theme = 'catppuccin', section_separators = { left = '', right = '' },
section_separators = { left = '', right = '' }, component_separators = { left = '', right = '' },
component_separators = { left = '', right = '' },
},
}, },
}, },
} }

View File

@ -1,12 +1,10 @@
-- Markdown preview plugin -- Markdown preview plugin
return { return {
{ 'iamcco/markdown-preview.nvim',
'iamcco/markdown-preview.nvim', cmd = { 'MarkdownPreviewToggle', 'MarkdownPreview', 'MarkdownPreviewStop' },
cmd = { 'MarkdownPreviewToggle', 'MarkdownPreview', 'MarkdownPreviewStop' }, build = 'cd app; npm install',
build = 'cd app; npm install', init = function()
init = function() vim.g.mkdp_filetypes = { 'markdown' }
vim.g.mkdp_filetypes = { 'markdown' } end,
end, ft = { 'markdown' },
ft = { 'markdown' },
},
} }

View File

@ -1,30 +1,28 @@
-- Smooth scroll plugin and keymaps -- Smooth scroll plugin and keymaps
return { return {
{ 'karb94/neoscroll.nvim',
'karb94/neoscroll.nvim', enabled = not vim.g.neovide,
enabled = not vim.g.neovide, config = function()
config = function() require('neoscroll').setup {
require('neoscroll').setup { hide_cursor = false,
hide_cursor = false, easing_function = nil,
easing_function = nil, respect_scrolloff = true,
respect_scrolloff = true, }
}
require('neoscroll.config').set_mappings { require('neoscroll.config').set_mappings {
-- Scroll normally -- Scroll normally
['<C-u>'] = { 'scroll', { '-vim.wo.scroll', 'true', '50' } }, ['<C-u>'] = { 'scroll', { '-vim.wo.scroll', 'true', '50' } },
['<C-d>'] = { 'scroll', { 'vim.wo.scroll', 'true', '50' } }, ['<C-d>'] = { 'scroll', { 'vim.wo.scroll', 'true', '50' } },
-- Scroll entire page height -- Scroll entire page height
['<C-b>'] = { 'scroll', { '-vim.api.nvim_win_get_height(0)', 'true', '80' } }, ['<C-b>'] = { 'scroll', { '-vim.api.nvim_win_get_height(0)', 'true', '80' } },
['<C-f>'] = { 'scroll', { 'vim.api.nvim_win_get_height(0)', 'true', '80' } }, ['<C-f>'] = { 'scroll', { 'vim.api.nvim_win_get_height(0)', 'true', '80' } },
-- Scroll 10% at a time -- Scroll 10% at a time
['<C-y>'] = { 'scroll', { '-0.10', 'false', '25' } }, ['<C-y>'] = { 'scroll', { '-0.10', 'false', '25' } },
['<C-e>'] = { 'scroll', { '0.10', 'false', '25' } }, ['<C-e>'] = { 'scroll', { '0.10', 'false', '25' } },
-- Jump to top, bottom and center -- Jump to top, bottom and center
['zt'] = { 'zt', { '40' } }, ['zt'] = { 'zt', { '40' } },
['zz'] = { 'zz', { '50' } }, ['zz'] = { 'zz', { '50' } },
['zb'] = { 'zb', { '40' } }, ['zb'] = { 'zb', { '40' } },
} }
end, end,
},
} }

View File

@ -9,25 +9,12 @@ vim.api.nvim_create_autocmd('BufLeave', {
}) })
return { return {
{ 'stevearc/oil.nvim',
'stevearc/oil.nvim', opts = {},
-- Optional dependencies -- Optional dependencies
dependencies = { 'nvim-tree/nvim-web-devicons' }, dependencies = { 'nvim-tree/nvim-web-devicons' },
config = function() config = function()
local oil = require 'oil' require('oil').setup()
oil.setup { vim.keymap.set('n', '<leader>fe', require('oil').open, { desc = '[F]ile [E]xplorer' })
view_options = { end,
show_hidden = true,
},
}
vim.keymap.set('n', '<leader>fe', function()
if vim.bo.filetype == 'oil' then
oil.close()
else
oil.open()
end
end, { desc = '[F]ile [E]xplorer' })
end,
},
} }

View File

@ -1,49 +1,47 @@
return { return {
{ -- Simple task runner plugin
-- Simple task runner plugin 'stevearc/overseer.nvim',
'stevearc/overseer.nvim', opts = {},
opts = {}, config = function()
config = function() local overseer = require 'overseer'
local overseer = require 'overseer' overseer.setup {
overseer.setup { templates = {
templates = { 'builtin',
'builtin', 'golang.run_project',
'golang.run_project', 'golang.run_file',
'golang.run_file', },
task_list = {
bindings = {
['<C-h>'] = false,
['<C-j>'] = false,
['<C-k>'] = false,
['<C-l>'] = false,
['q'] = false,
}, },
task_list = { },
bindings = { }
['<C-h>'] = false,
['<C-j>'] = false,
['<C-k>'] = false,
['<C-l>'] = false,
['q'] = false,
},
},
}
-- Reference: overseer.nvim/lua/overseer/window.lua -- Reference: overseer.nvim/lua/overseer/window.lua
local function is_open() local function is_open()
for _, winid in ipairs(vim.api.nvim_tabpage_list_wins(0)) do for _, winid in ipairs(vim.api.nvim_tabpage_list_wins(0)) do
local bufnr = vim.api.nvim_win_get_buf(winid) local bufnr = vim.api.nvim_win_get_buf(winid)
if vim.bo[bufnr].filetype == 'OverseerList' then if vim.bo[bufnr].filetype == 'OverseerList' then
return true return true
end
end end
return false
end end
return false
end
-- Display status info about tasks -- Display status info about tasks
vim.keymap.set('n', '<leader>ol', function() vim.keymap.set('n', '<leader>ol', function()
overseer.toggle { winid = 0 } overseer.toggle { winid = 0 }
if is_open() then if is_open() then
vim.cmd.winc '_' vim.cmd.winc '_'
else else
vim.api.nvim_buf_delete(vim.api.nvim_get_current_buf(), {}) vim.api.nvim_buf_delete(vim.api.nvim_get_current_buf(), {})
end end
end, { desc = '[O]verseer [L]og' }) end, { desc = '[O]verseer [L]og' })
-- Run task by listing all in floating -- Run task by listing all in floating
vim.keymap.set('n', '<leader>or', '<cmd>OverseerRun<cr>', { desc = '[O]verseer [R]un' }) vim.keymap.set('n', '<leader>or', '<cmd>OverseerRun<cr>', { desc = '[O]verseer [R]un' })
end, end,
},
} }

View File

@ -4,7 +4,7 @@
-- For more options, you can see `:help option-list` -- For more options, you can see `:help option-list`
-- Set display language -- Set display language
vim.cmd 'language en_US' vim.cmd('language en_US', {})
-- Shell options -- Shell options
-- Sets the shell to use for system() and ! commands in windows -- Sets the shell to use for system() and ! commands in windows