]> git.rmz.io Git - dotfiles.git/blobdiff - nvim/lua/plugins/ui.lua
nvim/ui: import lazyvim's alpha-nvim config
[dotfiles.git] / nvim / lua / plugins / ui.lua
index 637afcbb619a7a29cbbd55f38cf9ecd69570c6fc..aceb8bd8ee16357c69f5a963ae53f739637fcedb 100644 (file)
@@ -1,14 +1,20 @@
+---@type LazyPluginSpec
 return {
+  {
+    "nvim-notify",
+  },
   {
     "bufferline.nvim",
+    ---@type BufferlineConfig
     opts = {
       options = {
-        always_show_bufferline = true,
+        always_show_bufferline = false,
       },
     },
   },
   {
     "noice.nvim",
+    ---@type NoiceConfig
     opts = {
       presets = {
         command_palette = false, -- don't position the cmdline and popupmenu together
@@ -36,4 +42,70 @@ return {
       require("noice").setup(opts)
     end,
   },
+  {
+    "lualine.nvim",
+    --TODO: Things that were in vim but are missing
+    -- - git line add/mod/del ar next to branch name rather on right
+    -- - one status line per splits
+    --   - maybe a single one is OK too?
+    --   - I think I want a line stating wihch file is in the split though
+    --   - unix/dos eof markers
+    --     - really I only want to know if it's not unix
+    --   - filetype in text form. It's quite important to glance this quickly
+  },
+  {
+    "indent-blankline.nvim",
+  },
+  {
+    "mini.indentscope",
+    opts = {
+      draw = {
+        animation = require("mini.indentscope").gen_animation.linear({ duration = 10 }),
+      },
+    },
+  },
+  {
+    "alpha-nvim",
+    opts = function()
+      local dashboard = require("alpha.themes.dashboard")
+      local logo = [[
+      ██╗      █████╗ ███████╗██╗   ██╗██╗   ██╗██╗███╗   ███╗          Z
+      ██║     ██╔══██╗╚══███╔╝╚██╗ ██╔╝██║   ██║██║████╗ ████║      Z    
+      ██║     ███████║  ███╔╝  ╚████╔╝ ██║   ██║██║██╔████╔██║   z       
+      ██║     ██╔══██║ ███╔╝    ╚██╔╝  ╚██╗ ██╔╝██║██║╚██╔╝██║ z         
+      ███████╗██║  ██║███████╗   ██║    ╚████╔╝ ██║██║ ╚═╝ ██║
+      ╚══════╝╚═╝  ╚═╝╚══════╝   ╚═╝     ╚═══╝  ╚═╝╚═╝     ╚═╝
+      ]]
+
+      dashboard.section.header.val = vim.split(logo, "\n")
+      dashboard.section.buttons.val = {
+        dashboard.button("f", " " .. " Find file", ":Telescope find_files <CR>"),
+        dashboard.button("n", " " .. " New file", ":ene <BAR> startinsert <CR>"),
+        dashboard.button("r", " " .. " Recent files", ":Telescope oldfiles <CR>"),
+        dashboard.button("g", " " .. " Find text", ":Telescope live_grep <CR>"),
+        dashboard.button("c", " " .. " Config", ":e $MYVIMRC <CR>"),
+        dashboard.button("s", " " .. " Restore Session", [[:lua require("persistence").load() <cr>]]),
+        dashboard.button("l", "󰒲 " .. " Lazy", ":Lazy<CR>"),
+        dashboard.button("q", " " .. " Quit", ":qa<CR>"),
+      }
+      for _, button in ipairs(dashboard.section.buttons.val) do
+        button.opts.hl = "AlphaButtons"
+        button.opts.hl_shortcut = "AlphaShortcut"
+      end
+      dashboard.section.footer.opts.hl = "Type"
+      dashboard.section.header.opts.hl = "AlphaHeader"
+      dashboard.section.buttons.opts.hl = "AlphaButtons"
+      dashboard.opts.layout[1].val = 8
+      return dashboard
+    end,
+  },
+  {
+    "nvim-navic",
+  },
+  {
+    "nvim-web-devicons",
+  },
+  {
+    "nui.nvim",
+  },
 }