Open seshaljain opened 4 years ago
Nice config! I'm discovering Emacs (coming from Vim), and your config helped me get some initial stuff in place.
Some suggestions:
ctrl-p
) and projectile works great with Ivydump-jump
is a great alternative. An easy go-to-definition
that doesn't depend on any particular binary (works with rg
, ag
and grep
)Eglot might be a nice addition, but it looks like it needs to be configured for each different language (althought most should work out of the box?)
I personally tried LSP but I ended up removing it. It didn't play nice with flycheck (I'm sure I could have configured it better though) and the LSP-UI package is just ugly (although it's an optional package). It just felt bloated and slow. But that's just me. I don't normally use LSPs anyway, so the extra configuration didn't make much sense for me.
I do think that many VSCode users might expect a language server though, particularly if they are coming from the JS world, so Eglot would be nicer than LSP.
I kind of like the idea of keeping it simple when starting out, though. Given this is a simple config designed for users to build upon, maybe it would be nice to have a final section detailing possible packages for the user to try out, giving links and descriptions. Including things like evil mode, LSP, etc.
@seshaljain these are great suggestions, thanks for taking the time to contribute. I would love to get PRs for these packages, if it's not too much to ask I'd prefer one PR per package so I can test and merge independently but I'm happy to take it as a single chunk too. I'll add that bit to the contributing section.
Try
sounds like a very interesting package. Perhaps I can structure the config such that the "bare minimum" (definition TBD) is up front and then the user is advised how to use Try
to try out the rest of the config based on their needs and interests.
Looking forward to discussing and collaborating. Thanks!
@gosukiwi thanks for the interesting point of view and suggestions. I'll work towards incorporating your suggestions but definitely welcome PRs if you're up for it.
I really like the dumb-jump
idea, I think that should be an out-of-the-box config, something simple that can work with any code-base (as someone who often browses random code bases for work, I really like that about sublime). With ripgrep being stupid fast, that'll be a great idea. Thanks again!
Just a few packages I have come across my short (6-month old) time with Emacs, and I believe these would go a long way for new users.
Counsel/Swiper/Ivy
I chose ivy over helm because it gets things done, and does not require a super heavy config. Helm is extremely powerful, by all means, but a new user would find configuring Ivy easier. Swiper for search is a lifesaver:tm:, and Counsel provides an amazing interface for completions to a host of features.
Try
Useful for trying out packages without installing them, especially when you don't know a lot about stuff and are mostly trying things out to see if they work for you.
YaSnippets
Automagical snippets make life easier.
Magit
Must I say more? Super-intuitive interface for Git.
Company (or auto-complete)
I'm not sure about this, but I found company-mode has a company-files backend which gets a AHA every time it pops up :grin:
Eglot
LSP is awesome, but I found lsp-mode to be somewhat verbose to setup. Eglot is very easy to config and works like a charm.
I would love to make a PR for configs to these packages, but I'm not sure if my configs would be applicable to every user.