mirror of
https://github.com/NotAShelf/nvf.git
synced 2025-09-05 18:01:32 +00:00
Merge branch 'main' into v0.8
This commit is contained in:
commit
cf58d88545
10 changed files with 462 additions and 321 deletions
|
@ -544,3 +544,10 @@
|
||||||
[derethil](https://github.com/derethil):
|
[derethil](https://github.com/derethil):
|
||||||
|
|
||||||
- Fix `vim.lazy.plugins.<name>.enabled` Lua evaluation.
|
- Fix `vim.lazy.plugins.<name>.enabled` Lua evaluation.
|
||||||
|
|
||||||
|
[Jules](https://github.com/jules-sommer):
|
||||||
|
|
||||||
|
[nvim-highlight-colors]: https://github.com/brenoprata10/nvim-highlight-colors
|
||||||
|
|
||||||
|
- Add [nvim-highlight-colors] plugin in `vim.ui.nvim-highlight-colors` with
|
||||||
|
`enable` and `setupOpts`
|
||||||
|
|
12
flake.lock
generated
12
flake.lock
generated
|
@ -38,11 +38,11 @@
|
||||||
},
|
},
|
||||||
"mnw": {
|
"mnw": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748710831,
|
"lastModified": 1756580127,
|
||||||
"narHash": "sha256-eZu2yH3Y2eA9DD3naKWy/sTxYS5rPK2hO7vj8tvUCSU=",
|
"narHash": "sha256-XK+ZQWjnd96Uko73jY1dc23ksnuWnF/Myc4rT/LQOmc=",
|
||||||
"owner": "Gerg-L",
|
"owner": "Gerg-L",
|
||||||
"repo": "mnw",
|
"repo": "mnw",
|
||||||
"rev": "cff958a4e050f8d917a6ff3a5624bc4681c6187d",
|
"rev": "ecdb5ba1b08ac198d9e9bfbf9de3b234fb1eb252",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -53,11 +53,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1755049066,
|
"lastModified": 1756536218,
|
||||||
"narHash": "sha256-ANrc15FSoOAdNbfKHxqEJjZLftIwIsenJGRb/04K41s=",
|
"narHash": "sha256-ynQxPVN2FIPheUgTFhv01gYLbaiSOS7NgWJPm9LF9D0=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "e45f8f193029378d0aaee5431ba098dc80054e9a",
|
"rev": "a918bb3594dd243c2f8534b3be01b3cb4ed35fd1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
pname = "avante-nvim-lib";
|
pname = "avante-nvim-lib";
|
||||||
inherit version src;
|
inherit version src;
|
||||||
|
|
||||||
cargoHash = "sha256-8mBpzndz34RrmhJYezd4hLrJyhVL4S4IHK3plaue1k8=";
|
cargoHash = "sha256-pTWCT2s820mjnfTscFnoSKC37RE7DAPKxP71QuM+JXQ=";
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
pkg-config
|
pkg-config
|
||||||
|
|
|
@ -15,7 +15,7 @@ in {
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
vim = {
|
vim = {
|
||||||
startPlugins = [
|
startPlugins = [
|
||||||
"nvim-bufferline-lua"
|
"bufferline-nvim"
|
||||||
"bufdelete-nvim"
|
"bufdelete-nvim"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
inherit (lib.options) mkOption mkEnableOption literalExpression;
|
inherit (lib.options) mkOption mkEnableOption literalExpression literalMD;
|
||||||
inherit (lib.types) enum bool either nullOr str int listOf attrs;
|
inherit (lib.types) enum bool either nullOr str int listOf attrs;
|
||||||
inherit (lib.generators) mkLuaInline;
|
inherit (lib.generators) mkLuaInline;
|
||||||
inherit (lib.nvim.binds) mkMappingOption;
|
inherit (lib.nvim.binds) mkMappingOption;
|
||||||
|
@ -24,17 +24,28 @@ in {
|
||||||
movePrevious = mkMappingOption "Move previous buffer" "<leader>bmp";
|
movePrevious = mkMappingOption "Move previous buffer" "<leader>bmp";
|
||||||
};
|
};
|
||||||
|
|
||||||
setupOpts = mkPluginSetupOption "Bufferline-nvim" {
|
setupOpts = mkPluginSetupOption "bufferline-nvim" {
|
||||||
highlights = mkOption {
|
highlights = mkOption {
|
||||||
type = either attrs luaInline;
|
type = either attrs luaInline;
|
||||||
default =
|
default =
|
||||||
if config.vim.theme.enable && config.vim.theme.name == "catppuccin"
|
if config.vim.theme.enable && config.vim.theme.name == "catppuccin"
|
||||||
then
|
then
|
||||||
mkLuaInline
|
mkLuaInline ''
|
||||||
''
|
(function()
|
||||||
require("catppuccin.groups.integrations.bufferline").get()
|
local integration = require("catppuccin.groups.integrations.bufferline")
|
||||||
|
return (integration.get_theme or integration.get)()
|
||||||
|
end)()
|
||||||
''
|
''
|
||||||
else {};
|
else {};
|
||||||
|
defaultText = literalMD ''
|
||||||
|
```lua
|
||||||
|
(function()
|
||||||
|
local integration = require("catppuccin.groups.integrations.bufferline")
|
||||||
|
return (integration.get_theme or integration.get)()
|
||||||
|
end)()
|
||||||
|
```
|
||||||
|
if the active theme is Catppuccin, `{}` otherwise.
|
||||||
|
'';
|
||||||
description = ''
|
description = ''
|
||||||
Overrides the highlight groups of bufferline.
|
Overrides the highlight groups of bufferline.
|
||||||
|
|
||||||
|
@ -59,10 +70,11 @@ in {
|
||||||
themable = mkOption {
|
themable = mkOption {
|
||||||
type = bool;
|
type = bool;
|
||||||
default = true;
|
default = true;
|
||||||
|
example = false;
|
||||||
description = ''
|
description = ''
|
||||||
Whether or not to allow highlight groups to be overridden.
|
Whether or not to allow highlight groups to be overridden.
|
||||||
|
|
||||||
While false, bufferline.nvim sets highlights as default.
|
While `false`, bufferline.nvim sets highlights as default.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
./borders
|
./borders
|
||||||
./breadcrumbs
|
./breadcrumbs
|
||||||
./colorful-menu-nvim
|
./colorful-menu-nvim
|
||||||
|
./nvim-highlight-colors
|
||||||
./colorizer
|
./colorizer
|
||||||
./fastaction
|
./fastaction
|
||||||
./illuminate
|
./illuminate
|
||||||
|
|
28
modules/plugins/ui/nvim-highlight-colors/config.nix
Normal file
28
modules/plugins/ui/nvim-highlight-colors/config.nix
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
inherit (lib.modules) mkIf;
|
||||||
|
inherit (lib.nvim.dag) entryAnywhere;
|
||||||
|
inherit (lib.nvim.lua) toLuaObject;
|
||||||
|
|
||||||
|
cfg = config.vim.ui.nvim-highlight-colors;
|
||||||
|
in {
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
vim = {
|
||||||
|
startPlugins = [
|
||||||
|
"nvim-highlight-colors"
|
||||||
|
];
|
||||||
|
|
||||||
|
# enable display of 24-bit RGB colors in neovim
|
||||||
|
# via the terminal. This is required for nvim-highlight-colors
|
||||||
|
# to display arbitrary RGB highlights.
|
||||||
|
options.termguicolors = true;
|
||||||
|
|
||||||
|
pluginRC.nvim-highlight-colors = entryAnywhere ''
|
||||||
|
require('nvim-highlight-colors').setup(${toLuaObject cfg.setupOpts})
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
6
modules/plugins/ui/nvim-highlight-colors/default.nix
Normal file
6
modules/plugins/ui/nvim-highlight-colors/default.nix
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./nvim-highlight-colors.nix
|
||||||
|
./config.nix
|
||||||
|
];
|
||||||
|
}
|
|
@ -0,0 +1,71 @@
|
||||||
|
{lib, ...}: let
|
||||||
|
inherit (lib.options) mkOption mkEnableOption;
|
||||||
|
inherit (lib.types) attrsOf enum nullOr submodule bool str;
|
||||||
|
inherit (lib.modules) mkRenamedOptionModule;
|
||||||
|
inherit (lib.nvim.types) mkPluginSetupOption;
|
||||||
|
inherit (lib.nvim.config) mkBool;
|
||||||
|
in {
|
||||||
|
options.vim.ui.nvim-highlight-colors = {
|
||||||
|
enable = mkEnableOption "color highlighting [nvim-highlight-colors.lua]";
|
||||||
|
|
||||||
|
setupOpts = mkPluginSetupOption "nvim-highlight-colors" {
|
||||||
|
render = mkOption {
|
||||||
|
type = enum ["background" "foreground" "virtual"];
|
||||||
|
default = "background";
|
||||||
|
example = "virtual";
|
||||||
|
description = ''
|
||||||
|
Style to render color highlighting with.
|
||||||
|
|
||||||
|
::: {.note}
|
||||||
|
Each render style works as follows:
|
||||||
|
- 'background' sets the background
|
||||||
|
highlight of the matched color string
|
||||||
|
to the RGB color it describes.
|
||||||
|
|
||||||
|
- 'foreground' sets the foreground
|
||||||
|
highlight of the matched color string
|
||||||
|
to the RGB color it describes.
|
||||||
|
|
||||||
|
- 'virtual' displays the matched color
|
||||||
|
with virtual text alongside the color
|
||||||
|
string in the buffer. Virtual text can
|
||||||
|
be configured to display the color in
|
||||||
|
various ways, i.e custom virtual symbol
|
||||||
|
(via `virtual_symbol`) positioning
|
||||||
|
relative to string, suffix/prefix, etc.
|
||||||
|
:::
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
virtual_symbol_position = mkOption {
|
||||||
|
type = enum ["inline" "eol" "eow"];
|
||||||
|
default = "inline";
|
||||||
|
example = "eol";
|
||||||
|
description = ''
|
||||||
|
Where to render the virtual symbol in
|
||||||
|
relation to the color string.
|
||||||
|
|
||||||
|
::: {.note}
|
||||||
|
Each render style works as follows:
|
||||||
|
- 'inline' render virtual text inline,
|
||||||
|
similar to the style of VSCode color
|
||||||
|
hinting.
|
||||||
|
|
||||||
|
- 'eol' render virtual text at the end
|
||||||
|
of the line which the color string
|
||||||
|
occurs (last column). Recommended to
|
||||||
|
set `virtual_symbol_suffix` to an
|
||||||
|
empty string when used.
|
||||||
|
|
||||||
|
- 'eow' render virtual text at the end
|
||||||
|
of the word where the color string
|
||||||
|
occurs. Recommended to set
|
||||||
|
`virtual_symbol_prefix` to a single
|
||||||
|
space for padding and the suffix to
|
||||||
|
an empty string for no padding.
|
||||||
|
:::
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue