mirror of
				https://github.com/NotAShelf/nvf.git
				synced 2025-11-04 12:42:21 +00:00 
			
		
		
		
	* binds/qmk: init Create the `vim.binds.qmk` module with `enable` and `setupOpts`. * Clean up release notes Add consistent style and formatting to release notes Co-authored-by: raf <raf@notashelf.dev> * Clean up release notes (again) * binks/qmk: remove unneeded function * binds/qmk: Rename to `vim.utility.qmk` Move the `vim.binds.qmk` module to `vim.utility.qmk`. * utility/qmk: add defaults and asserts Add default values and assertions for required options. * utility/qmk: rename to utility/qmk-nvim * utility/qmk-nvim: improve assertion readability * utility/qmk-nvim: Fix links broken in module rename * Fix release notes * Add final newline to release notes --------- Co-authored-by: raf <raf@notashelf.dev>
		
			
				
	
	
		
			49 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
{lib, ...}: let
 | 
						|
  inherit (lib.options) mkOption mkEnableOption;
 | 
						|
  inherit (lib.types) attrsOf nullOr enum lines str;
 | 
						|
  inherit (lib.nvim.types) mkPluginSetupOption;
 | 
						|
in {
 | 
						|
  options.vim.utility.qmk-nvim = {
 | 
						|
    enable = mkEnableOption "QMK and ZMK keymaps in nvim";
 | 
						|
 | 
						|
    setupOpts = mkPluginSetupOption "qmk.nvim" {
 | 
						|
      name = mkOption {
 | 
						|
        type = nullOr str;
 | 
						|
        default = null;
 | 
						|
        description = "The name of the layout";
 | 
						|
      };
 | 
						|
 | 
						|
      layout = mkOption {
 | 
						|
        type = nullOr lines;
 | 
						|
        default = null;
 | 
						|
        description = ''
 | 
						|
          The keyboard key layout
 | 
						|
          see <https://github.com/codethread/qmk.nvim?tab=readme-ov-file#Layout> for more details
 | 
						|
        '';
 | 
						|
      };
 | 
						|
 | 
						|
      variant = mkOption {
 | 
						|
        type = enum ["qmk" "zmk"];
 | 
						|
        default = "qmk";
 | 
						|
        description = "Chooses the expected hardware target";
 | 
						|
      };
 | 
						|
 | 
						|
      comment_preview = {
 | 
						|
        position = mkOption {
 | 
						|
          type = enum ["top" "bottom" "inside" "none"];
 | 
						|
          default = "top";
 | 
						|
          description = "Controls the position of the preview";
 | 
						|
        };
 | 
						|
 | 
						|
        keymap_overrides = mkOption {
 | 
						|
          type = attrsOf str;
 | 
						|
          default = {};
 | 
						|
          description = ''
 | 
						|
            Key codes to text replacements
 | 
						|
            see <https://github.com/codethread/qmk.nvim/blob/main/lua/qmk/config/key_map.lua> for more details
 | 
						|
          '';
 | 
						|
        };
 | 
						|
      };
 | 
						|
    };
 | 
						|
  };
 | 
						|
}
 |