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

luarocks packaging requests #111

Open
mrcjkb opened this issue Jan 14, 2024 · 46 comments
Open

luarocks packaging requests #111

mrcjkb opened this issue Jan 14, 2024 · 46 comments
Labels
help wanted Extra attention is needed

Comments

@mrcjkb
Copy link
Member

mrcjkb commented Jan 14, 2024

Note

🦥 This tracking issue is for the lazy and desperate 🦥

If you would like to actively contribute to getting plugins on luarocks.org, see this wiki page 🙏

Feel free to post your issues or PRs here.

Original text:

If you come across a plugin that isn't on luarocks.org, and you think it should be, you can leave a comment here (or thumbs up on any open PRs).

@mrcjkb mrcjkb pinned this issue Jan 14, 2024
@mrcjkb mrcjkb added the help wanted Extra attention is needed label Jan 14, 2024
@glindstedt
Copy link

Migrated most of my config to use rocks.nvim and found these plugins to be missing from luarocks:

@datwaft
Copy link

datwaft commented Apr 2, 2024

Just found this issue and I found that rktjmp/hotpot.nvim is missing from luarocks.

@mrcjkb
Copy link
Member Author

mrcjkb commented Apr 2, 2024

Just found this issue and I found that rktjmp/hotpot.nvim is missing from luarocks.

I'm going to wait for #236, because hotpot.nvim would need to be installed with opt=true and loaded manually, using require("rocks").packadd(...).

@zackerydev
Copy link

https://github.com/nvim-neo-tree/neo-tree.nvim

Found this one today that is missing a luarocks package, last one I need for my config!

@mrcjkb
Copy link
Member Author

mrcjkb commented Apr 13, 2024

@NTBBloodbath
Copy link
Member

I would love to have this one to make some extensions for rocks.nvim like a rocks-ui.nvim module and easily write the UI/UX with it, nui.nvim is already on luarocks so it shouldn't take so long :p

@mrcjkb
Copy link
Member Author

mrcjkb commented Apr 13, 2024

@Anrock
Copy link

Anrock commented Apr 18, 2024

https://github.com/freddiehaddad/feline.nvim ?

@mrcjkb
Copy link
Member Author

mrcjkb commented Apr 18, 2024

@benlubas
Copy link

molten-nvim

but, it's a remote python plugin with a few python dependencies, so I haven't done it myself. I'm not sure if you have any advice on this? If there's going to be a lot of discussion we can move somewhere else to not pollute this thread.

@mrcjkb
Copy link
Member Author

mrcjkb commented Apr 21, 2024

molten-nvim

but, it's a remote python plugin with a few python dependencies, so I haven't done it myself. I'm not sure if you have any advice on this? If there's going to be a lot of discussion we can move somewhere else to not pollute this thread.

  • Looks like a nice challenge. I think it might need a luarocks python/venv build backend (for handling python dependencies), which doesn't seem to exist yet.

@benjstephenson
Copy link

https://github.com/Olical/conjure would be lovely :)

@calebeby
Copy link

@mrcjkb
Copy link
Member Author

mrcjkb commented May 23, 2024

telescope-fzy-native.nvim uses submodules to depend on fzy-lua-native.
fzy-lua-native is packaged in a very weird way, without any regard for potential module naming clashes (e.g. a lua/native.lua file, wtf?).
I don't think it makes sense to attempt to package that. A better alternative might be to rewrite telescope-fzy-native.nvim, so that it depends on fzy, which is packaged properly, instead.

@boltlessengineer
Copy link

treesj is already on luarocks, but its dependency should be updated. nvim-treesitter should be removed from dependency1.

Footnotes

  1. https://github.com/Wansmer/treesj/issues/153#issuecomment-2132078689

@craigmac
Copy link
Contributor

craigmac commented Jun 3, 2024

Some I've come across as I'm moving away from Lazy.nvim to rocks.nvim (huge thanks for this btw, I love the simplicity and thought behind it):

https://github.com/ggandor/leap.nvim
https://github.com/ggandor/flit.nvim
https://github.com/glacambre/firenvim

@mrcjkb
Copy link
Member Author

mrcjkb commented Jun 17, 2024

@boltlessengineer Updated 😄

@craigmac sorry for taking so long to respond. I hope to get back to this soon 😅

Update:

@simifalaye
Copy link
Contributor

simifalaye commented Jun 24, 2024

Thanks a lot for all the work on this. I'd like to request these:

Also, I saw you've been working on getting cmp to update its releases so hopefully the maintainer will notice soon. Thanks!

EDIT: @mrcjkb Thanks for publishing these plugins. One thing on the friendly-snippets package: I'm not seeing the "snippets" directory which contains all the snippets it provides on my machine after installing the plugin.

@mrcjkb
Copy link
Member Author

