Hacker News new | ask | show | jobs
by adithyak 1586 days ago
off topic: I've found tide-mode[0] to be pretty good to use with typescript on Emacs

[0] https://github.com/ananthakumaran/tide

2 comments

It's very good, but I've found it to struggle somewhat on large and complex codebases. I have been meaning to try lsp-mode instead, but have yet to get around to it since tide-mode is mostly good enough; since they both use tsserver as a backend, I expect the user experience is probably much the same.

As an aside, I don't recommend following the article author in disabling Eldoc integration. Enabled, that will give you types for the thing at point in the message area, which is often quite useful and especially so with unfamiliar codebases.

i have stopped using lsp with javascript as js lsp servers are memory/cpu hogs. I wish there was tag based system for js/ts
Well, with Emacs you can als just use „etags“ to create an index into your JS code base out of the box. And then use „M-.“ to jump to definitions.

It’s very fast and usually brings you right to a definition — unless your method/function is called very unspecifically.

interesting, i used to use gtags for browsing c but js required additional dependencies so i abandoned it. If you are using etags for js/ts can you point me to your tag syntax file? i checked here but couldn't find js/ts and i don't want to write it by myself ;-) https://www.gnu.org/software/emacs/manual/html_node/emacs/Ta...
While I have no idea about tags, I want to say that you may find something as simple as dumb-jump[1] does what you want most of the time.

[1] https://github.com/jacktasia/dumb-jump

YyyyyyyyyyyyyyyyyyuuuuuuuuuuP. 9 times out of 10 it takes me right where I want to go. It's lightweight and fast. And on that 10th time it gives a list of choices to jump to.
Indeed, the "etags" shipped with Emacs does not support JavaScript. Sorry. If you don't want to mess with its --regex argument, you can install "exuberant-etags" instead:

sudo apt install exuberant-ctags

ctags-exuberant --list-languages