mirror of
				https://github.com/NotAShelf/nvf.git
				synced 2025-10-31 19:12:38 +00:00 
			
		
		
		
	Merge pull request #235 from FrothyMarrow/which-key-categories
utility/binds/which-key: allow configurable category labels
This commit is contained in:
		
				commit
				
					
						37645ff116
					
				
			
		
					 16 changed files with 95 additions and 110 deletions
				
			
		|  | @ -56,3 +56,5 @@ Release notes for release 0.6 | ||||||
| - Rewrote the entire `fidget.nvim` module to include extensive configuration options. Option `vim.fidget-nvim.align.bottom` has | - Rewrote the entire `fidget.nvim` module to include extensive configuration options. Option `vim.fidget-nvim.align.bottom` has | ||||||
|   been removed in favor of [vim.fidget-nvim.notification.window.align](vim.fidget-nvim.notification.window.align), which now supports |   been removed in favor of [vim.fidget-nvim.notification.window.align](vim.fidget-nvim.notification.window.align), which now supports | ||||||
|   `top` and `bottom` values. `vim.fidget-nvim.align.right` has no longer any equivalent and also has been removed. |   `top` and `bottom` values. `vim.fidget-nvim.align.right` has no longer any equivalent and also has been removed. | ||||||
|  | 
 | ||||||
|  | - `which-key.nvim` categories can now be customized through [vim.binds.whichKey.register](vim.binds.whichKey.register). | ||||||
|  |  | ||||||
|  | @ -68,6 +68,8 @@ in | ||||||
|     mkSetLuaBinding = binding: action: |     mkSetLuaBinding = binding: action: | ||||||
|       mkLuaBinding binding.value action binding.description; |       mkLuaBinding binding.value action binding.description; | ||||||
| 
 | 
 | ||||||
|  |     pushDownDefault = attr: self.mapAttrs (name: value: self.mkDefault value) attr; | ||||||
|  | 
 | ||||||
|     # For forward compatibility. |     # For forward compatibility. | ||||||
|     literalExpression = super.literalExpression or super.literalExample; |     literalExpression = super.literalExpression or super.literalExample; | ||||||
|   }) |   }) | ||||||
|  |  | ||||||
|  | @ -10,6 +10,8 @@ | ||||||
|   inherit (lib.nvim.binds) mkBinding; |   inherit (lib.nvim.binds) mkBinding; | ||||||
|   inherit (lib.nvim.dag) entryAnywhere; |   inherit (lib.nvim.dag) entryAnywhere; | ||||||
|   inherit (lib.nvim.lua) listToLuaTable expToLua; |   inherit (lib.nvim.lua) listToLuaTable expToLua; | ||||||
|  |   # TODO: move this to its own module | ||||||
|  |   inherit (lib) pushDownDefault; | ||||||
| 
 | 
 | ||||||
|   cfg = config.vim.filetree.nvimTree; |   cfg = config.vim.filetree.nvimTree; | ||||||
|   self = import ./nvimtree.nix {inherit pkgs lib;}; |   self = import ./nvimtree.nix {inherit pkgs lib;}; | ||||||
|  | @ -25,6 +27,10 @@ in { | ||||||
|       (mkBinding cfg.mappings.focus ":NvimTreeFocus<cr>" mappings.focus.description) |       (mkBinding cfg.mappings.focus ":NvimTreeFocus<cr>" mappings.focus.description) | ||||||
|     ]; |     ]; | ||||||
| 
 | 
 | ||||||
