mirror of
				https://github.com/NotAShelf/nvf.git
				synced 2025-11-04 04:32:21 +00:00 
			
		
		
		
	* modules: switch to gerg's neovim-wrapper * modules: use initViml instead of writing the file * treewide: make the entire generated config lua based * docs: remove mentions of configRC * plugins/treesitter: remove vim.cmd hack * treewide: move resolveDag to lib * modules/wrapper(rc): fix typo * treewide: migrate to pluginRC for correct DAG order The "new" DAG order is as follows: - (luaConfigPre) - globalsScript - basic - theme - pluginConfigs - extraPluginConfigs - mappings - (luaConfigPost) * plugins/theme: fix theme DAG place * plugins/theme: fix fixed theme DAG place * modules/wrapper(rc): add removed option module for configRC * docs: add dag-entries chapter, add release note entry * fix: formatting CI * languages/nix: add missing `local` * docs: fix page link * docs: add mention of breaking changes at the start of the release notes * plugins/neo-tree: convert to pluginRC * modules/wrapper(rc): add back entryAnywhere * modules/wrapper(rc): expose pluginRC * apply raf patch --------- Co-authored-by: NotAShelf <raf@notashelf.dev>
		
			
				
	
	
		
			45 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
{
 | 
						|
  config,
 | 
						|
  pkgs,
 | 
						|
  lib,
 | 
						|
  ...
 | 
						|
}: let
 | 
						|
  inherit (lib.options) mkEnableOption mkOption;
 | 
						|
  inherit (lib.modules) mkIf mkMerge;
 | 
						|
  inherit (lib.types) bool;
 | 
						|
  inherit (lib.lists) optional;
 | 
						|
  inherit (lib.nvim.types) mkGrammarOption;
 | 
						|
  inherit (lib.nvim.dag) entryAnywhere;
 | 
						|
 | 
						|
  cfg = config.vim.languages.html;
 | 
						|
in {
 | 
						|
  options.vim.languages.html = {
 | 
						|
    enable = mkEnableOption "HTML language support";
 | 
						|
    treesitter = {
 | 
						|
      enable = mkEnableOption "HTML treesitter support" // {default = config.vim.languages.enableTreesitter;};
 | 
						|
      package = mkGrammarOption pkgs "html";
 | 
						|
      autotagHtml = mkOption {
 | 
						|
        description = "Enable autoclose/autorename of html tags (nvim-ts-autotag)";
 | 
						|
        type = bool;
 | 
						|
        default = true;
 | 
						|
      };
 | 
						|
    };
 | 
						|
  };
 | 
						|
 | 
						|
  config = mkIf cfg.enable (mkMerge [
 | 
						|
    (mkIf cfg.treesitter.enable {
 | 
						|
      vim = {
 | 
						|
        startPlugins = optional cfg.treesitter.autotagHtml "nvim-ts-autotag";
 | 
						|
 | 
						|
        treesitter = {
 | 
						|
          enable = true;
 | 
						|
          grammars = [cfg.treesitter.package];
 | 
						|
        };
 | 
						|
 | 
						|
        pluginRC.html-autotag = mkIf cfg.treesitter.autotagHtml (entryAnywhere ''
 | 
						|
          require('nvim-ts-autotag').setup()
 | 
						|
        '');
 | 
						|
      };
 | 
						|
    })
 | 
						|
  ]);
 | 
						|
}
 |