about summary refs log tree commit diff stats
path: root/hm/soispha/conf/nvim/plugins/debugprint/default.nix
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--hm/soispha/conf/nvim/plugins/debugprint/default.nix77
1 files changed, 77 insertions, 0 deletions
diff --git a/hm/soispha/conf/nvim/plugins/debugprint/default.nix b/hm/soispha/conf/nvim/plugins/debugprint/default.nix
new file mode 100644
index 00000000..522965ac
--- /dev/null
+++ b/hm/soispha/conf/nvim/plugins/debugprint/default.nix
@@ -0,0 +1,77 @@
+{
+  pkgs,
+  lib,
+  ...
+}: {
+  programs.nixvim = {
+    # TODO: package debugprint though a module
+    extraConfigLuaPost = ''
+      ${lib.strings.fileContents ./lua/debugprint.lua}
+    '';
+    extraPlugins = [
+      pkgs.vimExtraPlugins.debugprint-nvim
+    ];
+
+    maps = let
+      visualNormal = {
+        "g?v" = {
+          action = ''
+            function()
+              return require('debugprint').debugprint({variable = true;});
+            end
+          '';
+          lua = true;
+          expr = true;
+          desc = ''
+            'variable' debug line below the current line
+          '';
+        };
+        "g?V" = {
+          action = ''
+            function()
+              return require('debugprint').debugprint({above = true; variable = true;}) ;
+            end
+          '';
+          lua = true;
+          expr = true;
+          desc = ''
+            'variable' debug line above the current line
+          '';
+        };
+      };
+    in {
+      normal =
+        {
+          "g?p" = {
+            action = ''
+              function()
+                return require('debugprint').debugprint();
+              end
+            '';
+            lua = true;
+            expr = true;
+            desc = ''
+              'plain' debug line below the current line
+            '';
+          };
+          "g?P" = {
+            action = ''
+              function()
+                return require('debugprint').debugprint({above = true;});
+              end
+            '';
+            lua = true;
+            expr = true;
+            desc = ''
+              'plain' debug line above the current line
+            '';
+          };
+        }
+        // visualNormal;
+      visual =
+        {
+        }
+        // visualNormal;
+    };
+  };
+}