nvim/lua/plugins.lua

423 lines
15 KiB
Lua
Raw Normal View History

2023-08-15 23:31:31 -07:00
local lsp_dev = {}
2022-11-02 22:50:13 -07:00
vim.cmd [[packadd packer.nvim]]
require('packer').startup(function(use)
use 'wbthomason/packer.nvim'
use 'nvim-lua/plenary.nvim'
use {
'nvim-treesitter/nvim-treesitter',
2023-08-11 18:12:35 -07:00
run = function()
require('nvim-treesitter.install').update({ with_sync = true })
end
}
2023-08-15 13:44:53 -07:00
-- TELESCOPE {{{
use { 'nvim-telescope/telescope.nvim' }
use { 'nvim-telescope/telescope-file-browser.nvim' }
use 'nvim-telescope/telescope-dap.nvim'
use { 'ghassan0/telescope-glyph.nvim' }
use { 'nat-418/telescope-color-names.nvim' }
2023-08-11 18:12:35 -07:00
use {
2023-08-15 13:44:53 -07:00
'nvim-telescope/telescope-fzf-native.nvim',
2024-08-13 23:30:39 -07:00
run = 'cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build'
2023-08-11 18:12:35 -07:00
}
2023-08-15 13:44:53 -07:00
-- }}}
-- LSP/DEV {{{
2023-08-15 17:07:20 -07:00
-- COPILOT {{{
2023-08-11 18:12:35 -07:00
use {
"zbirenbaum/copilot.lua",
event = "VimEnter",
config = function()
2023-08-15 13:44:53 -07:00
require('copilot').setup({
panel = {
enabled = false,
auto_refresh = false,
keymap = {
jump_prev = "[[",
jump_next = "]]",
accept = "<CR>",
refresh = "gr",
open = "<C-CR>"
2023-08-11 18:12:35 -07:00
},
2023-08-15 13:44:53 -07:00
layout = {
position = "right", -- | top | left | right
ratio = 0.4
}
},
suggestion = {
enabled = false,
auto_trigger = false,
debounce = 75,
keymap = {
accept = "<C-l>",
-- accept = "<Right>",
next = "<M-]>",
prev = "<M-[>",
dismiss = "<C-]>"
}
},
-- filetypes = {
-- yaml = false,
-- markdown = false,
-- help = false,
-- gitcommit = false,
-- gitrebase = false,
-- hgcommit = false,
-- svn = false,
-- cvs = false,
-- ["."] = false,
-- },
copilot_node_command = 'node', -- Node version must be < 18
plugin_manager_path = vim.fn.stdpath("data") ..
"/site/pack/packer",
server_opts_overrides = {
trace = "verbose",
settings = {
advanced = {
listCount = 10, -- #completions for panel
inlineSuggestCount = 4 -- #completions for getCompletions
2023-08-11 18:12:35 -07:00
}
}
2023-08-15 13:44:53 -07:00
}
})
2023-08-11 18:12:35 -07:00
end
}
2023-08-15 13:44:53 -07:00
use { "zbirenbaum/copilot-cmp" }
2023-08-15 17:07:20 -07:00
-- }}}
2023-08-15 23:31:31 -07:00
-- CHATGPT {{{
2023-08-15 13:44:53 -07:00
use({
"jackMort/ChatGPT.nvim",
commit = "24bcca7",
2023-08-15 17:07:20 -07:00
config = function()
2024-09-17 01:35:02 -07:00
require("chatgpt").setup({
api_key_cmd = "cat /home/sudacode/.openaikey",
yank_register = "+",
edit_with_instructions = {
diff = false,
keymaps = {
close = "<C-c>",
accept = "<C-y>",
toggle_diff = "<C-d>",
toggle_settings = "<C-o>",
toggle_help = "<C-h>",
cycle_windows = "<Tab>",
use_output_as_input = "<C-i>"
}
},
chat = {
welcome_message = WELCOME_MESSAGE,
loading_text = "Loading, please wait ...",
question_sign = "", -- 🙂
answer_sign = "", -- 🤖
border_left_sign = "",
border_right_sign = "",
max_line_length = 120,
sessions_window = {
active_sign = "",
inactive_sign = "",
current_line_sign = "",
border = {
style = "rounded",
text = { top = " Sessions " }
},
win_options = {
winhighlight = "Normal:Normal,FloatBorder:FloatBorder"
}
},
keymaps = {
close = "<C-c>",
yank_last = "<C-y>",
yank_last_code = "<C-k>",
scroll_up = "<C-u>",
scroll_down = "<C-d>",
new_session = "<C-n>",
cycle_windows = "<Tab>",
cycle_modes = "<C-f>",
next_message = "<C-j>",
prev_message = "<C-k>",
select_session = "<Space>",
rename_session = "r",
delete_session = "d",
draft_message = "<C-r>",
edit_message = "e",
delete_message = "d",
toggle_settings = "<C-o>",
toggle_sessions = "<C-p>",
toggle_help = "<C-h>",
toggle_message_role = "<C-r>",
toggle_system_role_open = "<C-s>",
stop_generating = "<C-x>"
}
},
popup_layout = {
default = "center",
center = { width = "80%", height = "80%" },
right = { width = "30%", width_settings_open = "50%" }
},
popup_window = {
border = {
highlight = "FloatBorder",
style = "rounded",
text = { top = " ChatGPT " }
},
win_options = {
wrap = true,
linebreak = true,
foldcolumn = "1",
winhighlight = "Normal:Normal,FloatBorder:FloatBorder"
},
buf_options = { filetype = "markdown" }
},
system_window = {
border = {
highlight = "FloatBorder",
style = "rounded",
text = { top = " SYSTEM " }
},
win_options = {
wrap = true,
linebreak = true,
foldcolumn = "2",
winhighlight = "Normal:Normal,FloatBorder:FloatBorder"
}
},
popup_input = {
prompt = "",
border = {
highlight = "FloatBorder",
style = "rounded",
text = { top_align = "center", top = " Prompt " }
},
win_options = {
winhighlight = "Normal:Normal,FloatBorder:FloatBorder"
},
submit = "<C-Enter>",
submit_n = "<Enter>",
max_visible_lines = 20
},
settings_window = {
setting_sign = "",
border = { style = "rounded", text = { top = " Settings " } },
win_options = {
winhighlight = "Normal:Normal,FloatBorder:FloatBorder"
}
},
help_window = {
setting_sign = "",
border = { style = "rounded", text = { top = " Help " } },
win_options = {
winhighlight = "Normal:Normal,FloatBorder:FloatBorder"
}
},
openai_params = {
model = "gpt-3.5-turbo",
frequency_penalty = 0,
presence_penalty = 0,
max_tokens = 300,
temperature = 0,
top_p = 1,
n = 1
},
openai_edit_params = {
model = "gpt-3.5-turbo",
frequency_penalty = 0,
presence_penalty = 0,
temperature = 0,
top_p = 1,
n = 1
},
use_openai_functions_for_edits = false,
actions_paths = {},
show_quickfixes_cmd = "Trouble quickfix",
predefined_chat_gpt_prompts =
"https://raw.githubusercontent.com/f/awesome-chatgpt-prompts/main/prompts.csv",
highlights = {
help_key = "@symbol",
help_description = "@comment"
}
})
2023-08-15 17:07:20 -07:00
end,
2023-08-15 13:44:53 -07:00
requires = {
"MunifTanjim/nui.nvim", "nvim-lua/plenary.nvim",
"nvim-telescope/telescope.nvim"
}
})
2023-08-15 23:31:31 -07:00
-- }}}
2023-08-15 13:44:53 -07:00
use({
"iamcco/markdown-preview.nvim",
run = function() vim.fn["mkdp#util#install"]() end
})
2023-08-17 01:12:44 -07:00
use {
"L3MON4D3/LuaSnip",
-- tag = "v2.*",
run = "make install_jsregexp",
dependencies = { "rafamadriz/friendly-snippets" }
}
use { 'folke/neodev.nvim' }
use { 'saadparwaiz1/cmp_luasnip' }
2023-08-15 23:31:31 -07:00
use { 'hrsh7th/cmp-buffer' }
use { 'hrsh7th/cmp-cmdline' }
2023-08-15 13:44:53 -07:00
use { 'hrsh7th/cmp-nvim-lsp' }
2023-08-15 23:31:31 -07:00
use { 'hrsh7th/cmp-nvim-lsp-document-symbol' }
2023-08-15 13:44:53 -07:00
use { 'hrsh7th/cmp-nvim-lsp-signature-help' }
2023-08-15 23:31:31 -07:00
use { 'hrsh7th/cmp-nvim-lua' }
2023-08-15 13:44:53 -07:00
use { 'hrsh7th/cmp-path' }
2023-08-15 23:31:31 -07:00
use { 'hrsh7th/nvim-cmp' }
use { 'https://git.sr.ht/~whynothugo/lsp_lines.nvim' }
use { 'jose-elias-alvarez/null-ls.nvim' }
2023-08-15 13:44:53 -07:00
use { 'neovim/nvim-lspconfig' }
use { 'onsails/lspkind-nvim' }
2023-08-15 17:07:20 -07:00
-- DAP {{{
2023-08-15 13:44:53 -07:00
use 'mfussenegger/nvim-dap'
2024-08-13 23:30:39 -07:00
use 'nvim-neotest/nvim-nio'
2023-08-15 13:44:53 -07:00
use { "rcarriga/nvim-dap-ui", requires = { "mfussenegger/nvim-dap" } }
use { 'mfussenegger/nvim-dap-python' }
use { 'theHamsta/nvim-dap-virtual-text' }
-- }}}
2023-08-15 23:31:31 -07:00
-- DADBOD {{{
use { 'tpope/vim-dadbod' }
use { 'kristijanhusak/vim-dadbod-ui' }
use { 'kristijanhusak/vim-dadbod-completion' }
-- }}}
2023-08-15 17:07:20 -07:00
-- }}}
2023-08-15 13:44:53 -07:00
-- UI {{{
2024-09-17 01:35:02 -07:00
use {
"lukas-reineke/indent-blankline.nvim",
config = function()
opts = {}
-- Other blankline configuration here
require("ibl").setup(require("indent-rainbowline").make_opts(opts))
end,
requires = { "TheGLander/indent-rainbowline.nvim" }
}
2023-08-15 13:44:53 -07:00
use {
2023-08-15 23:31:31 -07:00
'glepnir/dashboard-nvim',
-- event = 'VimEnter',
requires = { 'nvim-tree/nvim-web-devicons' }
2023-08-15 13:44:53 -07:00
}
2023-08-11 18:12:35 -07:00
use {
2023-08-15 13:44:53 -07:00
'j-hui/fidget.nvim',
tag = 'legacy',
2023-08-11 18:12:35 -07:00
config = function()
2023-08-15 13:44:53 -07:00
require("fidget").setup {
-- options
}
2023-08-11 18:12:35 -07:00
end
2022-11-02 22:50:13 -07:00
}
2023-08-15 23:31:31 -07:00
use {
'nvim-lualine/lualine.nvim',
requires = { 'kyazdani42/nvim-web-devicons', opt = true }
}
2024-09-17 01:35:02 -07:00
use { 'AndreM222/copilot-lualine' }
2023-08-15 23:31:31 -07:00
use { 'kyazdani42/nvim-web-devicons' }
use { 'norcalli/nvim-colorizer.lua' }
2023-08-15 13:44:53 -07:00
use { 'akinsho/nvim-bufferline.lua' }
use { 'andweeb/presence.nvim' }
use { 'folke/which-key.nvim' }
use { 'kyazdani42/nvim-tree.lua' }
use { 'lewis6991/gitsigns.nvim' }
2023-08-15 23:31:31 -07:00
use { 'rcarriga/nvim-notify' }
2023-08-15 13:44:53 -07:00
use { 'stevearc/dressing.nvim' }
2023-08-17 01:12:44 -07:00
use { 'HiPhish/rainbow-delimiters.nvim' }
2024-08-13 23:30:39 -07:00
use { 'echasnovski/mini.nvim' }
2023-08-15 13:44:53 -07:00
-- }}}
-- EXTRAS {{{
2022-11-02 22:50:13 -07:00
2023-08-15 08:48:03 -07:00
use {
"nvim-neorg/neorg",
-- tag = "*",
ft = "norg",
after = "nvim-treesitter", -- You may want to specify Telescope here as well
config = function()
require('neorg').setup {
load = {
["core.defaults"] = {}, -- Loads default behaviour
["core.concealer"] = {}, -- Adds pretty icons to your documents
["core.completion"] = { config = { engine = "nvim-cmp" } }, -- Adds completion
["core.dirman"] = { -- Manages Neorg workspaces
config = { workspaces = { notes = "~/notes" } }
}
}
}
end
}
2022-11-02 22:50:13 -07:00
use 'jiangmiao/auto-pairs'
use 'pechorin/any-jump.vim'
use 'tpope/vim-commentary'
2023-08-15 23:31:31 -07:00
use 'tpope/vim-dotenv'
2022-11-02 22:50:13 -07:00
use 'tpope/vim-surround'
use 'voldikss/vim-floaterm'
use 'wakatime/vim-wakatime'
2023-08-15 13:44:53 -07:00
use 'rmagatti/goto-preview'
2022-11-02 22:50:13 -07:00
2023-08-15 13:44:53 -07:00
-- }}}
2022-11-04 18:31:16 -07:00
2023-08-15 13:44:53 -07:00
-- COLORSCHEMES {{{
2022-11-02 22:50:13 -07:00
2023-08-11 18:12:35 -07:00
use { 'Mofiqul/dracula.nvim' }
2023-08-13 01:29:34 -07:00
use({
'NTBBloodbath/doom-one.nvim',
setup = function()
2023-08-11 18:12:35 -07:00
-- Add color to cursor
vim.g.doom_one_cursor_coloring = false
-- Set :terminal colors
2023-08-13 01:29:34 -07:00
vim.g.doom_one_terminal_colors = true
-- Enable italic comments
2023-08-13 01:29:34 -07:00
vim.g.doom_one_italic_comments = false
-- Enable TS support
vim.g.doom_one_enable_treesitter = true
-- Color whole diagnostic text or only underline
2023-08-13 01:29:34 -07:00
vim.g.doom_one_diagnostics_text_color = false
-- Enable transparent background
vim.g.doom_one_transparent_background = false
-- Pumblend transparency
vim.g.doom_one_pumblend_enable = false
vim.g.doom_one_pumblend_transparency = 20
-- Plugins integration
2023-08-13 01:29:34 -07:00
vim.g.doom_one_plugin_neorg = true
vim.g.doom_one_plugin_barbar = false
2023-08-15 11:11:38 -07:00
vim.g.doom_one_plugin_telescope = true
vim.g.doom_one_plugin_neogit = true
vim.g.doom_one_plugin_nvim_tree = true
vim.g.doom_one_plugin_dashboard = true
2023-08-13 01:29:34 -07:00
vim.g.doom_one_plugin_startify = true
vim.g.doom_one_plugin_whichkey = true
vim.g.doom_one_plugin_indent_blankline = true
2023-08-16 18:17:45 -07:00
vim.g.doom_one_plugin_vim_illuminate = false
2023-08-13 01:29:34 -07:00
vim.g.doom_one_plugin_lspsaga = false
end,
config = function()
vim.cmd("colorscheme doom-one")
vim.cmd(
"highlight Pmenu ctermfg=white ctermbg=black gui=NONE guifg=white guibg=#282C34")
vim.cmd("highlight PmenuSel guifg=purple guibg=red")
2023-08-11 18:12:35 -07:00
end
2023-08-13 01:29:34 -07:00
})
2023-08-11 18:12:35 -07:00
use { 'olimorris/onedarkpro.nvim' }
use { 'projekt0n/github-nvim-theme' }
2023-02-16 10:26:53 -08:00
2023-03-10 11:42:54 -08:00
use { "catppuccin/nvim", as = "catppuccin" }
2023-08-15 13:44:53 -07:00
-- }}}
2022-11-02 22:50:13 -07:00
end)