@@ -91,7 +91,7 @@ vim.g.mapleader = ' '
9191vim .g .maplocalleader = ' '
9292
9393-- Set to true if you have a Nerd Font installed and selected in the terminal
94- vim .g .have_nerd_font = false
94+ vim .g .have_nerd_font = true
9595
9696-- [[ Setting options ]]
9797-- See `:help vim.opt`
@@ -109,6 +109,7 @@ vim.opt.mouse = 'a'
109109
110110-- Don't show the mode, since it's already in the status line
111111vim .opt .showmode = false
112+ vim .opt .termguicolors = true
112113
113114-- Sync clipboard between OS and Neovim.
114115-- Schedule the setting after `UiEnter` because it can increase startup-time.
@@ -154,7 +155,7 @@ vim.opt.inccommand = 'split'
154155vim .opt .cursorline = true
155156
156157-- Minimal number of screen lines to keep above and below the cursor.
157- vim .opt .scrolloff = 10
158+ vim .opt .scrolloff = 15
158159
159160-- if performing an operation that would fail due to unsaved changes in the buffer (like `:q`),
160161-- instead raise a dialog asking if you wish to save the current file(s)
@@ -246,8 +247,112 @@ require('lazy').setup({
246247 -- keys can be used to configure plugin behavior/loading/etc.
247248 --
248249 -- Use `opts = {}` to automatically pass options to a plugin's `setup()` function, forcing the plugin to be loaded.
249- --
250+ {
251+ ' nvim-lualine/lualine.nvim' ,
252+ dependencies = { ' nvim-tree/nvim-web-devicons' },
253+ },
254+
255+ { ' KeitaNakamura/neodark.vim' },
256+
257+ { ' liuchengxu/space-vim-dark' },
258+
259+ {
260+ ' saecki/crates.nvim' ,
261+ event = { ' BufRead Cargo.toml' },
262+ config = function ()
263+ require (' crates' ).setup ()
264+ end ,
265+ },
266+ {
267+ ' goolord/alpha-nvim' ,
268+ event = ' VimEnter' ,
269+ enabled = true ,
270+ opts = function ()
271+ local dashboard = require ' alpha.themes.dashboard'
272+ local logo = [[
273+ JVIM :p
274+ ]]
275+
276+ dashboard .section .header .val = vim .split (logo , ' \n ' )
277+ -- stylua: ignore
278+ dashboard .section .buttons .val = {
279+ dashboard .button (" f" , " " .. " Find file" , [[ <cmd> Telescope find_files <cr>]] ),
280+ dashboard .button (" n" , " " .. " New file" , [[ <cmd> ene <BAR> startinsert <cr>]] ),
281+ dashboard .button (" r" , " " .. " Recent files" , [[ <cmd> lua LazyVim.pick("oldfiles")() <cr>]] ),
282+ dashboard .button (" g" , " " .. " Open finder" , [[ <cmd> Neotree dir=~ position=current<cr>]] ),
283+ dashboard .button (" c" , " " .. " Config" , [[ <cmd> edit ~/AppData/Local/nvim/init.lua <cr>]] ),
284+ dashboard .button (" s" , " " .. " Restore Session" , [[ <cmd> lua require("persistence").load() <cr>]] ),
285+ dashboard .button (" l" , " " .. " Lazy" , " <cmd> Lazy <cr>" ),
286+ dashboard .button (" q" , " " .. " Quit" , " <cmd> qa <cr>" ),
287+ }
288+ for _ , button in ipairs (dashboard .section .buttons .val ) do
289+ button .opts .hl = ' AlphaButtons'
290+ button .opts .hl_shortcut = ' AlphaShortcut'
291+ end
292+ dashboard .section .header .opts .hl = ' AlphaHeader'
293+ dashboard .section .buttons .opts .hl = ' AlphaButtons'
294+ dashboard .section .footer .opts .hl = ' AlphaFooter'
295+ dashboard .opts .layout [1 ].val = 8
296+ return dashboard
297+ end ,
298+ config = function (_ , dashboard )
299+ -- close Lazy and re-open when the dashboard is ready
300+ if vim .o .filetype == ' lazy' then
301+ vim .cmd .close ()
302+ vim .api .nvim_create_autocmd (' User' , {
303+ once = true ,
304+ pattern = ' AlphaReady' ,
305+ callback = function ()
306+ require (' lazy' ).show ()
307+ end ,
308+ })
309+ end
310+
311+ require (' alpha' ).setup (dashboard .opts )
250312
313+ vim .api .nvim_create_autocmd (' User' , {
314+ once = true ,
315+ pattern = ' LazyVimStarted' ,
316+ callback = function ()
317+ local stats = require (' lazy' ).stats ()
318+ local ms = (math.floor (stats .startuptime * 100 + 0.5 ) / 100 )
319+ dashboard .section .footer .val = ' ⚡ Neovim loaded ' .. stats .loaded .. ' /' .. stats .count .. ' plugins in ' .. ms .. ' ms'
320+ pcall (vim .cmd .AlphaRedraw )
321+ end ,
322+ })
323+ end ,
324+ },
325+
326+ {
327+ ' NeogitOrg/neogit' ,
328+ dependencies = {
329+ ' nvim-lua/plenary.nvim' , -- required
330+ ' sindrets/diffview.nvim' , -- optional - Diff integration
331+
332+ -- Only one of these is needed.
333+ ' nvim-telescope/telescope.nvim' , -- optional
334+ ' ibhagwan/fzf-lua' , -- optional
335+ ' echasnovski/mini.pick' , -- optional
336+ },
337+ },
338+
339+ {
340+ ' romgrk/barbar.nvim' ,
341+ dependencies = {
342+ ' lewis6991/gitsigns.nvim' , -- OPTIONAL: for git status
343+ ' nvim-tree/nvim-web-devicons' , -- OPTIONAL: for file icons
344+ },
345+ init = function ()
346+ vim .g .barbar_auto_setup = false
347+ end ,
348+ opts = {
349+ -- lazy.nvim will automatically call setup for you. put your options here, anything missing will use the default:
350+ -- animation = true,
351+ -- insert_at_start = true,
352+ -- …etc.
353+ },
354+ version = ' ^1.0.0' , -- optional: only update when a new 1.x version is released
355+ },
251356 -- Alternatively, use `config = function() ... end` for full control over the configuration.
252357 -- If you prefer to call `setup` explicitly, use:
253358 -- {
@@ -470,6 +575,7 @@ require('lazy').setup({
470575 {
471576 -- Main LSP Configuration
472577 ' neovim/nvim-lspconfig' ,
578+
473579 dependencies = {
474580 -- Automatically install LSPs and related tools to stdpath for Neovim
475581 -- Mason must be loaded before its dependents so we need to set it up here.
@@ -886,7 +992,7 @@ require('lazy').setup({
886992 -- Load the colorscheme here.
887993 -- Like many other themes, this one has different styles, and you could load
888994 -- any other, such as 'tokyonight-storm', 'tokyonight-moon', or 'tokyonight-day'.
889- vim .cmd .colorscheme ' tokyonight-night '
995+ vim .cmd .colorscheme ' habamax '
890996 end ,
891997 },
892998
@@ -966,17 +1072,17 @@ require('lazy').setup({
9661072 -- Uncomment any of the lines below to enable them (you will need to restart nvim).
9671073 --
9681074 -- require 'kickstart.plugins.debug',
969- -- require 'kickstart.plugins.indent_line',
970- -- require 'kickstart.plugins.lint',
971- -- require 'kickstart.plugins.autopairs',
972- -- require 'kickstart.plugins.neo-tree',
1075+ require ' kickstart.plugins.indent_line' ,
1076+ require ' kickstart.plugins.lint' ,
1077+ require ' kickstart.plugins.autopairs' ,
1078+ require ' kickstart.plugins.neo-tree' ,
9731079 -- require 'kickstart.plugins.gitsigns', -- adds gitsigns recommend keymaps
9741080
9751081 -- NOTE: The import below can automatically add your own plugins, configuration, etc from `lua/custom/plugins/*.lua`
9761082 -- This is the easiest way to modularize your config.
9771083 --
9781084 -- Uncomment the following line and add your plugins to `lua/custom/plugins/*.lua` to get going.
979- -- { import = 'custom.plugins' },
1085+ { import = ' custom.plugins' },
9801086 --
9811087 -- For additional information with loading, sourcing and examples see `:help lazy.nvim-🔌-plugin-spec`
9821088 -- Or use telescope!
0 commit comments