Neovim will let you configure your env to provide 90 percent of what an ide will do.
The 10 percent isnt "missing" its just going to be very different...
See how the other half lives and you might find some features you like and bring back home. You might find yourself running vim in pycharm ;)
https://github.com/JetBrains/ideavim
Or you can waste months pissing around with Vim plugins to create a poor mans IDE out of sticks and stones like a caveman.
It's clearly not used by either its developers or the people who keep recommending it. It's the Microsoft POSIX Subsystem of text editors.
Or, you know, different people have different preferences and are perfectly satisfied with what the emulation does provide.
It'll also become as slow as an IDE, though. I think it's the Arch Linux (or maybe the Gentoo) of IDEs, where you have to know and configure every subcomponent of your IDE yourself.
I have tweaked my Neovim for small code snippets where a full IDE is overkill, but I can't be bothered to turn it into a full IDE like some others do.
Also, goland isn't terrible either. It's really the only way to write go beyond say 1000 lines of code.
As someone who crosses those boundaries I can tell you that you're dead wrong.
Im happy to sit down and write code in something like Goland. Im happy to pick pycharm to work on a LARGE python code base. But the moment that I need to deal with a JS spa, legacy code (python, ruby) and go im probably NOT going to pick intelij.
Sorry but IntelliJ is just as much plugin nonsense anything else and sometimes your going to go backwards just to get things working: https://youtrack.jetbrains.com/issue/PY-70729/?_ga=2.1643681...
"tinkering with your vim plugins" is "tinkering with your Intellij plugins"... both involve search engines and RTFM, the former has more choice and a bit more downloading but the transition in either direction would amount to the same loss in productivity.
And I have played with VS code as well (and it too has its uses).
The only editor I dont like, is Emacs, and not because it is BAD but because you will spend more time tinkering with it than working.
The OOTB setup for IntelliJ just works. The plugin with the bug you linked to is the "Rainbow Brackets" plugin. That is created by a third party and it is a useless toy plugin, not required for professional development.
https://plugins.jetbrains.com/plugin/10080-rainbow-brackets
Why would you be pissing around with that "rainbow brackets" nonsense instead of getting your work done with the OOTB setup that just works? Pointless and irrelevant.
I just use VSCode for most things, or nvim if I want to edit something very specific that doesn't require much navigation between files. I'm not a huge fan of my editor annoying me with stuff all the time, but I'm wondering if I'm missing out.
The type of errors are type checking errors.
import re
if re.match(r'[aoeui', sys.argv[1]):
print('ok!')
is a red error in the ide because it understands regex syntax, and similar if it can either prove what the syntax is (based on its position, as seen in that re.match), or in all cases one can annotate the string literal to have it help you: # language=json
not_json = """
{"oops:true}
"""
json.loads(not_json)
is similarly marked as red because that's not jsonit's turtles all the way down:
# language=yaml
gitlab_yaml = """
stages:
- build
my build:
image: docker.io/library/busybox
after_cript:
# language=sh
- |
if true; then
echo "awesome"
fi
"""
spots the suspicious "after_cript" (in yellow, because it cannot prove it's wrong, just suspicious) and then it also highlights the embedded shell script in the embedded yaml string literalRegrettably, it doesn't seem to run the shell validity checks on injected shell scripts, but I think that's a bug and not a limitation of the platform