mirror of
https://github.com/NotAShelf/neovim-flake.git
synced 2024-11-09 14:45:58 +01:00
Compare commits
34 commits
86497912d8
...
0654647e33
Author | SHA1 | Date | |
---|---|---|---|
|
0654647e33 | ||
4ee562d438 | |||
a86c59457c | |||
|
a437dbd158 | ||
c1b3900846 | |||
|
9cff1b03d6 | ||
dfa2718bb3 | |||
fcab30e7bb | |||
|
68b0647936 | ||
c50522f6b0 | |||
ae45cdf92a | |||
|
8eb8326bd6 | ||
200a45ec73 | |||
|
08547724e4 | ||
5748bb5eb9 | |||
|
367320dcd9 | ||
|
fc4e471490 | ||
|
1061c920be | ||
9bbdb8d48a | |||
f9343f1bc7 | |||
6624841e63 | |||
|
9baebb0d82 | ||
|
2c9a9b4d29 | ||
|
68ca227a87 | ||
|
69257c03a3 | ||
|
ac20dfbdd4 | ||
9074b6e5e7 | |||
|
011f662fa0 | ||
|
af72dc105d | ||
|
8aa3a23e97 | ||
|
7d9f1e0481 | ||
|
82e92a56da | ||
|
981fe07075 | ||
|
2c37513012 |
21 changed files with 678 additions and 320 deletions
2
.github/workflows/cachix.yml
vendored
2
.github/workflows/cachix.yml
vendored
|
@ -37,7 +37,7 @@ jobs:
|
|||
uses: DeterminateSystems/nix-installer-action@main
|
||||
- uses: DeterminateSystems/magic-nix-cache-action@main
|
||||
|
||||
- uses: cachix/cachix-action@v14
|
||||
- uses: cachix/cachix-action@v15
|
||||
with:
|
||||
authToken: ${{ secrets.CACHIX_TOKEN }}
|
||||
extraPullNames: nix-community
|
||||
|
|
|
@ -17,6 +17,10 @@ configuring.md
|
|||
hacking.md
|
||||
```
|
||||
|
||||
```{=include=} appendix html:into-file=//plugins.html
|
||||
plugins.md
|
||||
```
|
||||
|
||||
```{=include=} appendix html:into-file=//options.html
|
||||
options.md
|
||||
```
|
||||
|
|
16
docs/manual/plugins.md
Normal file
16
docs/manual/plugins.md
Normal file
|
@ -0,0 +1,16 @@
|
|||
# Plugin specific quirks {#ch-plugins}
|
||||
|
||||
At times, certain plugins refuse to play nicely. Be it as a result of generating
|
||||
lua from Nix, or the state of packaging. This page shall list any plugins that
|
||||
are known to misbehave, and potential workarounds.
|
||||
|
||||
```{=include=} chapters
|
||||
plugins/nodejs.md
|
||||
```
|
||||
<!--
|
||||
If adding a new section, uncomment this part and add your page to
|
||||
plugins/<page>.md
|
||||
```{=include=} chapters
|
||||
plugins/page.md
|
||||
```
|
||||
-->
|
18
docs/manual/plugins/nodejs.md
Normal file
18
docs/manual/plugins/nodejs.md
Normal file
|
@ -0,0 +1,18 @@
|
|||
# NodeJS {#ch-plugins-nodejs}
|
||||
|
||||
## eslint-plugin-prettier {#sec-eslint-plugin-prettier}
|
||||
|
||||
When working with NodeJS, everything works as expected, but some projects have settings that can fool nvf.
|
||||
|
||||
If [this plugin](https://github.com/prettier/eslint-plugin-prettier) or similar is included, you might get a situation where your eslint configuration diagnoses your formatting according to its own config (usually `.eslintrc.js`).
|
||||
|
||||
The issue there is your formatting is made via prettierd.
|
||||
|
||||
This results in auto-formating relying on your prettier config, while your eslint config diagnoses formatting [which it's not supposed to](https://prettier.io/docs/en/comparison.html))
|
||||
|
||||
In the end, you get discrepancies between what your editor does and what it wants.
|
||||
|
||||
Solutions are:
|
||||
|
||||
1. Don't add a formatting config to eslint, and separate prettier and eslint.
|
||||
2. PR this repo to add an ESLint formatter and configure nvf to use it.
|
|
@ -6,7 +6,7 @@ Release notes for release 0.7
|
|||
|
||||
[ItsSorae](https://github.com/ItsSorae):
|
||||
|
||||
- Added support for [typst](https://typst.app/) under `vim.languages.typst` This
|
||||
- Add support for [typst](https://typst.app/) under `vim.languages.typst` This
|
||||
will enable the `typst-lsp` language server, and the `typstfmt` formatter
|
||||
|
||||
[frothymarrow](https://github.com/frothymarrow):
|
||||
|
@ -15,10 +15,15 @@ Release notes for release 0.7
|
|||
[](#opt-vim.visuals.fidget-nvim.setupOpts.progress.display.overrides) from
|
||||
`anything` to a `submodule` for better type checking.
|
||||
- Fix null `vim.lsp.mappings` generating an error and not being filtered out.
|
||||
- Add basic transparency support for `oxocarbon` theme by setting the
|
||||
highlight group for `Normal`, `NormalFloat`, `LineNr`, `SignColumn` and
|
||||
optionally `NvimTreeNormal` to `none`.
|
||||
|
||||
[horriblename](https://github.com/horriblename):
|
||||
|
||||
- Fix broken treesitter-context keybinds in visual mode
|
||||
- Depcrecate use of `__empty` to define empty tables in lua. Empty attrset are
|
||||
no longer filtered and thus should be used instead.
|
||||
|
||||
[NotAShelf](https://github.com/notashelf)
|
||||
|
||||
|
@ -36,9 +41,11 @@ Release notes for release 0.7
|
|||
|
||||
- Remove vim-tidal and friends
|
||||
|
||||
- Cleaned up Lualine module to reduce theme dependency on Catppuccin, and fixed
|
||||
- Clean up Lualine module to reduce theme dependency on Catppuccin, and fixed
|
||||
blending issues in component separators.
|
||||
|
||||
[jacekpoz](https://github.com/jacekpoz):
|
||||
|
||||
- Added [ocaml-lsp](https://github.com/ocaml/ocaml-lsp) support.
|
||||
- Add [ocaml-lsp](https://github.com/ocaml/ocaml-lsp) support.
|
||||
|
||||
- Fix Emac typo
|
||||
|
|
228
flake.lock
228
flake.lock
|
@ -114,11 +114,11 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1716041078,
|
||||
"narHash": "sha256-ewjE7eVBVmjh8faip3RW+I3WzQZ3iywQVyxZfjunfH0=",
|
||||
"lastModified": 1717839683,
|
||||
"narHash": "sha256-kC0eyEsfpXbtQ2Ee5kgjmLFSVsLgnqpj10LjEi+fK+g=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "04496f014fcf27fdcede464d5de8558e12b5710c",
|
||||
"rev": "3f3a01219b4a1b6ee63039a3aa63948fbf37c0dd",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -223,11 +223,11 @@
|
|||
"plugin-catppuccin": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1715167632,
|
||||
"narHash": "sha256-aRrhVHQSCyo1Ti1j8ogWJ8e0eJWiTw5+abIpyUxky/M=",
|
||||
"lastModified": 1716704960,
|
||||
"narHash": "sha256-UDPS+1o8FQGkfqiG4GX4DNUI2pU5hIvagmfnWTKDb44=",
|
||||
"owner": "catppuccin",
|
||||
"repo": "nvim",
|
||||
"rev": "d97387aea8264f484bb5d5e74f2182a06c83e0d8",
|
||||
"rev": "5215ea59df6d0a7e27da9a5cd1165e06d1b04cbe",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -495,11 +495,11 @@
|
|||
"plugin-diffview-nvim": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1716052902,
|
||||
"narHash": "sha256-jbAeMJRybHQnsmTY2xeca4QJXXxdYVEK83d8NUSSnfQ=",
|
||||
"lastModified": 1716569036,
|
||||
"narHash": "sha256-sCrswSN/ERirije4hukg81t+X8sVG6EnG8SPK/P1Bts=",
|
||||
"owner": "sindrets",
|
||||
"repo": "diffview.nvim",
|
||||
"rev": "9bdd5537575c2ea7925b71ae06585b934beea13d",
|
||||
"rev": "1ec7b56b959dab18f7030f541c33ae60e18a6f88",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -527,11 +527,11 @@
|
|||
"plugin-dressing-nvim": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1715888396,
|
||||
"narHash": "sha256-zL+u9SUwzPZEYxaGZiRnezNUkcr8ZkdOMyGKSXF5xcQ=",
|
||||
"lastModified": 1716410905,
|
||||
"narHash": "sha256-AXY1+nA6Q/kWbuwOAqwVdd3QrjkHGVdVMHShvSIfLwM=",
|
||||
"owner": "stevearc",
|
||||
"repo": "dressing.nvim",
|
||||
"rev": "572314728cb1ce012e825fd66331f52c94acac12",
|
||||
"rev": "3c38ac861e1b8d4077ff46a779cde17330b29f3a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -543,11 +543,11 @@
|
|||
"plugin-elixir-tools": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1714657398,
|
||||
"narHash": "sha256-U6db1n/RIpT7Dd54e9iI/PjO1BhDpMyNPfaph+dUk7k=",
|
||||
"lastModified": 1716478469,
|
||||
"narHash": "sha256-ESL/H/l5Yarcuo3MjBplKwox8E6CBxvWrpciyJeaES0=",
|
||||
"owner": "elixir-tools",
|
||||
"repo": "elixir-tools.nvim",
|
||||
"rev": "51eddb03a7a8c9f00d6415b356a4d3b75d8e75b6",
|
||||
"rev": "815cf0b0aab0421f8490199c0dd7442d22a7c1b7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -559,11 +559,11 @@
|
|||
"plugin-fidget-nvim": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1716068358,
|
||||
"narHash": "sha256-WT1KnFXC/jjd9tQEiJ7f5mU9FMK++TSOItxZyl6G8GM=",
|
||||
"lastModified": 1716093309,
|
||||
"narHash": "sha256-Gpk/G0ByOAIE8uX4Xr94CvAjJBSJMEOwBuvrhmYYGsg=",
|
||||
"owner": "j-hui",
|
||||
"repo": "fidget.nvim",
|
||||
"rev": "a2ece932b663898d4015f458ce7ad92c389690ba",
|
||||
"rev": "ef99df04a1c53a453602421bc0f756997edc8289",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -575,11 +575,11 @@
|
|||
"plugin-flutter-tools": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1716029468,
|
||||
"narHash": "sha256-nMP1LVUViKeL2BaYr/oAbqVKmOZ1SomWozKz4OYaovU=",
|
||||
"lastModified": 1716114535,
|
||||
"narHash": "sha256-dRcWCqFHtDMOEGjKji3lxYQZKBhlhss/i51pX6FZxuI=",
|
||||
"owner": "akinsho",
|
||||
"repo": "flutter-tools.nvim",
|
||||
"rev": "c19f94576f866888f1b84aa73c690b30de4b86fb",
|
||||
"rev": "990a1349c29f7d474a0cd51355aba773ccc9deea",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -607,11 +607,11 @@
|
|||
"plugin-gitsigns-nvim": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1715007445,
|
||||
"narHash": "sha256-v21qTJfiv57vSUDGCJ4wM+L0Ixwh2b3pkoESFAHBrDM=",
|
||||
"lastModified": 1716453598,
|
||||
"narHash": "sha256-TTC3uvRsq4v6PBdS/3YAGpyhVt0w3/SGkPE3fu1zW94=",
|
||||
"owner": "lewis6991",
|
||||
"repo": "gitsigns.nvim",
|
||||
"rev": "805610a9393fa231f2c2b49cb521bfa413fadb3d",
|
||||
"rev": "cdfcd9d39d23c46ae9a040de2c6a8b8bf868746e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -639,11 +639,11 @@
|
|||
"plugin-gruvbox": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1715974972,
|
||||
"narHash": "sha256-BDBNeXf189K7l53IaWKWo0eta79cAuYKW0kP6jYfV1w=",
|
||||
"lastModified": 1716072809,
|
||||
"narHash": "sha256-BLhZGijGF03UFiyMJ66C1ZLDRqAo1C80ekHcBm1PGoY=",
|
||||
"owner": "ellisonleao",
|
||||
"repo": "gruvbox.nvim",
|
||||
"rev": "4f8e2dc9e8cdfdd3a988227c2c347043a46f51a4",
|
||||
"rev": "96a8ec336fb48a11cefbd57508888361431aac26",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -703,11 +703,11 @@
|
|||
"plugin-image-nvim": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1715966662,
|
||||
"narHash": "sha256-2f7ss/QTohYSp0EqaFnBtQeOjI+3fIn+Wmgy/TcfbDk=",
|
||||
"lastModified": 1716308282,
|
||||
"narHash": "sha256-6nFzUchDQIvaTOv4lZ10q66m/ntU3dgVnlfBRodW+0Y=",
|
||||
"owner": "3rd",
|
||||
"repo": "image.nvim",
|
||||
"rev": "da64ce69598875c9af028afe129f916b02ccc42e",
|
||||
"rev": "2a618c86d9f8fd9f7895d12b55ec2f31fd14fa05",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -719,11 +719,11 @@
|
|||
"plugin-indent-blankline": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1716042154,
|
||||
"narHash": "sha256-qlFoZ/GDsbnIhMoT+esNxheC3I9guxiV2DQYlY9kcMM=",
|
||||
"lastModified": 1716449809,
|
||||
"narHash": "sha256-K5y0UQAXc0N6+1kqncX2eClpvZb7jlg7GhSerHQVZX0=",
|
||||
"owner": "lukas-reineke",
|
||||
"repo": "indent-blankline.nvim",
|
||||
"rev": "ece00d5fb44d196680a81fd2761062d2fa44663b",
|
||||
"rev": "d98f537c3492e87b6dc6c2e3f66ac517528f406f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -735,11 +735,11 @@
|
|||
"plugin-leap-nvim": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1715716911,
|
||||
"narHash": "sha256-vRL++RVDywO6nP5dHQiO1NSQ17SMmHm4AgjTQfv642o=",
|
||||
"lastModified": 1716207448,
|
||||
"narHash": "sha256-O/wN5v8GhlEECBIhJQvWhKcpQrqT7J+BNkd/fIh0TIQ=",
|
||||
"owner": "ggandor",
|
||||
"repo": "leap.nvim",
|
||||
"rev": "b1ecfb63c0b8babfd0dcd6b5ca6de37bbf3526cd",
|
||||
"rev": "8f4d3ab9fe5c906c5745150191831c5ee0a427a0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -751,11 +751,11 @@
|
|||
"plugin-lsp-lines": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1715965937,
|
||||
"narHash": "sha256-C3m91uwldDwaZlYjb6j2sPlvO6ADqhl0AmUWZVYEDHo=",
|
||||
"lastModified": 1716108775,
|
||||
"narHash": "sha256-QsvmPOer7JgO7Y+N/iaNJD7Kmy69gnlV4CeyaQesNvA=",
|
||||
"owner": "~whynothugo",
|
||||
"repo": "lsp_lines.nvim",
|
||||
"rev": "d2facc98064934ebd480cd563212a84d957075fe",
|
||||
"rev": "7d9e2748b61bff6ebba6e30adbc7173ccf21c055",
|
||||
"type": "sourcehut"
|
||||
},
|
||||
"original": {
|
||||
|
@ -767,11 +767,11 @@
|
|||
"plugin-lsp-signature": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1715342515,
|
||||
"narHash": "sha256-f4AuZnt2m2VA90baSbZt6+elzjXmJKPFTO28v8auoYc=",
|
||||
"lastModified": 1716637798,
|
||||
"narHash": "sha256-4Abo4HGwzZtqEHcS9lsQdw+Dsn7tkQoeq5QyfTEEwnA=",
|
||||
"owner": "ray-x",
|
||||
"repo": "lsp_signature.nvim",
|
||||
"rev": "aed5d1162b0f07bb3af34bedcc5f70a2b6466ed8",
|
||||
"rev": "529e8861d0410389f0163a5e5c2199d4a4ef5bf6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -911,11 +911,11 @@
|
|||
"plugin-noice-nvim": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1716037348,
|
||||
"narHash": "sha256-/dtOpAjzgMJHSjV9AZcR991I/r9xaMnpg0/1c6NdItg=",
|
||||
"lastModified": 1716502618,
|
||||
"narHash": "sha256-GrgFjVDIQcCfg5qyO6FnhlGUCrz6rwAFh81yZXUJra4=",
|
||||
"owner": "folke",
|
||||
"repo": "noice.nvim",
|
||||
"rev": "9f6f6ba74f8bfbf7e43d6302cf86b070362f6203",
|
||||
"rev": "f119045f38792ad5311e5f9be7a879e4c1a95fe0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -960,11 +960,11 @@
|
|||
"plugin-nvim-autopairs": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1715818272,
|
||||
"narHash": "sha256-qcfYChucUpRFKMfB+IphmIPzH/HgobVDK44wDtVXSnU=",
|
||||
"lastModified": 1716158088,
|
||||
"narHash": "sha256-YEAqjlzVrS/VLrkwGo3L7cNOE1LuyLYlBtkR2HA5oVk=",
|
||||
"owner": "windwp",
|
||||
"repo": "nvim-autopairs",
|
||||
"rev": "b0b79e42a28f09719a7da9534c3731fa37319d9b",
|
||||
"rev": "c15de7e7981f1111642e7e53799e1211d4606cb9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -976,11 +976,11 @@
|
|||
"plugin-nvim-bufferline-lua": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1713769392,
|
||||
"narHash": "sha256-bHlmaNXfZTlTm/8v48FwCde9ljZFLv25efYF5355bnw=",
|
||||
"lastModified": 1716555412,
|
||||
"narHash": "sha256-8PCkY1zrlMrPGnQOb7MjqDXNlkeX46jrT4ScIL+MOwM=",
|
||||
"owner": "akinsho",
|
||||
"repo": "nvim-bufferline.lua",
|
||||
"rev": "73540cb95f8d95aa1af3ed57713c6720c78af915",
|
||||
"rev": "99337f63f0a3c3ab9519f3d1da7618ca4f91cffe",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1056,11 +1056,11 @@
|
|||
"plugin-nvim-dap": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1715872903,
|
||||
"narHash": "sha256-UZm2DA19uBeL2L5JKAZilqBTTPSA5X3ZEcAVJUq65p8=",
|
||||
"lastModified": 1716747841,
|
||||
"narHash": "sha256-uzivFy0ZNLxAXDqkYNrNy1SSHPRrGv3OLVCNCRDiikU=",
|
||||
"owner": "mfussenegger",
|
||||
"repo": "nvim-dap",
|
||||
"rev": "5a2f7121869394502521c52b2bc581ab22c69447",
|
||||
"rev": "922ebc75c2fa9305e36402fbd8c984c8638770a0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1072,11 +1072,11 @@
|
|||
"plugin-nvim-dap-ui": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1714314733,
|
||||
"narHash": "sha256-26g4dlxzTGaR5OrXpPo4A2erM/eSkgedb0Bl2pK362M=",
|
||||
"lastModified": 1716237606,
|
||||
"narHash": "sha256-paiyLNzqUq9G3U8qn8yl1AjHJzTTa17exA05QO09nGA=",
|
||||
"owner": "rcarriga",
|
||||
"repo": "nvim-dap-ui",
|
||||
"rev": "5934302d63d1ede12c0b22b6f23518bb183fc972",
|
||||
"rev": "334cf3038c4756e6ab999cbac67c847fb654c190",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1120,11 +1120,11 @@
|
|||
"plugin-nvim-lspconfig": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1716002336,
|
||||
"narHash": "sha256-Ofat8It2TCjxnMPHmQ5fZTeJDpMTIrDMGHXle66IWe8=",
|
||||
"lastModified": 1716498901,
|
||||
"narHash": "sha256-PMMqPDnq4Q8gWeKQ2WPE+pOf1R1G61wJ+bAWkHpQlzE=",
|
||||
"owner": "neovim",
|
||||
"repo": "nvim-lspconfig",
|
||||
"rev": "6d2ae9fdc3111a6e8fd5db2467aca11737195a30",
|
||||
"rev": "b972e7154bc94ab4ecdbb38c8edbccac36f83996",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1136,11 +1136,11 @@
|
|||
"plugin-nvim-navbuddy": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1711239174,
|
||||
"narHash": "sha256-EZXzFjGsZHkb2Ui5uvOottPHA8X15F6xyikab4dBlYk=",
|
||||
"lastModified": 1716111817,
|
||||
"narHash": "sha256-sZ1M27qNbLMHKR4Zu0NfJoBcQxJbhmW7Cx74Acirlww=",
|
||||
"owner": "SmiteshP",
|
||||
"repo": "nvim-navbuddy",
|
||||
"rev": "f34237e8a41ebc6e2716af2ebf49854d8c5289c8",
|
||||
"rev": "f22bac988f2dd073601d75ba39ea5636ab6e38cb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1184,11 +1184,11 @@
|
|||
"plugin-nvim-nio": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1714664267,
|
||||
"narHash": "sha256-VfoJOXXtMhalFcnfhVzweq7TVmB8WjRP+Z5Z5Z24Pzc=",
|
||||
"lastModified": 1716391538,
|
||||
"narHash": "sha256-UffuTu7mF96LHk0MQRNrsgDyo1QWa/1i5eJKjZkuG8k=",
|
||||
"owner": "nvim-neotest",
|
||||
"repo": "nvim-nio",
|
||||
"rev": "8765cbc4d0c629c8158a5341e1b4305fd93c3a90",
|
||||
"rev": "632024157d01e8bc48fd7df6a7de8ffe3fdd4f3a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1216,11 +1216,11 @@
|
|||
"plugin-nvim-session-manager": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1715419340,
|
||||
"narHash": "sha256-SrJJWC/newJRB879zMUbLzOJQ8qtcHfLF/7GLPFlSRQ=",
|
||||
"lastModified": 1716560093,
|
||||
"narHash": "sha256-A6oHIg8PG84L7QIRpo9WXKzMq4EUe92jQIxObOxpFmg=",
|
||||
"owner": "Shatur",
|
||||
"repo": "neovim-session-manager",
|
||||
"rev": "a0b9d25154be573bc0f99877afb3f57cf881cce7",
|
||||
"rev": "b552ee8667037be5d0291229279a35af25e515fb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1248,11 +1248,11 @@
|
|||
"plugin-nvim-tree-lua": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1715647490,
|
||||
"narHash": "sha256-YqHAEztx6gEEm0GoDXC5djnIP030oGGRcskp8LPqVoc=",
|
||||
"lastModified": 1716687243,
|
||||
"narHash": "sha256-E6J9d0LJMK+Owj/iWbGVZBiVL/NI1xd5P0NNQpUmXj4=",
|
||||
"owner": "nvim-tree",
|
||||
"repo": "nvim-tree.lua",
|
||||
"rev": "2bc725a3ebc23f0172fb0ab4d1134b81bcc13812",
|
||||
"rev": "517e4fbb9ef3c0986da7047f44b4b91a2400f93c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1264,11 +1264,11 @@
|
|||
"plugin-nvim-treesitter-context": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1715954279,
|
||||
"narHash": "sha256-CriN45mFfyjTt14RJnmzXidACHJXUaA6XPwAoEtQUzg=",
|
||||
"lastModified": 1716388265,
|
||||
"narHash": "sha256-EY5Si6t7LXcxOP3ubGAAMd3lgbeaCOCIybSKi1Ucx98=",
|
||||
"owner": "nvim-treesitter",
|
||||
"repo": "nvim-treesitter-context",
|
||||
"rev": "55e29081e73d2e4b2d62fb4dc3eebe21bf66a1e2",
|
||||
"rev": "f62bfe19e0fbc13ae95649dfb3cf22f4ff85b683",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1280,11 +1280,11 @@
|
|||
"plugin-nvim-ts-autotag": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1716038325,
|
||||
"narHash": "sha256-gh+DhC7+8O4z4lG/RIaMJgumnq/Vg5eWa6j/P8MQk0s=",
|
||||
"lastModified": 1716420040,
|
||||
"narHash": "sha256-gy6OVR2iH361XMDDo0dqxJsAxo+5nXr3wP42pieeCUg=",
|
||||
"owner": "windwp",
|
||||
"repo": "nvim-ts-autotag",
|
||||
"rev": "aeb7090098722ffce16597bd0331105495640153",
|
||||
"rev": "8ae54b90e36ef1fc5267214b30c2cbff71525fe4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1296,11 +1296,11 @@
|
|||
"plugin-nvim-web-devicons": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1715644375,
|
||||
"narHash": "sha256-1trRSUVyWFl3K+7xHXQGNl/EwE0ggyigQpZ+kmRPsk8=",
|
||||
"lastModified": 1716609001,
|
||||
"narHash": "sha256-fmbsnNVZ6nBorBILwPfEgcDDWZCkh9YZH/aC343FxP4=",
|
||||
"owner": "nvim-tree",
|
||||
"repo": "nvim-web-devicons",
|
||||
"rev": "e37bb1feee9e7320c76050a55443fa843b4b6f83",
|
||||
"rev": "b77921fdc44833c994fdb389d658ccbce5490c16",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1312,11 +1312,11 @@
|
|||
"plugin-obsidian-nvim": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1715965562,
|
||||
"narHash": "sha256-PiaPmQ11Wx57ojCG4G50Rwr+phanvuoBqbPHg3N4eGw=",
|
||||
"lastModified": 1716489161,
|
||||
"narHash": "sha256-R7q3PmDMYQtDTE1JZgQtvArBq55MnvNdcChOsuivSCo=",
|
||||
"owner": "epwalsh",
|
||||
"repo": "obsidian.nvim",
|
||||
"rev": "7b59d907a3ee6952c58e07139cf021a205692338",
|
||||
"rev": "0890a3f4e1711d98b5aa78bf40d2c5b81ef3c39f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1344,11 +1344,11 @@
|
|||
"plugin-orgmode-nvim": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1715953175,
|
||||
"narHash": "sha256-vhygnZNJceJHq4gQm6h0zv/Cgp9+fSeWuL1Varrws1U=",
|
||||
"lastModified": 1716750850,
|
||||
"narHash": "sha256-3xsdklkUuJwUzUieZT6eGIgDZUdVEGeyhxxUe99TOAA=",
|
||||
"owner": "nvim-orgmode",
|
||||
"repo": "orgmode",
|
||||
"rev": "dbcff9e8d9df48bfff95f7204ca483c11864a755",
|
||||
"rev": "cb3c9bf6caf3411af88a9a1a0b7eb9be57b9741c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1376,11 +1376,11 @@
|
|||
"plugin-plenary-nvim": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1714083960,
|
||||
"narHash": "sha256-vy0MXEoSM4rvYpfwbc2PnilvMOA30Urv0FAxjXuvqQ8=",
|
||||
"lastModified": 1716230027,
|
||||
"narHash": "sha256-5Jf2mWFVDofXBcXLbMa417mqlEPWLA+cQIZH/vNEV1g=",
|
||||
"owner": "nvim-lua",
|
||||
"repo": "plenary.nvim",
|
||||
"rev": "08e301982b9a057110ede7a735dd1b5285eb341f",
|
||||
"rev": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1424,11 +1424,11 @@
|
|||
"plugin-rose-pine": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1715697761,
|
||||
"narHash": "sha256-AdPSz5+nCOnLWexBasHuxRxEKbL4WVg+uV78//W5nLs=",
|
||||
"lastModified": 1716691958,
|
||||
"narHash": "sha256-mpBx0R9tR4KrOMO9J0gg2aOeHtiU9zK8xoa7Ebkx0n8=",
|
||||
"owner": "rose-pine",
|
||||
"repo": "neovim",
|
||||
"rev": "b6fe88c3282cf9f117a3e836d761c2d78d02f417",
|
||||
"rev": "87aa437172357ad8f916942bca249ceadc6c68b1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1520,11 +1520,11 @@
|
|||
"plugin-telescope": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1715968939,
|
||||
"narHash": "sha256-+h0L5vpwXFNDuzE5Dne5zWuKtZ1mquAhdplHcUxPg8w=",
|
||||
"lastModified": 1716732931,
|
||||
"narHash": "sha256-JXdpKfrSvrzpTqy+g9Bg85/vIDTUZfDr+ZhxH8wJDxA=",
|
||||
"owner": "nvim-telescope",
|
||||
"repo": "telescope.nvim",
|
||||
"rev": "0c12735d5aff6a48ffd8111bf144dc2ff44e5975",
|
||||
"rev": "349660c0d35da06459ee8589af77de2086b652ce",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1536,11 +1536,11 @@
|
|||
"plugin-todo-comments": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1711553769,
|
||||
"narHash": "sha256-BJNU01iTRDNrPv48fgiJRS+ouaHkoqw2AYXKDRgDzfw=",
|
||||
"lastModified": 1716400082,
|
||||
"narHash": "sha256-ZJp0emoHogSdhXPIH74MH4CznxhCmMbO243dqxAZMJo=",
|
||||
"owner": "folke",
|
||||
"repo": "todo-comments.nvim",
|
||||
"rev": "a7e39ae9e74f2c8c6dc4eea6d40c3971ae84752d",
|
||||
"rev": "e1549807066947818113a7d7ed48f637e49620d3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1552,11 +1552,11 @@
|
|||
"plugin-toggleterm-nvim": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1713792255,
|
||||
"narHash": "sha256-mM5bGgAemsRJD9U6U5K6ia5qb8NaTusM99x6xrtEBfw=",
|
||||
"lastModified": 1716115307,
|
||||
"narHash": "sha256-h82zisizLm0FOt4l8lzgC/spFk3R5Gx25A5YgULwW8U=",
|
||||
"owner": "akinsho",
|
||||
"repo": "toggleterm.nvim",
|
||||
"rev": "066cccf48a43553a80a210eb3be89a15d789d6e6",
|
||||
"rev": "fee58a0473fd92b28c34f8f724e4918b15ba30a3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1568,11 +1568,11 @@
|
|||
"plugin-tokyonight": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1715879379,
|
||||
"narHash": "sha256-lJjBsAguMDA765lfxfUwU0I0tWmAESLCv9yiVrhTYDo=",
|
||||
"lastModified": 1716732360,
|
||||
"narHash": "sha256-ZWxK0q8kUYHOk+ykH1m4901trnuHN8O9hkOZR6HdC+Y=",
|
||||
"owner": "folke",
|
||||
"repo": "tokyonight.nvim",
|
||||
"rev": "634015fff1457ed66cf5364213a2bbbc51a82d6c",
|
||||
"rev": "0fae425aaab04a5f97666bd431b96f2f19c36935",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1584,11 +1584,11 @@
|
|||
"plugin-trouble": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1711693365,
|
||||
"narHash": "sha256-kIQ72fqAsiMF9jq0MzC6peaHJddYn5PRNXfYFHTQB5Q=",
|
||||
"lastModified": 1716133735,
|
||||
"narHash": "sha256-D3dqI4NRgEG4BCDLQ3ci9lgYxt90XyWDQXlk4/uuR6M=",
|
||||
"owner": "folke",
|
||||
"repo": "trouble.nvim",
|
||||
"rev": "b9cf677f20bb2faa2dacfa870b084e568dca9572",
|
||||
"rev": "a8264a65a0b894832ea642844f5b7c30112c458f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1616,11 +1616,11 @@
|
|||
"plugin-vim-fugitive": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1715976636,
|
||||
"narHash": "sha256-517q3oPvshwUBhXEDuB23S0RPuHvSZWK/1tr6wDhEyA=",
|
||||
"lastModified": 1716130336,
|
||||
"narHash": "sha256-nyNtb3nsS/zFdSNRyXabcGIabAwgivJIUFB2c62vXmA=",
|
||||
"owner": "tpope",
|
||||
"repo": "vim-fugitive",
|
||||
"rev": "5a9bd42dd8dd127779f3cd8982a0419b7ca9c7f5",
|
||||
"rev": "4f59455d2388e113bd510e85b310d15b9228ca0d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1930,11 +1930,11 @@
|
|||
"nixpkgs": "nixpkgs_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1715775020,
|
||||
"narHash": "sha256-CCqc3c3yvXgRaTW18epSHlF2HeikwNXqxnlrRs2sl3Y=",
|
||||
"lastModified": 1716725305,
|
||||
"narHash": "sha256-LIz08gALt2wlutGXAEhNroEoIuPV5ePQB8LI4WzXcy8=",
|
||||
"owner": "mitchellh",
|
||||
"repo": "zig-overlay",
|
||||
"rev": "03303bf01701b04ec87c55ce5d8d6f5ecf86d0a7",
|
||||
"rev": "93b02a697561ecd438cfa5779727b5a1c300cb4c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
neovim-flake =
|
||||
nixpkgs.lib.warn ''
|
||||
homeManagerModules.neovim-flake has been deprecated.
|
||||
Plese use the homeManagereModules.nvf instead
|
||||
Plese use the homeManagerModules.nvf instead
|
||||
''
|
||||
self.homeManagerModules.nvf;
|
||||
|
||||
|
|
12
lib/lua.nix
12
lib/lua.nix
|
@ -3,7 +3,7 @@
|
|||
inherit (builtins) hasAttr head throw typeOf isList isAttrs isBool isInt isString isPath isFloat toJSON;
|
||||
inherit (lib.attrsets) mapAttrsToList filterAttrs;
|
||||
inherit (lib.strings) concatStringsSep concatMapStringsSep stringToCharacters;
|
||||
inherit (lib.trivial) boolToString;
|
||||
inherit (lib.trivial) boolToString warn;
|
||||
in rec {
|
||||
wrapLuaConfig = {
|
||||
luaBefore ? "",
|
||||
|
@ -66,7 +66,10 @@ in rec {
|
|||
if isLuaInline args
|
||||
then args.expr
|
||||
else if hasAttr "__empty" args
|
||||
then "{ }"
|
||||
then
|
||||
warn ''
|
||||
Using `__empty` to define an empty lua table is deprecated. Use an empty attrset instead.
|
||||
'' "{ }"
|
||||
else
|
||||
"{"
|
||||
+ (concatStringsSep ","
|
||||
|
@ -76,10 +79,7 @@ in rec {
|
|||
then toLuaObject v
|
||||
else "[${toLuaObject n}] = " + (toLuaObject v))
|
||||
(filterAttrs
|
||||
(
|
||||
_: v:
|
||||
(v != null) && (toLuaObject v != "{}")
|
||||
)
|
||||
(_: v: v != null)
|
||||
args)))
|
||||
+ "}"
|
||||
else if isList args
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
defaultServer = "vscode-langservers-extracted";
|
||||
servers = {
|
||||
vscode-langservers-extracted = {
|
||||
package = pkgs.nodePackages.vscode-langservers-extracted;
|
||||
package = pkgs.vscode-langservers-extracted;
|
||||
lspConfig = ''
|
||||
-- enable (broadcasting) snippet capability for completion
|
||||
-- see <https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#cssls>
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
defaultServer = "pyright";
|
||||
servers = {
|
||||
pyright = {
|
||||
package = pkgs.nodePackages.pyright;
|
||||
package = pkgs.pyright;
|
||||
lspConfig = ''
|
||||
lspconfig.pyright.setup{
|
||||
capabilities = capabilities;
|
||||
|
|
|
@ -54,7 +54,7 @@
|
|||
defaultDiagnosticsProvider = ["eslint_d"];
|
||||
diagnosticsProviders = {
|
||||
eslint_d = {
|
||||
package = pkgs.nodePackages.eslint_d;
|
||||
package = pkgs.eslint_d;
|
||||
nullConfig = pkg: ''
|
||||
table.insert(
|
||||
ls_sources,
|
||||
|
|
|
@ -80,7 +80,7 @@
|
|||
defaultDiagnosticsProvider = ["eslint_d"];
|
||||
diagnosticsProviders = {
|
||||
eslint_d = {
|
||||
package = pkgs.nodePackages.eslint_d;
|
||||
package = pkgs.eslint_d;
|
||||
nullConfig = pkg: ''
|
||||
table.insert(
|
||||
ls_sources,
|
||||
|
|
|
@ -15,7 +15,7 @@ in {
|
|||
];
|
||||
|
||||
options.vim.notes.orgmode = {
|
||||
enable = mkEnableOption "nvim-orgmode: Neovim plugin for Emac Orgmode. Get the best of both worlds";
|
||||
enable = mkEnableOption "nvim-orgmode: Neovim plugin for Emacs Orgmode. Get the best of both worlds";
|
||||
|
||||
setupOpts = mkPluginSetupOption "Orgmode" {
|
||||
org_agenda_files = mkOption {
|
||||
|
|
|
@ -153,6 +153,13 @@ in {
|
|||
},
|
||||
}
|
||||
''
|
||||
''
|
||||
{
|
||||
"",
|
||||
draw_empty = true,
|
||||
separator = { left = '', right = '' }
|
||||
}
|
||||
''
|
||||
];
|
||||
};
|
||||
|
||||
|
@ -175,6 +182,13 @@ in {
|
|||
separator = {right = ''}
|
||||
}
|
||||
''
|
||||
''
|
||||
{
|
||||
"",
|
||||
draw_empty = true,
|
||||
separator = { left = '', right = '' }
|
||||
}
|
||||
''
|
||||
];
|
||||
};
|
||||
|
||||
|
@ -263,6 +277,13 @@ in {
|
|||
type = listOf str;
|
||||
description = "active config for: | A | B | C X | (Y) | Z |";
|
||||
default = [
|
||||
''
|
||||
{
|
||||
"",
|
||||
draw_empty = true,
|
||||
separator = { left = '', right = '' }
|
||||
}
|
||||
''
|
||||
''
|
||||
{
|
||||
'searchcount',
|
||||
|
@ -285,6 +306,13 @@ in {
|
|||
type = listOf str;
|
||||
description = "active config for: | A | B | C X | Y | (Z) |";
|
||||
default = [
|
||||
''
|
||||
{
|
||||
"",
|
||||
draw_empty = true,
|
||||
separator = { left = '', right = '' }
|
||||
}
|
||||
''
|
||||
''
|
||||
{
|
||||
"progress",
|
||||
|
|
|
@ -6,101 +6,30 @@
|
|||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.nvim.binds) mkLuaBinding mkBinding pushDownDefault;
|
||||
inherit (lib.nvim.dag) entryAnywhere;
|
||||
inherit (lib.nvim.lua) toLuaObject;
|
||||
|
||||
cfg = config.vim.tabline.nvimBufferline;
|
||||
|
||||
self = import ./nvim-bufferline.nix {inherit lib;};
|
||||
inherit (self.options.vim.tabline.nvimBufferline) mappings;
|
||||
in {
|
||||
config = mkIf cfg.enable (
|
||||
let
|
||||
mouse = {
|
||||
right = "'vertical sbuffer %d'";
|
||||
close = ''
|
||||
function(bufnum)
|
||||
require("bufdelete").bufdelete(bufnum, false)
|
||||
end
|
||||
'';
|
||||
config = mkIf cfg.enable {
|
||||
vim = {
|
||||
startPlugins = [
|
||||
(assert config.vim.visuals.nvimWebDevicons.enable; "nvim-bufferline-lua")
|
||||
"bufdelete-nvim"
|
||||
];
|
||||
|
||||
binds.whichKey.register = pushDownDefault {
|
||||
"<leader>b" = "+Buffer";
|
||||
"<leader>bm" = "BufferLineMove";
|
||||
"<leader>bs" = "BufferLineSort";
|
||||
"<leader>bsi" = "BufferLineSortById";
|
||||
};
|
||||
in {
|
||||
vim = {
|
||||
startPlugins = [
|
||||
(assert config.vim.visuals.nvimWebDevicons.enable; "nvim-bufferline-lua")
|
||||
"bufdelete-nvim"
|
||||
];
|
||||
|
||||
maps.normal = mkMerge [
|
||||
(mkLuaBinding cfg.mappings.closeCurrent "require(\"bufdelete\").bufdelete" mappings.closeCurrent.description)
|
||||
(mkBinding cfg.mappings.cycleNext ":BufferLineCycleNext<CR>" mappings.cycleNext.description)
|
||||
(mkBinding cfg.mappings.cycleNext ":BufferLineCycleNext<CR>" mappings.cycleNext.description)
|
||||
(mkBinding cfg.mappings.cyclePrevious ":BufferLineCyclePrev<CR>" mappings.cyclePrevious.description)
|
||||
(mkBinding cfg.mappings.pick ":BufferLinePick<CR>" mappings.pick.description)
|
||||
(mkBinding cfg.mappings.sortByExtension ":BufferLineSortByExtension<CR>" mappings.sortByExtension.description)
|
||||
(mkBinding cfg.mappings.sortByDirectory ":BufferLineSortByDirectory<CR>" mappings.sortByDirectory.description)
|
||||
(mkLuaBinding cfg.mappings.sortById "function() require(\"bufferline\").sort_buffers_by(function (buf_a, buf_b) return buf_a.id < buf_b.id end) end" mappings.sortById.description)
|
||||
(mkBinding cfg.mappings.moveNext ":BufferLineMoveNext<CR>" mappings.moveNext.description)
|
||||
(mkBinding cfg.mappings.movePrevious ":BufferLineMovePrev<CR>" mappings.movePrevious.description)
|
||||
];
|
||||
|
||||
binds.whichKey.register = pushDownDefault {
|
||||
"<leader>b" = "+Buffer";
|
||||
"<leader>bm" = "BufferLineMove";
|
||||
"<leader>bs" = "BufferLineSort";
|
||||
"<leader>bsi" = "BufferLineSortById";
|
||||
};
|
||||
|
||||
luaConfigRC.nvimBufferline = entryAnywhere ''
|
||||
require("bufferline").setup{
|
||||
options = {
|
||||
mode = "buffers",
|
||||
numbers = "both",
|
||||
close_command = ${mouse.close},
|
||||
right_mouse_command = ${mouse.right},
|
||||
indicator = {
|
||||
style = 'icon',
|
||||
indicator_icon = '▎',
|
||||
},
|
||||
buffer_close_icon = '',
|
||||
modified_icon = '●',
|
||||
close_icon = '',
|
||||
left_trunc_marker = '',
|
||||
right_trunc_marker = '',
|
||||
max_name_length = 18,
|
||||
max_prefix_length = 15,
|
||||
tab_size = 18,
|
||||
show_buffer_icons = true,
|
||||
show_buffer_close_icons = true,
|
||||
show_close_icon = true,
|
||||
show_tab_indicators = true,
|
||||
persist_buffer_sort = true,
|
||||
--separator_style = "thin",
|
||||
separator_style = { " ", " " },
|
||||
enforce_regular_tabs = true,
|
||||
always_show_bufferline = true,
|
||||
offsets = {
|
||||
{filetype = "NvimTree", text = "File Explorer", text_align = "center"}
|
||||
},
|
||||
sort_by = 'extension',
|
||||
diagnostics = "nvim_lsp", -- TODO: use coc if it's enabled
|
||||
diagnostics_update_in_insert = true,
|
||||
diagnostics_indicator = function(count, level, diagnostics_dict, context)
|
||||
local s = ""
|
||||
for e, n in pairs(diagnostics_dict) do
|
||||
local sym = e == "error" and ""
|
||||
or (e == "warning" and "" or "" )
|
||||
if(sym ~= "") then
|
||||
s = s .. " " .. n .. sym
|
||||
end
|
||||
end
|
||||
return s
|
||||
end,
|
||||
numbers = function(opts)
|
||||
return string.format('%s·%s', opts.raise(opts.id), opts.lower(opts.ordinal))
|
||||
end,
|
||||
}
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
||||
);
|
||||
luaConfigRC.nvimBufferline = entryAnywhere ''
|
||||
require("bufferline").setup({options = ${toLuaObject cfg.setupOpts}})
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
{lib, ...}: let
|
||||
inherit (lib.options) mkEnableOption;
|
||||
inherit (lib.options) mkOption mkEnableOption literalExpression;
|
||||
inherit (lib.types) enum bool either nullOr str int listOf;
|
||||
inherit (lib.nvim.binds) mkMappingOption;
|
||||
inherit (lib.nvim.types) mkPluginSetupOption luaInline;
|
||||
in {
|
||||
options.vim.tabline.nvimBufferline = {
|
||||
enable = mkEnableOption "neovim bufferline";
|
||||
|
@ -16,5 +18,319 @@ in {
|
|||
moveNext = mkMappingOption "Move next buffer" "<leader>bmn";
|
||||
movePrevious = mkMappingOption "Move previous buffer" "<leader>bmp";
|
||||
};
|
||||
|
||||
setupOpts = mkPluginSetupOption "Bufferline-nvim" {
|
||||
mode = mkOption {
|
||||
type = enum ["tabs" "buffers"];
|
||||
default = "tabs";
|
||||
description = "Mode to use for bufferline";
|
||||
};
|
||||
|
||||
themable = mkOption {
|
||||
type = bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Whether or not highlight groups to be overriden.
|
||||
|
||||
While false, bufferline.nvim sets highlights as default
|
||||
'';
|
||||
};
|
||||
|
||||
numbers = mkOption {
|
||||
type = either (enum ["none" "ordinal" "buffer_id" "both"]) luaInline;
|
||||
default = lib.generators.mkLuaInline ''
|
||||
function(opts)
|
||||
return string.format('%s·%s', opts.raise(opts.id), opts.lower(opts.ordinal))
|
||||
end
|
||||
'';
|
||||
description = "Whether or not to show buffer numbers";
|
||||
};
|
||||
|
||||
close_command = mkOption {
|
||||
type = either str luaInline;
|
||||
default = lib.generators.mkLuaInline ''
|
||||
function(bufnum)
|
||||
require("bufdelete").bufdelete(bufnum, false)
|
||||
end
|
||||
'';
|
||||
description = "Command to run when closing a buffer";
|
||||
};
|
||||
|
||||
right_mouse_command = mkOption {
|
||||
type = nullOr (either str luaInline);
|
||||
default = "vertical sbuffer %d";
|
||||
description = "Command to run when right clicking a buffer";
|
||||
};
|
||||
|
||||
middle_mouse_command = mkOption {
|
||||
type = nullOr (either str luaInline);
|
||||
default = null;
|
||||
description = "Command to run when middle clicking a buffer";
|
||||
};
|
||||
|
||||
indicator = {
|
||||
icon = mkOption {
|
||||
type = nullOr str;
|
||||
default = null;
|
||||
description = ''
|
||||
The indicatotor icon to use for current buffer.
|
||||
|
||||
::: {.warning}
|
||||
This **must** be ommitted while style is not `icon`
|
||||
:::
|
||||
'';
|
||||
};
|
||||
|
||||
style = mkOption {
|
||||
type = enum ["icon" "underline" "none"];
|
||||
default = "underline";
|
||||
description = "Style for indicator";
|
||||
};
|
||||
};
|
||||
|
||||
buffer_close_icon = mkOption {
|
||||
type = str;
|
||||
default = " ";
|
||||
description = "Icon for close button";
|
||||
};
|
||||
|
||||
modified_icon = mkOption {
|
||||
type = str;
|
||||
default = "● ";
|
||||
description = "Icon for modified buffer";
|
||||
};
|
||||
|
||||
close_icon = mkOption {
|
||||
type = str;
|
||||
default = " ";
|
||||
description = "Icon for close button";
|
||||
};
|
||||
|
||||
left_trunc_marker = mkOption {
|
||||
type = str;
|
||||
default = "";
|
||||
description = "Icon for left truncation";
|
||||
};
|
||||
|
||||
right_trunc_marker = mkOption {
|
||||
type = str;
|
||||
default = "";
|
||||
description = "Icon for right truncation";
|
||||
};
|
||||
|
||||
name_formatter = mkOption {
|
||||
type = nullOr luaInline;
|
||||
default = null;
|
||||
description = ''
|
||||
`name_formatter` can be used to change the buffer's label in the
|
||||
bufferline.
|
||||
|
||||
::: {.note}
|
||||
Some names can/will break the bufferline so use this at your
|
||||
discretion knowing that it has some limitations that will
|
||||
**NOT** be fixed.
|
||||
:::
|
||||
'';
|
||||
};
|
||||
|
||||
max_name_length = mkOption {
|
||||
type = int;
|
||||
default = 18;
|
||||
description = "Max name length";
|
||||
};
|
||||
|
||||
max_prefix_length = mkOption {
|
||||
type = int;
|
||||
default = 15;
|
||||
description = "Length of prefix used when a buffer is de-duplicated";
|
||||
};
|
||||
|
||||
truncate_names = mkOption {
|
||||
type = bool;
|
||||
default = true;
|
||||
description = "Truncate names";
|
||||
};
|
||||
|
||||
diagnostics = mkOption {
|
||||
type = enum [false "nvim_lsp" "coc"];
|
||||
default = "nvim_lsp";
|
||||
description = "Diagnostics provider to be used in buffer LSP indicators";
|
||||
};
|
||||
|
||||
diagnostics_update_in_insert = mkOption {
|
||||
type = bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Whether to update diagnostics while in insert mode.
|
||||
|
||||
Setting this to true has performance implications, but they may be
|
||||
negligible depending on your setup. Set it to true if you know what
|
||||
you are doing.
|
||||
'';
|
||||
};
|
||||
|
||||
diagnostics_indicator = mkOption {
|
||||
type = nullOr luaInline;
|
||||
default = lib.generators.mkLuaInline ''
|
||||
function(count, level, diagnostics_dict, context)
|
||||
local s = " "
|
||||
for e, n in pairs(diagnostics_dict) do
|
||||
local sym = e == "error" and " "
|
||||
or (e == "warning" and " " or " " )
|
||||
s = s .. n .. sym
|
||||
end
|
||||
return s
|
||||
end
|
||||
'';
|
||||
|
||||
description = ''
|
||||
Function to get the diagnostics indicator.
|
||||
The function should return a string to be used as the indicator.
|
||||
|
||||
Can be set to nil to keep the buffer name highlight, but delete the
|
||||
highlighting.
|
||||
'';
|
||||
};
|
||||
|
||||
custom_filter = mkOption {
|
||||
type = nullOr luaInline;
|
||||
default = null;
|
||||
example = literalExpression lib.generators.mkLuaInline ''
|
||||
custom_filter = function(buf_number, buf_numbers)
|
||||
-- filter out filetypes you don't want to see
|
||||
if vim.bo[buf_number].filetype ~= "<i-dont-want-to-see-this>" then
|
||||
return true
|
||||
end
|
||||
-- filter out by buffer name
|
||||
if vim.fn.bufname(buf_number) ~= "<buffer-name-I-dont-want>" then
|
||||
return true
|
||||
end
|
||||
-- filter out based on arbitrary rules
|
||||
-- e.g. filter out vim wiki buffer from tabline in your work repo
|
||||
if vim.fn.getcwd() == "<work-repo>" and vim.bo[buf_number].filetype ~= "wiki" then
|
||||
return true
|
||||
end
|
||||
-- filter out by it's index number in list (don't show first buffer)
|
||||
if buf_numbers[1] ~= buf_number then
|
||||
return true
|
||||
end
|
||||
end
|
||||
'';
|
||||
|
||||
description = ''
|
||||
Custom filter function for filtering out buffers.
|
||||
|
||||
::: {.note}
|
||||
This will be called a lot, so you are encouraged to keep it as
|
||||
short and lightweight as possible unless you are fully aware
|
||||
of the performance implications.
|
||||
:::
|
||||
'';
|
||||
};
|
||||
|
||||
color_icons = mkOption {
|
||||
type = bool;
|
||||
default = true;
|
||||
description = "Whether or not to add filetype icon highlights";
|
||||
};
|
||||
|
||||
show_buffer_icons = mkOption {
|
||||
type = bool;
|
||||
default = true;
|
||||
description = "Whether or not to show buffer icons";
|
||||
};
|
||||
|
||||
show_buffer_close_icons = mkOption {
|
||||
type = bool;
|
||||
default = true;
|
||||
description = "Whether or not to show buffer close icons";
|
||||
};
|
||||
|
||||
show_close_icon = mkOption {
|
||||
type = bool;
|
||||
default = true;
|
||||
description = "Whether or not to show close icon";
|
||||
};
|
||||
|
||||
show_tab_indicators = mkOption {
|
||||
type = bool;
|
||||
default = true;
|
||||
description = "Whether or not to show tab indicators";
|
||||
};
|
||||
|
||||
show_duplicate_prefix = mkOption {
|
||||
type = bool;
|
||||
default = true;
|
||||
description = "Whether or not to show duplicate prefix";
|
||||
};
|
||||
|
||||
duplicates_across_groups = mkOption {
|
||||
type = bool;
|
||||
default = true;
|
||||
description = "Whether to consider duplicate paths in different groups as duplicates";
|
||||
};
|
||||
|
||||
persist_buffer_sort = mkOption {
|
||||
type = bool;
|
||||
default = true;
|
||||
description = "Whether or not custom sorted buffers should persist";
|
||||
};
|
||||
|
||||
move_wraps_at_ends = mkOption {
|
||||
type = bool;
|
||||
default = false;
|
||||
description = "Whether or not the move command \"wraps\" at the first or last position";
|
||||
};
|
||||
|
||||
seperator_style = mkOption {
|
||||
type = either (enum ["thick" "thin" "slope" "slant"]) (listOf str);
|
||||
default = [" " " "];
|
||||
description = ''
|
||||
Style of the buffer separator.
|
||||
|
||||
Can be either one of the suspported values, or a list containing
|
||||
**at most** two elements for `focused` and `unfocused` respectively.
|
||||
'';
|
||||
};
|
||||
|
||||
enforce_regular_tabs = mkOption {
|
||||
type = bool;
|
||||
default = false;
|
||||
description = "Whether to enforce regular tabs";
|
||||
};
|
||||
|
||||
always_show_bufferline = mkOption {
|
||||
type = bool;
|
||||
default = true;
|
||||
description = "Whether to always show bufferline";
|
||||
};
|
||||
|
||||
auto_toggle_bufferline = mkOption {
|
||||
type = bool;
|
||||
default = false;
|
||||
description = "Whether to auto toggle bufferline";
|
||||
};
|
||||
|
||||
hover = {
|
||||
enabled = mkEnableOption "hover" // {default = true;};
|
||||
delay = mkOption {
|
||||
type = int;
|
||||
default = 200;
|
||||
description = "Delay for hover, in ms";
|
||||
};
|
||||
|
||||
reveal = mkOption {
|
||||
type = listOf str;
|
||||
default = ["close"];
|
||||
description = "Reveal hover window";
|
||||
};
|
||||
};
|
||||
|
||||
sort_by = mkOption {
|
||||
type = either (enum ["insert_after_current" "insert_at_end" "id" "extension" "relative_directory" "directory" "tabs"]) luaInline;
|
||||
default = "extension";
|
||||
description = "Method to sort buffers by. Must be one of the supported valuees, or an inline Lua value.";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,4 +1,10 @@
|
|||
{lib}: {
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
}: let
|
||||
inherit (lib.strings) optionalString;
|
||||
inherit (lib.trivial) boolToString warnIf;
|
||||
in {
|
||||
onedark = {
|
||||
setup = {
|
||||
style ? "dark",
|
||||
|
@ -19,7 +25,7 @@
|
|||
transparent,
|
||||
}: ''
|
||||
require('tokyonight').setup {
|
||||
transparent = ${lib.boolToString transparent};
|
||||
transparent = ${boolToString transparent};
|
||||
}
|
||||
vim.cmd[[colorscheme tokyonight-${style}]]
|
||||
'';
|
||||
|
@ -32,7 +38,7 @@
|
|||
transparent,
|
||||
}: ''
|
||||
require('dracula').setup({
|
||||
transparent_bg = ${lib.boolToString transparent},
|
||||
transparent_bg = ${boolToString transparent},
|
||||
});
|
||||
require('dracula').load();
|
||||
'';
|
||||
|
@ -46,11 +52,11 @@
|
|||
-- Catppuccin theme
|
||||
require('catppuccin').setup {
|
||||
flavour = "${style}",
|
||||
transparent_background = ${lib.boolToString transparent},
|
||||
transparent_background = ${boolToString transparent},
|
||||
integrations = {
|
||||
nvimtree = {
|
||||
enabled = true,
|
||||
transparent_panel = ${lib.boolToString transparent},
|
||||
transparent_panel = ${boolToString transparent},
|
||||
show_root = true,
|
||||
},
|
||||
|
||||
|
@ -85,11 +91,20 @@
|
|||
transparent ? false,
|
||||
}: let
|
||||
style' =
|
||||
lib.warnIf (style == "light") "oxocarbon: light theme is not well-supported" style;
|
||||
warnIf (style == "light") "oxocarbon: light theme is not well-supported" style;
|
||||
in ''
|
||||
require('oxocarbon')
|
||||
vim.opt.background = "${style'}"
|
||||
vim.cmd.colorscheme = "oxocarbon"
|
||||
require('oxocarbon')
|
||||
vim.opt.background = "${style'}"
|
||||
vim.cmd.colorscheme = "oxocarbon"
|
||||
${optionalString transparent ''
|
||||
vim.api.nvim_set_hl(0, "Normal", { bg = "none" })
|
||||
vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none" })
|
||||
vim.api.nvim_set_hl(0, "LineNr", { bg = "none" })
|
||||
vim.api.nvim_set_hl(0, "SignColumn", { bg = "none" })
|
||||
${optionalString config.vim.filetree.nvimTree.enable ''
|
||||
vim.api.nvim_set_hl(0, "NvimTreeNormal", { bg = "none" })
|
||||
''}
|
||||
''}
|
||||
'';
|
||||
styles = ["dark" "light"];
|
||||
};
|
||||
|
@ -122,7 +137,7 @@
|
|||
palette_overrides = {},
|
||||
overrides = {},
|
||||
dim_inactive = false,
|
||||
transparent_mode = ${lib.boolToString transparent},
|
||||
transparent_mode = ${boolToString transparent},
|
||||
})
|
||||
vim.o.background = "${style}"
|
||||
vim.cmd("colorscheme gruvbox")
|
||||
|
@ -147,7 +162,7 @@
|
|||
styles = {
|
||||
bold = false,
|
||||
italic = false, -- I would like to add more options for this
|
||||
transparency = ${lib.boolToString transparent},
|
||||
transparency = ${boolToString transparent},
|
||||
},
|
||||
})
|
||||
|
||||
|
|
|
@ -10,7 +10,9 @@
|
|||
inherit (lib.nvim.dag) entryBefore;
|
||||
|
||||
cfg = config.vim.theme;
|
||||
supported_themes = import ./supported_themes.nix {inherit lib;};
|
||||
supported_themes = import ./supported_themes.nix {
|
||||
inherit lib config;
|
||||
};
|
||||
in {
|
||||
options.vim.theme = {
|
||||
enable = mkOption {
|
||||
|
|
|
@ -4,100 +4,128 @@
|
|||
...
|
||||
}: let
|
||||
inherit (lib.options) mkOption mkEnableOption;
|
||||
inherit (lib.types) attrsOf attrs bool enum;
|
||||
inherit (lib.types) attrsOf enum nullOr submodule bool str;
|
||||
inherit (lib.modules) mkRenamedOptionModule;
|
||||
inherit (lib.nvim.types) mkPluginSetupOption;
|
||||
|
||||
settingSubmodule = submodule {
|
||||
options = {
|
||||
RGB = mkOption {
|
||||
description = "Colorize #RGB hex codes";
|
||||
default = null;
|
||||
type = nullOr bool;
|
||||
};
|
||||
|
||||
RRGGBB = mkOption {
|
||||
description = "Colorize #RRGGBB hex codes";
|
||||
default = null;
|
||||
type = nullOr bool;
|
||||
};
|
||||
|
||||
names = mkOption {
|
||||
description = ''Colorize "Name" codes like Blue'';
|
||||
default = null;
|
||||
type = nullOr bool;
|
||||
};
|
||||
|
||||
RRGGBBAA = mkOption {
|
||||
description = "Colorize #RRGGBBAA hex codes";
|
||||
default = null;
|
||||
type = nullOr bool;
|
||||
};
|
||||
|
||||
AARRGGBB = mkOption {
|
||||
description = "Colorize 0xAARRGGBB hex codes";
|
||||
default = null;
|
||||
type = nullOr bool;
|
||||
};
|
||||
|
||||
rgb_fn = mkOption {
|
||||
description = "Colorize CSS rgb() and rgba() functions";
|
||||
default = null;
|
||||
type = nullOr bool;
|
||||
};
|
||||
|
||||
hsl_fn = mkOption {
|
||||
description = "Colorize CSS hsl() and hsla() functions";
|
||||
default = null;
|
||||
type = nullOr bool;
|
||||
};
|
||||
|
||||
css = mkOption {
|
||||
description = "Enable all CSS features: rgb_fn, hsl_fn, names, RGB, RRGGBB";
|
||||
default = null;
|
||||
type = nullOr bool;
|
||||
};
|
||||
|
||||
css_fn = mkOption {
|
||||
description = "Enable all CSS *functions*: rgb_fn, hsl_fn";
|
||||
default = null;
|
||||
type = nullOr bool;
|
||||
};
|
||||
|
||||
tailwind = mkOption {
|
||||
description = "Enable tailwind colors";
|
||||
default = null;
|
||||
type = nullOr bool;
|
||||
};
|
||||
|
||||
sass = mkOption {
|
||||
description = "Enable sass colors";
|
||||
default = null;
|
||||
type = nullOr bool;
|
||||
};
|
||||
|
||||
virtualtext = mkOption {
|
||||
description = "String to display as virtualtext";
|
||||
type = nullOr str;
|
||||
default = null;
|
||||
};
|
||||
|
||||
mode = mkOption {
|
||||
description = "Set the display mode";
|
||||
type = nullOr (enum ["foreground" "background"]);
|
||||
default = null;
|
||||
};
|
||||
|
||||
always_update = mkOption {
|
||||
description = "Update color values even if buffer is not focused. Example use: cmp_menu, cmp_docs";
|
||||
default = null;
|
||||
type = nullOr bool;
|
||||
};
|
||||
};
|
||||
};
|
||||
in {
|
||||
imports = [
|
||||
(mkRenamedOptionModule ["vim" "ui" "colorizer" "options"] ["vim" "ui" "colorizer" "setupOpts" "user_default_options"])
|
||||
(mkRenamedOptionModule ["vim" "ui" "colorizer" "options"] ["vim" "ui" "colorizer" "setupOpts" "defaultOptions"])
|
||||
(mkRenamedOptionModule ["vim" "ui" "colorizer" "filetypes"] ["vim" "ui" "colorizer" "setupOpts" "filetypes"])
|
||||
];
|
||||
|
||||
options.vim.ui.colorizer = {
|
||||
enable = mkEnableOption "color highlighting [nvim-colorizer.lua]";
|
||||
|
||||
setupOpts = mkPluginSetupOption "nvim-colorizer" {
|
||||
setupOpts = mkPluginSetupOption "colorizer" {
|
||||
filetypes = mkOption {
|
||||
type = attrsOf attrs;
|
||||
default = {
|
||||
css = {};
|
||||
scss = {};
|
||||
description = ''
|
||||
Filetypes to enable on and their option overrides.
|
||||
|
||||
"*" means enable on all filetypes. Filetypes prefixed with "!" are disabled.
|
||||
'';
|
||||
default = {};
|
||||
example = {
|
||||
"*" = {};
|
||||
"!vim" = {};
|
||||
javascript = {
|
||||
AARRGGBB = false;
|
||||
};
|
||||
};
|
||||
description = "Filetypes to highlight on";
|
||||
type = attrsOf settingSubmodule;
|
||||
};
|
||||
|
||||
user_default_options = {
|
||||
rgb = mkOption {
|
||||
type = bool;
|
||||
default = true;
|
||||
description = "#RGB hex codes";
|
||||
};
|
||||
|
||||
rrggbb = mkOption {
|
||||
type = bool;
|
||||
default = true;
|
||||
description = "#RRGGBB hex codes";
|
||||
};
|
||||
|
||||
names = mkOption {
|
||||
type = bool;
|
||||
default = true;
|
||||
description = ''"Name" codes such as "Blue"'';
|
||||
};
|
||||
|
||||
rgb_fn = mkOption {
|
||||
type = bool;
|
||||
default = false;
|
||||
description = "CSS rgb() and rgba() functions";
|
||||
};
|
||||
|
||||
rrggbbaa = mkOption {
|
||||
type = bool;
|
||||
default = false;
|
||||
description = "#RRGGBBAA hex codes";
|
||||
};
|
||||
|
||||
hsl_fn = mkOption {
|
||||
type = bool;
|
||||
default = false;
|
||||
description = "CSS hsl() and hsla() functions";
|
||||
};
|
||||
|
||||
css = mkOption {
|
||||
type = bool;
|
||||
default = false;
|
||||
description = "Enable all CSS features: rgb_fn, hsl_fn, names, RGB, RRGGBB";
|
||||
};
|
||||
|
||||
css_fn = mkOption {
|
||||
type = bool;
|
||||
default = false;
|
||||
description = "Enable all CSS *functions*: rgb_fn, hsl_fn";
|
||||
};
|
||||
|
||||
mode = mkOption {
|
||||
type = enum ["foreground" "background"];
|
||||
default = "background";
|
||||
description = "Set the display mode";
|
||||
};
|
||||
|
||||
tailwind = mkOption {
|
||||
type = bool;
|
||||
default = false;
|
||||
description = "Enable tailwind colors";
|
||||
};
|
||||
|
||||
sass = mkOption {
|
||||
type = bool;
|
||||
default = false;
|
||||
description = "Enable sass colors";
|
||||
};
|
||||
|
||||
alwaysUpdate = mkOption {
|
||||
type = bool;
|
||||
default = false;
|
||||
description = "Update color values even if buffer is not focused, like when using cmp_menu, cmp_docs";
|
||||
};
|
||||
user_default_options = mkOption {
|
||||
description = "Default options";
|
||||
default = {};
|
||||
type = settingSubmodule;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -4,14 +4,14 @@
|
|||
...
|
||||
}: let
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
inherit (lib.types) attrsOf str;
|
||||
inherit (lib.types) attrsOf nullOr str;
|
||||
in {
|
||||
options.vim.binds.whichKey = {
|
||||
enable = mkEnableOption "which-key keybind helper menu";
|
||||
|
||||
register = mkOption {
|
||||
description = "Register label for which-key keybind helper menu";
|
||||
type = attrsOf str;
|
||||
type = attrsOf (nullOr str);
|
||||
default = {};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -60,16 +60,11 @@
|
|||
config = (attrs) the configuration options for this mapping (noremap, silent...)
|
||||
}
|
||||
*/
|
||||
normalizeAction = action: let
|
||||
normalizeAction = action: {
|
||||
# Extract the values of the config options that have been explicitly set by the user
|
||||
config =
|
||||
filterAttrs (_: v: v != null)
|
||||
(getAttrs (attrNames mapConfigOptions) action);
|
||||
in {
|
||||
config =
|
||||
if config == {}
|
||||
then {"__empty" = null;}
|
||||
else config;
|
||||
action =
|
||||
if action.lua
|
||||
then mkLuaInline action.action
|
||||
|
|
Loading…
Reference in a new issue