-- 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 = { [[ ;,_ , ]], [[ _uP~"b d"u, ]], [[ dP' "b ,d" "o ]], [[ d" , `b d"' "b ]], [[ l] [ " `l, d" lb ]], [[ Ol ? " "b`"=uoqo,_ "l ]], [[ ,dBb "b "b, `"~~TObup,_ ]], [[ ,d" (db.`" "" "tbc,_ `~"Yuu,_ ]], [[ .d" l`T' '= ~ `""Yu, ]], [[ ,dO` gP, `u, b,_ "b7 ]], [[ d?' ,d" l, `"b,_ `~b "1 ]], [[ ,8i' dl `l ,ggQOV",dbgq,._" `l lb ]], [[ .df' (O, " ,ggQY"~ , @@@@@d"bd~ `b "1 ]], [[.df' `" -=@QgpOY"" (b @@@@P db `Lp"b, ]], [[.d( _ "ko "=d_,Q` ,_ " "b, ]], [[Ql . `"qo,._ "tQo,_`""bo ;tb, `"b, ]], [[qQ |L ~"QQQgggc,_.,dObc,opooO `"~~";. __,7, ]], [[qp t\io,_ `~"TOOggQV"""" _,dg,_ =PIQHib. ]], [[`qp `Q["tQQQo,_ ,pl{QOP"' 7AFR` ]], [[ ` `tb '""tQQQg,_ p" "b ` .;-.`Vl' ]], [[ "Yb `"tQOOo,__ _,edb ` .__ /`/'| |b;=;.__ ]], [[ `"tQQQOOOOP""`"\QV;qQObob"`-._`\_~~-._ ]], [[ """" ._ / | |oP"\_ ~\ ~\_~\ ]], [[ `~"\ic,qggddOOP"| | ~\ `\~-._ ]], [[ ,qP`"""|" | `\ `; `\ `\ ]], [[ _ _,p" | | `\`; | | ]], [[ "boo,._dP" `\_ `\ `\| `\ ; ]], [[ `"7tY~' `\ `\ `|_ | ]], [[ `~\ | ]], } 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"} }, { "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" })