Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[TRACKING] Use mkNeovimPlugin treewide #2638

Open
52 tasks
khaneliman opened this issue Dec 11, 2024 · 9 comments
Open
52 tasks

[TRACKING] Use mkNeovimPlugin treewide #2638

khaneliman opened this issue Dec 11, 2024 · 9 comments
Labels
enhancement New feature or request

Comments

@khaneliman
Copy link
Contributor

khaneliman commented Dec 11, 2024

Just creating a tracker to keep track of what plugins need to be migrated to modern mkNeovimPlugin.

  • ./plugins/by-name/alpha/default.nix (neovim)
  • ./plugins/by-name/autoclose/default.nix (neovim)
  • ./plugins/by-name/chadtree/default.nix (neovim)
  • ./plugins/by-name/clipboard-image/default.nix (neovim)
  • ./plugins/by-name/coq-thirdparty/default.nix (neovim)
  • ./plugins/by-name/coverage/default.nix (neovim)
  • ./plugins/by-name/cursorline/default.nix (neovim)
  • ./plugins/by-name/dap/dap-go.nix (neovim)
  • ./plugins/by-name/dap/dap-python.nix (neovim)
  • ./plugins/by-name/dap/dap-ui.nix (neovim)
  • ./plugins/by-name/dap/dap-virtual-text.nix (neovim)
  • ./plugins/by-name/dap/default.nix (neovim)
  • ./plugins/by-name/diffview/default.nix (neovim)
  • ./plugins/by-name/efmls-configs/default.nix (neovim)
  • ./plugins/by-name/git-worktree/default.nix (neovim)
  • ./plugins/by-name/gitlinker/default.nix (neovim)
  • ./plugins/by-name/harpoon/default.nix (neovim)
  • ./plugins/by-name/illuminate/default.nix (neovim)
  • ./plugins/by-name/image/default.nix (neovim)
  • ./plugins/by-name/lastplace/default.nix (neovim)
  • ./plugins/by-name/lean/default.nix (neovim)
  • ./plugins/by-name/leap/default.nix (neovim)
  • ./plugins/by-name/lint/default.nix (neovim)
  • ./plugins/by-name/lspkind/default.nix (neovim)
  • ./plugins/by-name/lspsaga/default.nix (neovim)
  • ./plugins/by-name/mark-radar/default.nix (neovim)
  • ./plugins/by-name/marks/default.nix (neovim)
  • ./plugins/by-name/mkdnflow/default.nix (neovim)
  • ./plugins/by-name/multicursors/default.nix (neovim)
  • ./plugins/by-name/navbuddy/default.nix (neovim)
  • ./plugins/by-name/neo-tree/default.nix (neovim)
  • ./plugins/by-name/neogen/default.nix (neovim)
  • ./plugins/by-name/nix-develop/default.nix (neovim)
  • ./plugins/by-name/notify/default.nix (neovim)
  • ./plugins/by-name/nvim-bqf/default.nix (neovim)
  • ./plugins/by-name/nvim-jdtls/default.nix (neovim)
  • ./plugins/by-name/nvim-osc52/default.nix (neovim)
  • ./plugins/by-name/nvim-tree/default.nix (neovim)
  • ./plugins/by-name/obsidian/options.nix (neovim)
  • ./plugins/by-name/ollama/default.nix (neovim)
  • ./plugins/by-name/presence-nvim/default.nix (neovim)
  • ./plugins/by-name/rainbow-delimiters/default.nix (neovim)
  • ./plugins/by-name/rust-tools/default.nix (neovim)
  • ./plugins/by-name/spider/default.nix (neovim)
  • ./plugins/by-name/startup/default.nix (neovim)
  • ./plugins/by-name/treesitter-refactor/default.nix (misc)
  • ./plugins/by-name/treesitter-textobjects/default.nix (neovim)
  • ./plugins/by-name/ts-context-commentstring/default.nix (neovim)
  • ./plugins/by-name/wilder/default.nix (neovim)
  • ./plugins/by-name/wtf/default.nix (neovim)
  • ./plugins/pluginmanagers/lazy.nix (neovim) plugins/lazy.nvim: switch to mkNeovimPlugin #2082
  • ./plugins/pluginmanagers/packer.nix (neovim)
