-- Read the docs: https://www.lunarvim.org/docs/configuration -- Example configs: https://github.com/LunarVim/starter.lvim -- Video Tutorials: https://www.youtube.com/watch?v=sFA9kX-Ud_c&list=PLhoH5vyxr6QqGu0i7tt_XoVK9v-KvZ3m6 -- Forum: https://www.reddit.com/r/lunarvim/ -- Discord: https://discord.com/invite/Xb9B4Ny require("user.c") require("user.python") require("user.latex") lvim.builtin.telescope.on_config_done = function(telescope) pcall(telescope.load_extension, "fzy_native") pcall(telescope.load_extension, "media_files") pcall(telescope.load_extension, "frecency") pcall(telescope.load_extension, "neoclip") -- any other extensions loading end lvim.transparent_window = true lvim.colorscheme = "rose-pine-moon" vim.opt.rnu = true -- relative numbers vim.opt.cb = "unnamedplus" vim.opt.nf = "alpha,octal,hex,bin,unsigned" vim.opt.si = true vim.opt.backup = false vim.opt.cc = "80" vim.opt.textwidth = 0 vim.opt.wrap = true vim.opt.linebreak = true vim.opt.breakindent = true lvim.builtin.nvimtree.active = false -- NOTE: using neo-tree lvim.builtin.indentlines.active = true lvim.builtin.alpha.dashboard.section.header.val = { [[ _ ]], [[ \`*-. ]], [[ ) _`-. ]], [[ . : `. . ]], [[ : _ ' \ ]], [[ ; *` _. `*-._ ]], [[ `-.-' `-. ]], [[ ; ` `. ]], [[ :. . \ ]], [[ . \ . : .-' . ]], [[ ' `+.; ; ' : ]], [[ : ' | ; ;-. ]], [[ ; ' : :`-: _.`* ;]], [[[bug] .*' / .*' ; .*`- +' `*' ]], [[ `*-* `*-* `*-*']], -- [[ _______________________________ ]], -- [[ /\ \ ]], -- [[/++\ __________________________\]], -- [[\+++\ \ ************************/]], -- [[ \+++\ \___________________ ***/]], -- [[ \+++\ \ /+++/***/]], -- [[ \+++\ \ /+++/***/]], -- [[ \+++\ \ /+++/***/]], -- [[ \+++\ \ /+++/***/]], -- [[ \+++\ \ /+++/***/]], -- [[ \+++\ \ /+++/***/]], -- [[ \+++\ \ /+++/***/]], -- [[ \+++\ /+++/***/]], -- [[ \+++\ /+++/***/]], -- [[ \+++++++/***/]], -- [[ \+++++/***/]], -- [[ \+++/***/]], -- [[ \+/___/]], } vim.o.timeoutlen = 250 vim.opt.ts = 2 vim.opt.sw = 0 vim.opt.et = false lvim.keys.normal_mode[""] = ":NeoTreeFocusToggle" lvim.keys.normal_mode[""] = ":BufferLineCyclePrev" lvim.keys.normal_mode[""] = ":BufferLineCycleNext" lvim.keys.normal_mode[""] = ":set spell!" lvim.keys.normal_mode[""] = ":Telescope neoclip" lvim.keys.normal_mode["j"] = "gj" lvim.keys.normal_mode["k"] = "gk" lvim.builtin.which_key.mappings["r"] = { ":RnvimrToggle", "Rnvimr" } lvim.builtin.which_key.mappings["e"] = { "(leap-forward-to)", "Leap Forward" } lvim.builtin.which_key.mappings["E"] = { "(leap-backward-to)", "Leap Backward" } lvim.format_on_save = false vim.diagnostic.config({ virtual_text = true }) lvim.builtin.treesitter.highlight.enable = true -- auto install treesitter parsers lvim.builtin.treesitter.ensure_installed = { "cpp", "c", "python", "latex" } -- Additional Plugins table.insert(lvim.plugins, { --colorschemes "lunarvim/colorschemes", "kvrohit/mellow.nvim", "p00f/clangd_extensions.nvim", "catppuccin/nvim", "rose-pine/neovim", "kyazdani42/blue-moon", "neanias/everforest-nvim", "kdheepak/monochrome.nvim", "FrenzyExists/aquarium-vim", "rebelot/kanagawa.nvim", --functional { "nvim-neo-tree/neo-tree.nvim", branch = "v2.x", dependencies = { "nvim-lua/plenary.nvim", "nvim-tree/nvim-web-devicons", "MunifTanjim/nui.nvim", }, config = function() require("neo-tree").setup({ close_if_last_window = true, window = { width = 30, }, buffers = { follow_current_file = true, }, filesystem = { follow_current_file = true, filtered_items = { hide_dotfiles = false, hide_gitignored = false, hide_by_name = { "node_modules" }, never_show = { ".DS_Store", "thumbs.db" }, }, }, }) end }, "SirVer/ultisnips", { "ggandor/leap.nvim", name = "leap", config = function() require("leap").add_default_mappings() end, }, "mrjones2014/nvim-ts-rainbow", { "nacro90/numb.nvim", event = "BufRead", config = function() require("numb").setup { show_numbers = true, -- Enable 'number' for the window while peeking show_cursorline = true, -- Enable 'cursorline' for the window while peeking } end, }, { "kevinhwang91/rnvimr", cmd = "RnvimrToggle", config = function() vim.g.rnvimr_draw_border = 1 vim.g.rnvimr_pick_enable = 1 vim.g.rnvimr_bw_enable = 1 end, }, "ChristianChiarulli/swenv.nvim", "stevearc/dressing.nvim", "mfussenegger/nvim-dap-python", "nvim-neotest/neotest", "nvim-neotest/neotest-python", "lervag/vimtex", "KeitaNakamura/tex-conceal.vim", { "npxbr/glow.nvim", ft = {"markdown"}, config = true, cmd = "Glow" }, { "kevinhwang91/nvim-bqf", event = { "BufRead", "BufNew" }, config = function() require("bqf").setup({ auto_enable = true, preview = { win_height = 12, win_vheight = 12, delay_syntax = 80, border_chars = { "┃", "┃", "━", "━", "┏", "┓", "┗", "┛", "█" }, }, func_map = { vsplit = "", ptogglemode = "z,", stoggleup = "", }, filter = { fzf = { action_for = { ["ctrl-s"] = "split" }, extra_opts = { "--bind", "ctrl-o:toggle-all", "--prompt", "> " }, }, }, }) end, }, { "windwp/nvim-spectre", event = "BufRead", config = function() require("spectre").setup() end, }, { "tpope/vim-surround", -- make sure to change the value of `timeoutlen` if it's not triggering correctly, see https://github.com/tpope/vim-surround/issues/117 -- setup = function() -- vim.o.timeoutlen = 500 -- end }, { "norcalli/nvim-colorizer.lua", config = function() require("colorizer").setup({ "css", "scss", "html", "javascript" }, { RGB = true, -- #RGB hex codes RRGGBB = true, -- #RRGGBB hex codes RRGGBBAA = true, -- #RRGGBBAA hex codes rgb_fn = true, -- CSS rgb() and rgba() functions hsl_fn = true, -- CSS hsl() and hsla() functions css = true, -- Enable all CSS features: rgb_fn, hsl_fn, names, RGB, RRGGBB css_fn = true, -- Enable all CSS *functions*: rgb_fn, hsl_fn }) end, }, { "nvim-telescope/telescope-fzy-native.nvim", build = "make", event = "BufRead", }, "nvim-telescope/telescope-media-files.nvim", { "AckslD/nvim-neoclip.lua", requires = { {'kkharji/sqlite.lua', module = 'sqlite'}, {'nvim-telescope/telescope.nvim'}, }, config = function() require('neoclip').setup() end, }, { "nvim-telescope/telescope-frecency.nvim", config = function() -- require("telescope").load_extension "frecency" end, dependencies = { "kkharji/sqlite.lua" }, } }) vim.list_extend(lvim.lsp.automatic_configuration.skipped_servers, { "clangd" })