mrcjkb commented Jul 2, 2024

One thing on the friendly-snippets package: I'm not seeing the "snippets" directory which contains all the snippets it provides on my machine after installing the plugin.

Ah, that's not a standard neovim directory. I guess I'll have to open a PR to friendly-snippets then.

@mrcjkb
Copy link
Member Author

mrcjkb commented Jul 3, 2024

@simifalaye friendly-snippets should be fixed now.

@simifalaye
Copy link
Contributor

@mrcjkb Any news on markdown.nvim?

Also, I saw that the gitsigns PR was merged but it's just waiting for a new release to be made?

Thanks very much for all your work, you are a machine!

@benlubas
Copy link

benlubas commented Jul 15, 2024

Could you possibly help out with benlubas/neorg-se?

It's a plugin that bundles a rust binary using mlua and the luarocks-build-rust-mlua backend. I've been unsuccessful so far in getting lazy to install and build it. I can install with luarocks --local --lua-version 5.1 install neorg-se without errors. But even that doesn't seem like it's building the rust module, and I don't see the libneorg_se.so file that I expect to see anywhere in ~/.luarocks or ~/.local/share/nvim/lazy(-rocks)

relevant part of error:
Error: Failed initializing build back-end for build type 'rust-mlua': module 'luarocks.build.rust-mlua' not found:
      	No LuaRocks module found for luarocks.build.rust-mlua
      	no field package.preload['luarocks.build.rust-mlua']
      	no file '/opt/homebrew/Cellar/luarocks/3.9.2/share/lua/5.4/luarocks/build/rust-mlua.lua'
      	no file '/opt/homebrew/share/lua/5.4/luarocks/build/rust-mlua.lua'
      	no file '/opt/homebrew/share/lua/5.4/luarocks/build/rust-mlua/init.lua'
      	no file '/opt/homebrew/lib/lua/5.4/luarocks/build/rust-mlua.lua'
      	no file '/opt/homebrew/lib/lua/5.4/luarocks/build/rust-mlua/init.lua'
      	no file './luarocks/build/rust-mlua.lua'
      	no file './luarocks/build/rust-mlua/init.lua'
      	no file '/Users/benlubas/.luarocks/share/lua/5.4/luarocks/build/rust-mlua.lua'
      	no file '/Users/benlubas/.luarocks/share/lua/5.4/luarocks/build/rust-mlua/init.lua'
      	no file '/opt/homebrew/lib/lua/5.4/luarocks/build/rust-mlua.so'
      	no file '/opt/homebrew/lib/lua/5.4/loadall.so'
      	no file './luarocks/build/rust-mlua.so'
      	no file '/Users/benlubas/.luarocks/lib/lua/5.4/luarocks/build/rust-mlua.so'
      	no file '/opt/homebrew/lib/lua/5.4/luarocks.so'
      	no file '/opt/homebrew/lib/lua/5.4/loadall.so'
      	no file './luarocks.so'
      	no file '/Users/benlubas/.luarocks/lib/lua/5.4/luarocks.so'
      luarocks-build-rust-mlua dev-1 is now installed in /Users/benlubas/random/neorg_se_install_bug/.repro/data/nvim/lazy-rocks/neorg-se (license: MIT)

@mrcjkb
Copy link
Member Author

mrcjkb commented Jul 16, 2024

I'm away from my laptop this week.

Any news on markdown.nvim?

I'm planning on publishing the tree-sitter parsers with 0-ver versions (in anticipation nvim-treesitter going semver one day).
When that is done, markdown.nvim can add them as a dependency.
If it depended on the current dev packages, it wouldn't be possible to install a non-dev version of markdown.nvim.

Edit:

@mrcjkb
Copy link
Member Author

mrcjkb commented Jul 16, 2024

Could you possibly help out with benlubas/neorg-se?

I can see if it works with rocks.nvim when I'm back on my laptop.

It looks like whatever lazy.nvim is using to install it can't find the luarocks-build-rust-mlua build backend, which could have something to do with how lazy.nvim installs dependencies and rocks into separate trees (iirc; not sure about this).

You could try working around this by installing luarocks-build-rust-mlua locally:
luarocks --local install luarocks-build-rust-mlua

@benlubas
Copy link

Thank you, that did allow me to install it! I can get another rocks.nvim user to test it for me so don't worry about that. thank you for the suggestion!

@simifalaye
Copy link
Contributor

This would be great: https://github.com/creativenull/efmls-configs-nvim

@vimproved
Copy link

would love to see https://github.com/udayvir-singh/tangerine.nvim and https://github.com/udayvir-singh/hibiscus.nvim :)

@mrcjkb
Copy link
Member Author

mrcjkb commented Jul 21, 2024

@simifalaye