Backup - need to merge into new list
Typ Sty DW path Link
plugins/by-name/alpha/default.nix
plugins/by-name/autoclose/default.nix
plugins/by-name/clangd-extensions/default.nix
plugins/by-name/clipboard-image/default.nix
plugins/by-name/copilot-lua/default.nix
plugins/by-name/coverage/default.nix
plugins/by-name/cursorline/default.nix
plugins/by-name/dap/dap-go.nix
plugins/by-name/dap/dap-python.nix
plugins/by-name/dap/dap-ui.nix
plugins/by-name/dap/dap-virtual-text.nix
plugins/by-name/diffview/default.nix
plugins/by-name/fidget/default.nix #2647
plugins/by-name/git-worktree/default.nix
plugins/by-name/gitlinker/default.nix
plugins/by-name/harpoon/default.nix
plugins/by-name/illuminate/default.nix
plugins/by-name/image/default.nix
plugins/by-name/inc-rename/default.nix
plugins/by-name/lastplace/default.nix
plugins/by-name/lean/default.nix
plugins/by-name/lspsaga/default.nix
plugins/by-name/luasnip/default.nix #2656
plugins/by-name/mark-radar/default.nix
plugins/by-name/marks/default.nix
plugins/by-name/mkdnflow/default.nix
plugins/by-name/multicursors/default.nix
plugins/by-name/navbuddy/default.nix
plugins/by-name/neo-tree/default.nix
plugins/by-name/neogen/default.nix
plugins/by-name/notify/default.nix
plugins/by-name/nvim-bqf/default.nix
plugins/by-name/nvim-jdtls/default.nix
plugins/by-name/nvim-osc52/default.nix
plugins/by-name/nvim-tree/default.nix
plugins/by-name/obsidian/options.nix
plugins/by-name/ollama/default.nix
plugins/by-name/persistence/default.nix
plugins/by-name/presence-nvim/default.nix
plugins/by-name/rust-tools/default.nix
plugins/by-name/spider/default.nix
plugins/by-name/startup/default.nix
plugins/by-name/ts-context-commentstring/default.nix
plugins/by-name/wilder/default.nix
plugins/by-name/wtf/default.nix
plugins/cmp/options/default.nix
plugins/cmp/sources/cmp-ai.nix
plugins/cmp/sources/cmp-git.nix
plugins/cmp/sources/cmp-tabby.nix
plugins/cmp/sources/cmp-tabnine.nix
plugins/cmp/sources/copilot-cmp.nix
plugins/cmp/sources/crates-nvim.nix
plugins/lsp/default.nix
plugins/lsp/language-servers/efmls-cohttps://github.com/nix-community/nixvim/pull/2637nfigs.nix
plugins/lsp/language-servers/pylsp.nix
plugins/pluginmanagers/lazy.nix #2082
plugins/pluginmanagers/packer.nix
Typ Sty DW path Link
plugins/by-name/chadtree/default.nix
plugins/by-name/commentary/default.nix
plugins/by-name/conjure/default.nix
plugins/by-name/coq-thirdparty/default.nix
plugins/by-name/dap/default.nix
plugins/by-name/easyescape/default.nix
plugins/by-name/floaterm/default.nix
plugins/by-name/friendly-snippets/default.nix
plugins/by-name/gitgutter/default.nix
plugins/by-name/gitmessenger/default.nix
plugins/by-name/gitsigns/options.nix
plugins/by-name/hydra/hydras-option.nix
plugins/by-name/hydra/settings-options.nix
plugins/by-name/intellitab/default.nix
plugins/by-name/leap/default.nix
plugins/by-name/lint/default.nix (#2637)
plugins/by-name/lspkind/default.nix
plugins/by-name/neogit/options.nix
plugins/by-name/neotest/adapters-list.nix
plugins/by-name/neotest/adapters.nix
plugins/by-name/neotest/options.nix
plugins/by-name/netman/default.nix
plugins/by-name/nix-develop/default.nix #2653
plugins/by-name/none-ls/_mk-source-plugin.nix
plugins/by-name/none-ls/packages.nix #1724
plugins/by-name/none-ls/prettier.nix
plugins/by-name/none-ls/prettierd.nix
plugins/by-name/none-ls/settings.nix
plugins/by-name/none-ls/sources.nix
plugins/by-name/openscad/default.nix
plugins/by-name/plantuml-syntax/default.nix
plugins/by-name/quickmath/default.nix
plugins/by-name/rainbow-delimiters/default.nix
plugins/by-name/rustaceanvim/renamed-options.nix
plugins/by-name/rustaceanvim/settings-options.nix
plugins/by-name/startify/options.nix
plugins/by-name/telescope/extensions/_mk-extension.nix
plugins/by-name/telescope/extensions/default.nix
plugins/by-name/telescope/extensions/file-browser.nix
plugins/by-name/telescope/extensions/frecency.nix
plugins/by-name/telescope/extensions/fzf-native.nix
plugins/by-name/telescope/extensions/fzy-native.nix
plugins/by-name/telescope/extensions/live-greps-args.nix
plugins/by-name/telescope/extensions/manix.nix
plugins/by-name/telescope/extensions/media-files.nix
plugins/by-name/telescope/extensions/ui-select.nix
plugins/by-name/telescope/extensions/undo.nix
plugins/by-name/treesitter-refactor/default.nix
plugins/by-name/treesitter-textobjects/default.nix
plugins/by-name/vim-bbye/default.nix
plugins/by-name/vim-matchup/default.nix
plugins/cmp/auto-enable.nix
plugins/cmp/deprecations.nix
plugins/cmp/options/settings-options.nix
plugins/cmp/options/sources-option.nix
plugins/cmp/sources/cmp-fish.nix
plugins/cmp/sources/default.nix
plugins/colorschemes/dracula.nix #2659
plugins/default.nix
plugins/deprecation.nix
plugins/lsp/language-servers/_mk-lsp.nix
plugins/lsp/language-servers/_renamed.nix
plugins/lsp/language-servers/ccls.nix
plugins/lsp/language-servers/dartls-settings.nix
plugins/lsp/language-servers/default.nix
plugins/lsp/language-servers/efmls-configs-pkgs.nix
plugins/lsp/language-servers/hls.nix
plugins/lsp/language-servers/jsonnet-ls-settings.nix
plugins/lsp/language-servers/ltex-settings.nix
plugins/lsp/language-servers/lua-ls-settings.nix
plugins/lsp/language-servers/nil-ls-settings.nix
plugins/lsp/language-servers/nixd-settings.nix
plugins/lsp/language-servers/rust-analyzer-config.nix
plugins/lsp/language-servers/rust-analyzer.nix
plugins/lsp/language-servers/svelte.nix
plugins/lsp/language-servers/tinymist-settings.nix
plugins/lsp/lsp-packages.nix
@khaneliman khaneliman added the enhancement New feature or request label Dec 11, 2024
@khaneliman khaneliman changed the title MkNeovimPlugin Tracker [TRACKING] MkNeovimPlugin Dec 11, 2024
@MattSturgeon MattSturgeon changed the title [TRACKING] MkNeovimPlugin [TRACKING] Use mkNeovimPlugin treewide Dec 11, 2024
@Eveeifyeve
Copy link

Eveeifyeve commented Jan 5, 2025

When I was building the documentation for nixvim on darwin I ran into this:

error: builder for '/nix/store/dsq7xp5801qssx0a9yavnmqii6lkz5nd-nixvim-docs.drv' failed with exit code 1;
       last 3 log lines:
       > structuredAttrs is enabled
       > Running phase: buildPhase
       > cp: cannot create regular file 'plugins/efmls-configs/setup/html.md': Permission denied
       For full logs, run 'nix-store -l /nix/store/dsq7xp5801qssx0a9yavnmqii6lkz5nd-nixvim-docs.drv'.

This might be related to fixing nixvim documentation to build on darwin.

@jolars
Copy link
Contributor

jolars commented Jan 9, 2025

Maybe it would be worth it to separate this into separate issues so that they can be tracked and closed automatically as PRs targeting them are merged?

@GaetanLepage
Copy link
Member

Maybe it would be worth it to separate this into separate issues so that they can be tracked and closed automatically as PRs targeting them are merged?

Not sure about this... It would lead to a lot of them.
We have the script (list-plugins) to have an overview of plugins that need to be migrated.

@Eveeifyeve
Copy link

Is it possible to write a script to rewite the options for mkNeovimPlugin?

@GaetanLepage
Copy link
Member

Is it possible to write a script to rewite the options for mkNeovimPlugin?

Well, it would maybe be possible, but it would never be exhaustive. There are a lot of edge cases and it would be a very complex endeavor. "Old" non-mkNeovimPlugin implem are quite heterogeneous.

@Eveeifyeve
Copy link

Eveeifyeve commented Jan 9, 2025

I mean you could make it only compatible with certain option definitions then for everything else left should be done manually.

@GaetanLepage
Copy link
Member

I mean you could make it only compatible with certain option definitions then for everything else left should be done manually.

Yes, you could surely implement some partial solution that could alleviate a part of the burden. Of course PR/ideas are welcome :)

@jolars
Copy link
Contributor

jolars commented Jan 9, 2025 via email

@khaneliman
Copy link
Contributor Author

I had a bit of success using copilot for this purpose. I think if you setup a prompt correctly with a couple of
examples of before-and-after versions of some plugins, then it would probably do a very good job of at least making an initial conversion for some of the
simpler plugins.

I remember doing hat for a couple and it works very well if you find examples that handle all the option types relevant to the file you're converting.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants