Follow

The thing I struggle with regarding emacs is that it's a programmable editor and there are so many opinionated decisions made for me.

The thing that I love about emacs is that it's a programmable editor that gives me limitless options for my own opinionated decisions.

Ironic, isn't it? I'm also slightly spoiled by things like VSCode/Sublime and to some degree Neovim, where you can just expect certain settings/defaults/behaviors every time you try to do something, or extend the editor. (1/2)

· · Web · 2 · 0 · 0

Take for instance the renown web-mode.el package.

Until I figure out tree-sitter, web-mode is the easiest catch-all for web templates and markup syntax highlighting.

It also comes with it's own opinions about white space and auto-completion.

I have settings for these things already. I don't want web-mode to impose its settings on my workflow.

Don't like it? Write your own solution.

gist.github.com/trev-dev/19f2a

I should really write these in my blog :/ (2/2)

@trevdev
What opinionated decisions are made for you? Vanilla emacs is pretty much a blank slate.

@yisraeldov I'm more referring to the package ecosystem.

Edit: I'm 100% referring to the package ecosystem. Specifically syntax modes.

@trevdev
How do you mean? There are usually many ways. For clojure, for example, there is cider, or you can use lsp, or both. And if you use lsp there is lsp mode or eglot.

@yisraeldov there's a couple of scattered toots that you're missing context for. I really need to sum it up in a blog. It's important to note that my winging is not sincere. When I say it's a love-hate thing it's mostly love.

To summarize, hangups I've had that I've elisp'd my way out of now are:

5 types of indentation/scope padding in web-mode that ignore the default tab-width and do their own thing out of the box. This goes for nearly all other modes too, separate defaults.

@yisraeldov then mode-specific auto pairing, auto quoting and auto completions that are on by default and diverge from already using electric-pair-mode.

Inconsistent face-lock setups across the many modes.

Trying to detangle monolithic modes like web-mode from specific filetype associations for lsp-mode

These are all things that you typically don't deal with or even configure with other popular editors.

@yisraeldov I'll be honest and say that when I first took a kick at the can with emacs 2 years ago I had gotten myself into such a configuration nightmare that I gave up.

I couldn't figure out what was causing automatic side-effects in one place but not another, why certain modes started to crumble after trying to edit with them.

This second attempt at emacs had gone so much better. I've brought more programming and Linux experience with me and my config is much cleaner.

@yisraeldov I can figure out what's doing what, where font locks come from, how to configure and use functions, lisp in general is easier to follow. I even set up a Shopify theme-check LSP config.

I may not be able to leave now.

Sign in to participate in the conversation
Mastodon for Tech Folks

This Mastodon instance is for people interested in technology. Discussions aren't limited to technology, because tech folks shouldn't be limited to technology either!