3 ms·
> I’ve been carrying around the same 20 or so line .emacs that I use with a plain stock emacs for about 15 years. What languages do you program in, and do you
by RcouF1uZ4gsC 4y ago
> I’ve been carrying around the same 20 or so line .emacs that I use with a plain stock emacs for about 15 years.
What languages do you program in, and do you use code completion/debugging?
I find that code completion is a huge productivity boost for me, as well as having a good interface to a debugger (just the debugger portion of the IDE in Jetbrains justifies the price in my mind).
In addition, smart annotations where the IDE will annotate a function call with the names of the parameters is a huge boost in languages that do not have names parameters (for example C, C++, Rust).
In addition, when you are doing type inference (auto in C++, and let in Rust), having the IDE automatically annotate the variable with the inferred type gives the best of both worlds - allowing me to avoid boilerplate and committing to a type, while also easily allowing me to see what the type is.
I am not sure I can easily get all that out of Emacs or Vim.
- ww520 4y agoUse lsp-mode and company-mode for language completion. The lsp-mode connects to the language server on the language I'm developing for language specific semantic rules and syntax. Company-mode does the completion. It is a generic completion framework, which lsp-mode hooks into to provide language specific completion. The best is that I can use the standard Emacs commands I'm familiar with to use LSP. E.g. Per your example, I can use the describe-thing-at-point command, which is in Emacs for the longest time, to show the inferred type of the variable at the cursor. I can use the same command to show the signature of a function. Lsp-mode hooks into the old command to do the magic based on language context. Same with the company-mode. Since it's a generic completion framework, I'm already familiar with its commands and key bindings. It works the same for all languages and other editing mode. E.g. in writing English, the completion command would pop up a list of word choice.
- anthk 4y agoEmacs does that with a plugin for Ocaml, for example. You have the ones for C, C++, Rust and so on.