zed-editor: add module
Add a simple module for zed-editor, a simple editor written in Rust.
This commit is contained in:
parent
9c1a1c7df4
commit
e78cbb2027
9 changed files with 210 additions and 0 deletions
5
tests/modules/programs/zed-editor/default.nix
Normal file
5
tests/modules/programs/zed-editor/default.nix
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
zed-extensions = ./extensions.nix;
|
||||
zed-keymap = ./keymap.nix;
|
||||
zed-settings = ./settings.nix;
|
||||
}
|
||||
24
tests/modules/programs/zed-editor/extensions.nix
Normal file
24
tests/modules/programs/zed-editor/extensions.nix
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
{ config, ... }:
|
||||
|
||||
{
|
||||
programs.zed-editor = {
|
||||
enable = true;
|
||||
package = config.lib.test.mkStubPackage { };
|
||||
extensions = [ "swift" "html" "xy-zed" ];
|
||||
};
|
||||
|
||||
nmt.script = let
|
||||
expectedContent = builtins.toFile "expected.json" ''
|
||||
{
|
||||
"auto_install_extensions": {
|
||||
"html": true,
|
||||
"swift": true,
|
||||
"xy-zed": true
|
||||
}
|
||||
}
|
||||
'';
|
||||
in ''
|
||||
assertFileExists "home-files/.config/zed/settings.json"
|
||||
assertFileContent "home-files/.config/zed/settings.json" "${expectedContent}"
|
||||
'';
|
||||
}
|
||||
39
tests/modules/programs/zed-editor/keymap.nix
Normal file
39
tests/modules/programs/zed-editor/keymap.nix
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
# Test custom keymap functionality
|
||||
{ config, ... }:
|
||||
|
||||
{
|
||||
programs.zed-editor = {
|
||||
enable = true;
|
||||
package = config.lib.test.mkStubPackage { };
|
||||
userKeymaps = [
|
||||
{ bindings = { up = "menu::SelectPrev"; }; }
|
||||
{
|
||||
context = "Editor";
|
||||
bindings = { escape = "editor::Cancel"; };
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
nmt.script = let
|
||||
expectedContent = builtins.toFile "expected.json" ''
|
||||
[
|
||||
{
|
||||
"bindings": {
|
||||
"up": "menu::SelectPrev"
|
||||
}
|
||||
},
|
||||
{
|
||||
"bindings": {
|
||||
"escape": "editor::Cancel"
|
||||
},
|
||||
"context": "Editor"
|
||||
}
|
||||
]
|
||||
'';
|
||||
|
||||
keymapPath = ".config/zed/keymap.json";
|
||||
in ''
|
||||
assertFileExists "home-files/${keymapPath}"
|
||||
assertFileContent "home-files/${keymapPath}" "${expectedContent}"
|
||||
'';
|
||||
}
|
||||
36
tests/modules/programs/zed-editor/settings.nix
Normal file
36
tests/modules/programs/zed-editor/settings.nix
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
# Test custom keymap functionality
|
||||
{ config, ... }:
|
||||
|
||||
{
|
||||
programs.zed-editor = {
|
||||
enable = true;
|
||||
package = config.lib.test.mkStubPackage { };
|
||||
userSettings = {
|
||||
theme = "XY-Zed";
|
||||
features = { copilot = false; };
|
||||
vim_mode = false;
|
||||
ui_font_size = 16;
|
||||
buffer_font_size = 16;
|
||||
};
|
||||
};
|
||||
|
||||
nmt.script = let
|
||||
expectedContent = builtins.toFile "expected.json" ''
|
||||
{
|
||||
"auto_install_extensions": {},
|
||||
"buffer_font_size": 16,
|
||||
"features": {
|
||||
"copilot": false
|
||||
},
|
||||
"theme": "XY-Zed",
|
||||
"ui_font_size": 16,
|
||||
"vim_mode": false
|
||||
}
|
||||
'';
|
||||
|
||||
settingsPath = ".config/zed/settings.json";
|
||||
in ''
|
||||
assertFileExists "home-files/${settingsPath}"
|
||||
assertFileContent "home-files/${settingsPath}" "${expectedContent}"
|
||||
'';
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue