mirror of
				https://github.com/NotAShelf/nvf.git
				synced 2025-10-31 19:12:38 +00:00 
			
		
		
		
	feat: build orgmode grammar manually
This commit is contained in:
		
					parent
					
						
							
								b68c0e32e7
							
						
					
				
			
			
				commit
				
					
						6ab7d7667d
					
				
			
		
					 2 changed files with 41 additions and 25 deletions
				
			
		|  | @ -7,7 +7,8 @@ with lib; | ||||||
| with builtins; let | with builtins; let | ||||||
|   cfg = config.vim.notes.orgmode; |   cfg = config.vim.notes.orgmode; | ||||||
| in { | in { | ||||||
|   config = mkIf (cfg.enable) { |   config = mkIf cfg.enable (mkMerge [ | ||||||
|  |     { | ||||||
|       vim.startPlugins = [ |       vim.startPlugins = [ | ||||||
|         "orgmode-nvim" |         "orgmode-nvim" | ||||||
|       ]; |       ]; | ||||||
|  | @ -27,7 +28,6 @@ in { | ||||||
|             -- code block highlights that do not have ts grammar |             -- code block highlights that do not have ts grammar | ||||||
|             additional_vim_regex_highlighting = {'org'}, |             additional_vim_regex_highlighting = {'org'}, | ||||||
|           }, |           }, | ||||||
|         ensure_installed = {'org'}, -- Or run :TSUpdate org |  | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         require('orgmode').setup({ |         require('orgmode').setup({ | ||||||
|  | @ -35,5 +35,12 @@ in { | ||||||
|           org_default_notes_file = '${cfg.orgDefaultNotesFile}', |           org_default_notes_file = '${cfg.orgDefaultNotesFile}', | ||||||
|         }) |         }) | ||||||
|       ''; |       ''; | ||||||
|   }; |     } | ||||||
|  | 
 | ||||||
|  |     (mkIf cfg.treesitter.enable { | ||||||
|  |       vim.treesitter.enable = true; | ||||||
|  | 
 | ||||||
|  |       vim.treesitter.grammars = [cfg.treesitter.orgPackage]; | ||||||
|  |     }) | ||||||
|  |   ]); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -1,21 +1,30 @@ | ||||||
| { | { | ||||||
|   config, |   config, | ||||||
|   lib, |   lib, | ||||||
|  |   pkgs, | ||||||
|   ... |   ... | ||||||
| }: | }: | ||||||
| with lib; | with lib; | ||||||
| with builtins; { | with builtins; { | ||||||
|   options.vim.notes.orgmode = { |   options.vim.notes.orgmode = { | ||||||
|     enable = mkEnableOption "nvim-orgmode: Neovim plugin for Emac Orgmode. Get the best of both worlds"; |     enable = mkEnableOption "nvim-orgmode: Neovim plugin for Emac Orgmode. Get the best of both worlds"; | ||||||
|  | 
 | ||||||
|     orgAgendaFiles = mkOption { |     orgAgendaFiles = mkOption { | ||||||
|       type = types.str; |       type = types.str; | ||||||
|       default = "{'~/Documents/org/*', '~/my-orgs/**/*'}"; |       default = "{'~/Documents/org/*', '~/my-orgs/**/*'}"; | ||||||
|       description = "List of org files to be used as agenda files."; |       description = "List of org files to be used as agenda files."; | ||||||
|     }; |     }; | ||||||
|  | 
 | ||||||
|     orgDefaultNotesFile = mkOption { |     orgDefaultNotesFile = mkOption { | ||||||
|       type = types.str; |       type = types.str; | ||||||
|       default = "~/Documents/org/refile.org"; |       default = "~/Documents/org/refile.org"; | ||||||
|       description = "Default org file to be used for notes."; |       description = "Default org file to be used for notes."; | ||||||
|     }; |     }; | ||||||
|  | 
 | ||||||
|  |     treesitter = { | ||||||
|  |       enable = mkEnableOption "Enable Orgmode treesitter" // {default = config.vim.languages.enableTreesitter;}; | ||||||
|  | 
 | ||||||
|  |       orgPackage = nvim.types.mkGrammarOption pkgs "org"; | ||||||
|  |     }; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue