118 lines
2.6 KiB
Nix
118 lines
2.6 KiB
Nix
{
|
|
lib,
|
|
config,
|
|
pkgs,
|
|
...
|
|
}:
|
|
|
|
lib.mkIf (lib.elem "nvim::hurl" config.machine.services) {
|
|
programs.nvim-lazy.lazyPlugins = [
|
|
{
|
|
lazy = true;
|
|
dir = vPlug: vPlug.nui-nvim;
|
|
}
|
|
{
|
|
lazy = true;
|
|
ft = [ "hurl" ];
|
|
dir = vPlug: vPlug.hurl-nvim;
|
|
dependencies = (
|
|
vPlug:
|
|
with vPlug;
|
|
[
|
|
"nvim-treesitter"
|
|
nui-nvim
|
|
plenary-nvim
|
|
]
|
|
++ (lib.optional (lib.elem "nvim::render-markdown-nvim" config.machine.services) vPlug.render-markdown-nvim)
|
|
);
|
|
opts = {
|
|
debug = false;
|
|
show_notification = false;
|
|
# Show response in popup or split
|
|
mode = "popup";
|
|
formatters = {
|
|
json = [ "${pkgs.jq}/bin/jq" ];
|
|
html = [
|
|
"${pkgs.nodePackages.prettier}/bin/prettier"
|
|
"--parser"
|
|
"html"
|
|
];
|
|
xml = [
|
|
"${pkgs.html-tidy}/bin/tidy"
|
|
"-xml"
|
|
"-i"
|
|
"-q"
|
|
];
|
|
};
|
|
};
|
|
keys = [
|
|
{
|
|
bind = "<leader>A";
|
|
cmd = "<cmd>HurlRunner<CR>";
|
|
opts = {
|
|
ft = "hurl";
|
|
desc = "Run All requests";
|
|
};
|
|
}
|
|
{
|
|
bind = "<leader>a";
|
|
cmd = "<cmd>HurlRunnerAt<CR>";
|
|
opts = {
|
|
ft = "hurl";
|
|
desc = "Run Api request";
|
|
};
|
|
}
|
|
{
|
|
bind = "<leader>te";
|
|
cmd = "<cmd>HurlRunnerToEntry<CR>";
|
|
opts = {
|
|
ft = "hurl";
|
|
desc = "Run Api request to entry";
|
|
};
|
|
}
|
|
{
|
|
bind = "<leader>tE";
|
|
cmd = "<cmd>HurlRunnerToEnd<CR>";
|
|
opts = {
|
|
ft = "hurl";
|
|
desc = "Run Api request from current entry to end";
|
|
};
|
|
}
|
|
{
|
|
bind = "<leader>tm";
|
|
cmd = "<cmd>HurlToggleMode<CR>";
|
|
opts = {
|
|
ft = "hurl";
|
|
desc = "Hurl Toggle Mode";
|
|
};
|
|
}
|
|
{
|
|
bind = "<leader>tv";
|
|
cmd = "<cmd>HurlVerbose<CR>";
|
|
opts = {
|
|
ft = "hurl";
|
|
desc = "Run Api in verbose mode";
|
|
};
|
|
}
|
|
{
|
|
bind = "<leader>tV";
|
|
cmd = "<cmd>HurlVeryVerbose<CR>";
|
|
opts = {
|
|
ft = "hurl";
|
|
desc = "Run Api in very verbose mode";
|
|
};
|
|
}
|
|
{
|
|
bind = "<leader>h";
|
|
cmd = ":HurlRunner<CR>";
|
|
opts = {
|
|
ft = "hurl";
|
|
desc = "Hurl Runner";
|
|
mode = "v";
|
|
};
|
|
}
|
|
];
|
|
}
|
|
];
|
|
environment.systemPackages = with pkgs; [ hurl ];
|
|
}
|