You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

124 lines
2.5 KiB
Lua

local use = require("packer").use
require("packer").startup(function()
-- required
use("wbthomason/packer.nvim")
use("nvim-lua/plenary.nvim")
-- common/visual plugins
use("powerline/powerline-fonts")
use({
"nvim-lualine/lualine.nvim",
requires = { "kyazdani42/nvim-web-devicons", opt = true },
})
use("kdheepak/tabline.nvim")
use("junegunn/goyo.vim")
use("gpanders/editorconfig.nvim")
use({
"nvim-telescope/telescope-fzf-native.nvim",
run = "make",
})
use({
"nvim-telescope/telescope.nvim",
tag = "0.1.4",
})
use({
"williamboman/mason.nvim",
"williamboman/mason-lspconfig.nvim",
"RubixDev/mason-update-all",
"neovim/nvim-lspconfig",
})
use({
"catppuccin/nvim",
as = "catpuccin",
})
use("nvim-treesitter/nvim-treesitter")
use("jose-elias-alvarez/null-ls.nvim")
use("RRethy/vim-illuminate")
-- cmp
use("hrsh7th/nvim-cmp")
use("hrsh7th/cmp-buffer")
use("hrsh7th/cmp-path")
use("hrsh7th/cmp-nvim-lsp")
use("L3MON4D3/LuaSnip")
use("saadparwaiz1/cmp_luasnip")
use("hrsh7th/cmp-nvim-lua")
-- indent lines
use("lukas-reineke/indent-blankline.nvim")
-- QOL
use 'm4xshen/autoclose.nvim'
end)
require("user.basics")
vim.cmd.colorscheme("catppuccin-macchiato")
vim.opt.guicursor = "n:block-Number,i:ver30"
local function map(mode, shortcut, command)
vim.keymap.set(mode, shortcut, command, { noremap = true })
end
local function nmap(shortcut, command)
map("n", shortcut, command)
end
local builtin = require("telescope.builtin")
nmap("<C-P>", builtin.find_files)
require("lualine").setup({
options = {
theme = "auto",
},
})
require("tabline").setup({
vim.cmd([[
set guioptions-=e
set sessionoptions+=tabpages,globals
]]),
})
local status_ok, configs = pcall(require, "nvim-treesitter.configs")
if not status_ok then
return
end
configs.setup({
ensure_installed = "all",
ignore_install = { "" },
sync_install = false,
highlight = {
enable = true,
disable = { "" },
additional_vim_regex_highlighting = true,
},
indent = { enable = true, disable = { "yaml" } },
})
-- indent blankline plugin
vim.opt.list = true
vim.opt.listchars:append("space:⋅")
vim.opt.listchars:append("eol:↴")
require("ibl").setup()
require("autoclose").setup()
nmap("<C-T>", "<cmd>TablineTabNew<cr>")
nmap("<C-L>", "<cmd>TablineBufferNext<cr>")
nmap("<C-H>", "<cmd>TablineBufferPrevious<cr>")
nmap("<C-Q>", "<cmd>bd<cr>")
nmap("<C-S-Q>", "<cmd>bd!<cr>")
nmap("<C-B>", "<cmd>ls<cr>")
nmap("<C-G>", "<cmd>Goyo<cr>")
require("user.cmp")
require("user.lsp")
vim.g.mapleader = " "