|  |     vim.binds.whichKey.register = pushDownDefault { | ||||||
|  |       "<leader>t" = "+NvimTree"; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|     vim.luaConfigRC.nvimtreelua = entryAnywhere '' |     vim.luaConfigRC.nvimtreelua = entryAnywhere '' | ||||||
|       ${ |       ${ | ||||||
|         lib.optionalString cfg.disableNetrw '' |         lib.optionalString cfg.disableNetrw '' | ||||||
|  |  | ||||||
|  | @ -7,6 +7,8 @@ | ||||||
|   inherit (lib.modules) mkIf mkMerge; |   inherit (lib.modules) mkIf mkMerge; | ||||||
|   inherit (lib.nvim.binds) addDescriptionsToMappings mkSetExprBinding mkSetLuaBinding; |   inherit (lib.nvim.binds) addDescriptionsToMappings mkSetExprBinding mkSetLuaBinding; | ||||||
|   inherit (lib.nvim.dag) entryAnywhere; |   inherit (lib.nvim.dag) entryAnywhere; | ||||||
|  |   # TODO: move this to its own module | ||||||
|  |   inherit (lib) pushDownDefault; | ||||||
| 
 | 
 | ||||||
|   cfg = config.vim.git; |   cfg = config.vim.git; | ||||||
| 
 | 
 | ||||||
|  | @ -63,6 +65,10 @@ in { | ||||||
|           (mkSetLuaBinding gsMappings.resetHunk "function() package.loaded.gitsigns.reset_hunk {vim.fn.line('.'), vim.fn.line('v')} end") |           (mkSetLuaBinding gsMappings.resetHunk "function() package.loaded.gitsigns.reset_hunk {vim.fn.line('.'), vim.fn.line('v')} end") | ||||||
|         ]; |         ]; | ||||||
| 
 | 
 | ||||||
|  |         vim.binds.whichKey.register = pushDownDefault { | ||||||
|  |           "<leader>g" = "+Gitsigns"; | ||||||
|  |         }; | ||||||
|  | 
 | ||||||
|         vim.luaConfigRC.gitsigns = entryAnywhere '' |         vim.luaConfigRC.gitsigns = entryAnywhere '' | ||||||
|           require('gitsigns').setup{} |           require('gitsigns').setup{} | ||||||
|         ''; |         ''; | ||||||
|  |  | ||||||
|  | @ -3,7 +3,7 @@ | ||||||
|   lib, |   lib, | ||||||
|   ... |   ... | ||||||
| }: let | }: let | ||||||
|   inherit (lib) addDescriptionsToMappings mkIf mkSetBinding nvim; |   inherit (lib) addDescriptionsToMappings mkIf mkSetBinding nvim pushDownDefault; | ||||||
| 
 | 
 | ||||||
|   cfg = config.vim.lsp; |   cfg = config.vim.lsp; | ||||||
| 
 | 
 | ||||||
|  | @ -17,6 +17,10 @@ in { | ||||||
| 
 | 
 | ||||||
|     vim.maps.normal = mkSetBinding mappings.open ":CodeActionMenu<CR>"; |     vim.maps.normal = mkSetBinding mappings.open ":CodeActionMenu<CR>"; | ||||||
| 
 | 
 | ||||||
|  |     vim.binds.whichKey.register = pushDownDefault { | ||||||
|  |       "<leader>c" = "+CodeAction"; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|     vim.luaConfigRC.code-action-menu = nvim.dag.entryAnywhere '' |     vim.luaConfigRC.code-action-menu = nvim.dag.entryAnywhere '' | ||||||
|       -- border configuration |       -- border configuration | ||||||
|       vim.g.code_action_menu_window_border = '${config.vim.ui.borders.plugins.code-action-menu.style}' |       vim.g.code_action_menu_window_border = '${config.vim.ui.borders.plugins.code-action-menu.style}' | ||||||
|  |  | ||||||
|  | @ -3,7 +3,7 @@ | ||||||
|   lib, |   lib, | ||||||
|   ... |   ... | ||||||
| }: let | }: let | ||||||
|   inherit (lib) addDescriptionsToMappings mkIf mkMerge mkSetBinding nvim; |   inherit (lib) addDescriptionsToMappings mkIf mkMerge mkSetBinding nvim pushDownDefault; | ||||||
| 
 | 
 | ||||||
