mirror of
https://github.com/NotAShelf/nvf.git
synced 2025-02-24 04:18:03 +00:00
Compare commits
1 commit
ab86d3e792
...
77502cee3e
Author | SHA1 | Date | |
---|---|---|---|
77502cee3e |
7 changed files with 8 additions and 71 deletions
|
@ -236,8 +236,3 @@ everyone.
|
|||
- Add LSP and Treesitter support for R under `vim.languages.R`.
|
||||
- Add Otter support under `vim.lsp.otter` and an assert to prevent conflict with
|
||||
ccc
|
||||
|
||||
[Bloxx12](https://github.com/Bloxx12)
|
||||
|
||||
- Add support for [base16 theming](https://github.com/RRethy/base16-nvim) under
|
||||
`vim.theme`
|
||||
|
|
17
flake.lock
generated
17
flake.lock
generated
|
@ -172,22 +172,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"plugin-base16": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1716483968,
|
||||
"narHash": "sha256-GRF/6AobXHamw8TZ3FjL7SI6ulcpwpcohsIuZeCSh2A=",
|
||||
"owner": "rrethy",
|
||||
"repo": "base16-nvim",
|
||||
"rev": "6ac181b5733518040a33017dde654059cd771b7c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "rrethy",
|
||||
"repo": "base16-nvim",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"plugin-bufdelete-nvim": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
|
@ -1818,7 +1802,6 @@
|
|||
"nixpkgs": "nixpkgs",
|
||||
"nmd": "nmd",
|
||||
"plugin-alpha-nvim": "plugin-alpha-nvim",
|
||||
"plugin-base16": "plugin-base16",
|
||||
"plugin-bufdelete-nvim": "plugin-bufdelete-nvim",
|
||||
"plugin-catppuccin": "plugin-catppuccin",
|
||||
"plugin-ccc": "plugin-ccc",
|
||||
|
|
|
@ -349,11 +349,6 @@
|
|||
};
|
||||
|
||||
# Themes
|
||||
plugin-base16 = {
|
||||
url = "github:rrethy/base16-nvim";
|
||||
flake = false;
|
||||
};
|
||||
|
||||
plugin-tokyonight = {
|
||||
url = "github:folke/tokyonight.nvim";
|
||||
flake = false;
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
{lib}: let
|
||||
inherit (lib) isStringLike showOption showFiles getFiles mergeOneOption mergeEqualOption mkOptionType;
|
||||
inherit (lib.strings) isString;
|
||||
inherit (lib.types) anything attrsOf;
|
||||
inherit (lib.nvim.types) anythingConcatLists;
|
||||
inherit (builtins) typeOf isAttrs any head concatLists stringLength match;
|
||||
inherit (builtins) typeOf isAttrs any head concatLists stringLength;
|
||||
in {
|
||||
# HACK: Does this break anything in our case?
|
||||
# A modified version of the nixpkgs anything type that concatenates lists
|
||||
|
@ -59,11 +58,4 @@ in {
|
|||
check = value: stringLength value < 2;
|
||||
merge = mergeEqualOption;
|
||||
};
|
||||
|
||||
hexColor = mkOptionType {
|
||||
name = "hex-color";
|
||||
descriptionClass = "noun";
|
||||
description = "RGB color in hex format";
|
||||
check = v: isString v && (match "#?[0-9a-fA-F]{6}" v) != null;
|
||||
};
|
||||
}
|
|
@ -6,10 +6,10 @@
|
|||
typesDag = import ./dag.nix {inherit lib;};
|
||||
typesPlugin = import ./plugins.nix {inherit inputs lib;};
|
||||
typesLanguage = import ./languages.nix {inherit lib;};
|
||||
typesTypes = import ./types.nix {inherit lib;};
|
||||
typesCustom = import ./custom.nix {inherit lib;};
|
||||
in {
|
||||
inherit (typesDag) dagOf;
|
||||
inherit (typesPlugin) pluginsOpt extraPluginType mkPluginSetupOption luaInline pluginType borderType;
|
||||
inherit (typesLanguage) diagnostics mkGrammarOption;
|
||||
inherit (typesTypes) anythingConcatLists char hexColor;
|
||||
inherit (typesCustom) anythingConcatLists char;
|
||||
}
|
||||
|
|
|
@ -4,14 +4,7 @@
|
|||
}: let
|
||||
inherit (lib.strings) optionalString;
|
||||
inherit (lib.trivial) boolToString warnIf;
|
||||
inherit (lib.nvim.lua) toLuaObject;
|
||||
in {
|
||||
base16 = {
|
||||
setup = {base16-colors, ...}: ''
|
||||
-- Base16 theme
|
||||
require('base16-colorscheme').setup(${toLuaObject base16-colors})
|
||||
'';
|
||||
};
|
||||
onedark = {
|
||||
setup = {style ? "dark", ...}: ''
|
||||
-- OneDark theme
|
||||
|
@ -27,7 +20,6 @@ in {
|
|||
setup = {
|
||||
style ? "night",
|
||||
transparent,
|
||||
...
|
||||
}: ''
|
||||
require('tokyonight').setup {
|
||||
transparent = ${boolToString transparent};
|
||||
|
@ -50,7 +42,6 @@ in {
|
|||
setup = {
|
||||
style ? "mocha",
|
||||
transparent ? false,
|
||||
...
|
||||
}: ''
|
||||
-- Catppuccin theme
|
||||
require('catppuccin').setup {
|
||||
|
|
|
@ -4,51 +4,32 @@
|
|||
...
|
||||
}: let
|
||||
inherit (lib.options) mkOption;
|
||||
inherit (lib.attrsets) attrNames listToAttrs;
|
||||
inherit (lib.strings) hasPrefix;
|
||||
inherit (lib.attrsets) attrNames;
|
||||
inherit (lib.types) bool lines enum;
|
||||
inherit (lib.modules) mkIf;
|
||||
inherit (lib.nvim.dag) entryBefore;
|
||||
inherit (lib.nvim.types) hexColor;
|
||||
|
||||
cfg = config.vim.theme;
|
||||
supportedThemes = import ./supported-themes.nix {
|
||||
inherit lib config;
|
||||
};
|
||||
|
||||
numbers = ["0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "A" "B" "C" "D" "E" "F"];
|
||||
base16Options = listToAttrs (map (n: {
|
||||
name = "base0${n}";
|
||||
value = mkOption {
|
||||
description = "The base0${n} color to use";
|
||||
type = hexColor;
|
||||
apply = v:
|
||||
if hasPrefix "#" v
|
||||
then v
|
||||
else "#${v}";
|
||||
};
|
||||
})
|
||||
numbers);
|
||||
in {
|
||||
options.vim.theme = {
|
||||
enable = mkOption {
|
||||
type = bool;
|
||||
description = "Enable theming";
|
||||
};
|
||||
|
||||
name = mkOption {
|
||||
type = enum (attrNames supportedThemes);
|
||||
description = ''
|
||||
Supported themes can be found in {file}`supportedThemes.nix`.
|
||||
Setting the theme to "base16" enables base16 theming and
|
||||
requires all of the colors in {option}`vim.theme.base16-colors` to be set.
|
||||
'';
|
||||
description = "Supported themes can be found in `supportedThemes.nix`";
|
||||
};
|
||||
base16-colors = base16Options;
|
||||
|
||||
style = mkOption {
|
||||
type = enum supportedThemes.${cfg.name}.styles;
|
||||
description = "Specific style for theme if it supports it";
|
||||
};
|
||||
|
||||
transparent = mkOption {
|
||||
type = bool;
|
||||
default = false;
|
||||
|
@ -66,7 +47,7 @@ in {
|
|||
startPlugins = [cfg.name];
|
||||
luaConfigRC.theme = entryBefore ["pluginConfigs"] ''
|
||||
${cfg.extraConfig}
|
||||
${supportedThemes.${cfg.name}.setup {inherit (cfg) style transparent base16-colors;}}
|
||||
${supportedThemes.${cfg.name}.setup {inherit (cfg) style transparent;}}
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
|
Loading…
Add table
Reference in a new issue