Fork me on GitHub
practicalli-johnny06:04:28 seems like a useful tool to help find examples of Neovim configurations. For example, Searching for a plugin shows shared configs that contain that plugin Although if your Neovim dotfile is in a GitHub org, e.g. , then there doesn't seem to be a way to add it


just added mine: maybe it can't handle fennel? mine was in a subdir and still it could config and guess things correctly.


maybe if you checkin the compiled lua as well?


It finds other fennel configs that are in my user account, but nothing from the Practicalli org I've also seen other fennel configs already on there


i forked it and it seems to load it fine


yeah looks like it needs to request org level scope to read things which it probably doesnt have


all the examples i see are users, not orgs


I raised an issue about orgs, but the maintainer is not planning on adding this feature. I'll stick with NeovimCraft for now.


Configs can also be submitted to NeovimCraft via a pull request. I found NeovimCraft very useful when learning about Neovim packages and community configurations


Hm, I want to create a normal mode bind to my trim whitespace binding, but I don't know how to wrangle it in lua:

(nvim.set_keymap :n "<leader>tw" ":%s/\s\+$//e<CR>" {})
; unknown:1:50 Parse error: Invalid string: ":%s/\s\+$//e<CR>"

Working vimscript version:
nnoremap <leader>tw :%s/\s\+$//e


I am going to give this plugin a try for trimming whitespace, maybe it is of interest

Leaf Garland19:04:53

When converting viml to Lua, sometimes it's easier to keep the viml - especially so for mappings. vim.cmd[[ nnoremap <leader>tw :%s/\s\+$//e ]]


I have "<cmd>%s/\\s\\+$//<CR><C-o>" to wipe out trailing whitespace


you need the double backslash because otherwise lua takes the \s as a special character, when you want to pass a backslash and an s. for the backslash you simply do \\.


til keeppatterns, from that plugin. So my binding is now "<cmd>keeppatterns %s/\\s\\+$//<CR><C-o>"


likely need to escape the slashes in the string… e.g .`\` => \\, and maybe even some of the forward slashes


that looks like Fennel, so eval the string you are binding to to see what the string value is


Thanks for replying! 🙂 Yeah I only needed to escape the backslashes and now it works!


That looks to be it. I just got to a neovim session to test it out:

; --------------------------------------------------------------------------------
; eval (current-form): (print ":%s/\\s\\+$//e<CR>")
; (out) :%s/\s\+$//e<CR>
; --------------------------------------------------------------------------------
; eval (root-form): (print ":%s/\s\+$//e<CR>")
; unknown:1:24 Parse error: Invalid string: ":%s/\s\+$//e<CR>"


I got tricked by the treesitter highlighter a bit:


They were red before and red after, I got confused 😄