mirror of
https://github.com/NotAShelf/neovim-flake.git
synced 2025-01-28 03:59:49 +01:00
ui/breadcrumbs: allow lualine winbar component to be disabled
This commit is contained in:
parent
b347757f8a
commit
e92db9ef51
3 changed files with 41 additions and 11 deletions
|
@ -71,7 +71,8 @@ configuration formats.
|
||||||
|
|
||||||
- Fix "Emac" typo
|
- Fix "Emac" typo
|
||||||
|
|
||||||
- Add [new-file-template.nvim] to automatically fill new file contents using templates.
|
- Add [new-file-template.nvim] to automatically fill new file contents using
|
||||||
|
templates.
|
||||||
|
|
||||||
[diniamo](https://github.com/diniamo):
|
[diniamo](https://github.com/diniamo):
|
||||||
|
|
||||||
|
@ -146,11 +147,22 @@ configuration formats.
|
||||||
- Add `nvf-print-config` & `nvf-print-config-path` helper scripts to Neovim
|
- Add `nvf-print-config` & `nvf-print-config-path` helper scripts to Neovim
|
||||||
closure. Both of those scripts have been automatically added to your PATH upon
|
closure. Both of those scripts have been automatically added to your PATH upon
|
||||||
using neovimConfig or `programs.nvf.enable`.
|
using neovimConfig or `programs.nvf.enable`.
|
||||||
|
|
||||||
- `nvf-print-config` will display your `init.lua`, in full.
|
- `nvf-print-config` will display your `init.lua`, in full.
|
||||||
- `nvf-print-config-path` will display the path to _a clone_ of your
|
- `nvf-print-config-path` will display the path to _a clone_ of your
|
||||||
`init.lua`. This is not the path used by the Neovim wrapper, but an
|
`init.lua`. This is not the path used by the Neovim wrapper, but an
|
||||||
identical clone.
|
identical clone.
|
||||||
|
|
||||||
|
- Add `vim.ui.breadcrumbs.lualine` to allow fine-tuning breadcrumbs behaviour on
|
||||||
|
Lualine. Only `vim.ui.breadcrumbs.lualine.winbar` is supported for the time
|
||||||
|
being.
|
||||||
|
- [](#opt-vim.ui.breadcrumbs.lualine.winbar.enable) has been added to allow
|
||||||
|
controlling the default behaviour of the `nvim-navic` component on Lualine,
|
||||||
|
which used to occupy `winbar.lualine_c` as long as breadcrumbs are enabled.
|
||||||
|
- `vim.ui.breadcrumbs.alwaysRender` has been renamed to
|
||||||
|
[](#opt-vim.ui.breadcrumbs.lualine.winbar.alwaysRender) to be conform to the
|
||||||
|
new format.
|
||||||
|
|
||||||
[ppenguin](https://github.com/ppenguin):
|
[ppenguin](https://github.com/ppenguin):
|
||||||
|
|
||||||
- Telescope:
|
- Telescope:
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
inherit (lib.generators) mkLuaInline;
|
inherit (lib.generators) mkLuaInline;
|
||||||
|
|
||||||
cfg = config.vim.statusline.lualine;
|
cfg = config.vim.statusline.lualine;
|
||||||
breadcrumbsCfg = config.vim.ui.breadcrumbs;
|
bcfg = config.vim.ui.breadcrumbs;
|
||||||
in {
|
in {
|
||||||
config = mkMerge [
|
config = mkMerge [
|
||||||
# TODO: move into nvim-tree file
|
# TODO: move into nvim-tree file
|
||||||
|
@ -20,13 +20,13 @@ in {
|
||||||
extensions = ["nvim-tree"];
|
extensions = ["nvim-tree"];
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
(mkIf (breadcrumbsCfg.enable && breadcrumbsCfg.source == "nvim-navic") {
|
(mkIf (bcfg.enable && bcfg.source == "nvim-navic" && bcfg.lualine.winbar.enable) {
|
||||||
vim.statusline.lualine.setupOpts = {
|
vim.statusline.lualine.setupOpts = {
|
||||||
# TODO: rewrite in new syntax
|
# TODO: rewrite in new syntax
|
||||||
winbar.lualine_c = mkDefault [
|
winbar.lualine_c = mkDefault [
|
||||||
[
|
[
|
||||||
"navic"
|
"navic"
|
||||||
(mkLuaInline "draw_empty = ${boolToString config.vim.ui.breadcrumbs.alwaysRender}")
|
(mkLuaInline "draw_empty = ${boolToString bcfg.lualine.winbar.alwaysRender}")
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
@ -31,6 +31,8 @@ in {
|
||||||
(renameSetupOpt ["sourceBuffer" "scrolloff"] ["source_buffer" "scrolloff"])
|
(renameSetupOpt ["sourceBuffer" "scrolloff"] ["source_buffer" "scrolloff"])
|
||||||
# TODO: every option under icon is renamed to first letter capitalized
|
# TODO: every option under icon is renamed to first letter capitalized
|
||||||
(renameSetupOpt ["icon"] ["icon"])
|
(renameSetupOpt ["icon"] ["icon"])
|
||||||
|
|
||||||
|
(mkRenamedOptionModule ["vim" "ui" "breadcrumbs" "alwaysRender"] ["vim" "ui" "breadcrumbs" "lualine" "winbar" "alwaysRender"])
|
||||||
];
|
];
|
||||||
|
|
||||||
options.vim.ui.breadcrumbs = {
|
options.vim.ui.breadcrumbs = {
|
||||||
|
@ -43,17 +45,33 @@ in {
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
# maybe this should be an option to *disable* alwaysRender optionally but oh well
|
# Options for configuring Lualine integration of nvim-navic
|
||||||
# too late
|
lualine.winbar = {
|
||||||
alwaysRender = mkOption {
|
enable =
|
||||||
type = bool;
|
mkEnableOption ''
|
||||||
default = true;
|
automatically configuring a winbar component for Lualine.
|
||||||
description = "Whether to always display the breadcrumbs component on winbar (always renders winbar)";
|
|
||||||
|
::: {.note}
|
||||||
|
This is **set to `true` by default**, which means nvim-navic
|
||||||
|
will occupy `winbar.lualine_c` for the breadcrumbs feature
|
||||||
|
unless this option is set to `false`.
|
||||||
|
:::
|
||||||
|
''
|
||||||
|
// {default = true;}; # for retaining previous behaviour
|
||||||
|
|
||||||
|
alwaysRender = mkOption {
|
||||||
|
type = bool;
|
||||||
|
default = true;
|
||||||
|
example = false;
|
||||||
|
description = ''
|
||||||
|
Whether to always display the breadcrumbs component
|
||||||
|
on winbar (always renders winbar.)
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
navbuddy = {
|
navbuddy = {
|
||||||
enable = mkEnableOption "navbuddy LSP helper UI. Enabling this option automatically loads and enables nvim-navic";
|
enable = mkEnableOption "navbuddy LSP helper UI. Enabling this option automatically loads and enables nvim-navic";
|
||||||
|
|
||||||
mappings = {
|
mappings = {
|
||||||
close = mkOption {
|
close = mkOption {
|
||||||
type = str;
|
type = str;
|
||||||
|
|
Loading…
Reference in a new issue