|   cfg = config.vim.lsp; |   cfg = config.vim.lsp; | ||||||
| 
 | 
 | ||||||
|  | @ -24,6 +24,12 @@ in { | ||||||
|       (mkSetBinding mappings.locList "<cmd>TroubleToggle loclist<CR>") |       (mkSetBinding mappings.locList "<cmd>TroubleToggle loclist<CR>") | ||||||
|     ]; |     ]; | ||||||
| 
 | 
 | ||||||
|  |     vim.binds.whichKey.register = pushDownDefault { | ||||||
|  |       "<leader>l" = "Trouble"; | ||||||
|  |       "<leader>x" = "+Trouble"; | ||||||
|  |       "<leader>lw" = "Workspace"; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|     vim.luaConfigRC.trouble = nvim.dag.entryAnywhere '' |     vim.luaConfigRC.trouble = nvim.dag.entryAnywhere '' | ||||||
|       -- Enable trouble diagnostics viewer |       -- Enable trouble diagnostics viewer | ||||||
|       require("trouble").setup {} |       require("trouble").setup {} | ||||||
|  |  | ||||||
|  | @ -3,7 +3,7 @@ | ||||||
|   lib, |   lib, | ||||||
|   ... |   ... | ||||||
| }: let | }: let | ||||||
|   inherit (lib) addDescriptionsToMappings mkIf mkMerge mkSetLuaBinding nvim; |   inherit (lib) addDescriptionsToMappings mkIf mkMerge mkSetLuaBinding nvim pushDownDefault; | ||||||
| 
 | 
 | ||||||
|   cfg = config.vim.minimap.codewindow; |   cfg = config.vim.minimap.codewindow; | ||||||
| 
 | 
 | ||||||
|  | @ -24,6 +24,10 @@ in { | ||||||
|       (mkSetLuaBinding mappings.toggleFocus "require('codewindow').toggle_focus") |       (mkSetLuaBinding mappings.toggleFocus "require('codewindow').toggle_focus") | ||||||
|     ]; |     ]; | ||||||
| 
 | 
 | ||||||
