]> git.rmz.io Git - dotfiles.git/blob - nvim/lua/plugins/ui.lua
3d489839ff28c1af1eb0d4f5edfced9c220f6ecb
[dotfiles.git] / nvim / lua / plugins / ui.lua
1 ---@type LazySpec
2 return {
3 { 'echasnovski/mini.clue',
4 -- NOTE: this caused some issue with unterminated mappings, i.e. <L>gc when there
5 -- is also <L>gcc. It would simply terminate early and not allow for next mapping.
6 version = '*',
7 opts = {
8 triggers = {
9 { mode = 'n', keys = '<Leader>' },
10 { mode = 'x', keys = '<Leader>' },
11 -- `g` key
12 { mode = 'n', keys = 'g' },
13 { mode = 'x', keys = 'g' },
14 -- Marks
15 { mode = 'n', keys = "'" },
16 { mode = 'n', keys = '`' },
17 { mode = 'x', keys = "'" },
18 { mode = 'x', keys = '`' },
19 -- Window commands
20 { mode = 'n', keys = '<C-w>' },
21 -- `z` key
22 { mode = 'n', keys = 'z' },
23 { mode = 'x', keys = 'z' },
24 },
25 clues = {
26 { mode = 'n', keys = '<Leader>b', desc = '+Buffers' },
27 { mode = 'n', keys = '<Leader>c', desc = '+LSP' },
28 },
29 },
30 },
31 {
32 "nvim-notify",
33 },
34 {
35 "bufferline.nvim",
36 ---@type BufferlineConfig
37 opts = {
38 options = {
39 always_show_bufferline = false,
40 },
41 },
42 },
43 {
44 "stevearc/dressing.nvim",
45 lazy = true,
46 opts = {
47 input = {
48 start_in_insert = false,
49 insert_only = false,
50 },
51 },
52 },
53 {
54 "noice.nvim",
55 enabled = false,
56 ---@type NoiceConfig
57 opts = {
58 presets = {
59 command_palette = false, -- don't position the cmdline and popupmenu together
60 lsp_doc_border = true,
61 long_message_to_split = true,
62 },
63 cmdline = {
64 view = "cmdline",
65 },
66 routes = {
67 { -- send file written messages to mini
68 filter = {
69 event = "msg_show",
70 kind = "",
71 find = "%[w%]",
72 },
73 opts = { skip = true },
74 },
75 },
76 },
77 config = function(_, opts)
78 -- ensure [w] is written to msg_show so we can match it
79 vim.opt.shortmess:append("w")
80 vim.opt.shortmess:remove("W")
81
82 require("noice").setup(opts)
83 end,
84 },
85 {
86 "lualine.nvim",
87 --TODO: Things that were in vim but are missing
88 -- - git line add/mod/del ar next to branch name rather on right
89 -- - one status line per splits
90 -- - maybe a single one is OK too?
91 -- - I think I want a line stating wihch file is in the split though
92 -- - unix/dos eof markers
93 -- - really I only want to know if it's not unix
94 -- - filetype in text form. It's quite important to glance this quickly
95 },
96 {
97 "indent-blankline.nvim",
98 },
99 {
100 "echasnovski/mini.indentscope",
101 version = false, -- wait till new 0.7.0 release to put it back on semver
102 event = "LazyFile",
103 opts = function (_, opts)
104 return {
105 draw = {
106 animation = require("mini.indentscope").gen_animation.linear({ duration = 10 })
107 }
108 }
109 end,
110 },
111 {
112 "SmiteshP/nvim-navic",
113 },
114 {
115 "nvim-web-devicons",
116 },
117 {
118 "nui.nvim",
119 },
120 }