diff --git a/colorschemes/vscode/default.nix b/colorschemes/vscode/default.nix new file mode 100644 index 00000000..8f8a42f6 --- /dev/null +++ b/colorschemes/vscode/default.nix @@ -0,0 +1,32 @@ +{ + lib, + ... +}: +lib.nixvim.plugins.mkNeovimPlugin { + name = "vscode"; + isColorscheme = true; + package = "vscode-nvim"; + colorscheme = null; # Color scheme is set by `require.("vscode").load()` + callSetup = false; + + maintainers = [ lib.maintainers.loicreynier ]; + + settingsExample = { + transparent = true; + italic_comments = true; + italic_inlayhints = true; + underline_links = true; + terminal_colors = true; + color_overrides = { + vscLineNumber = "#FFFFFF"; + }; + }; + + extraConfig = cfg: { + colorschemes.vscode.luaConfig.content = '' + local _vscode = require("vscode") + _vscode.setup(${lib.nixvim.toLuaObject cfg.settings}) + _vscode.load() + ''; + }; +} diff --git a/tests/test-sources/colorschemes/vscode/default.nix b/tests/test-sources/colorschemes/vscode/default.nix new file mode 100644 index 00000000..93103aac --- /dev/null +++ b/tests/test-sources/colorschemes/vscode/default.nix @@ -0,0 +1,37 @@ +{ + empty = { + colorschemes.vscode.enable = true; + }; + + defaults = { + colorschemes.vscode = { + enable = true; + settings = { + transparent = false; + italic_comments = false; + italic_inlayhints = false; + underline_links = false; + color_overrides = false; + group_overrides = { }; + disable_nvimtree_bg = true; + terminal_colors = true; + }; + }; + }; + + example = { + colorschemes.vscode = { + enable = true; + settings = { + transparent = true; + italic_comments = true; + italic_inhayhints = true; + underline_links = true; + terminal_colors = true; + color_overrides = { + vscLineNumber = "#FFFFFF"; + }; + }; + }; + }; +}