Turning off my LSP autocomplete

It's only end of day one without auto complete, so I will wait about thirty days at least before I see if it's better, worse, or there is a middle ground.

Why turn off auto complete?

It wasn't an original idea of mine, I heard it from Ginger Bill, who wrote odin lang. He was on a podcast with ThePrime-agen. They spoke about many things, but the no LSP thing really interested me. It's got something to do with Github copilot.

I'm a new programmer, it's only been about four to five years since I have been programming. This was attempt number two at learning it. One of the reason I was able to learn it the second time was as opposed to the prior attempt, was that I really wanted to. So I put a lot more consistent and focused effort. That's a story for another day. So, I am able to spot tendencies that don't support me getting better at programming. Copilot was one of them, I used it on and off for about three months, safe to say it was mostly off. It was cool as fuck, till it wasn't. It takes me a bit of time to think about the code I'm going to write, takes a few attempts, if it's new or something I haven't done before. To be honest, it takes time sometimes even if I have done it before. I do tend to follow my intuition, it just did not feel like I was the one writing the code. It's my favorite bit, fixing small problems and understanding why they broke in the first place. After I had turned it off, I did not tell anyone, did not want to seem like a caveman. That being said I'm not against the idea of using AI, searching is so much easier now. As far as it's in the browser, I'm okay with it. Plus, if you are more experienced and you know what you are doing, who am I to say otherwise. This article helped me feel like I wasn't the only one, I even emailed him to let him know.

So when I heard Ginger Bill not using an LSP I was intrigued. Since then, I wanted to turn it off. Not all of LSP, just the completion. I use jump to definition on a regular basis, on my own code and on the ones I import. Luckily, turning off auto complete was quite easy. There was a plugin comment in my neovim config, that said #autocomplete with about three plugins. I just deleted them all, safe to say auto complete does not work. The rest of the LSP features are working just as they did before. Neovim for the win.

How was day 1

Surprisingly okay, it took me no time at all to get used to not having the auto complete. I noticed a few new things:

  • I was paying more careful attention to what I was typing
  • I was double checking the doc, and was checking the doc more in general
  • My spelling sucks, I Googled a lot of the words. That's good I guess, my spellings are getting better.

That's a pretty good start.

What am I hoping to get out of this?

Just to be more competent and well versed with the language. Read the docs more, as I did tend to guess method names with the auto complete. Few times it turned out, there were better ways to do this.

Anything that makes me better at programming, I'm willing to at least try. Just like I gave copilot a shot. Usually, when I want to really try something, I like to jump right in. It's how I learned vim. I deleted vscode, went through the vim tutor a couple of times and that was it. It gives a more clearer picture, it helps me realize, where I was relying on something before that I was not fully aware of. Then either try some other way of achieving the result, or if the old way was better, bring it back.

I'll let you know how the experiment went in about thirty days or so. Unless, I turn it on before.