about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
2020-01-17 Support list/dedupe-adjacentWilliam Carroll1-0/+14
Support a function to deduplicate adjacent elements in a list. Also tracks additional work with TODOs.
2020-01-17 Support call-process-to-stringWilliam Carroll1-0/+6
Writes an Elisp macro to use `call-process` (because it's fast) but capture the output to a string.
2020-01-17 Add parsec.elWilliam Carroll1-0/+3
Ensures parsec.el is installed in Emacs.
2020-01-17 Track TODO for investigating 4k monitor scalingWilliam Carroll1-0/+2
It seems like something when I run `display/enable-4k` my resolution isn't at 4k fully. However, when I call the same command on the command line it does scale properly. This doesn't sound likely, and frankly I haven't had too much time to try and reproduce this. Hence - the TODO!
2020-01-17 Prefer direnv to manage ORG_DIRECTORYWilliam Carroll3-2/+17
Instead of keeping this in my ~/.profile, I'm going to define it in .envrc. What I still don't know is how functions like `getenv` are supposed to interact with direnv. I suppose maybe they aren't? Right now, when I call `(getenv "DOTFILES")` from Emacs, it's `nil`, which I understand. Hopefully the more I use direnv, the more reasonable expectations I'll have.
2020-01-17 Support missing Emacs dependenciesWilliam Carroll2-0/+6
Since I moved this repository away from Dropbox, my elpa, melpa, quelpa packages weren't automatically syncing. This crutch, once removed, cause my Emacs initialization to fall-over. This commit patches some of those missing dependencies.
2020-01-17 Drop support for nix_find fish functionWilliam Carroll1-8/+0
This function was causing problems with my Emacs. For example, when I ran `wpc/find-file`, which is bound <leader>f and a KBD that I call frequently, the internals would startup fish with my configuration file. Then `nix_find autojump` would fail and the entire command would error. To make things worse, the error was a bit opaque. TODO: Why do certain commands `counsel-projectile-find-file` startup fish and load my configuration file? I'd prefer it used something like bash and didn't attempt to load a configuration file since that would most likely slow things down.
2020-01-17 Begin supporting Emacs client for clipmenuWilliam Carroll1-0/+158
After a few weeks of having this idea in the back of my mind, I began supporting an ivy interface to clipmenu. I tried clipmon.el for awhile, but it wasn't as good as clipmenu in my experience. To get the best of both worlds, I'm attempting to write an Emacs client for clipmenu! Stay tuned for more updates. If I open source this, which I'd like to, I'll need to answer a few questions: - How should I handle libraries like my prelude.el? - How can I eject this from my mono-repo and dotfiles? See the TODOs scattered throughout the module for an idea of the remaining work. I'd estimate that there's about one to three more hours of work.
2020-01-17 Support prelude/timeWilliam Carroll1-0/+4
Write macro that wraps Elisp's builtin `benchmark` function. I'm doing this because `prelude/time` more closely resembles the API that I would expect.
2020-01-17 Drop support for clipmon.elWilliam Carroll1-44/+0
I prefer cdown/clipmenu. Forthcoming is an ivy/counsel (I never know which word to use) client for clipmenud!
2020-01-17 Support region.elWilliam Carroll1-0/+20
Create a module for working with Emacs's regions.
2020-01-17 Support finance.elWilliam Carroll1-0/+119
Create a finance module to help me cheaply calculate things like the future value of a Spotify subscription or Dropbox subscription or Jiu Jitsu membership.
2020-01-17 Prefer simpler window layout for Org workspaceWilliam Carroll1-3/+1
Prefer only seeing today.org in my Org workspace.
2020-01-17 Drop alias erWilliam Carroll1-1/+0
I think when I was writing this, I needed a quick way to edit my dotfile's README. I haven't used it since then, so in the interest of trimming fat, I'm removing it.
2020-01-17 Support direnvWilliam Carroll6-9/+6
DRY up environment variable definition by using direnv and an .envrc file.
2020-01-17 Support Solarized Light themeWilliam Carroll4-24/+11
I'm also making this my default theme for now. I'm growing a bit tired of randomly assigning themes, since my `terminator` theme is not coupled to my Emacs theme.
2020-01-17 Support keybindings for using 4k monitorWilliam Carroll1-0/+10
I'm not sure I'm sold on the "D{0,1}" keybindings. The thought was that 0 would indicate off and 1 would indicate on. This seems sensible to me. I'm hesitant because I don't think I have precedent for this idiom in any of my existing keybindings. I'm also not sure I like these being leader-prefixed keybindings.
2020-01-17 Prefer eval to source for direnv in config.fishWilliam Carroll1-3/+1
Calling `source` on `(direnv hook fish)` was creating startup problems with fish. These problems leaked into a few of my Emacs file-searching commands as well, which was pretty irritating for awhile. I'm still unsure of the differences between `eval` and `source`. I'm moving on for now.
2020-01-17 Debug xrandr integration to support 4k monitorWilliam Carroll2-9/+13
Two things: 1. I'm unsure if what I previously committed ever worked because the arguments to `string/format` were flipped. 2. I'm unsure why my screen devices are sometimes eDP-1 and eDP1. Perhaps expect more commits as this becomes more clear to me.
2020-01-17 Ensure isearch and evil-searches center vertically on the screenWilliam Carroll1-0/+13
I may revert this one day. Checking this in so that one day I can revert it.
2020-01-17 Define light themeWilliam Carroll1-0/+6
Well, we have a lot of dark themes, so in the interest of diversity I now support light themes.
2020-01-17 Reset the custom-file path for EmacsWilliam Carroll1-1/+1
I temporarily set it to /tmp/custom.el while I was in the midst of Nixifying my Emacs setup. Since I'm not Nixified at the moment, I'm reverting this, so that Emacs doesn't ask me the same questions about loading themes every day.
2020-01-17 Configure deadgrepWilliam Carroll1-0/+13
Configuring deadgrep to do a number of things: 1. Set `deadgrep--context` to see more context "after" in the output. 2. Define `deadgrep/dwim` to use a region if one is present; otherwise just behave as `deadgrep`. Warning: This commit relies on a patch I made to deadgrep: supporting the `deadgrep--additional-flags`.
2020-01-17 Blacklist org-mode and fundamental-modeWilliam Carroll1-1/+3
More blacklisted modes in my crusade to define what a "source code buffer" is.
2020-01-17 Define KBD for killing buffersWilliam Carroll1-3/+4
I'm tired of `C-x k`. That's right... my fingers hurt.
2020-01-17 Support additional magit modes in buffer/source-code-blacklistWilliam Carroll1-1/+5
I'm sure I'll discover more modes that I'd like to blacklist; I just haven't encountered them yet.
2020-01-17 Refactor MRU EXWM workspace using cycle/focus-previous!William Carroll2-22/+35
Instead of consuming `cycle/previous-focus`, define a function `cycle/focus-previous!` that "focuses" the element at `previous-index` and returns that element. This function greatly simplified the code in window-manager.el and eliminated the unnecessary `exwm/previous-workspace` variable that was managing the state.
2020-01-17 Cover struct.elWilliam Carroll1-3/+20
Add some basic test coverage to struct.el.
2020-01-17 Support cycle/previous-focusWilliam Carroll1-20/+56
Define a `cycle/previous-focus` function that returns the item that was previously "focused" in the cycle. This is helpful for toggling back-and-forth between buffers and EXWM workspaces for example without needing to define ad-hoc variables to support it. Also: Adds tests to cycle.el. Also: Prefers `struct/set!` instead of `setf`. See the previous commit's message for more information about that preference.
2020-01-17 Prefer struct/set! to setfWilliam Carroll1-4/+9
I originally tried using `struct/set` instead of `setf`, which I had forgotten was the *immutable* version of `struct/set!`. When this didn't work, I reverted to `setf`. After a good night's sleep and with a fresh set of eyes, I dug into the issue and discovered that `struct/set!` was what I wanted the whole. I am curious now about `struct/update` versus `struct/update!`; shouldn't the former be immutable and the latter be mutable? I'll save that investigation for a later date.
2020-01-17 Add missing dependency to set.elWilliam Carroll1-0/+1
I had startup problems without the struct.el module being required since set.el consumes `struct/update`.
2020-01-17 Support functions for navigating buffer cachesWilliam Carroll2-4/+138
I've wanted an MRU/LRU sort of my "source code buffers" in Emacs. This commit support three ways for working with a cache of source code buffers. So first, what's a source code buffer? Well it isn't a buffer like *Messages*; we can call these "Emacs-generated" buffers for convenience. Other problematic buffers are buffers like `magit-status` and `dired-mode` and `erc` buffers. I added some predicates for querying buffers for their major modes. Supporting three KBDs for quickly accessing these functions: 1. <SPC><SPC> Toggle previous buffer 2. <SPC>b Use ivy to fuzzily search source code buffers 3. C-{f,b} Cycle {forwards,backwards} through the source code buffer cache.
2020-01-17 Support KBDs for quickly editing common dotfilesWilliam Carroll1-1/+4
I had forgotten that I defined <SPC>J. Maybe I should switch to using Hydras or transient mode to improve the discoverability of my own setup... well in the spirit of support things that I will likely forget, here's a new KBD for editing config files in the `~/.config` directory.
2020-01-17 Support utils for finding Emacs dotfiles and Org filesWilliam Carroll3-11/+53
Defined `dotfiles/find-emacs-file` and `org-helpers/find-file`, to clean up some of the `find-file` calls I have with long path names. This DRYs things up as well so that the path can be changed without breaking many other things.
2020-01-17 Support xsessionrc and config.fish in dotfiles.elWilliam Carroll1-0/+2
Add entries for xsessionrc and config for the `dotfiles/edit` function.
2020-01-17 Install ts.el for timestamp functions in ElispWilliam Carroll1-0/+5
I've been looking for this! Thank you, @alphapapa.
2020-01-17 Install prism for scope-highlighting > syntax highlightingWilliam Carroll3-0/+19
I've wanted a library like this ever since I saw Douglas Crockford's JS talk about scope highlighting as a more useful alternative to syntax highlighting.
2020-01-17 Revert Nixified Emacs configurationWilliam Carroll2-12/+6
I attempted to Nixify my Emacs over winter break. I made some meaningful progress, but not enough progress to use my Nixified Emacs setup. Since Emacs is my primary editor and my window manager at work and at home, having a partially baked setup is untenable at the moment. Reverting these changes so that I can get on with my work, but checking them in so that I can pick up where I left off one day.
2020-01-17 WIP: Nixify Emacs setupWilliam Carroll4-5/+155
The things that I dislike about this setup are: 1. `xref-find-definitions` takes me to `/nix/store`, which is a read-only version of the source code, so I cannot edit it, which doesn't feel lispy. 2. I need to rebuild the derivation when I change something, which also doesn't feel lispy. There are ways to circumvent both of these drawbacks, but for now, I'm checking this in only to later revert it.
2020-01-17 Nixify fish configurationWilliam Carroll4-31/+500
This isn't 100% usable, but it works. You can build it with `nix-env` and then run it with `wpcarros-fish`.
2020-01-06 Define nix_find command in fishWilliam Carroll1-0/+4
Defining a function for outputting the /nix/store path to a package built with Nix.
2020-01-06 Support Wall-E themeWilliam Carroll2-1/+7
Add Wall-E theme to consume the latest `doom-material` theme.
2020-01-06 Support EXWM workspace for IRCWilliam Carroll1-7/+35
Supporting this since my chat workspace is already a bit populous.
2020-01-06 Debug lt ZSH functionWilliam Carroll1-1/+1
Change `-all` to `--all`.
2020-01-06 Support lispyville KBDsWilliam Carroll1-3/+4
After deciding to support the `C-s-` prefix for lispyville KBDs, I'm re-introducing support for: - `lispyville-drag-backward` - `lispyville-drag-forward` - `lispyville-end-of-defun` - `lispyville-beginning-of-defun`
2020-01-06 Decrease default font size on laptopWilliam Carroll1-1/+1
See diff for more information.
2020-01-06 Support Freenode IRCWilliam Carroll2-17/+113
Previously my ERC setup just supported Google's internal IRC. Now I have Freenode for things like #nixos, #emacs. This complicated my KBDs for cycling through IRC channels since certain channels only exist on certain servers. To remedy this, I introduced a temporary solution that looks up the server given a particular channel. This isn't ideal, but it works for now.
2020-01-06 Support set/{reduce,intersection,equal?,distinct?}William Carroll1-16/+66
Adds additional functions for the set.el module. See the function documentation and tests for more information.
2020-01-06 Support pasting in read-expression-mapWilliam Carroll1-0/+6
This was something small that has been slightly bothering me for a *very* long time. Now it's fixed!
2020-01-06 Prefer variadic cycle/newWilliam Carroll1-2/+2
TODO: Ensure all */new functions in my Elisp library share this API.