mirror of
				https://github.com/NotAShelf/nvf.git
				synced 2025-10-31 11:02:37 +00:00 
			
		
		
		
	feat:32;2uadd telescope keybindings
This commit is contained in:
		
					parent
					
						
							
								1b1743dc5a
							
						
					
				
			
			
				commit
				
					
						eb8c841b4a
					
				
			
		
					 2 changed files with 55 additions and 37 deletions
				
			
		|  | @ -7,47 +7,45 @@ | |||
| with lib; | ||||
| with builtins; let | ||||
|   cfg = config.vim.telescope; | ||||
|   self = import ./telescope.nix {inherit lib;}; | ||||
|   mappingDefinitions = self.options.vim.telescope.mappings; | ||||
| 
 | ||||
|   mappings = addDescriptionsToMappings cfg.mappings mappingDefinitions; | ||||
| in { | ||||
|   config = mkIf (cfg.enable) { | ||||
|     vim.startPlugins = [ | ||||
|       "telescope" | ||||
|     ]; | ||||
| 
 | ||||
|     vim.maps.normal = | ||||
|       { | ||||
|         "<leader>ff" = {action = "<cmd> Telescope find_files<CR>";}; | ||||
|         "<leader>fg" = {action = "<cmd> Telescope live_grep<CR>";}; | ||||
|         "<leader>fb" = {action = "<cmd> Telescope buffers<CR>";}; | ||||
|         "<leader>fh" = {action = "<cmd> Telescope help_tags<CR>";}; | ||||
|         "<leader>ft" = {action = "<cmd> Telescope<CR>";}; | ||||
|     vim.maps.normal = mkMerge [ | ||||
|       (mkSetBinding mappings.findFiles "<cmd> Telescope find_files<CR>") | ||||
|       (mkSetBinding mappings.liveGrep "<cmd> Telescope live_grep<CR>") | ||||
|       (mkSetBinding mappings.buffers "<cmd> Telescope buffers<CR>") | ||||
|       (mkSetBinding mappings.helpTags "<cmd> Telescope help_tags<CR>") | ||||
|       (mkSetBinding mappings.open "<cmd> Telescope<CR>") | ||||
| 
 | ||||
|         "<leader>fvcw" = {action = "<cmd> Telescope git_commits<CR>";}; | ||||
|         "<leader>fvcb" = {action = "<cmd> Telescope git_bcommits<CR>";}; | ||||
|         "<leader>fvb" = {action = "<cmd> Telescope git_branches<CR>";}; | ||||
|         "<leader>fvs" = {action = "<cmd> Telescope git_status<CR>";}; | ||||
|         "<leader>fvx" = {action = "<cmd> Telescope git_stash<CR>";}; | ||||
|       } | ||||
|       // ( | ||||
|         if config.vim.lsp.enable | ||||
|         then { | ||||
|           "<leader>flsb" = {action = "<cmd> Telescope lsp_document_symbols<CR>";}; | ||||
|           "<leader>flsw" = {action = "<cmd> Telescope lsp_workspace_symbols<CR>";}; | ||||
|       (mkSetBinding mappings.gitCommits "<cmd> Telescope git_commits<CR>") | ||||
|       (mkSetBinding mappings.gitBufferCommits "<cmd> Telescope git_bcommits<CR>") | ||||
|       (mkSetBinding mappings.gitBranches "<cmd> Telescope git_branches<CR>") | ||||
|       (mkSetBinding mappings.gitStatus "<cmd> Telescope git_status<CR>") | ||||
|       (mkSetBinding mappings.gitStash "<cmd> Telescope git_stash<CR>") | ||||
| 
 | ||||
|           "<leader>flr" = {action = "<cmd> Telescope lsp_references<CR>";}; | ||||
|           "<leader>fli" = {action = "<cmd> Telescope lsp_implementations<CR>";}; | ||||
|           "<leader>flD" = {action = "<cmd> Telescope lsp_definitions<CR>";}; | ||||
|           "<leader>flt" = {action = "<cmd> Telescope lsp_type_definitions<CR>";}; | ||||
|           "<leader>fld" = {action = "<cmd> Telescope diagnostics<CR>";}; | ||||
|         } | ||||
|         else {} | ||||
|       (mkIf config.vim.lsp.enable (mkMerge [ | ||||
|         (mkSetBinding mappings.lspDocumentSymbols "<cmd> Telescope lsp_document_symbols<CR>") | ||||
|         (mkSetBinding mappings.lspWorkspaceSymbols "<cmd> Telescope lsp_workspace_symbols<CR>") | ||||
| 
 | ||||
|         (mkSetBinding mappings.lspReferences "<cmd> Telescope lsp_references<CR>") | ||||
|         (mkSetBinding mappings.lspImplementations "<cmd> Telescope lsp_implementations<CR>") | ||||
|         (mkSetBinding mappings.lspDefinitions "<cmd> Telescope lsp_definitions<CR>") | ||||
|         (mkSetBinding mappings.lspTypeDefinitions "<cmd> Telescope lsp_type_definitions<CR>") | ||||
|         (mkSetBinding mappings.diagnostics "<cmd> Telescope diagnostics<CR>") | ||||
|       ])) | ||||
| 
 | ||||
|       ( | ||||
|         mkIf config.vim.treesitter.enable | ||||
|         (mkSetBinding mappings.treesitter "<cmd> Telescope treesitter<CR>") | ||||
|       ) | ||||
|       // ( | ||||
|         if config.vim.treesitter.enable | ||||
|         then { | ||||
|           "<leader>fs" = {action = "<cmd> Telescope treesitter<CR>";}; | ||||
|         } | ||||
|         else {} | ||||
|       ); | ||||
|     ]; | ||||
| 
 | ||||
|     vim.luaConfigRC.telescope = nvim.dag.entryAnywhere '' | ||||
|       local telescope = require('telescope') | ||||
|  |  | |||
|  | @ -1,11 +1,31 @@ | |||
| { | ||||
|   config, | ||||
|   lib, | ||||
|   ... | ||||
| }: | ||||
| {lib, ...}: | ||||
| with lib; | ||||
| with builtins; { | ||||
|   options.vim.telescope = { | ||||
|     mappings = { | ||||
|       findFiles = mkMappingOption "Find files [Telescope]" "<leader>ff"; | ||||
|       liveGrep = mkMappingOption  "Live grep [Telescope]" "<leader>fg"; | ||||
|       buffers = mkMappingOption  "Buffers [Telescope]" "<leader>fb"; | ||||
|       helpTags = mkMappingOption  "Help tags [Telescope]" "<leader>fh"; | ||||
|       open = mkMappingOption  "Open [Telescope]" "<leader>ft"; | ||||
| 
 | ||||
|       gitCommits = mkMappingOption  "Git commits [Telescope]" "<leader>fvcw"; | ||||
|       gitBufferCommits = mkMappingOption  "Git buffer commits [Telescope]" "<leader>fvcb"; | ||||
|       gitBranches = mkMappingOption  "Git branches [Telescope]" "<leader>fvb"; | ||||
|       gitStatus = mkMappingOption  "Git status [Telescope]" "<leader>fvs"; | ||||
|       gitStash = mkMappingOption  "Git stash [Telescope]" "<leader>fvx"; | ||||
| 
 | ||||
|       lspDocumentSymbols = mkMappingOption  "LSP Document Symbols [Telescope]" "<leader>flsb"; | ||||
|       lspWorkspaceSymbols = mkMappingOption  "LSP Workspace Symbols [Telescope]" "<leader>flsw"; | ||||
|       lspReferences = mkMappingOption  "LSP References [Telescope]" "<leader>flr"; | ||||
|       lspImplementations = mkMappingOption  "LSP Implementations [Telescope]" "<leader>fli"; | ||||
|       lspDefinitions = mkMappingOption  "LSP Definitions [Telescope]" "<leader>flD"; | ||||
|       lspTypeDefinitions = mkMappingOption  "LSP Type Definitions [Telescope]" "<leader>flt"; | ||||
|       diagnostics = mkMappingOption  "Diagnostics [Telescope]" "<leader>fld"; | ||||
| 
 | ||||
|       treesitter = mkMappingOption  "Treesitter [Telescope]" "<leader>fs"; | ||||
|     }; | ||||
| 
 | ||||
|     enable = mkEnableOption "Enable multi-purpose telescope utility"; | ||||
|   }; | ||||
| } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 n3oney
				n3oney