I used to program a bit in nim a few years ago, and the lack of a good IDE was definitely a factor in me stopping. Back then I was using Codium, basically VS-Code without the inbuilt spyware. It worked ok-ish, though not exactly so stellar that I care to repeat all the work to set it up again.
Neovim was something I had a look at, but it seemed a rabbit hole where every solution I look up creates at least 2 more issues. Basically it seems everyone using it already knows everything about it, so instructions are mostly vague and require hunting for more details.
Basically, I'd spend only a few hours a month writing nim and don't want to spend a similar or larger amount of fiddling with the editor. Are there any candidates for that around?
Nim VSCode Extension has been updated recently and it is working great. https://github.com/nim-lang/vscode-nim
Nim in vim/nvim: https://spacevim.org/use-vim-as-a-nim-ide/
As mentioned above the nim-langserver is great to work with nay decent IDE support lsp. https://github.com/nim-lang/langserver
It seems better to rephrase the question. Not what IDE to use, as they are all pretty much the same.
But what tools Nim provide - for IDE to use and integrate with. I remember there were discussion and effort about:
Wonder if there any progress since?
If you find Copilot an insult to product integration like myself, I reccomend using Cursor.
All your vscode extensions work, you can use any model you want for an assistant, and it actually patches code instead of just trying to autocomplete your case statements in a clumsy way; Cursor!
Sublime text or VSCode works well out of the box.
Neovim requires a little more setup but can also be really good if you enjoy vim.
Note :
- Nim suggest processes consume average of 200mb ram - nim_languageserver will launch multiple unnecessary Nim suggest process - diagnostics with Nim suggest is terrible when using heavy metaprogramming in your code
Maybe by Nim 2.2, though is not explicit.
I wish I was clever enough to work on Nim itself, to help speed this up...
If you want something out the box that works: use VSCode.
If you know modal editing and prefer the terminal: use Helix or Neovim.
For neovim, don't use a "distro", use kickstart: https://github.com/nvim-lua/kickstart.nvim copy&paste the code, read it and understand how it works, then make it your own.
Here is my config for neovim
local capabilities = require('cmp_nvim_lsp').default_capabilities()
require('lspconfig').nim_langserver.setup({
cmd = {"nimlangserver"},
capabilities = capabilities,
on_attach = on_attach,
})
refer to the kickstart repo for the on_attach function
There is nim2_ide plugin for Notepad++
Almost zero config.
No telemetry.