Modern editing needs
Times have changed. The boomer-coded text editor definition of a grid
of bytes is just not enough. Code has structure, tooling, footguns
(especially when it’s a dynamically typed language), and many other
attributes that shouldn’t be edited by typing vi code.py into a
console and expecting things to be done in a timely manner while not
making mistakes. It simply is not possible by a bad developer like me.
A zoomer perspective of the past
When I started to seriously code, I was already in college and LSPs were a thing. While IDEs are things I’m familiar with and use, LSPs bridge 90% of the gap. From what I’ve read on the interwebs, the IDE-only era was grim, and text editors that had genuine advantages (Emacs for extensibility and Vim for efficient editing) had their own matrix of extensions that provided a subpar experience. There were hacks for IDE-like features like ghcide, but they were never sufficient, and those hacks were for corpowagies (who didn’t write Haskell).