dev: merging from main

This commit is contained in:
Matt Nish-Lapidus 2024-07-01 10:51:39 -04:00
commit 5b6bb0b064
24 changed files with 213 additions and 666 deletions

20
.doomrc
View file

@ -19,20 +19,24 @@
(after! doom-cli-make (after! doom-cli-make
;;; Codeowners ;;; Codeowners
(dolist (path (doom-module-load-path (list doom-modules-dir))) ;; I will be the default owner for everything in the repo unless a later match
;; I will be the default owner for everything in the repo unless a later ;; takes precedence.
;; match takes precedence.
(add-to-list 'doom-make-codeowners "# The default owner(s) unless another takes precedence") (add-to-list 'doom-make-codeowners "# The default owner(s) unless another takes precedence")
(add-to-list 'doom-make-codeowners '("*" . "@doomemacs/maintainers")) (add-to-list 'doom-make-codeowners '("*" . "@doomemacs/maintainers"))
;; Module maintainers (see https://git.doomemacs.org/teams) ;; Module maintainers (see https://git.doomemacs.org/teams)
(save-match-data
(add-to-list 'doom-make-codeowners "# Module maintainers") (add-to-list 'doom-make-codeowners "# Module maintainers")
(when (string-match "/modules/\\([^/]+\\)/\\([^/]+\\)/$" path) (save-match-data
(push (cons (substring (match-string 0 path) 1) (setq doom-make-codeowners
(nreverse
(append doom-make-codeowners
(cl-sort
(cl-loop for path in (doom-module-load-path (list doom-modules-dir))
if (string-match "/modules/\\([^/]+\\)/\\([^/]+\\)$" path)
collect (cons (substring (match-string 0 path) 1)
(format "@doomemacs/%s-%s" (format "@doomemacs/%s-%s"
(match-string 1 path) (match-string 1 path)
(match-string 2 path))) (match-string 2 path))))
doom-make-codeowners))))) #'string-lessp :key #'car))))))
;;; Helpers ;;; Helpers
(defun ci-check-module-scope (scope _plist) (defun ci-check-module-scope (scope _plist)

314
.github/CODEOWNERS vendored
View file

@ -2,163 +2,165 @@
# Each line is a file pattern followed by one or more owners. # Each line is a file pattern followed by one or more owners.
# This file was generated by 'doom make codeowners', do not edit it by hand. # This file was generated by 'doom make codeowners', do not edit it by hand.
# The default owner(s) unless another takes precedence # Module maintainers
* @doomemacs/maintainers * @doomemacs/maintainers
# Module maintainers # The default owner(s) unless another takes precedence
modules/app/calendar/ @doomemacs/app-calendar modules/app/calendar @doomemacs/app-calendar
modules/app/emms/ @doomemacs/app-emms modules/app/emms @doomemacs/app-emms
modules/app/everywhere/ @doomemacs/app-everywhere modules/app/everywhere @doomemacs/app-everywhere
modules/app/irc/ @doomemacs/app-irc modules/app/irc @doomemacs/app-irc
modules/app/rss/ @doomemacs/app-rss modules/app/rss @doomemacs/app-rss
modules/app/twitter/ @doomemacs/app-twitter modules/checkers/grammar @doomemacs/checkers-grammar
modules/checkers/grammar/ @doomemacs/checkers-grammar modules/checkers/spell @doomemacs/checkers-spell
modules/checkers/spell/ @doomemacs/checkers-spell modules/checkers/syntax @doomemacs/checkers-syntax
modules/checkers/syntax/ @doomemacs/checkers-syntax modules/completion/company @doomemacs/completion-company
modules/completion/company/ @doomemacs/completion-company modules/completion/corfu @doomemacs/completion-corfu
modules/completion/helm/ @doomemacs/completion-helm modules/completion/helm @doomemacs/completion-helm
modules/completion/ido/ @doomemacs/completion-ido modules/completion/ido @doomemacs/completion-ido
modules/completion/ivy/ @doomemacs/completion-ivy modules/completion/ivy @doomemacs/completion-ivy
modules/completion/vertico/ @doomemacs/completion-vertico modules/completion/vertico @doomemacs/completion-vertico
modules/config/default/ @doomemacs/config-default modules/config/default @doomemacs/config-default
modules/config/literate/ @doomemacs/config-literate modules/config/literate @doomemacs/config-literate
modules/editor/evil/ @doomemacs/editor-evil modules/config/use-package @doomemacs/config-use-package
modules/editor/file-templates/ @doomemacs/editor-file-templates modules/core/cli @doomemacs/core-cli
modules/editor/fold/ @doomemacs/editor-fold modules/core/defaults @doomemacs/core-defaults
modules/editor/format/ @doomemacs/editor-format modules/editor/evil @doomemacs/editor-evil
modules/editor/god/ @doomemacs/editor-god modules/editor/file-templates @doomemacs/editor-file-templates
modules/editor/lispy/ @doomemacs/editor-lispy modules/editor/fold @doomemacs/editor-fold
modules/editor/multiple-cursors/ @doomemacs/editor-multiple-cursors modules/editor/format @doomemacs/editor-format
modules/editor/objed/ @doomemacs/editor-objed modules/editor/god @doomemacs/editor-god
modules/editor/parinfer/ @doomemacs/editor-parinfer modules/editor/lispy @doomemacs/editor-lispy
modules/editor/rotate-text/ @doomemacs/editor-rotate-text modules/editor/multiple-cursors @doomemacs/editor-multiple-cursors
modules/editor/snippets/ @doomemacs/editor-snippets modules/editor/objed @doomemacs/editor-objed
modules/editor/word-wrap/ @doomemacs/editor-word-wrap modules/editor/parinfer @doomemacs/editor-parinfer
modules/emacs/dired/ @doomemacs/emacs-dired modules/editor/rotate-text @doomemacs/editor-rotate-text
modules/emacs/electric/ @doomemacs/emacs-electric modules/editor/snippets @doomemacs/editor-snippets
modules/emacs/ibuffer/ @doomemacs/emacs-ibuffer modules/editor/word-wrap @doomemacs/editor-word-wrap
modules/emacs/tramp/ @doomemacs/emacs-tramp modules/emacs/dired @doomemacs/emacs-dired
modules/emacs/undo/ @doomemacs/emacs-undo modules/emacs/electric @doomemacs/emacs-electric
modules/emacs/vc/ @doomemacs/emacs-vc modules/emacs/ibuffer @doomemacs/emacs-ibuffer
modules/email/mu4e/ @doomemacs/email-mu4e modules/emacs/tramp @doomemacs/emacs-tramp
modules/email/notmuch/ @doomemacs/email-notmuch modules/emacs/undo @doomemacs/emacs-undo
modules/email/wanderlust/ @doomemacs/email-wanderlust modules/emacs/vc @doomemacs/emacs-vc
modules/input/bidi/ @doomemacs/input-bidi modules/email/mu4e @doomemacs/email-mu4e
modules/input/chinese/ @doomemacs/input-chinese modules/email/notmuch @doomemacs/email-notmuch
modules/input/japanese/ @doomemacs/input-japanese modules/email/wanderlust @doomemacs/email-wanderlust
modules/input/layout/ @doomemacs/input-layout modules/input/bidi @doomemacs/input-bidi
modules/lang/agda/ @doomemacs/lang-agda modules/input/chinese @doomemacs/input-chinese
modules/lang/beancount/ @doomemacs/lang-beancount modules/input/japanese @doomemacs/input-japanese
modules/lang/cc/ @doomemacs/lang-cc modules/input/layout @doomemacs/input-layout
modules/lang/clojure/ @doomemacs/lang-clojure modules/lang/agda @doomemacs/lang-agda
modules/lang/common-lisp/ @doomemacs/lang-common-lisp modules/lang/beancount @doomemacs/lang-beancount
modules/lang/coq/ @doomemacs/lang-coq modules/lang/cc @doomemacs/lang-cc
modules/lang/crystal/ @doomemacs/lang-crystal modules/lang/clojure @doomemacs/lang-clojure
modules/lang/csharp/ @doomemacs/lang-csharp modules/lang/common-lisp @doomemacs/lang-common-lisp
modules/lang/dart/ @doomemacs/lang-dart modules/lang/coq @doomemacs/lang-coq
modules/lang/data/ @doomemacs/lang-data modules/lang/crystal @doomemacs/lang-crystal
modules/lang/dhall/ @doomemacs/lang-dhall modules/lang/csharp @doomemacs/lang-csharp
modules/lang/elixir/ @doomemacs/lang-elixir modules/lang/dart @doomemacs/lang-dart
modules/lang/elm/ @doomemacs/lang-elm modules/lang/data @doomemacs/lang-data
modules/lang/emacs-lisp/ @doomemacs/lang-emacs-lisp modules/lang/dhall @doomemacs/lang-dhall
modules/lang/erlang/ @doomemacs/lang-erlang modules/lang/elixir @doomemacs/lang-elixir
modules/lang/ess/ @doomemacs/lang-ess modules/lang/elm @doomemacs/lang-elm
modules/lang/factor/ @doomemacs/lang-factor modules/lang/emacs-lisp @doomemacs/lang-emacs-lisp
modules/lang/faust/ @doomemacs/lang-faust modules/lang/erlang @doomemacs/lang-erlang
modules/lang/fortran/ @doomemacs/lang-fortran modules/lang/ess @doomemacs/lang-ess
modules/lang/fsharp/ @doomemacs/lang-fsharp modules/lang/factor @doomemacs/lang-factor
modules/lang/fstar/ @doomemacs/lang-fstar modules/lang/faust @doomemacs/lang-faust
modules/lang/gdscript/ @doomemacs/lang-gdscript modules/lang/fortran @doomemacs/lang-fortran
modules/lang/go/ @doomemacs/lang-go modules/lang/fsharp @doomemacs/lang-fsharp
modules/lang/graphql/ @doomemacs/lang-graphql modules/lang/fstar @doomemacs/lang-fstar
modules/lang/haskell/ @doomemacs/lang-haskell modules/lang/gdscript @doomemacs/lang-gdscript
modules/lang/hy/ @doomemacs/lang-hy modules/lang/go @doomemacs/lang-go
modules/lang/idris/ @doomemacs/lang-idris modules/lang/graphql @doomemacs/lang-graphql
modules/lang/java/ @doomemacs/lang-java modules/lang/haskell @doomemacs/lang-haskell
modules/lang/javascript/ @doomemacs/lang-javascript modules/lang/hy @doomemacs/lang-hy
modules/lang/json/ @doomemacs/lang-json modules/lang/idris @doomemacs/lang-idris
modules/lang/julia/ @doomemacs/lang-julia modules/lang/janet @doomemacs/lang-janet
modules/lang/kotlin/ @doomemacs/lang-kotlin modules/lang/java @doomemacs/lang-java
modules/lang/latex/ @doomemacs/lang-latex modules/lang/javascript @doomemacs/lang-javascript
modules/lang/lean/ @doomemacs/lang-lean modules/lang/json @doomemacs/lang-json
modules/lang/ledger/ @doomemacs/lang-ledger modules/lang/julia @doomemacs/lang-julia
modules/lang/lua/ @doomemacs/lang-lua modules/lang/kotlin @doomemacs/lang-kotlin
modules/lang/markdown/ @doomemacs/lang-markdown modules/lang/latex @doomemacs/lang-latex
modules/lang/nim/ @doomemacs/lang-nim modules/lang/lean @doomemacs/lang-lean
modules/lang/nix/ @doomemacs/lang-nix modules/lang/ledger @doomemacs/lang-ledger
modules/lang/ocaml/ @doomemacs/lang-ocaml modules/lang/lua @doomemacs/lang-lua
modules/lang/org/ @doomemacs/lang-org modules/lang/markdown @doomemacs/lang-markdown
modules/lang/php/ @doomemacs/lang-php modules/lang/nim @doomemacs/lang-nim
modules/lang/plantuml/ @doomemacs/lang-plantuml modules/lang/nix @doomemacs/lang-nix
modules/lang/purescript/ @doomemacs/lang-purescript modules/lang/ocaml @doomemacs/lang-ocaml
modules/lang/python/ @doomemacs/lang-python modules/lang/org @doomemacs/lang-org
modules/lang/qt/ @doomemacs/lang-qt modules/lang/php @doomemacs/lang-php
modules/lang/racket/ @doomemacs/lang-racket modules/lang/plantuml @doomemacs/lang-plantuml
modules/lang/raku/ @doomemacs/lang-raku modules/lang/purescript @doomemacs/lang-purescript
modules/lang/rest/ @doomemacs/lang-rest modules/lang/python @doomemacs/lang-python
modules/lang/rst/ @doomemacs/lang-rst modules/lang/qt @doomemacs/lang-qt
modules/lang/ruby/ @doomemacs/lang-ruby modules/lang/racket @doomemacs/lang-racket
modules/lang/rust/ @doomemacs/lang-rust modules/lang/raku @doomemacs/lang-raku
modules/lang/scala/ @doomemacs/lang-scala modules/lang/rest @doomemacs/lang-rest
modules/lang/scheme/ @doomemacs/lang-scheme modules/lang/rst @doomemacs/lang-rst
modules/lang/sh/ @doomemacs/lang-sh modules/lang/ruby @doomemacs/lang-ruby
modules/lang/sml/ @doomemacs/lang-sml modules/lang/rust @doomemacs/lang-rust
modules/lang/solidity/ @doomemacs/lang-solidity modules/lang/scala @doomemacs/lang-scala
modules/lang/swift/ @doomemacs/lang-swift modules/lang/scheme @doomemacs/lang-scheme
modules/lang/terra/ @doomemacs/lang-terra modules/lang/sh @doomemacs/lang-sh
modules/lang/web/ @doomemacs/lang-web modules/lang/sml @doomemacs/lang-sml
modules/lang/yaml/ @doomemacs/lang-yaml modules/lang/solidity @doomemacs/lang-solidity
modules/lang/zig/ @doomemacs/lang-zig modules/lang/swift @doomemacs/lang-swift
modules/os/macos/ @doomemacs/os-macos modules/lang/terra @doomemacs/lang-terra
modules/os/tty/ @doomemacs/os-tty modules/lang/web @doomemacs/lang-web
modules/term/eshell/ @doomemacs/term-eshell modules/lang/yaml @doomemacs/lang-yaml
modules/term/shell/ @doomemacs/term-shell modules/lang/zig @doomemacs/lang-zig
modules/term/term/ @doomemacs/term-term modules/os/macos @doomemacs/os-macos
modules/term/vterm/ @doomemacs/term-vterm modules/os/tty @doomemacs/os-tty
modules/tools/ansible/ @doomemacs/tools-ansible modules/term/eshell @doomemacs/term-eshell
modules/tools/biblio/ @doomemacs/tools-biblio modules/term/shell @doomemacs/term-shell
modules/tools/debugger/ @doomemacs/tools-debugger modules/term/term @doomemacs/term-term
modules/tools/direnv/ @doomemacs/tools-direnv modules/term/vterm @doomemacs/term-vterm
modules/tools/docker/ @doomemacs/tools-docker modules/tools/ansible @doomemacs/tools-ansible
modules/tools/editorconfig/ @doomemacs/tools-editorconfig modules/tools/biblio @doomemacs/tools-biblio
modules/tools/ein/ @doomemacs/tools-ein modules/tools/collab @doomemacs/tools-collab
modules/tools/eval/ @doomemacs/tools-eval modules/tools/debugger @doomemacs/tools-debugger
modules/tools/gist/ @doomemacs/tools-gist modules/tools/direnv @doomemacs/tools-direnv
modules/tools/lookup/ @doomemacs/tools-lookup modules/tools/docker @doomemacs/tools-docker
modules/tools/lsp/ @doomemacs/tools-lsp modules/tools/editorconfig @doomemacs/tools-editorconfig
modules/tools/magit/ @doomemacs/tools-magit modules/tools/ein @doomemacs/tools-ein
modules/tools/make/ @doomemacs/tools-make modules/tools/eval @doomemacs/tools-eval
modules/tools/pass/ @doomemacs/tools-pass modules/tools/lookup @doomemacs/tools-lookup
modules/tools/pdf/ @doomemacs/tools-pdf modules/tools/lsp @doomemacs/tools-lsp
modules/tools/prodigy/ @doomemacs/tools-prodigy modules/tools/magit @doomemacs/tools-magit
modules/tools/rgb/ @doomemacs/tools-rgb modules/tools/make @doomemacs/tools-make
modules/tools/taskrunner/ @doomemacs/tools-taskrunner modules/tools/pass @doomemacs/tools-pass
modules/tools/terraform/ @doomemacs/tools-terraform modules/tools/pdf @doomemacs/tools-pdf
modules/tools/tmux/ @doomemacs/tools-tmux modules/tools/prodigy @doomemacs/tools-prodigy
modules/tools/tree-sitter/ @doomemacs/tools-tree-sitter modules/tools/terraform @doomemacs/tools-terraform
modules/tools/upload/ @doomemacs/tools-upload modules/tools/tmux @doomemacs/tools-tmux
modules/ui/deft/ @doomemacs/ui-deft modules/tools/tree-sitter @doomemacs/tools-tree-sitter
modules/ui/doom/ @doomemacs/ui-doom modules/tools/upload @doomemacs/tools-upload
modules/ui/doom-dashboard/ @doomemacs/ui-doom-dashboard modules/ui/deft @doomemacs/ui-deft
modules/ui/doom-quit/ @doomemacs/ui-doom-quit modules/ui/doom @doomemacs/ui-doom
modules/ui/emoji/ @doomemacs/ui-emoji modules/ui/doom-dashboard @doomemacs/ui-doom-dashboard
modules/ui/hl-todo/ @doomemacs/ui-hl-todo modules/ui/doom-quit @doomemacs/ui-doom-quit
modules/ui/hydra/ @doomemacs/ui-hydra modules/ui/emoji @doomemacs/ui-emoji
modules/ui/indent-guides/ @doomemacs/ui-indent-guides modules/ui/hl-todo @doomemacs/ui-hl-todo
modules/ui/ligatures/ @doomemacs/ui-ligatures modules/ui/hydra @doomemacs/ui-hydra
modules/ui/minimap/ @doomemacs/ui-minimap modules/ui/indent-guides @doomemacs/ui-indent-guides
modules/ui/modeline/ @doomemacs/ui-modeline modules/ui/ligatures @doomemacs/ui-ligatures
modules/ui/nav-flash/ @doomemacs/ui-nav-flash modules/ui/minimap @doomemacs/ui-minimap
modules/ui/neotree/ @doomemacs/ui-neotree modules/ui/modeline @doomemacs/ui-modeline
modules/ui/ophints/ @doomemacs/ui-ophints modules/ui/nav-flash @doomemacs/ui-nav-flash
modules/ui/popup/ @doomemacs/ui-popup modules/ui/neotree @doomemacs/ui-neotree
modules/ui/tabs/ @doomemacs/ui-tabs modules/ui/ophints @doomemacs/ui-ophints
modules/ui/treemacs/ @doomemacs/ui-treemacs modules/ui/popup @doomemacs/ui-popup
modules/ui/unicode/ @doomemacs/ui-unicode modules/ui/tabs @doomemacs/ui-tabs
modules/ui/vc-gutter/ @doomemacs/ui-vc-gutter modules/ui/treemacs @doomemacs/ui-treemacs
modules/ui/vi-tilde-fringe/ @doomemacs/ui-vi-tilde-fringe modules/ui/unicode @doomemacs/ui-unicode
modules/ui/window-select/ @doomemacs/ui-window-select modules/ui/vc-gutter @doomemacs/ui-vc-gutter
modules/ui/workspaces/ @doomemacs/ui-workspaces modules/ui/vi-tilde-fringe @doomemacs/ui-vi-tilde-fringe
modules/ui/zen/ @doomemacs/ui-zen modules/ui/window-select @doomemacs/ui-window-select
modules/ui/workspaces @doomemacs/ui-workspaces
modules/ui/zen @doomemacs/ui-zen
# End of CODEOWNERS # End of CODEOWNERS

View file

@ -54,7 +54,7 @@ OPTIONS:
(dolist (entry (nreverse doom-make-codeowners)) (dolist (entry (nreverse doom-make-codeowners))
(if (stringp entry) (if (stringp entry)
(insert "\n" entry "\n") (insert "\n" entry "\n")
(insert (car entry) " " (cdr entry) "\n"))) (insert (format "%-35s %s" (car entry) (cdr entry)) "\n")))
(insert "\n# End of CODEOWNERS") (insert "\n# End of CODEOWNERS")
(setq indent-tabs-mode nil) ; align w/ spaces, not tabs (setq indent-tabs-mode nil) ; align w/ spaces, not tabs
(align-regexp (point-min) (point-max) "/\\(\\s-+\\)@" 1) (align-regexp (point-min) (point-max) "/\\(\\s-+\\)@" 1)

View file

@ -201,7 +201,7 @@
"Current version of Doom Emacs core.") "Current version of Doom Emacs core.")
;; DEPRECATED: Remove these when the modules are moved out of core. ;; DEPRECATED: Remove these when the modules are moved out of core.
(defconst doom-modules-version "24.07.0-pre" (defconst doom-modules-version "24.08.0-pre"
"Current version of Doom Emacs.") "Current version of Doom Emacs.")
(defvar doom-init-time nil (defvar doom-init-time nil

View file

@ -1,106 +0,0 @@
#+title: :app twitter
#+subtitle: Be superficial in plain text
#+created: October 11, 2019
#+since: 2.0.0
#+begin_quote
*This module is deprecated.* Changes upstream to Twitter's API has rendered
twittering-mode non-functional, and there is no known alternative.
#+end_quote
* Description :unfold:
Enjoy twitter from emacs.
- View various timelines side by side, e.g. user's timeline, home, etc.
- Post new tweets
- Send direct messages
- Retweet
- Follow and un-follow users
- Favorite tweets
** Maintainers
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
** Module flags
/This module has no flags./
** Packages
- [[doom-package:avy]]
- [[doom-package:twittering-mode]]
** Hacks
/No hacks documented for this module./
** TODO Changelog
# This section will be machine generated. Don't edit it by hand.
/This module does not have a changelog yet./
* Installation
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
This module requires:
- One of the following (for SSL connections; required by Twitter's API):
- [[http://curl.haxx.se/][cURL]]
- [[http://www.gnu.org/software/wget/][GNU Wget]]
- [[http://www.openssl.org/][OpenSSL]]
- [[http://www.gnu.org/software/gnutls/][GnuTLS]]
- [[http://www.gnupg.org/][GnuPG]], for encrypting the OAuth token, stored locally.
- [[http://www.gzip.org/][gzip]], for compressing retrieved profile pictures,
- [[http://www.imagemagick.org/][ImageMagick]], for displaying and resizing profile pictures.
Build Emacs with ImageMagick support using the ~--with-imagemagick~ flag ([[https://git.savannah.gnu.org/cgit/emacs.git/tree/INSTALL][how
to build Emacs from source]]).
* TODO Usage
#+begin_quote
󱌣 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
#+end_quote
* TODO Configuration
#+begin_quote
󱌣 /This module's configuration documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
#+end_quote
** Commands & Keybindings
Here is a list of available commands and their default keybindings (defined in
[[./config.el][config.el]]):
| command | key / ex command | description |
|---------------------+------------------+-------------------------------------------------------------|
| ~+twitter/quit~ | [[kbd:][q]] | Close current window |
| ~+twitter/quit-all~ | [[kbd:][Q]] | Close all twitter windows and buffers, and delete workspace |
And when [[doom-module::editor evil +everywhere]] is active:
| command | key / ex command | description |
|--------------------------------------------------+------------------+------------------------------------------------------------------|
| ~twittering-favorite~ | [[kbd:][f]] | Favorite/Like a tweet |
| ~twittering-unfavorite~ | [[kbd:][F]] | Un-favorite/Un-like a tweet |
| ~twittering-follow~ | [[kbd:][C-f]] | Follow user |
| ~twittering-unfollow~ | [[kbd:][C-F]] | Un-follow user |
| ~twittering-delete-status~ | [[kbd:][d]] | Delete a tweet |
| ~twittering-retweet~ | [[kbd:][r]] | Retweet |
| ~twittering-toggle-or-retrieve-replied-statuses~ | [[kbd:][R]] | Toggle or retrieve replies |
| ~twittering-update-status-interactive~ | [[kbd:][o]] | Update tweets |
| ~+twitter/ace-link~ | [[kbd:][O]] | Open some visible link from a ~twittering-mode~ buffer using ace |
| ~twittering-search~ | [[kbd:][/]] | Search |
| ~twittering-goto-next-status~ | [[kbd:][J]] | Go to next tweet |
| ~twittering-goto-previous-status~ | [[kbd:][K]] | Go to previous tweet |
| ~twittering-goto-first-status~ | [[kbd:][gg]] | Go to first tweet |
| ~twittering-goto-last-status~ | [[kbd:][G]] | Go to last tweet |
| ~twittering-goto-next-status-of-user~ | [[kbd:][gj]] | Go to next tweet of user |
| ~twittering-goto-previous-status-of-user)))~ | [[kbd:][gk]] | Go to previous tweet of user |
* Troubleshooting
[[doom-report:][Report an issue?]]
** ~twittering-mode~ overrides the [[kbd:][SPC]] key
Currently ~twittering-mode~ binds [[kbd:][SPC]], breaking its functionality as a leader
key for evil users. To work around this issue you may use [[kbd:][M-SPC]] instead.
* Frequently asked questions
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
* TODO Appendix
#+begin_quote
󱌣 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
#+end_quote

View file

@ -1,104 +0,0 @@
;;; app/twitter/autoload.el -*- lexical-binding: t; -*-
(defvar +twitter-workspace-name "*Twitter*"
"The name to use for the twitter workspace.")
;;;###autoload
(defun +twitter-display-buffer-fn (buf)
"A replacement display-buffer command for `twittering-pop-to-buffer-function'
that works with the ui/popup module."
(let ((win (selected-window)))
(display-buffer buf)
;; This is required because the new window generated by `pop-to-buffer'
;; may hide the region following the current position.
(twittering-ensure-whole-of-status-is-visible win)))
;;;###autoload
(defun +twitter-buffer-p (buf)
"Return non-nil if BUF is a `twittering-mode' buffer."
(eq 'twittering-mode (buffer-local-value 'major-mode buf)))
;;
;; Commands
(defvar +twitter--old-wconf nil)
;;;###autoload
(defun =twitter (arg)
"Opens a workspace dedicated to `twittering-mode'."
(interactive "P")
(condition-case _
(progn
(if (and (not arg) (modulep! :ui workspaces))
(+workspace/new +twitter-workspace-name)
(setq +twitter--old-wconf (current-window-configuration))
(delete-other-windows)
(switch-to-buffer (doom-fallback-buffer)))
(call-interactively #'twit)
(unless (get-buffer (car twittering-initial-timeline-spec-string))
(error "Failed to open twitter"))
(switch-to-buffer (car twittering-initial-timeline-spec-string))
(dolist (name (cdr twittering-initial-timeline-spec-string))
(split-window-horizontally)
(switch-to-buffer name))
(balance-windows)
(call-interactively #'+twitter/rerender-all))
('error (+twitter/quit-all))))
;;;###autoload
(defun +twitter/quit ()
"Close the current `twitter-mode' buffer."
(interactive)
(when (eq major-mode 'twittering-mode)
(twittering-kill-buffer)
(cond ((one-window-p) (+twitter/quit-all))
((modulep! :ui workspaces)
(+workspace/close-window-or-workspace))
((delete-window)))))
;;;###autoload
(defun +twitter/quit-all ()
"Close all open `twitter-mode' buffers and the associated workspace, if any."
(interactive)
(when (modulep! :ui workspaces)
(+workspace/delete +twitter-workspace-name))
(when +twitter--old-wconf
(set-window-configuration +twitter--old-wconf)
(setq +twitter--old-wconf nil))
(dolist (buf (doom-buffers-in-mode 'twittering-mode (buffer-list) t))
(twittering-kill-buffer buf)))
;;;###autoload
(defun +twitter/rerender-all ()
"Rerender all `twittering-mode' buffers."
(interactive)
(dolist (buf (doom-buffers-in-mode 'twittering-mode (buffer-list) t))
(with-current-buffer buf
(twittering-rerender-timeline-all buf)
(setq-local line-spacing 0.2)
(goto-char (point-min)))))
;;;###autoload
(defun +twitter/ace-link ()
"Open a visible link, username or hashtag in a `twittering-mode' buffer."
(interactive)
(require 'avy)
;; REVIEW Is this necessary anymore with `link-hint'
(let ((pt (avy-with +twitter/ace-link
(avy--process
(+twitter--collect-links)
(avy--style-fn avy-style)))))
(when (number-or-marker-p pt)
(goto-char pt)
(let ((uri (get-text-property (point) 'uri)))
(if uri (browse-url uri))))))
(defun +twitter--collect-links ()
(let ((end (window-end))
points)
(save-excursion
(goto-char (window-start))
(while (and (< (point) end)
(ignore-errors (twittering-goto-next-thing) t))
(push (point) points))
(nreverse points))))

View file

@ -1,76 +0,0 @@
;;; app/twitter/config.el -*- lexical-binding: t; -*-
(use-package! twittering-mode
:commands twit
:config
(setq twittering-private-info-file
(expand-file-name "twittering-mode.gpg" doom-data-dir)
twittering-use-master-password t
twittering-request-confirmation-on-posting t
;; twittering-icon-mode t
;; twittering-use-icon-storage t
;; twittering-icon-storage-file (concat doom-cache-dir "twittering-mode-icons.gz")
;; twittering-convert-fix-size 12
twittering-timeline-header ""
twittering-timeline-footer ""
twittering-edit-skeleton 'inherit-any
twittering-status-format "%FACE[font-lock-function-name-face]{ @%s} %FACE[italic]{%@} %FACE[error]{%FIELD-IF-NONZERO[❤ %d]{favorite_count}} %FACE[warning]{%FIELD-IF-NONZERO[↺ %d]{retweet_count}}
%FOLD[ ]{%FILL{%t}%QT{
%FOLD[ ]{%FACE[font-lock-function-name-face]{@%s}\t%FACE[shadow]{%@}
%FOLD[ ]{%FILL{%t}}
}}}
%FACE[twitter-divider]{ }
"
;; twittering-timeline-spec-alias '()
twittering-initial-timeline-spec-string
'(":home" ":mentions" ":direct_messages"))
(set-popup-rule! "^\\*twittering-edit" :size 15 :ttl nil :quit nil :select t)
(defface twitter-divider
'((((background dark)) (:underline (:color "#141519")))
(((background light)) (:underline (:color "#d3d3d3"))))
"The vertical divider between tweets."
:group 'twittering-mode)
(add-hook 'doom-real-buffer-functions #'+twitter-buffer-p)
(when (modulep! :ui popup)
(setq twittering-pop-to-buffer-function #'+twitter-display-buffer-fn))
;; Custom header-line for twitter buffers
(add-hook! 'twittering-mode-hook
(defun +twitter-switch-mode-and-header-line-h ()
(setq header-line-format mode-line-format
mode-line-format nil)))
;; `epa--decode-coding-string' isn't defined in later versions of Emacs 27
(unless (fboundp 'epa--decode-coding-string)
(defalias 'epa--decode-coding-string #'decode-coding-string))
(define-key! twittering-mode-map
"q" #'+twitter/quit
"Q" #'+twitter/quit-all
[remap twittering-kill-buffer] #'+twitter/quit
[remap delete-window] #'+twitter/quit
[remap +workspace/close-window-or-workspace] #'+twitter/quit)
(when (modulep! :editor evil +everywhere)
(define-key! twittering-mode-map
[remap evil-window-delete] #'+twitter/quit
"f" #'twittering-favorite
"F" #'twittering-unfavorite
"\C-f" #'twittering-follow
"\C-F" #'twittering-unfollow
"d" #'twittering-delete-status
"r" #'twittering-retweet
"R" #'twittering-toggle-or-retrieve-replied-statuses
"o" #'twittering-update-status-interactive
"O" #'+twitter/ace-link
"/" #'twittering-search
"J" #'twittering-goto-next-status
"K" #'twittering-goto-previous-status
"g" nil
"gg" #'twittering-goto-first-status
"G" #'twittering-goto-last-status
"gj" #'twittering-goto-next-status-of-user
"gk" #'twittering-goto-previous-status-of-user)))

View file

@ -1,5 +0,0 @@
;; -*- no-byte-compile: t; -*-
;;; app/twitter/packages.el
(package! twittering-mode :pin "114891e8fdb4f06b1326a6cf795e49c205cf9e29")
(package! avy :pin "be612110cb116a38b8603df367942e2bb3d9bdbe")

View file

@ -25,6 +25,9 @@ This module provides syntax checking and error highlighting, powered by
** Hacks ** Hacks
- If ~lsp-ui-mode~ is active, most of the aesthetic functionality of this module - If ~lsp-ui-mode~ is active, most of the aesthetic functionality of this module
is turned off, as they show the same information. is turned off, as they show the same information.
- If childframes are enabled, and the flycheck childframe is shown, it will be
hidden on the next user input (as well as the default behavior: to hide it the
next time the user is idle for ~flycheck-display-errors-delay~ seconds).
** TODO Changelog ** TODO Changelog
# This section will be machine generated. Don't edit it by hand. # This section will be machine generated. Don't edit it by hand.

View file

@ -74,6 +74,21 @@
(setq flycheck-posframe-warning-prefix "! " (setq flycheck-posframe-warning-prefix "! "
flycheck-posframe-info-prefix "··· " flycheck-posframe-info-prefix "··· "
flycheck-posframe-error-prefix "X ") flycheck-posframe-error-prefix "X ")
;; HACK: Hide the flycheck posframe immediately on the next keypress/user
;; action, otherwise it lingers until the next time the user is idle.
(defun +syntax--flycheck-posframe-hide-h ()
(unless (flycheck-posframe-check-position)
(posframe-hide flycheck-posframe-buffer))
(remove-hook 'post-command-hook #'+syntax--flycheck-posframe-hide-h))
(defadvice! +syntax-hide-posframe-on-next-command-a (fn &rest args)
:around #'flycheck-posframe-show-posframe
(letf! ((defun posframe-show (&rest args)
(add-hook 'post-command-hook #'+syntax--flycheck-posframe-hide-h)
(apply posframe-show args)))
(apply fn args)))
(after! company (after! company
;; Don't display popups if company is open ;; Don't display popups if company is open
(add-hook 'flycheck-posframe-inhibit-functions #'company--active-p)) (add-hook 'flycheck-posframe-inhibit-functions #'company--active-p))

View file

@ -469,15 +469,7 @@
(:when (modulep! :completion ivy) (:when (modulep! :completion ivy)
:desc "Jump to channel" "j" #'+irc/ivy-jump-to-channel) :desc "Jump to channel" "j" #'+irc/ivy-jump-to-channel)
(:when (modulep! :completion vertico) (:when (modulep! :completion vertico)
:desc "Jump to channel" "j" #'+irc/vertico-jump-to-channel))) :desc "Jump to channel" "j" #'+irc/vertico-jump-to-channel))))
;;; <leader> T --- twitter
(:when (modulep! :app twitter)
(:prefix-map ("T" . "twitter")
:desc "Open twitter app" "T" #'=twitter
:desc "Quit twitter" "q" #'+twitter/quit
:desc "Rerender twits" "r" #'+twitter/rerender-all
:desc "Ace link" "l" #'+twitter/ace-link)))
;; ;;

View file

@ -155,14 +155,6 @@ directives. By default, this only recognizes C directives.")
:after-until #'evil-global-marker-p :after-until #'evil-global-marker-p
(and (>= char ?2) (<= char ?9))) (and (>= char ?2) (<= char ?9)))
;; REVIEW Fix #2493: dir-locals cannot target fundamental-mode when evil-mode
;; is active. See hlissner/doom-emacs#2493. Revert this if
;; emacs-evil/evil#1268 is resolved upstream.
(defadvice! +evil--fix-local-vars-a (&rest _)
:before #'turn-on-evil-mode
(when (eq major-mode 'fundamental-mode)
(hack-local-variables)))
;; HACK Invoking helpful from evil-ex throws a "No recursive edit is in ;; HACK Invoking helpful from evil-ex throws a "No recursive edit is in
;; progress" error because, between evil-ex and helpful, ;; progress" error because, between evil-ex and helpful,
;; `abort-recursive-edit' gets called one time too many. ;; `abort-recursive-edit' gets called one time too many.

View file

@ -37,4 +37,8 @@
(defun +lisp/find-file-in-quicklisp () (defun +lisp/find-file-in-quicklisp ()
"Find a file belonging to a library downloaded by Quicklisp." "Find a file belonging to a library downloaded by Quicklisp."
(interactive) (interactive)
(doom-project-find-file "~/quicklisp/dists/")) (doom-project-find-file
(or (cl-loop for dir in +lisp-quicklisp-paths
if (file-directory-p dir)
return (expand-file-name "dists/" dir))
(user-error "Couldn't find your Quicklisp directory (customize `+lisp-quicklisp-paths')"))))

View file

@ -1,5 +1,9 @@
;;; lang/common-lisp/config.el -*- lexical-binding: t; -*- ;;; lang/common-lisp/config.el -*- lexical-binding: t; -*-
(defcustom +lisp-quicklisp-paths '("~/quicklisp" "~/.quicklisp")
"A list of directories to search for Quicklisp's site files."
:type '(repeat directory))
;; `lisp-mode' is loaded at startup. In order to lazy load its config we need to ;; `lisp-mode' is loaded at startup. In order to lazy load its config we need to
;; pretend it isn't loaded ;; pretend it isn't loaded
(defer-feature! lisp-mode) (defer-feature! lisp-mode)

View file

@ -104,6 +104,12 @@
(bound-and-true-p lsp--buffer-deferred) (bound-and-true-p lsp--buffer-deferred)
(not (executable-find python-shell-interpreter t))) (not (executable-find python-shell-interpreter t)))
(anaconda-mode +1)))) (anaconda-mode +1))))
(add-hook! 'eglot-server-initialized-hook
(defun +python-disable-anaconda-mode-h (&rest _)
"Ensure `anaconda-mode' doesn't interfere with `eglot'."
(when (bound-and-true-p anaconda-mode)
(anaconda-mode -1))))
:config :config
(set-company-backend! 'anaconda-mode '(company-anaconda)) (set-company-backend! 'anaconda-mode '(company-anaconda))
(set-lookup-handlers! 'anaconda-mode (set-lookup-handlers! 'anaconda-mode

View file

@ -54,9 +54,6 @@ Can be a list of backends; accepts any value `company-backends' accepts.")
lsp-xml-jar-file (expand-file-name "org.eclipse.lsp4xml-0.3.0-uber.jar" lsp-server-install-dir) lsp-xml-jar-file (expand-file-name "org.eclipse.lsp4xml-0.3.0-uber.jar" lsp-server-install-dir)
lsp-groovy-server-file (expand-file-name "groovy-language-server-all.jar" lsp-server-install-dir)) lsp-groovy-server-file (expand-file-name "groovy-language-server-all.jar" lsp-server-install-dir))
;; REVIEW Remove this once this is fixed upstream.
(add-to-list 'lsp-client-packages 'lsp-racket)
(add-hook! 'doom-escape-hook (add-hook! 'doom-escape-hook
(defun +lsp-signature-stop-maybe-h () (defun +lsp-signature-stop-maybe-h ()
"Close the displayed `lsp-signature'." "Close the displayed `lsp-signature'."

View file

@ -1,61 +0,0 @@
#+title: :tools rgb
#+subtitle: Creating color strings
#+created: May 06, 2020
#+since: 21.12.0
#+begin_quote
*This module is deprecated.* The module is too trivial to warrant a module.
#+end_quote
* Description :unfold:
Highlights color hex values and names with the color itself, and provides tools
to easily modify color values or formats.
** Maintainers
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
** Module flags
/This module has no flags./
** Packages
- [[doom-package:kurecolor]]
- [[doom-package:rainbow-mode]]
** Hacks
/No hacks documented for this module./
* Installation
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
/This module has no external requirements./
* Usage
=rainbow-mode= provides automatic highlighting to hex color codes, and in
relevant modes, color names (e.g. html color names in =css-mode= or LaTeX color
names in =latex-mode=)
=kurecolor= provides commands to easily change the brightness, saturation, and
hue of hex colors (and a useful hydra for this, if =:ui hydra= is enabled), as
well as conversion between hex and css colors
* Configuration
=hl-line-mode= overrides the color highlighting of =rainbow-mode=, limiting the
use of that plugin and on-site color changes using =kurecolor=. To automatically
disable it only when =rainbow-mode= is active, you can add the following hook:
#+begin_src emacs-lisp
;; in $DOOMDIR/config.el
(add-hook! 'rainbow-mode-hook
(hl-line-mode (if rainbow-mode -1 +1)))
#+end_src
* Troubleshooting
/There are no known problems with this module./ [[doom-report:][Report one?]]
* Frequently asked questions
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
* TODO Appendix
#+begin_quote
󱌣 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
#+end_quote

View file

@ -1,14 +0,0 @@
;;; tools/rgb/autoload.el -*- lexical-binding: t; -*-
;;;###if (modulep! :ui hydra)
;;;###autoload (autoload '+rgb/kurecolor-hydra/body "tools/rgb/autoload" nil t)
(defhydra +rgb/kurecolor-hydra (:color pink :hint nil)
"
Inc/Dec _w_/_W_ brightness _d_/_D_ saturation _e_/_E_ hue "
("w" kurecolor-decrease-brightness-by-step)
("W" kurecolor-increase-brightness-by-step)
("d" kurecolor-decrease-saturation-by-step)
("D" kurecolor-increase-saturation-by-step)
("e" kurecolor-decrease-hue-by-step)
("E" kurecolor-increase-hue-by-step)
("q" nil "cancel" :color blue))

View file

@ -1,5 +0,0 @@
;; -*- no-byte-compile: t; -*-
;;; tools/rgb/packages.el
(package! rainbow-mode :pin "0740f31f300982534183a2f60b1918de418a6f2c")
(package! kurecolor :pin "fbf98e1e384dd11bbb5764ae54b36353f0691d1e")

View file

@ -1,61 +0,0 @@
#+title: :tools taskrunner
#+subtitle: Taskrunner for all your projects
#+created: November 09, 2019
#+since: 21.12.0
#+begin_quote
*This module is deprecated.* The module is too trivial and taskrunner is no
longer maintained.
#+end_quote
* Description :unfold:
This module integrates [[doom-package:taskrunner]] into Doom Emacs, which scraps runnable tasks
from build systems like make, gradle, npm and the like.
** Maintainers
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
** Module flags
/This module has no flags./
** Packages
- [[doom-package:emacs-taskrunner]]
- [[doom-package:helm-taskrunner]] if [[doom-module::completion helm]]
- [[doom-package:ivy-taskrunner]] if [[doom-module::completion ivy]]
** Hacks
/No hacks documented for this module./
** TODO Changelog
# This section will be machine generated. Don't edit it by hand.
/This module does not have a changelog yet./
* Installation
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
/This module has no external requirements./
* TODO Usage
#+begin_quote
󱌣 /This module's usage documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
#+end_quote
Keybindings:
| Binding | Description |
| ~p z~ | ~List project tasks~ |
* TODO Configuration
#+begin_quote
󱌣 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
#+end_quote
* Troubleshooting
/There are no known problems with this module./ [[doom-report:][Report one?]]
* Frequently asked questions
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
* TODO Appendix
#+begin_quote
󱌣 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
#+end_quote

View file

@ -1,9 +0,0 @@
;;; app/taskrunner/autoload.el -*- lexical-binding: t; -*-
;;;###autoload
(defun +taskrunner/project-tasks ()
"Invokes `ivy-taskrunner' or `helm-tasksrunner', depending on which is
available."
(interactive)
(cond ((modulep! :completion ivy) (ivy-taskrunner))
((modulep! :completion helm) (helm-taskrunner))))

View file

@ -1,14 +0,0 @@
;;; tools/taskrunner/config.el -*- lexical-binding: t; -*-
(after! taskrunner
(set-popup-rule! taskrunner--buffer-name-regexp :quit t))
(use-package! helm-taskrunner
:when (modulep! :completion helm)
:defer t
:config (helm-taskrunner-minor-mode +1))
(use-package! ivy-taskrunner
:when (modulep! :completion ivy)
:defer t
:config (ivy-taskrunner-minor-mode +1))

View file

@ -1,14 +0,0 @@
;; -*- no-byte-compile: t; -*-
;;; tools/taskrunner/packages.el
(package! taskrunner :pin "716323aff410b4d864d137c9ebe4bbb5b8587f5e")
(when (modulep! :completion helm)
(package! helm-taskrunner
:pin "70ef8117aafdc01a1f06151a82cecb9a2fcf4d32"
:recipe (:host github :repo "emacs-taskrunner/helm-taskrunner")))
(when (modulep! :completion ivy)
(package! ivy-taskrunner
:pin "c731ee6279f65061ef70e79d3818ea1d9678e6da"
:recipe (:host github :repo "emacs-taskrunner/ivy-taskrunner")))

View file

@ -102,8 +102,6 @@
;;pass ; password manager for nerds ;;pass ; password manager for nerds
;;pdf ; pdf enhancements ;;pdf ; pdf enhancements
;;prodigy ; FIXME managing external services & code builders ;;prodigy ; FIXME managing external services & code builders
;;rgb ; creating color strings
;;taskrunner ; taskrunner for all your projects
;;terraform ; infrastructure as code ;;terraform ; infrastructure as code
;;tmux ; an API for interacting with tmux ;;tmux ; an API for interacting with tmux
;;tree-sitter ; syntax and parsing, sitting in a tree... ;;tree-sitter ; syntax and parsing, sitting in a tree...
@ -188,7 +186,6 @@
;;everywhere ; *leave* Emacs!? You must be joking ;;everywhere ; *leave* Emacs!? You must be joking
;;irc ; how neckbeards socialize ;;irc ; how neckbeards socialize
;;(rss +org) ; emacs as an RSS reader ;;(rss +org) ; emacs as an RSS reader
;;twitter ; twitter client https://twitter.com/vnought
:config :config
;;literate ;;literate