Compare commits
51 Commits
6d9d2b2d3d
...
d53040dd34
Author | SHA1 | Date |
---|---|---|
Ching Pei Yang | d53040dd34 | |
Ching Pei Yang | 718b48cfdb | |
Ching Pei Yang | 1b96dab877 | |
Ching Pei Yang | 72e39a910c | |
raf | b0af809b95 | |
NotAShelf | 1bb901edeb | |
diniamo | bb2a78272b | |
raf | 155bc8e1cc | |
diniamo | a145f997f3 | |
raf | 688a457a3d | |
diniamo | c2c85d70ee | |
raf | 335fbea0c0 | |
Frothy | 216cb34caf | |
Frothy | 2e99a21010 | |
raf | 7b719d0044 | |
NotAShelf | ba803c8684 | |
NotAShelf | f00ecd4eb9 | |
raf | 35c7327f81 | |
diniamo | 8a0cddd9bb | |
raf | 923481640e | |
raf | 2759b9caae | |
jacekpoz | abdcb62941 | |
jacekpoz | d873bc0667 | |
raf | f66c40b687 | |
Frothy | ad22bca3d7 | |
NotAShelf | 95615ec308 | |
diniamo | d6cd853520 | |
raf | a86c59457c | |
diniamo | a437dbd158 | |
raf | c1b3900846 | |
diniamo | 9cff1b03d6 | |
NotAShelf | dfa2718bb3 | |
raf | fcab30e7bb | |
Phan Đăng Khoa | 68b0647936 | |
NotAShelf | c50522f6b0 | |
raf | ae45cdf92a | |
jacekpoz | 8eb8326bd6 | |
NotAShelf | 200a45ec73 | |
Frothy | 08547724e4 | |
raf | 5748bb5eb9 | |
Frothy | 367320dcd9 | |
Frothy | fc4e471490 | |
Yoni Firroloni | 1061c920be | |
NotAShelf | 9bbdb8d48a | |
NotAShelf | f9343f1bc7 | |
raf | 6624841e63 | |
Ching Pei Yang | 9baebb0d82 | |
Ching Pei Yang | 7d9f1e0481 | |
Ching Pei Yang | 82e92a56da | |
Ching Pei Yang | 981fe07075 | |
Pei Yang Ching | 2c37513012 |
|
@ -222,10 +222,10 @@ inputs: let
|
|||
enable = true;
|
||||
setupOpts.custom_colorcolumn = {
|
||||
# this is a freeform module, it's `buftype = int;` for configuring column position
|
||||
nix = 110;
|
||||
ruby = 120;
|
||||
java = 130;
|
||||
go = [90 130];
|
||||
nix = "110";
|
||||
ruby = "120";
|
||||
java = "130";
|
||||
go = ["90" "130"];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -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
|
||||
```
|
||||
|
|
|
@ -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
|
||||
```
|
||||
-->
|
|
@ -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,24 +6,46 @@ 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):
|
||||
|
||||
- Modified type for
|
||||
[](#opt-vim.visuals.fidget-nvim.setupOpts.progress.display.overrides) from
|
||||
`anything` to a `submodule` for better type checking.
|
||||
[vim.visuals.fidget-nvim.setupOpts.progress.display.overrides](#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`.
|
||||
|
||||
- Fix [vim.ui.smartcolumn.setupOpts.custom_colorcolumn](#opt-vim.ui.smartcolumn.setupOpts.custom_colorcolumn)
|
||||
using the wrong type `int` instead of the expected type `string`.
|
||||
|
||||
[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.
|
||||
- Deprecate use of `__empty` to define empty tables in lua. Empty attrset are no
|
||||
longer filtered and thus should be used instead.
|
||||
- Make noice.nvim customizable
|
||||
|
||||
[NotAShelf](https://github.com/notashelf)
|
||||
[jacekpoz](https://github.com/jacekpoz):
|
||||
|
||||
- Add [ocaml-lsp](https://github.com/ocaml/ocaml-lsp) support.
|
||||
|
||||
- Fix Emac typo
|
||||
|
||||
[diniamo](https://github.com/diniamo):
|
||||
|
||||
- Move the `theme` dag entry to before `luaScript`.
|
||||
|
||||
- Add rustfmt as the default formatter for Rust.
|
||||
|
||||
- Enabled the terminal integration of catppuccin for theming Neovim's built-in terminal (this also affects toggleterm).
|
||||
|
||||
[NotAShelf](https://github.com/notashelf):
|
||||
|
||||
- Add `deno fmt` as the default Markdown formatter. This will be enabled
|
||||
automatically if you have autoformatting enabled, but can be disabled manually
|
||||
|
@ -37,11 +59,12 @@ Release notes for release 0.7
|
|||
added once the [credo](https://github.com/rrrene/credo) linter has been added
|
||||
to nixpkgs. A pull request is currently open.
|
||||
|
||||
- Remove vim-tidal and friends
|
||||
- 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
|
||||
[ts-error-translator.nvim](https://github.com/dmmulroy/ts-error-translator.nvim)
|
||||
extension of the TS language module, under
|
||||
`vim.languages.ts.extensions.ts-error-translator`
|
||||
|
|
247
flake.lock
247
flake.lock
|
@ -114,16 +114,16 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1716041078,
|
||||
"narHash": "sha256-ewjE7eVBVmjh8faip3RW+I3WzQZ3iywQVyxZfjunfH0=",
|
||||
"lastModified": 1719082008,
|
||||
"narHash": "sha256-jHJSUH619zBQ6WdC21fFAlDxHErKVDJ5fpN0Hgx4sjs=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "04496f014fcf27fdcede464d5de8558e12b5710c",
|
||||
"rev": "9693852a2070b398ee123a329e68f0dab5526681",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable-small",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
|
@ -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": {
|
||||
|
@ -1597,6 +1597,22 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"plugin-ts-error-translator": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1712269172,
|
||||
"narHash": "sha256-NJ0qfKvkwZ/0GolAeATlQLyQ7nGN6Z6q3uRqI+73wPk=",
|
||||
"owner": "dmmulroy",
|
||||
"repo": "ts-error-translator.nvim",
|
||||
"rev": "11ae55b28bde02663b5f983f59b0e3fd9c4e845b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "dmmulroy",
|
||||
"repo": "ts-error-translator.nvim",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"plugin-vim-dirtytalk": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
|
@ -1616,11 +1632,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": {
|
||||
|
@ -1840,6 +1856,7 @@
|
|||
"plugin-toggleterm-nvim": "plugin-toggleterm-nvim",
|
||||
"plugin-tokyonight": "plugin-tokyonight",
|
||||
"plugin-trouble": "plugin-trouble",
|
||||
"plugin-ts-error-translator": "plugin-ts-error-translator",
|
||||
"plugin-vim-dirtytalk": "plugin-vim-dirtytalk",
|
||||
"plugin-vim-fugitive": "plugin-vim-fugitive",
|
||||
"plugin-vim-illuminate": "plugin-vim-illuminate",
|
||||
|
@ -1930,11 +1947,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;
|
||||
|
||||
|
@ -77,7 +77,7 @@
|
|||
# Flake inputs
|
||||
inputs = {
|
||||
## Basic Inputs
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable-small";
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
|
||||
flake-parts.url = "github:hercules-ci/flake-parts";
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
systems.url = "github:nix-systems/default";
|
||||
|
@ -183,6 +183,11 @@
|
|||
flake = false;
|
||||
};
|
||||
|
||||
plugin-ts-error-translator = {
|
||||
url = "github:dmmulroy/ts-error-translator.nvim";
|
||||
flake = false;
|
||||
};
|
||||
|
||||
# Copying/Registers
|
||||
plugin-registers = {
|
||||
url = "github:tversteeg/registers.nvim";
|
||||
|
|
|
@ -4,9 +4,8 @@
|
|||
...
|
||||
}: let
|
||||
inherit (lib.modules) mkIf;
|
||||
inherit (lib.strings) optionalString;
|
||||
inherit (lib.trivial) boolToString;
|
||||
inherit (lib.nvim.dag) entryAnywhere;
|
||||
inherit (lib.nvim.lua) toLuaObject;
|
||||
|
||||
cfg = config.vim.autopairs;
|
||||
in {
|
||||
|
@ -14,7 +13,7 @@ in {
|
|||
vim.startPlugins = ["nvim-autopairs"];
|
||||
|
||||
vim.luaConfigRC.autopairs = entryAnywhere ''
|
||||
require("nvim-autopairs").setup{}
|
||||
require("nvim-autopairs").setup({ map_cr = ${boolToString (!config.vim.autocomplete.enable)} })
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
|
@ -61,15 +61,19 @@ in {
|
|||
(mkSetLuaBinding mappings.complete ''
|
||||
require('cmp').complete
|
||||
'')
|
||||
(mkSetLuaBinding mappings.confirm ''
|
||||
function()
|
||||
if not require('cmp').confirm({ select = true }) then
|
||||
local termcode = vim.api.nvim_replace_termcodes(${toJSON mappings.confirm.value}, true, false, true)
|
||||
|
||||
vim.fn.feedkeys(termcode, 'n')
|
||||
(let
|
||||
defaultKeys =
|
||||
if config.vim.autopairs.enable
|
||||
then "require('nvim-autopairs').autopairs_cr()"
|
||||
else "vim.api.nvim_replace_termcodes(${toJSON mappings.confirm.value}, true, false, true)";
|
||||
in
|
||||
mkSetLuaBinding mappings.confirm ''
|
||||
function()
|
||||
if not require('cmp').confirm({ select = true }) then
|
||||
vim.fn.feedkeys(${defaultKeys}, 'n')
|
||||
end
|
||||
end
|
||||
end
|
||||
'')
|
||||
'')
|
||||
(mkSetLuaBinding mappings.next ''
|
||||
function()
|
||||
local has_words_before = function()
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
defaultServer = "bash-ls";
|
||||
servers = {
|
||||
bash-ls = {
|
||||
package = pkgs.nodePackages.bash-language-server;
|
||||
package = pkgs.bash-language-server;
|
||||
lspConfig = ''
|
||||
lspconfig.bashls.setup{
|
||||
capabilities = capabilities;
|
||||
|
@ -85,7 +85,7 @@ in {
|
|||
description = "bash-language-server package, or the command to run as a list of strings";
|
||||
example = literalExpression ''[lib.getExe pkgs.nodePackages.bash-language-server "start"]'';
|
||||
type = either package (listOf str);
|
||||
default = pkgs.nodePackages.bash-language-server;
|
||||
default = pkgs.bash-language-server;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
'';
|
||||
};
|
||||
clangd = {
|
||||
package = pkgs.clang-tools_16;
|
||||
package = pkgs.clang-tools;
|
||||
lspConfig = ''
|
||||
local clangd_cap = capabilities
|
||||
-- use same offsetEncoding as null-ls
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -4,17 +4,33 @@
|
|||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (builtins) attrNames;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.options) mkOption mkEnableOption;
|
||||
inherit (lib.strings) optionalString;
|
||||
inherit (lib.trivial) boolToString;
|
||||
inherit (lib.lists) isList optionals;
|
||||
inherit (lib.types) bool package str listOf either;
|
||||
inherit (lib.types) bool package str listOf either enum;
|
||||
inherit (lib.nvim.types) mkGrammarOption;
|
||||
inherit (lib.nvim.lua) expToLua;
|
||||
inherit (lib.nvim.dag) entryAnywhere;
|
||||
|
||||
cfg = config.vim.languages.rust;
|
||||
|
||||
defaultFormat = "rustfmt";
|
||||
formats = {
|
||||
rustfmt = {
|
||||
package = pkgs.rustfmt;
|
||||
nullConfig = ''
|
||||
table.insert(
|
||||
ls_sources,
|
||||
null_ls.builtins.formatting.rustfmt.with({
|
||||
command = "${cfg.format.package}/bin/rustfmt",
|
||||
})
|
||||
)
|
||||
'';
|
||||
};
|
||||
};
|
||||
in {
|
||||
options.vim.languages.rust = {
|
||||
enable = mkEnableOption "Rust language support";
|
||||
|
@ -49,6 +65,22 @@ in {
|
|||
};
|
||||
};
|
||||
|
||||
format = {
|
||||
enable = mkEnableOption "Rust formatting" // {default = config.vim.languages.enableFormat;};
|
||||
|
||||
type = mkOption {
|
||||
description = "Rust formatter to use";
|
||||
type = enum (attrNames formats);
|
||||
default = defaultFormat;
|
||||
};
|
||||
|
||||
package = mkOption {
|
||||
description = "Rust formatter package";
|
||||
type = package;
|
||||
default = formats.${cfg.format.type}.package;
|
||||
};
|
||||
};
|
||||
|
||||
dap = {
|
||||
enable = mkOption {
|
||||
description = "Rust Debug Adapter support";
|
||||
|
@ -86,6 +118,11 @@ in {
|
|||
vim.treesitter.grammars = [cfg.treesitter.package];
|
||||
})
|
||||
|
||||
(mkIf cfg.format.enable {
|
||||
vim.lsp.null-ls.enable = true;
|
||||
vim.lsp.null-ls.sources.rust-format = formats.${cfg.format.type}.nullConfig;
|
||||
})
|
||||
|
||||
(mkIf (cfg.lsp.enable || cfg.dap.enable) {
|
||||
vim = {
|
||||
startPlugins = ["rust-tools"] ++ optionals cfg.dap.enable [cfg.dap.package];
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -9,10 +9,11 @@
|
|||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.lists) isList;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.types) enum either listOf package str;
|
||||
inherit (lib.nvim.lua) expToLua;
|
||||
inherit (lib.nvim.types) mkGrammarOption diagnostics;
|
||||
inherit (lib.types) enum either listOf package str bool;
|
||||
inherit (lib.nvim.lua) expToLua toLuaObject;
|
||||
inherit (lib.nvim.types) mkGrammarOption diagnostics mkPluginSetupOption;
|
||||
inherit (lib.nvim.languages) diagnosticsToLua;
|
||||
inherit (lib.nvim.dag) entryAnywhere;
|
||||
|
||||
cfg = config.vim.languages.ts;
|
||||
|
||||
|
@ -32,6 +33,7 @@
|
|||
}
|
||||
'';
|
||||
};
|
||||
|
||||
denols = {
|
||||
package = pkgs.deno;
|
||||
lspConfig = ''
|
||||
|
@ -80,7 +82,7 @@
|
|||
defaultDiagnosticsProvider = ["eslint_d"];
|
||||
diagnosticsProviders = {
|
||||
eslint_d = {
|
||||
package = pkgs.nodePackages.eslint_d;
|
||||
package = pkgs.eslint_d;
|
||||
nullConfig = pkg: ''
|
||||
table.insert(
|
||||
ls_sources,
|
||||
|
@ -143,6 +145,24 @@ in {
|
|||
inherit defaultDiagnosticsProvider;
|
||||
};
|
||||
};
|
||||
|
||||
extensions = {
|
||||
ts-error-translator = {
|
||||
enable = mkEnableOption ''
|
||||
Typescript error translation with
|
||||
[ts-error-translator.nvim](github.com/dmmulroy/ts-error-translator.nvim)
|
||||
'';
|
||||
|
||||
setupOpts = mkPluginSetupOption "ts-error-translator" {
|
||||
# This is the default configuration behaviour.
|
||||
auto_override_publish_diagnostics = mkOption {
|
||||
description = "Automatically override the publish_diagnostics handler";
|
||||
type = bool;
|
||||
default = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable (mkMerge [
|
||||
|
@ -169,5 +189,12 @@ in {
|
|||
inherit diagnosticsProviders;
|
||||
};
|
||||
})
|
||||
|
||||
(mkIf cfg.extensions."ts-error-translator".enable {
|
||||
vim.startPlugins = ["ts-error-translator"];
|
||||
vim.luaConfigRC.ts-error-translator = entryAnywhere ''
|
||||
require("ts-error-translator").setup(${toLuaObject cfg.extensions.ts-error-translator.setupOpts})
|
||||
'';
|
||||
})
|
||||
]);
|
||||
}
|
||||
|
|
|
@ -22,9 +22,6 @@ in {
|
|||
};
|
||||
|
||||
luaConfigRC.orgmode = entryAnywhere ''
|
||||
-- Load custom treesitter grammar for org filetype
|
||||
require('orgmode').setup_ts_grammar()
|
||||
|
||||
-- Treesitter configuration
|
||||
require('nvim-treesitter.configs').setup {
|
||||
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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,12 @@
|
|||
-- Catppuccin theme
|
||||
require('catppuccin').setup {
|
||||
flavour = "${style}",
|
||||
transparent_background = ${lib.boolToString transparent},
|
||||
transparent_background = ${boolToString transparent},
|
||||
term_colors = true,
|
||||
integrations = {
|
||||
nvimtree = {
|
||||
enabled = true,
|
||||
transparent_panel = ${lib.boolToString transparent},
|
||||
transparent_panel = ${boolToString transparent},
|
||||
show_root = true,
|
||||
},
|
||||
|
||||
|
@ -85,11 +92,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 +138,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 +163,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 {
|
||||
|
@ -43,10 +45,12 @@ in {
|
|||
config = mkIf cfg.enable {
|
||||
vim = {
|
||||
startPlugins = [cfg.name];
|
||||
luaConfigRC = {
|
||||
themeSetup = entryBefore ["theme"] cfg.extraConfig;
|
||||
theme = supported_themes.${cfg.name}.setup (with cfg; {inherit style transparent;});
|
||||
};
|
||||
configRC.theme = entryBefore ["luaScript"] ''
|
||||
lua << EOF
|
||||
${cfg.extraConfig}
|
||||
${supported_themes.${cfg.name}.setup (with cfg; {inherit style transparent;})}
|
||||
EOF
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -31,15 +31,15 @@ in {
|
|||
|
||||
custom_colorcolumn = mkOption {
|
||||
description = "The position at which smart column should be displayed for each individual buffer type";
|
||||
type = attrsOf (either int (listOf int));
|
||||
type = attrsOf (either str (listOf str));
|
||||
default = {};
|
||||
|
||||
example = literalExpression ''
|
||||
vim.ui.smartcolumn.setupOpts.custom_colorcolumn = {
|
||||
nix = 110;
|
||||
ruby = 120;
|
||||
java = 130;
|
||||
go = [90 130];
|
||||
nix = "110";
|
||||
ruby = "120";
|
||||
java = "130";
|
||||
go = ["90" "130"];
|
||||
};
|
||||
'';
|
||||
};
|
||||
|
|
|
@ -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 = {};
|
||||
};
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue