Article Summary: Setting Up Development environment with Neovim and Lunarvim (or Lazyvim – a similar preconfigured Neovim distribution)
Article Description: Show the process for installing Neovim on Fedora Workstation along with the process of loading and configuring a variety of plugins for use with modern programming languages like Rust, TypeScript, Go, Python, and C++.
The article will demonstrate both a custom configuration as well as an out-of-the-box solution to get the reader writing code as quickly as possible, emphasizing the use of FOSS solutions and highlighting Fedora as a uniquely stable platform for software development and data analysis.
https://discussion.fedoraproject.org/t/neovim-article/117222/3
Metadata Update from @rlengland: - Issue tagged with: article, needs-image
Metadata Update from @rlengland: - Issue assigned to rlengland
Metadata Update from @rlengland: - Assignee reset
Also one I'd out on my list. I have this set up on this machine and I'm also updating it to Lua from vimscript. And from COC to LSP as this is default from neovim >= 0.5.0 (I think, don't quote me).
I've been following this project for a while, part of which includes COC and LSP setup as described above.
https://github.com/LunarVim/LunarVim
Metadata Update from @rlengland: - Issue assigned to glaringgibbon
Much like the Pihole article, I was going to contact the Neovim devs to ask for their input, tips 'n' tricks, gotchas, etc. Ditto for the LunarVim project linked above.
I'm not sure of any constraints on article length just yet, (reading docs at the w/e hopefully), and this topic can be a bit of a rabbit hole. Also, as noted above, LSP is installed by default and I think it COC calls the same LSP's under the hood (don't quote me) so COC can be considered an unrequired dependency, although I think there are additional features in COC not just LSP, so there may be use cases where one or the other is beneficial. I have no idea at present if you can run both concurrently, but only have the non-LSP COC extensions installed. I'm fairly sure most of those features would have a plugin.
The original proposal only mentions a handful of languages but COC and LSP can both handle way more. There's a list here
https://github.com/neoclide/coc.nvim/wiki/Language-servers
Are those languages fixed in stone? Do you need specifics for every language or more of a broad brush, here how to do one as an example type deal?
Also, COC/LSP on it's own doesn't replicate every feature of an IDE. It is the big draw, I know, but there are plenty of other features
Is this maybe a series of smaller articles building from default neovim in a modular way? What do you guys think?
@glaringgibbon How you structure this topic is really up to you. I can see two options that you alluded to.
The first is an introduction to installing Neovim and add-ons to create an IDE like tool. Perhaps pick a language you are familiar with and show some screen shots. Then allude to or provide references to set-ups for other languages leaving that as a effort for that reader.
The second is an introduction to Neovim showing how to add/manage add-ons with a single language and then a set of follow on articles. If there are similarities in add-ons for some languages perhaps they could be grouped.
The length would be controlled by the amount of details and examples you include. I would strive for completeness. Perhaps create an outline of your proposed article(s) and the editors can help you 'prune' it if necessary.
As for contacts, anyone you can reach and provide attributes for are fair game in my mind.
@glaringgibbon How you structure this topic is really up to you. I can see two options that you alluded to. The first is an introduction to installing Neovim and add-ons to create an IDE like tool. Perhaps pick a language you are familiar with and show some screen shots. Then allude to or provide references to set-ups for other languages leaving that as a effort for that reader. The second is an introduction to Neovim showing how to add/manage add-ons with a single language and then a set of follow on articles. If there are similarities in add-ons for some languages perhaps they could be grouped. The length would be controlled by the amount of details and examples you include. I would strive for completeness. Perhaps create an outline of your proposed article(s) and the editors can help you 'prune' it if necessary. As for contacts, anyone you can reach and provide attributes for are fair game in my mind.
I've had some feedback suggesting another article on Nvim + CoC is exactly that, another article. It's covering old ground. LSP and Lua are the new kids on the block, there isn't the same volume of material online. Would make more sense from an SEO POV, no?
IMHO, I think the first option makes more sense. The Lunar Vim project is an attempt to provide the kind of features and sensible defaults you get in any IDE, irrespective of your language of choice. It's trying to walk a middle ground between being too minimal that you're missing features you would have in an IDE and so bloated that you might as well use an IDE.
A language agnostic approach helps everyone get a base that would help them be productive. Otherwise, the javascript people are going to be waiting for a very long time. Possibly until hell freezes over.
Installation section is minimal, dnf install neovim and git clone LunarVim.
Briefly cover some of the more important features of an IDE like autocompletion, syntax highlighting, fuzzy finder etc. Then briefly cover the plugins that provide those features in Nvim like LSP, Treesitter and Telescope.
Explain how LunarVim is composed in modular form with separate config files for general settings, keybindings, plugins, and so forth all sourced from init.lua. There's a separate settings file that controls values in the configs so you don't have to go wading through a bunch of files to toggle things on/off.
A brief mention of packer, the lua plugin manager, is probably in order too.
Then cover some more language specific features, python in my case. Whether that's a section towards the end or a part 2 I can't say from here.
If that's acceptable I'll proceed on this basis. We'd need a different title though.
@glaringgibbon I think you have a reasonable plan so I would say proceed. I'm a Vim user so it will be an interesting read for me.
Changing the title is not a big deal. We've had Card titles that do not match the final article titles before so select the title for the WordPress article that you feel is most descriptive.
@glaringgibbon The last contact we had about this article was 5 months ago. Do you have a status update on it? If you have decided not to pursue writing it that is fine. Just let us know so we can take it off the list of items we are tracking.
Thanks for any information you can provide.
Article description modified and article reassigned
Metadata Update from @rlengland: - Issue assigned to human-d3v (was: glaringgibbon)
Metadata Update from @rlengland: - Custom field preview-link adjusted to https://fedoramagazine.org/?p=40437&preview=true
@human-d3v Do you consider your article ready for the editors to review? Please let us know by responding to this ticket.
BTW thanks for volunteering your article to the Fedora Magazine.
@rlengland So I thought the article was getting ready for review, but I keep getting weird html errors when trying to render code using the default codeblocks. I've tried a variety of things to force the code to render, but all seem to be failing. It's specifically around the <, > and & signs, since these are also used in HTML tags. Is there a typical way that contributors are rendering code? Or are they writing raw HTML?
@human-d3v The WP schema being used doesn't care for the code style in blocks. I'm not certain how the data in those two blocks were inserted but I changed them from "code" to "preformatted" and replaced the \< with a single < symbol (I believe that is the correct syntax) in the first block you indicated and I believe it now displays correctly in both.
\<
The magazine specifies that blocks containing code should be preformatted so it might be good to modify the others as while, if only for consistency.
Metadata Update from @rlengland: - Custom field editor adjusted to rlengland
Metadata Update from @rlengland: - Custom field image-editor adjusted to rlengland
Metadata Update from @glb: - Custom field publish adjusted to 2024-06-05
I've done what I consider the last edit pass on your article, @human-d3v
The only thing left is to add a featured image. I can take care of that but if you have a Creative Commons image or an original you would like to incorporate, let us know (attach it to this card). Otherwise we will find/create something for it.
This would be a good time for you to have a last read-through. We have this tentatively scheduled for 2024-06-05.
Thank you.
Metadata Update from @rlengland: - Issue untagged with: needs-image
Featured image included. @human-d3v Let us know if you agree on the 2024-06-05 publication date.
Hi @rlengland, 2024-06-05 sounds good. I've fixed a couple of grammatical errors in the article. It looks good to me.
@human-d3v I've scheduled the article for 2024-06-05 Thank you very much for all your effort.
Issue status updated to: Closed (was: Open) Issue close_status updated to: published