plugins/magma-nvim: switch to settings option

This commit is contained in:
Gaetan Lepage 2024-03-02 19:11:05 +01:00 committed by Gaétan Lepage
parent 4d8285ac0c
commit 51765fedbe
2 changed files with 68 additions and 87 deletions

View file

@ -12,97 +12,76 @@ with helpers.vim-plugin;
originalName = "magma-nvim"; originalName = "magma-nvim";
defaultPackage = pkgs.vimPlugins.magma-nvim-goose; defaultPackage = pkgs.vimPlugins.magma-nvim-goose;
globalPrefix = "magma_"; globalPrefix = "magma_";
# TODO introduced 2024-03-02: remove 2024-05-02
deprecateExtraConfig = true; deprecateExtraConfig = true;
optionsRenamedToSettings = [
"imageProvider"
"automaticallyOpenOutput"
"wrapOutput"
"outputWindowBorders"
"cellHighlightGroup"
"savePath"
"showMimetypeDebug"
];
options = { settingsOptions = {
imageProvider = mkDefaultOpt { image_provider = helpers.defaultNullOpts.mkEnumFirstDefault ["none" "ueberzug" "kitty"] ''
global = "image_provider"; This configures how to display images. The following options are available:
description = '' - "none" -- don't show images.
This configures how to display images. The following options are available: - "ueberzug" -- use Ueberzug to display images.
- "none" -- don't show images. - "kitty" -- use the Kitty protocol to display images.
- "ueberzug" -- use Ueberzug to display images. '';
- "kitty" -- use the Kitty protocol to display images.
Default: "none" automatically_open_output = helpers.defaultNullOpts.mkBool true ''
''; If this is true, then whenever you have an active cell its output window will be
type = types.enum ["none" "ueberzug" "kitty"]; automatically shown.
};
automaticallyOpenOutput = mkDefaultOpt { If this is false, then the output window will only be automatically shown when you've just
global = "automatically_open_output"; evaluated the code.
description = '' So, if you take your cursor out of the cell, and then come back, the output window won't be
If this is true, then whenever you have an active cell its output window will be opened (but the cell will be highlighted).
automatically shown. This means that there will be nothing covering your code.
You can then open the output window at will using `:MagmaShowOutput`.
'';
If this is false, then the output window will only be automatically shown when you've just wrap_output = helpers.defaultNullOpts.mkBool true ''
evaluated the code. If this is true, then text output in the output window will be wrapped (akin to `set wrap`).
So, if you take your cursor out of the cell, and then come back, the output window won't '';
be opened (but the cell will be highlighted).
This means that there will be nothing covering your code.
You can then open the output window at will using `:MagmaShowOutput`.
Default: true output_window_borders = helpers.defaultNullOpts.mkBool true ''
''; If this is true, then the output window will have rounded borders.
type = types.bool; If it is false, it will have no borders.
example = false; '';
};
wrapOutput = mkDefaultOpt { cell_highlight_group = helpers.defaultNullOpts.mkStr "CursorLine" ''
global = "wrap_output"; The highlight group to be used for highlighting cells.
type = types.bool; '';
example = false;
description = ''
If this is true, then text output in the output window will be wrapped
(akin to `set wrap`).
Default: true save_path =
''; helpers.defaultNullOpts.mkStr
}; ''{__raw = "vim.fn.stdpath('data') .. '/magma'";}''
''
outputWindowBorders = mkDefaultOpt { Where to save/load with `:MagmaSave` and `:MagmaLoad` (with no parameters).
global = "output_window_borders";
type = types.bool;
example = false;
description = ''
If this is true, then the output window will have rounded borders.
If it is false, it will have no borders.
Default: true
'';
};
cellHighlightGroup = mkDefaultOpt {
global = "cell_highlight_group";
type = types.str;
description = ''
The highlight group to be used for highlighting cells.
Default: "CursorLine"
'';
};
savePath = mkDefaultOpt {
global = "save_path";
type = types.str;
description = ''
Where to save/load with :MagmaSave and :MagmaLoad (with no parameters).
The generated file is placed in this directory, with the filename itself being the The generated file is placed in this directory, with the filename itself being the
buffer's name, with % replaced by %% and / replaced by %, and postfixed with the extension buffer's name, with `%` replaced by `%%` and `/` replaced by `%`, and postfixed with the
.json. extension `.json`.
''; '';
};
showMimetypeDebug = mkDefaultOpt { show_mimetype_debug = helpers.defaultNullOpts.mkBool false ''
global = "show_mimetype_debug"; If this is true, then before any non-iostream output chunk, Magma shows the mimetypes it
type = types.bool; received for it.
example = true; This is meant for debugging and adding new mimetypes.
description = '' '';
If this is true, then before any non-iostream output chunk, Magma shows the mimetypes it };
received for it.
This is meant for debugging and adding new mimetypes.
Default: false settingsExample = {
''; image_provider = "none";
}; automatically_open_output = true;
wrap_output = true;
output_window_borders = true;
cell_highlight_group = "CursorLine";
save_path.__raw = "vim.fn.stdpath('data') .. '/magma'";
show_mimetype_debug = false;
}; };
} }

View file

@ -7,13 +7,15 @@
plugins.magma-nvim = { plugins.magma-nvim = {
enable = true; enable = true;
imageProvider = "none"; settings = {
automaticallyOpenOutput = true; image_provider = "none";
wrapOutput = true; automatically_open_output = true;
outputWindowBorders = true; wrap_output = true;
cellHighlightGroup = "CursorLine"; output_window_borders = true;
savePath = null; cell_highlight_group = "CursorLine";
showMimetypeDebug = false; save_path.__raw = "vim.fn.stdpath('data') .. '/magma'";
show_mimetype_debug = false;
};
}; };
}; };
} }