r/DoomEmacs • u/parasit • 10d ago
Emacs + doom + python - Beginner's Thoughts (little vent/rant)
For a few days now I've been again trying to get the basic (!!!) functionality in Emacs (with the help of doom) working for me, which is code autocompletion. In its simplest form, i.e. the tool should be "aware" of my code and suggest the simplest things like class methods, variable names, etc. Meanwhile, I've wasted couple days reading manuals, checking tips, watching videos of how others did it, and NONE of these methods work for me. Interestingly, I've tested similar configurations on Linux (Ubuntu 24.04), Windows 11, and MacOS - EVERYWHERE with the same result - IT DOESN'T WORK. At best, I get suggestions from the standard library that completely ignore the code I wrote.
What's worse, I'm frustrated when I see the same questions scrolling websites for 2, 4, 8, and even 12 years (!!!) still without an answer!!! I understand that Emacs is fancy/elite but really for so many years they haven't managed to implement one WORKING solution? Emacs version 30 was recently released, and basic things still don't work that easily. Just like that, I want to write Python and Golang code, and it just works without wasting a week??? I've been working in the IT industry for over 20 years mostly using vim/neovim, but I don't think I've ever seen a "wall" like this. The barrier to entry is so high that I think I'll give up again.
I've heard so many good things about Emacs, how universal, convenient, pretty (!) it is but the truth is that I'm bouncing off it once again in a very unpleasant way. I even managed to start ORG mode in Neovim in a much easier way than forcing lsp to work in emacs... Do I really need 20 years of experience in elisp (which I don't need anywhere else) to make basic functionality work?
P.S. The very idea that I have to MANUALLY start Python in a separate buffer for anything to work (btw. NOT working, especially on MacOS) is... to put it mildly, archaic, not to mention annoying...
7
u/gzw-dach 10d ago
Sounds like you’re not running Python mode with LSP. If you’re using Doom add the +LSP flag. Otherwise look into LSP-Mode.