@vimproved I'll look into opening some PRs. By the looks of it, bootstrapping would be unnecessary with rocks.nvim.

Edit:

Added both plugins to the NURR for now.

@Freed-Wu
Copy link

firenvim is going to be a challenge, because it uses an autoload function to install.

Do you mean call firenvim#install(0)? Every time we install a new browser, it should be execute to let it find it. Maybe we don't need to ru this function during installing, and let user do it when they install a browser.

nvim-treesitter going semver one day

nvim-treesitter disappear from luarocks. Anyone know what happened?

@mrcjkb
Copy link
Member Author

mrcjkb commented Jul 22, 2024

Do you mean call firenvim#install(0)? Every time we install a new browser, it should be execute to let it find it. Maybe we don't need to ru this function during installing, and let user do it when they install a browser.

That sounds reasonable to me.
Perhaps that info should be added to the firenvim readme (if not already present).
Still, it would be nice to have it auto install for existing browsers (but not a must-have). But I suppose since this doesn't get cleaned up when uninstalling the plugin, it might be better to have users call it explicitly.

nvim-treesitter disappear from luarocks. Anyone know what happened?

Yep, we removed it because it's very outdated and causes a lot of problems and conflicts with the luarocks tree-sitter parsers. There's a nvim-treesitter-legacy-api which is basically nvim-treesitter without TSInstall and without queries, which you can use for plugins that depend on the deprecated nvim-treesitter API.
If you want nvim-treesitter with TSInstall, you need to use rock-git.nvim. But keep in mind, the master branch may cause conflicts and the main branch requires nvim nightly.

@Freed-Wu
Copy link

added to the firenvim readme

Add rocks.nvim to https://github.com/glacambre/firenvim#installing 😄

very outdated

Perhaps a scm is possible?

@mrcjkb
Copy link
Member Author

mrcjkb commented Jul 22, 2024

Perhaps a scm is possible?

I guess am scm version for the main branch would be reasonable.
TSInstall would still be broken though, because it makes assumptions about where the queries are installed. So you might as well use the scm version of the nvim-treesitter-legacy-api.

@mrcjkb
Copy link
Member Author

mrcjkb commented Jul 24, 2024

@Freed-Wu here's an experiment...

@Freed-Wu
Copy link

So TSInstall XXX is Rocks install tree-sitter-XXX, right? TSInstall all is search all tree-sitter-XXX in luarocks.org and install them, right?

@mrcjkb
Copy link
Member Author

mrcjkb commented Jul 29, 2024

So TSInstall XXX is Rocks install tree-sitter-XXX, right? TSInstall all is search all tree-sitter-XXX in luarocks.org and install them, right?

Yes - If rocks.nvim is installed.

@Freed-Wu
Copy link

I see. Original TSInstall is in parallel and now its behaviour is like TSInstallSync.

@bottd
Copy link

bottd commented Aug 14, 2024

Would be nice to get nushell treesitter on luarocks
https://github.com/nushell/tree-sitter-nu

@boltlessengineer
Copy link

would be nice to have this
https://github.com/stevearc/quicker.nvim

@mrcjkb
Copy link
Member Author

mrcjkb commented Aug 19, 2024

Opened an issue with tree-sitter-nu for now

Added quicker.nvim to the NURR.

@Nsidorenco
Copy link

Would be nice to have the following :)
https://github.com/Issafalcon/neotest-dotnet
https://github.com/voldikss/vim-floaterm

@mrcjkb
Copy link
Member Author

mrcjkb commented Aug 29, 2024

@Nsidorenco

Freed-Wu added a commit to Freed-Wu/firenvim that referenced this issue Sep 23, 2024
Freed-Wu added a commit to Freed-Wu/firenvim that referenced this issue Sep 23, 2024
Freed-Wu added a commit to Freed-Wu/firenvim that referenced this issue Sep 23, 2024
@simifalaye
Copy link
Contributor

@mrcjkb Wanted to bring your attention to this: blink.cmp

From the issues, it looks like the maintainer is open to publishing with luarocks but wanted to ping you in case you may have any guidance to give. Thanks!

@mrcjkb
Copy link
Member Author

mrcjkb commented Oct 8, 2024

@simifalaye thanks for the heads-up. I'll keep my eye on the issue 😃

@Freed-Wu
Copy link

Freed-Wu commented Oct 8, 2024

https://github.com/wasm-lsp/tree-sitter-wasm

Tree-sitter for wasm 😄

icedman/nvim-textmate#8

A neovim plugin to use textmate theme and grammar

@mrcjkb
Copy link
Member Author

mrcjkb commented Oct 8, 2024

@Freed-Wu any idea why tree-sitter-wasm isn't supported by nvim-treesitter?
I'll be busy this week, but I can likely look into those sometime after Sunday.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests