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("", 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("", "TablineTabNew") nmap("", "TablineBufferNext") nmap("", "TablineBufferPrevious") nmap("", "bd") nmap("", "bd!") nmap("", "ls") nmap("", "Goyo") require("user.cmp") require("user.lsp") vim.g.mapleader = " "