I don't like custom.el. I don't like what it does. Anything in it
that's actually useful should be made persistent in my configuration
anyway. So why should I have it tracked in git? Should be set per
machine anyway.
This adds a strict column marker for the fill-column, which is nicer
than whitespace-mode's purple text marker (though I have both enabled
of course). Turn it on for only certain modes, and set the fill
column to 80 by default but 70 in text mode buffers (because that's
what I'm used to).
If some universal argument is given to +search/find-file then after
opening the file it'll open swiper. This reduces keystrokes and makes
it easier to get to somewhere.
Now I have separate modules for the additional new functions I
introduced for eshell and for the prompt function I made. Cleans up
the configuration a bit and makes it easier to examine those files on
their own, which I expect to grow.
Instead of (require 'org) which loads the entire thing and is quite
expensive, let's autoload what we need. In the config we load
org-bookmark before org-mode so we may as well do this.
It's also just good practice regardless.
Now we get completion (using the clipboard by default) for a URL,
which is set as a property for the bookmark. It also gets a timestamp
and we can fill in other text. This is a modification due to the
changes in org-bookmark.
Now it can:
- cache results until bookmarks file is modified, so we don't need to
open the file again if we've already figured everything out. This is
in-memory and not as a file
- a proper dispatching list which has pairs of form (PATTERNS . FUNC)
so the dispatching system is a bit more abstract and easier to add to
- use a URL property in org headings to get the bookmark URL rather
than having it as part of the body of the entry. This means the body
is now free to house any content without affecting the overall
function of the system, such as notes or subtrees for related
bookmarks.