185 lines
5.9 KiB
Lua
185 lines
5.9 KiB
Lua
-- You can add your own plugins here or in other files in this directory!
|
|
-- I promise not to create any merge conflicts in this directory :)
|
|
--
|
|
-- See the kickstart.nvim README for more information
|
|
return {
|
|
{
|
|
'levouh/tint.nvim',
|
|
config = function()
|
|
-- Override some defaults
|
|
require('tint').setup {
|
|
tint = -45, -- Darken colors, use a positive value to brighten
|
|
saturation = 0.6, -- Saturation to preserve
|
|
transforms = require('tint').transforms.SATURATE_TINT, -- Showing default behavior, but value here can be predefined set of transforms
|
|
tint_background_colors = true, -- Tint background portions of highlight groups
|
|
highlight_ignore_patterns = { 'WinSeparator', 'Status.*' }, -- Highlight group patterns to ignore, see `string.find`
|
|
window_ignore_function = function(winid)
|
|
local bufid = vim.api.nvim_win_get_buf(winid)
|
|
local buftype = vim.api.nvim_buf_get_option(bufid, 'buftype')
|
|
local floating = vim.api.nvim_win_get_config(winid).relative ~= ''
|
|
|
|
-- Do not tint `terminal` or floating windows, tint everything else
|
|
return buftype == floating --"terminal" or
|
|
end,
|
|
}
|
|
end,
|
|
},
|
|
{
|
|
'mvllow/modes.nvim',
|
|
config = function()
|
|
require('modes').setup {
|
|
colors = {
|
|
copy = '#DC9A0C',
|
|
delete = '#C73000',
|
|
insert = '#006600',
|
|
visual = '#9745be',
|
|
default = '#FFFFFF',
|
|
normal = 'white',
|
|
},
|
|
|
|
-- Set opacity for cursorline and number background
|
|
line_opacity = 0.5,
|
|
|
|
-- Enable cursor highlights
|
|
set_cursor = true,
|
|
|
|
-- Enable cursorline initially, and disable cursorline for inactive windows
|
|
-- or ignored filetypes
|
|
set_cursorline = true,
|
|
|
|
-- Enable line number highlights to match cursorline
|
|
set_number = true,
|
|
|
|
-- Disable modes highlights in specified filetypes
|
|
-- Please PR commonly ignored filetypes
|
|
ignore_filetypes = { 'NvimTree', 'TelescopePrompt' },
|
|
}
|
|
end,
|
|
vim.opt.guicursor:append 'n-c:block-Cursor',
|
|
},
|
|
-- {
|
|
-- 'github/copilot.vim',
|
|
-- },
|
|
{
|
|
'akinsho/bufferline.nvim',
|
|
version = '*',
|
|
dependencies = 'nvim-tree/nvim-web-devicons',
|
|
config = function()
|
|
vim.opt.termguicolors = true
|
|
require('bufferline').setup {}
|
|
end,
|
|
},
|
|
{
|
|
'nvim-lualine/lualine.nvim',
|
|
dependencies = { 'nvim-tree/nvim-web-devicons' },
|
|
config = function()
|
|
require('lualine').setup {
|
|
options = {
|
|
icons_enabled = true,
|
|
theme = 'auto',
|
|
component_separators = { left = '', right = '' },
|
|
section_separators = { left = '', right = '' },
|
|
disabled_filetypes = {
|
|
statusline = {},
|
|
winbar = {},
|
|
},
|
|
ignore_focus = {},
|
|
always_divide_middle = true,
|
|
globalstatus = false,
|
|
refresh = {
|
|
statusline = 1000,
|
|
tabline = 1000,
|
|
winbar = 1000,
|
|
},
|
|
},
|
|
sections = {
|
|
lualine_a = { 'mode' },
|
|
lualine_b = { 'branch', 'diagnostics' },
|
|
lualine_c = { 'filename' },
|
|
--lualine_x = { 'filetype', 'encoding' }, -- "fileformat",
|
|
--lualine_y = { "progress" },
|
|
lualine_z = { 'location' },
|
|
lualine_x = {
|
|
'copilot',
|
|
'encoding',
|
|
'fileformat',
|
|
'filetype',
|
|
},
|
|
|
|
--inactive_sections = {
|
|
-- lualine_a = {},
|
|
-- lualine_b = {},
|
|
-- lualine_c = { "filename" },
|
|
-- lualine_x = { "location" },
|
|
-- lualine_y = {},
|
|
--a lualine_z = {},
|
|
--},
|
|
tabline = {},
|
|
winbar = {},
|
|
inactive_winbar = {},
|
|
extensions = {},
|
|
},
|
|
}
|
|
end,
|
|
},
|
|
{ 'ofseed/copilot-status.nvim' },
|
|
--{ 'AndreM222/copilot-lualine' },
|
|
{ -- know what is possible at the command line
|
|
'gelguy/wilder.nvim',
|
|
config = function()
|
|
local wilder = require 'wilder'
|
|
wilder.setup { modes = { ':', '/', '?' } }
|
|
end,
|
|
},
|
|
|
|
{ -- shows the colors in files e.g. #CCAA33
|
|
'norcalli/nvim-colorizer.lua',
|
|
config = function()
|
|
require('colorizer').setup()
|
|
end,
|
|
},
|
|
{
|
|
'sainnhe/gruvbox-material',
|
|
config = function()
|
|
vim.cmd.colorscheme 'gruvbox-material'
|
|
end,
|
|
},
|
|
{
|
|
'github/copilot.vim',
|
|
config = function()
|
|
vim.cmd [[Copilot disable]]
|
|
|
|
-- Keybinding to toggle Copilot
|
|
vim.keymap.set('n', '<leader>cp', function()
|
|
vim.cmd [[Copilot toggle]]
|
|
end, { noremap = true, silent = true, desc = 'Toggle Copilot' })
|
|
end,
|
|
},
|
|
{
|
|
'CopilotC-Nvim/CopilotChat.nvim',
|
|
dependencies = {
|
|
{ 'github/copilot.vim' }, -- or zbirenbaum/copilot.lua
|
|
{ 'nvim-lua/plenary.nvim', branch = 'master' }, -- for curl, log and async functions
|
|
},
|
|
build = 'make tiktoken', -- Only on MacOS or Linux
|
|
opts = {
|
|
-- See Configuration section for options
|
|
},
|
|
config = function()
|
|
local chat = require 'CopilotChat'
|
|
chat.setup()
|
|
vim.keymap.set({ 'n' }, '<leader>aa', chat.toggle, { desc = 'AI Toggle' })
|
|
vim.keymap.set({ 'v' }, '<leader>aa', chat.open, { desc = 'AI Open' })
|
|
vim.keymap.set({ 'n' }, '<leader>ax', chat.reset, { desc = 'AI Reset' })
|
|
vim.keymap.set({ 'n' }, '<leader>as', chat.stop, { desc = 'AI Stop' })
|
|
vim.keymap.set({ 'n' }, '<leader>am', chat.select_model, { desc = 'AI Model' })
|
|
vim.keymap.set('n', '<leader>ar', ':CopilotChatFix<CR>', { desc = 'AI Fix' })
|
|
|
|
vim.keymap.set('n', '<leader>at', ':CopilotChatTests<CR>', { desc = 'AI Tests' })
|
|
vim.keymap.set('n', '<leader>ad', ':CopilotChatDocs<CR>', { desc = 'AI Docs' })
|
|
vim.keymap.set('n', '<leader>ar', ':CopilotChatReview<CR>', { desc = 'AI Review' })
|
|
end,
|
|
-- See Commands section for default commands if you want to lazy load on them
|
|
},
|
|
} -- end of return
|