Rewrite README.org, part 1: basic file tree

This commit is contained in:
mir 2024-01-23 11:52:01 -09:00
parent 4fd3829d47
commit 70aeb55125

View File

@ -1,122 +1,24 @@
#+title: Personal working Emacs configuration
#+options: toc:nil
Any introduction would be insufficient.
#+title: mir's old and disproved emacs config
A "literate" configuration would break many things.
* File structure
#+begin_example
.
├── early-init.el ;; basic variables for starting up Emacs
├── eshell ;; most eshell configuration is in lisp/mir-packages.el
│ ├── alias
│ └── profile
├── init.el ;; loading files in lisp/ and settings that don't fit elsewhere
├── LICENSE
├── lisp
│ ├── 2048.el ;; modified from Mark Burger's version, for arbitrary board size
│ ├── man-plus.el ;; Failed attempt at more colorful man pages in Emacs
│ ├── mir-defuns.el ;; config for larger packages and GUI
│ ├── mir-evil.el ;; settings specifically for evil-mode
│ ├── mir-meow.el ;; settings specifically for meow-mode
│ ├── mir-keybinds.el ;; keyboard shortcuts using general.el
│ ├── mir-orgstuff.el ;; a few things i tried to build on org
│ ├── mir-packages.el ;; THE BIG ONE. ALL PACKAGES HERE
│ └── obsolete.el ;; settings i loved and lost and stuck in the garbage
└── README.org ;; this file lol
#+end_example
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.