|  |     vim.binds.whichKey.register = pushDownDefault { | ||||||
|  |       "<leader>m" = "+Minimap"; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|     vim.luaConfigRC.codewindow = nvim.dag.entryAnywhere '' |     vim.luaConfigRC.codewindow = nvim.dag.entryAnywhere '' | ||||||
|       local codewindow = require('codewindow') |       local codewindow = require('codewindow') | ||||||
|       codewindow.setup({ |       codewindow.setup({ | ||||||
|  |  | ||||||
|  | @ -4,7 +4,7 @@ | ||||||
|   lib, |   lib, | ||||||
|   ... |   ... | ||||||
| }: let | }: let | ||||||
|   inherit (lib) mkIf; |   inherit (lib) mkIf pushDownDefault; | ||||||
| 
 | 
 | ||||||
|   cfg = config.vim.minimap.minimap-vim; |   cfg = config.vim.minimap.minimap-vim; | ||||||
| in { | in { | ||||||
|  | @ -13,5 +13,9 @@ in { | ||||||
|       pkgs.code-minimap |       pkgs.code-minimap | ||||||
|       "minimap-vim" |       "minimap-vim" | ||||||
|     ]; |     ]; | ||||||
|  | 
 | ||||||
|  |     vim.binds.whichKey.register = pushDownDefault { | ||||||
|  |       "<leader>m" = "+Minimap"; | ||||||
|  |     }; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -3,7 +3,7 @@ | ||||||
|   lib, |   lib, | ||||||
|   ... |   ... | ||||||
| }: let | }: let | ||||||
|   inherit (lib) mkIf nvim; |   inherit (lib) mkIf nvim pushDownDefault; | ||||||
| 
 | 
 | ||||||
|   cfg = config.vim.notes.mind-nvim; |   cfg = config.vim.notes.mind-nvim; | ||||||
| in { | in { | ||||||
|  | @ -18,6 +18,10 @@ in { | ||||||
|       "<leader>oc" = {action = ":MindClose<CR>";}; |       "<leader>oc" = {action = ":MindClose<CR>";}; | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|  |     vim.binds.whichKey.register = pushDownDefault { | ||||||
|  |       "<leader>o" = "+Notes"; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|     vim.luaConfigRC.mind-nvim = nvim.dag.entryAnywhere '' |     vim.luaConfigRC.mind-nvim = nvim.dag.entryAnywhere '' | ||||||
|       require'mind'.setup() |       require'mind'.setup() | ||||||
|     ''; |     ''; | ||||||
|  |  | ||||||
|  | @ -3,7 +3,7 @@ | ||||||
|   lib, |   lib, | ||||||
|   ... |   ... | ||||||
| }: let | }: let | ||||||
|   inherit (lib) mkIf nvim; |   inherit (lib) mkIf nvim pushDownDefault; | ||||||
| 
 | 
 | ||||||
|   cfg = config.vim.notes.obsidian; |   cfg = config.vim.notes.obsidian; | ||||||
|   auto = config.vim.autocomplete; |   auto = config.vim.autocomplete; | ||||||
|  | @ -15,6 +15,10 @@ in { | ||||||
|       "tabular" |       "tabular" | ||||||
|     ]; |     ]; | ||||||
| 
 | 
 | ||||||
|  |     vim.binds.whichKey.register = pushDownDefault { | ||||||
|  |       "<leader>o" = "+Notes"; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|     vim.luaConfigRC.obsidian = nvim.dag.entryAnywhere '' |     vim.luaConfigRC.obsidian = nvim.dag.entryAnywhere '' | ||||||
|       require("obsidian").setup({ |       require("obsidian").setup({ | ||||||
|         dir = "${cfg.dir}", |         dir = "${cfg.dir}", | ||||||
|  |  | ||||||
|  | @ -3,7 +3,7 @@ | ||||||
|   lib, |   lib, | ||||||
|   ... |   ... | ||||||
| }: let | }: let | ||||||
|   inherit (lib) mkIf mkMerge nvim; |   inherit (lib) mkIf mkMerge nvim pushDownDefault; | ||||||
| 
 | 
 | ||||||
|   cfg = config.vim.notes.orgmode; |   cfg = config.vim.notes.orgmode; | ||||||
| in { | in { | ||||||
|  | @ -13,6 +13,10 @@ in { | ||||||
|         "orgmode-nvim" |         "orgmode-nvim" | ||||||
|       ]; |       ]; | ||||||
| 
 | 
 | ||||||
|  |       vim.binds.whichKey.register = pushDownDefault { | ||||||
|  |         "<leader>o" = "+Notes"; | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|       vim.luaConfigRC.orgmode = nvim.dag.entryAnywhere '' |       vim.luaConfigRC.orgmode = nvim.dag.entryAnywhere '' | ||||||
|         -- Load custom treesitter grammar for org filetype |         -- Load custom treesitter grammar for org filetype | ||||||
|         require('orgmode').setup_ts_grammar() |         require('orgmode').setup_ts_grammar() | ||||||
|  |  | ||||||
|  | @ -3,7 +3,7 @@ | ||||||
|   lib, |   lib, | ||||||
|   ... |   ... | ||||||
| }: let | }: let | ||||||
|   inherit (lib) mkIf mkMerge mkLuaBinding mkBinding nvim; |   inherit (lib) mkIf mkMerge mkLuaBinding mkBinding nvim pushDownDefault; | ||||||
| 
 | 
 | ||||||
|   cfg = config.vim.tabline.nvimBufferline; |   cfg = config.vim.tabline.nvimBufferline; | ||||||
|   self = import ./nvim-bufferline.nix { |   self = import ./nvim-bufferline.nix { | ||||||
|  | @ -40,6 +40,13 @@ in { | ||||||
|         (mkBinding cfg.mappings.movePrevious ":BufferLineMovePrev<CR>" mappings.movePrevious.description) |         (mkBinding cfg.mappings.movePrevious ":BufferLineMovePrev<CR>" mappings.movePrevious.description) | ||||||
|       ]; |       ]; | ||||||
| 
 | 
 | ||||||
|  |       vim.binds.whichKey.register = pushDownDefault { | ||||||
|  |         "<leader>b" = "+Buffer"; | ||||||
|  |         "<leader>bm" = "BufferLineMove"; | ||||||
|  |         "<leader>bs" = "BufferLineSort"; | ||||||
|  |         "<leader>bsi" = "BufferLineSortById"; | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|       vim.luaConfigRC.nvimBufferline = nvim.dag.entryAnywhere '' |       vim.luaConfigRC.nvimBufferline = nvim.dag.entryAnywhere '' | ||||||
|         require("bufferline").setup{ |         require("bufferline").setup{ | ||||||
|            options = { |            options = { | ||||||
|  |  | ||||||
|  | @ -3,14 +3,17 @@ | ||||||
|   lib, |   lib, | ||||||
|   ... |   ... | ||||||
| }: let | }: let | ||||||
|   inherit (lib) mkIf nvim; |   inherit (lib.modules) mkIf; | ||||||
|  |   inherit (lib.strings) optionalString; | ||||||
|  |   inherit (lib.nvim.lua) toLuaObject; | ||||||
|  |   inherit (lib.nvim.dag) entryAnywhere; | ||||||
| 
 | 
 | ||||||
|   cfg = config.vim.binds.whichKey; |   cfg = config.vim.binds.whichKey; | ||||||
| in { | in { | ||||||
|   config = mkIf (cfg.enable) { |   config = mkIf (cfg.enable) { | ||||||
|     vim.startPlugins = ["which-key"]; |     vim.startPlugins = ["which-key"]; | ||||||
| 
 | 
 | ||||||
|     vim.luaConfigRC.whichkey = nvim.dag.entryAnywhere '' |     vim.luaConfigRC.whichkey = entryAnywhere '' | ||||||
|       local wk = require("which-key") |       local wk = require("which-key") | ||||||
|       wk.setup ({ |       wk.setup ({ | ||||||
|         key_labels = { |         key_labels = { | ||||||
|  | @ -20,108 +23,14 @@ in { | ||||||
|           ["<tab>"] = "TAB", |           ["<tab>"] = "TAB", | ||||||
|         }, |         }, | ||||||
| 
 | 
 | ||||||
|         ${lib.optionalString (config.vim.ui.borders.plugins.which-key.enable) '' |         ${optionalString (config.vim.ui.borders.plugins.which-key.enable) '' | ||||||
|         window = { |         window = { | ||||||
|           border = "${config.vim.ui.borders.plugins.which-key.style}", |           border = "${config.vim.ui.borders.plugins.which-key.style}", | ||||||
|         }, |         }, | ||||||
|       ''} |       ''} | ||||||
|       }) |       }) | ||||||
| 
 | 
 | ||||||
|       wk.register({ |       wk.register(${toLuaObject cfg.register}) | ||||||
|         ${ |  | ||||||
|         if config.vim.tabline.nvimBufferline.enable |  | ||||||
|         then '' |  | ||||||
|           -- Buffer |  | ||||||
|           ["<leader>b"] = { name = "+Buffer" }, |  | ||||||
|           ["<leader>bm"] = { name = "BufferLineMove" }, |  | ||||||
|           ["<leader>bs"] = { name = "BufferLineSort" }, |  | ||||||
|           ["<leader>bsi"] = { name = "BufferLineSortById" }, |  | ||||||
|         '' |  | ||||||
|         else "" |  | ||||||
|       } |  | ||||||
| 
 |  | ||||||
|         ${ |  | ||||||
|         if config.vim.telescope.enable |  | ||||||
|         then '' |  | ||||||
|           ["<leader>f"] = { name = "+Telescope" }, |  | ||||||
|            -- Telescope |  | ||||||
|           ["<leader>fl"] = { name = "Telescope LSP" }, |  | ||||||
|           ["<leader>fm"] = { name = "Cellular Automaton" }, -- TODO: mvoe this to its own parent group |  | ||||||
|           ["<leader>fv"] = { name = "Telescope Git" }, |  | ||||||
|           ["<leader>fvc"] = { name = "Commits" }, |  | ||||||
|         '' |  | ||||||
|         else "" |  | ||||||
|       } |  | ||||||
| 
 |  | ||||||
|         ${ |  | ||||||
|         if config.vim.lsp.trouble.enable |  | ||||||
|         then '' |  | ||||||
|           -- Trouble |  | ||||||
|           ["<leader>lw"] = { name = "Workspace" }, |  | ||||||
|           ["<leader>x"] = { name = "+Trouble" }, -- TODO: move all trouble binds to the same parent group |  | ||||||
|           ["<leader>l"] = { name = "+Trouble" }, |  | ||||||
|         '' |  | ||||||
|         else "" |  | ||||||
|       } |  | ||||||
| 
 |  | ||||||
|         ${ |  | ||||||
|         if config.vim.lsp.nvimCodeActionMenu.enable |  | ||||||
|         then '' |  | ||||||
|           -- Parent Groups |  | ||||||
|           ["<leader>c"] = { name = "+CodeAction" }, |  | ||||||
|         '' |  | ||||||
|         else "" |  | ||||||
|       } |  | ||||||
| 
 |  | ||||||
|         ${ |  | ||||||
|         if config.vim.minimap.codewindow.enable || config.vim.minimap.minimap-vim.enable |  | ||||||
|         then '' |  | ||||||
|           -- Minimap |  | ||||||
|           ["<leader>m"] = { name = "+Minimap" }, -- TODO: remap both minimap plugins' keys to be the same |  | ||||||
|         '' |  | ||||||
|         else "" |  | ||||||
|       } |  | ||||||
| 
 |  | ||||||
|         ${ |  | ||||||
|         if config.vim.notes.mind-nvim.enable || config.vim.notes.obsidian.enable || config.vim.notes.orgmode.enable |  | ||||||
|         then '' |  | ||||||
|           -- Notes |  | ||||||
|           ["<leader>o"] = { name = "+Notes" }, |  | ||||||
|           -- TODO: options for other note taking plugins and their individual binds |  | ||||||
|           -- TODO: move all note-taker binds under leader + o |  | ||||||
|         '' |  | ||||||
|         else "" |  | ||||||
|       } |  | ||||||
| 
 |  | ||||||
|         ${ |  | ||||||
|         # TODO: This probably will need to be reworked for custom-keybinds |  | ||||||
|         if config.vim.filetree.nvimTree.enable |  | ||||||
|         then '' |  | ||||||
|           -- NvimTree |  | ||||||
|           ["<leader>t"] = { name = "+NvimTree" }, |  | ||||||
|         '' |  | ||||||
|         else "" |  | ||||||
|       } |  | ||||||
| 
 |  | ||||||
|         ${ |  | ||||||
|         if config.vim.git.gitsigns.enable |  | ||||||
|         then '' |  | ||||||
|           -- Git |  | ||||||
|           ["<leader>g"] = { name = "+Gitsigns" }, |  | ||||||
|         '' |  | ||||||
|         else "" |  | ||||||
|       } |  | ||||||
| 
 |  | ||||||
|         ${ |  | ||||||
|         if config.vim.utility.preview.glow.enable |  | ||||||
|         then '' |  | ||||||
|           -- Markdown |  | ||||||
|           ["<leader>pm"] = { name = "+Preview Markdown" }, |  | ||||||
|         '' |  | ||||||
|         else "" |  | ||||||
|       } |  | ||||||
| 
 |  | ||||||
|       }) |  | ||||||
|     ''; |     ''; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -1,7 +1,18 @@ | ||||||
| {lib, ...}: let | { | ||||||
|   inherit (lib) mkEnableOption; |   config, | ||||||
|  |   lib, | ||||||
|  |   ... | ||||||
|  | }: let | ||||||
|  |   inherit (lib.options) mkEnableOption mkOption; | ||||||
|  |   inherit (lib.types) attrsOf str; | ||||||
| in { | in { | ||||||
|   options.vim.binds.whichKey = { |   options.vim.binds.whichKey = { | ||||||
|     enable = mkEnableOption "which-key keybind helper menu"; |     enable = mkEnableOption "which-key keybind helper menu"; | ||||||
|  | 
 | ||||||
|  |     register = mkOption { | ||||||
|  |       description = "Register label for which-key keybind helper menu"; | ||||||
|  |       type = attrsOf str; | ||||||
|  |       default = {}; | ||||||
|  |     }; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -4,7 +4,7 @@ | ||||||
|   lib, |   lib, | ||||||
|   ... |   ... | ||||||
| }: let | }: let | ||||||
|   inherit (lib) nvim mkIf mkMerge mkBinding; |   inherit (lib) nvim mkIf mkMerge mkBinding pushDownDefault; | ||||||
| 
 | 
 | ||||||
|   cfg = config.vim.utility.preview.glow; |   cfg = config.vim.utility.preview.glow; | ||||||
|   self = import ./glow.nix { |   self = import ./glow.nix { | ||||||
|  | @ -19,6 +19,10 @@ in { | ||||||
|       (mkBinding cfg.mappings.openPreview ":Glow<CR>" mappings.openPreview.description) |       (mkBinding cfg.mappings.openPreview ":Glow<CR>" mappings.openPreview.description) | ||||||
|     ]; |     ]; | ||||||
| 
 | 
 | ||||||
|  |     vim.binds.whichKey.register = pushDownDefault { | ||||||
|  |       "<leader>pm" = "+Preview Markdown"; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|     vim.luaConfigRC.glow = nvim.dag.entryAnywhere '' |     vim.luaConfigRC.glow = nvim.dag.entryAnywhere '' | ||||||
|       require('glow').setup({ |       require('glow').setup({ | ||||||
|         glow_path = "${pkgs.glow}/bin/glow" |         glow_path = "${pkgs.glow}/bin/glow" | ||||||
|  |  | ||||||
|  | @ -4,7 +4,7 @@ | ||||||
|   lib, |   lib, | ||||||
|   ... |   ... | ||||||
| }: let | }: let | ||||||
|   inherit (lib) addDescriptionsToMappings mkIf mkMerge mkSetBinding nvim; |   inherit (lib) addDescriptionsToMappings mkIf mkMerge mkSetBinding nvim pushDownDefault; | ||||||
| 
 | 
 | ||||||
|   cfg = config.vim.telescope; |   cfg = config.vim.telescope; | ||||||
|   self = import ./telescope.nix {inherit lib;}; |   self = import ./telescope.nix {inherit lib;}; | ||||||
|  | @ -52,6 +52,14 @@ in { | ||||||
|       ) |       ) | ||||||
|     ]; |     ]; | ||||||
| 
 | 
 | ||||||
|  |     vim.binds.whichKey.register = pushDownDefault { | ||||||
|  |       "<leader>f" = "+Telescope"; | ||||||
|  |       "<leader>fl" = "Telescope LSP"; | ||||||
|  |       "<leader>fm" = "Cellular Automaton"; | ||||||
|  |       "<leader>fv" = "Telescope Git"; | ||||||
|  |       "<leader>fvc" = "Commits"; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|     vim.luaConfigRC.telescope = nvim.dag.entryAnywhere '' |     vim.luaConfigRC.telescope = nvim.dag.entryAnywhere '' | ||||||
|       local telescope = require('telescope') |       local telescope = require('telescope') | ||||||
|       telescope.setup { |       telescope.setup { | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 GitHub
					GitHub