From ffc36a4306395c45f1b34e37eab65bcc8a0adf74 Mon Sep 17 00:00:00 2001 From: Emi Simpson Date: Mon, 18 Dec 2023 11:06:05 -0500 Subject: [PATCH] Add a Digraphs section to nvim config --- configs/programs/neovim.nix | 39 ++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/configs/programs/neovim.nix b/configs/programs/neovim.nix index 1815432..f63fa77 100644 --- a/configs/programs/neovim.nix +++ b/configs/programs/neovim.nix @@ -53,6 +53,8 @@ let "," (map (rt: "${rt}") rs) ); + mkDigraph = {keys, code}: "dig " + keys + " " + (toString code) + "\n"; + mkDigraphs = dgs: (concatStringsSep "" (map mkDigraph dgs)); mkVimHeader = h: "\"\"\"\"\"\"\"\" ${h} \"\"\"\"\"\"\"\"\""; mkVimSection = section: (concatStringsSep "\n\n\n" @@ -67,10 +69,11 @@ let ) ); mkVimSections = sections: concatStringsSep "\n\n\n" (map mkVimSection sections); - mkConfig = { settings?{}, mappings?[], runtimes?[], extra?"" }: + mkConfig = { settings?{}, mappings?[], digraphs?[], runtimes?[], extra?"" }: mkVimSections [ {"ADDITIONAL RUNTIME DIRS" = mkRuntimes runtimes;} {"SETTINGS" = mkSettings settings;} + {"DIGRAPHS" = mkDigraphs digraphs;} {"KEY BINGINGS" = mkMappings mappings;} {"MANUAL SETTINGS" = extra;} ]; @@ -116,6 +119,40 @@ in foldminlines = 10; foldnestmax = 2; }; + digraphs = [ + { # Append + keys = "<>"; + code = 8853; + } + { # Multi Map + keys = "-o"; + code = 8888; + } + { # Degree Symbol + keys = "'o"; + code = 176; + } + { # Ring Operator + keys = ".o"; + code = 8728; + } + { # Integers + keys = "ZZ"; + code = 8484; + } + { # Naturals + keys = "NN"; + code = 8469; + } + { # Reals + keys = "RR"; + code = 8477; + } + { # Rationals + keys = "QQ"; + code = 8474; + } + ]; mappings = [ { mode = "";