emacs/README.org
2023-03-11 09:19:09 -09:00

123 lines
3.9 KiB
Org Mode
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#+title: Personal working Emacs configuration
#+toc:nil
Any introduction would be insufficient.
A "literate" configuration would break many things.
Thus I will write of random things included here in no particular order, as my
file organization suggests.
-----
* TODO Integrations
** Completion
*** Corfu
**** clean up orderless
**** integrate with yasnippets
** eshell/emacs DWIM
CONTROL FLOW
#+begin_quote
1. Check arguments
1. No args: run new Emacs instance, separate frame, windowed
2. existing file names: open each in new buffer (`find-file`?) ?(and window)?
1. non-existent file names
1. if name of library, edit that library
1. otherwise edit new file of that name in default-directory
3. dash options
1. =-nw=: open in same window
2. =--client=: use =emacsclient= instead of =emacs=
3. Pass rest of options to exe
#+end_quote
*** /usr/bin/emacs or emacsclient fallback for options
*** DONE find-library etc
** eshell/dat
*** fix naming and loading
*** "bcat"
** org
*** denote?
**** Consult-denote
*** Fix indentation, _appear_, variable-pitch
*** LAG so much lag how to get rid of lag...
*** mitch/org-dwim-char
**** work smarter on heading lines and between words
**** If at beginning and this-command-key is =*=, just type it once
*** Face for headlines and nested bullet lists
** Man
*** defvaralias error
*** highlighting? Surely it's possible
**** if not just render with ~bat~ or html
** Documentation
*** datcat
*** mitch-theme
*** dconf-mode
** Linum-relative
*** Archive fork
*** write article about why even
*** propose update to nlinum-relative to remove linum dependency
** ani-el
*** Fix it not working
Re-write onto comint?
**** inject redefined functions into copy of script?
** find-file
*** Follow symlinks without asking, maybe print message
** Hyperbole
*** dragging
*** window operations
*** org-vw links (?) like vimwiki
-----
* Packages
Everything is in the file =lisp/mitch-packages.el=. There are things in other
files but they mostly never change - see the commit history.
** TRAMP
Generally, tramp is mostly fine. But if there are problematic configurations, it
will be very slow and time out and it will hang Emacs. I've had terrible luck
with it until just today (at the time of writing) and I'm legitimately shocked
it isn't terrible. Hooray! but also come on.
** Evil
vim keys are indispensable to me. Legit I cannot live without them very
well. Most all of my evil configuration is very boilerplate, but I'd like to
think that's fine.
VIPER is also a thing built into Emacs. It's probably not that bad, but the
defaults are very unintuitive compared to evil-collection.
** EShell
I like eshell - it reminds me of the configuration I liked about zsh, and the
composability I love about powershell.
The EAT terminal is also just amazing.
** NLinum-relative
is a thing. It requires nlinum which requires linum which is deprecated. This is
all for a single face declaration which is VERY UNNECESSARY. Just define it the
same and force theme authors to add a declaration. or /inherit from the built-in
display-line-numbers face/.
** mitch-theme
In [[https://git.mitchmarq42.xyz/mitch/vimcolors][a separate repo]] there is a theme I made. It's not a good theme and I'm
insane. But I can't stand normal themes. By all accounts there is something
wrong with my eyes. Shut up.
** YAscroll
"yet another scroll" yet there is no other scrollbar. If anyone knows of one,
tell me.
I re-define a display function in my config because I'm using background
transparency and otherwise it looks all chunky with the face declaration.
** Org
A good idea and usable, but I currently disable most fancy things because it
gets very slow otherwise. I've ran profilers and debuggers and the problem is
related to redisplay.
** org-tempo
I want to get rid of this and just use yasnippets, but oh well.
** ox-hugo
I have a function that automatically re-generates all the hugos.