mirror of
				https://github.com/NotAShelf/nvf.git
				synced 2025-11-04 04:32:21 +00:00 
			
		
		
		
	
		
			Some checks failed
		
		
	
	Set up binary cache / cachix (default) (push) Has been cancelled
				
			Set up binary cache / cachix (maximal) (push) Has been cancelled
				
			Set up binary cache / cachix (nix) (push) Has been cancelled
				
			Validate flake & check documentation / Validate Flake Documentation (docs) (push) Has been cancelled
				
			Validate flake & check documentation / Validate Flake Documentation (docs-html) (push) Has been cancelled
				
			Validate flake & check documentation / Validate Flake Documentation (docs-json) (push) Has been cancelled
				
			Validate flake & check documentation / Validate Flake Documentation (docs-manpages) (push) Has been cancelled
				
			Validate flake & check formatting / Validate Flake (push) Has been cancelled
				
			Validate flake & check formatting / Formatting via Alejandra (push) Has been cancelled
				
			Build and deploy documentation / Check latest commit (push) Has been cancelled
				
			Build and deploy documentation / publish (push) Has been cancelled
				
			* utility/precognition: init * utility/precognition: fix priority example, add default * utility/precognition: add files to default.nix * utility/precognition: fix typos, manual fmt * utility/precognition: remove useless mappings i was going to add binds to toggle/enable/disable but ehhh idk * utility/precognition: fix hints option it broke * utility/precognition: update gutter hints, new description * utility/precognition: add files to motion defaults * utility/precognition: add plugin to flake * utility/precognition: remove comment reference oops * utility/precognition: add precognition to maximal configuration it does work! * utility/precognition: update descriptions needs docs link, desc is somewhat obscure. * docs: add credit to release notes * utility/precognition: format * utility/precognition: de-linkify descriptions * utility/precognition: no more rec * utility/precognition: convert to setupOpts honestly raf was cooking with this one. it's much nicer to use compared to interpolation lol * utility/precognition: remove unnecessary function parameter * utility/precognition: format * utility/precognition: add description to disabled_fts oops * utility/precognition: manual format * utility/precognition: remove periods at the end of descriptions * utility/precognition: fix configuration.nix entry oops lol * utility/precognition: format * utility/precognition: expand `vim` * precognition: consistency changes Just my minor nits. --------- Co-authored-by: NotAShelf <raf@notashelf.dev>
		
			
				
	
	
		
			66 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
{lib, ...}: let
 | 
						|
  inherit (lib.options) mkEnableOption mkOption literalExpression;
 | 
						|
  inherit (lib.types) attrsOf listOf str bool int submodule;
 | 
						|
  inherit (lib.nvim.types) mkPluginSetupOption;
 | 
						|
 | 
						|
  mkHintType = description:
 | 
						|
    mkOption {
 | 
						|
      inherit description;
 | 
						|
      default = {};
 | 
						|
      type = attrsOf (submodule {
 | 
						|
        options = {
 | 
						|
          text = mkOption {
 | 
						|
            type = str;
 | 
						|
            description = "The easier-to-read depiction of the motion";
 | 
						|
          };
 | 
						|
 | 
						|
          prio = mkOption {
 | 
						|
            type = int;
 | 
						|
            default = 1;
 | 
						|
            description = "The priority of the hint";
 | 
						|
            example = 10;
 | 
						|
          };
 | 
						|
        };
 | 
						|
      });
 | 
						|
    };
 | 
						|
in {
 | 
						|
  options.vim.utility.motion.precognition = {
 | 
						|
    enable = mkEnableOption "assisted motion discovery[precognition.nvim]";
 | 
						|
    setupOpts = mkPluginSetupOption "precognition.nvim" {
 | 
						|
      startVisible = mkOption {
 | 
						|
        type = bool;
 | 
						|
        default = true;
 | 
						|
        description = "Whether to start 'precognition' automatically";
 | 
						|
      };
 | 
						|
 | 
						|
      showBlankVirtLine = mkOption {
 | 
						|
        type = bool;
 | 
						|
        default = true;
 | 
						|
        description = "Whether to show a blank virtual line when no movements are shown";
 | 
						|
      };
 | 
						|
 | 
						|
      highlightColor = mkOption {
 | 
						|
        type = attrsOf str;
 | 
						|
        default = {link = "Comment";};
 | 
						|
        example = literalExpression ''
 | 
						|
          { link = "Comment"; }
 | 
						|
          # or
 | 
						|
          { foreground = "#0000FF"; background = "#000000"; };
 | 
						|
        '';
 | 
						|
        description = "The highlight for the virtual text";
 | 
						|
      };
 | 
						|
 | 
						|
      disabled_fts = mkOption {
 | 
						|
        type = listOf str;
 | 
						|
        default = ["startify"];
 | 
						|
        example = literalExpression ''["startify"]'';
 | 
						|
        description = "Filetypes that automatically disable 'precognition'";
 | 
						|
      };
 | 
						|
 | 
						|
      hints = mkHintType "What motions display, and at what priority";
 | 
						|
      gutterHints = mkHintType ''
 | 
						|
        What motions display and at what priority. Only appears in gutters
 | 
						|
      '';
 | 
						|
    };
 | 
						|
  };
 | 
						|
}
 |