[tmux] Update config for new version

This commit is contained in:
2026-04-09 09:50:52 -04:00
parent 5445164b23
commit c1c78e4048
2 changed files with 74 additions and 22 deletions

View File

@ -1,5 +1,9 @@
;;; $DOOMDIR/config.el -*- lexical-binding: t; -*- ;;; $DOOMDIR/config.el -*- lexical-binding: t; -*-
(defun powellc/reload-config ()
(interactive)
(load-file (expand-file-name "config.el" doom-private-dir)))
(setq user-full-name "Colin Powell" (setq user-full-name "Colin Powell"
user-mail-address "colin@unbl.ink") user-mail-address "colin@unbl.ink")
@ -105,7 +109,7 @@
:desc "Open curosr shell" "c" #'powellc/open-opencode-agent :desc "Open curosr shell" "c" #'powellc/open-opencode-agent
:desc "Open Hungryroot shell" "S" #'powellc/open-hr-term) :desc "Open Hungryroot shell" "S" #'powellc/open-hr-term)
(:prefix "g" (:prefix "g"
:desc "PR comments for branch" "c" #'powellc/gh-pr-comments-for-branch)) :desc "PR comments for branch" "p" #'powellc/gh-pr-comments-for-branch))
(defun unfill-paragraph () (defun unfill-paragraph ()
"Takes a multi-line paragraph and makes it into a single line of text." "Takes a multi-line paragraph and makes it into a single line of text."
@ -450,9 +454,8 @@ Returns the ID string."
(request (request
endpoint endpoint
:type "POST" :type "POST"
:headers '(("Content-Type" . "application/json"))
:data (json-encode data) :data (json-encode data)
:headers '(("Authorization" . "Token 58e898c0e88bd6333b1a9e8de82e81f36c4b64e") :headers '(("Authorization" . "Token 58e898c0e88bd6333b1a9e8de82e81f36c4b64e4")
("Content-Type" . "application/json")) ("Content-Type" . "application/json"))
:parser 'json-read :parser 'json-read
:success (cl-function :success (cl-function
@ -460,7 +463,7 @@ Returns the ID string."
(message "Sent TODO: %s" data))) (message "Sent TODO: %s" data)))
:error (cl-function :error (cl-function
(lambda (&rest args &key error-thrown &allow-other-keys) (lambda (&rest args &key error-thrown &allow-other-keys)
(message "Error sending TODO: %S" error-thrown)))))) (message "Error sending TODO: %S with %S" error-thrown args))))))
(org-clock-on-state-change) (org-clock-on-state-change)
))) )))
@ -562,3 +565,58 @@ Always open the result in `eww`."
(setq agent-shell-google-authentication (setq agent-shell-google-authentication
(agent-shell-google-make-authentication (agent-shell-google-make-authentication
:api-key (lambda () (+pass-line1 "work/hungryroot/apikeys/gemini"))))) :api-key (lambda () (+pass-line1 "work/hungryroot/apikeys/gemini")))))
(defun powellc/gh-pr-comments-for-branch ()
"Select a branch via projectile and pull its PR comments into a new buffer."
(interactive)
(require 'projectile)
(let* ((project-root (projectile-project-root))
(default-directory (or project-root default-directory)))
(unless project-root
(user-error "Not in a projectile project"))
(let* ((branch-output (shell-command-to-string "git for-each-ref --format='%(refname:short)' refs/heads/ 2>/dev/null"))
(branches (seq-filter (lambda (s) (and (not (string-empty-p s)) (not (string-prefix-p " " s))))
(split-string branch-output "\n" t))))
(unless branches
(user-error "No branches found"))
(let* ((branch (projectile-completing-read "Select branch:" branches))
(pr-json (shell-command-to-string
(format "gh pr list --state all --json id,number,title,headRefName 2>/dev/null")))
(pr-list (ignore-errors (mapcar #'json-parse-object (json-read-from-string pr-json))))
(matching-pr (seq-find (lambda (pr) (string= (alist-get 'headRefName pr) branch)) pr-list)))
(if (or (null matching-pr) (not matching-pr))
(user-error "No PR found for branch: %s" branch)
(let* ((pr matching-pr)
(pr-id (alist-get 'id pr))
(pr-number (number-to-string (alist-get 'number pr)))
(pr-title (alist-get 'title pr))
(comments-output (shell-command-to-string
(format "gh pr view %s --comments --json body,author,createdAt,path,line 2>/dev/null"
(shell-quote-argument pr-id))))
(comments (ignore-errors (mapcar #'json-parse-object (json-read-from-string comments-output)))))
(if (or (null comments) (seq-empty-p comments))
(user-error "No comments found for PR #%s" pr-number)
(let ((buf (get-buffer-create (format "*PR #%s Comments*" pr-number))))
(with-current-buffer buf
(erase-buffer)
(insert (format "# PR #%s: %s\n" pr-number pr-title))
(insert (format "Branch: %s\n\n" branch))
(insert "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\n"))
(dolist (comment comments)
(let ((author (alist-get 'author comment))
(body (alist-get 'body comment))
(created-at (alist-get 'createdAt comment))
(path (alist-get 'path comment))
(line (alist-get 'line comment)))
(with-current-buffer buf
(insert (format "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n"))
(insert (format "Author: %s\n" (if (stringp author) author (alist-get 'login author))))
(insert (format "Date: %s\n" created-at))
(when path
(insert (format "File: %s" path))
(when line (insert (format ":%s" line)))
(insert "\n"))
(insert "\n")
(insert (or body ""))
(insert "\n\n")))
(pop-to-buffer buf))))))))))

View File

@ -11,9 +11,8 @@ bind -r K resize-pane -U 10
bind -r H resize-pane -L 10 bind -r H resize-pane -L 10
bind -r L resize-pane -R 10 bind -r L resize-pane -R 10
set -g pane-border-fg white set -g pane-border-style fg=white
set -g pane-active-border-fg cyan set -g pane-active-border-style fg=cyan
set -g pane-active-border-bg cyan
set -g status-left "session: #S | window: #I | pane: #P" set -g status-left "session: #S | window: #I | pane: #P"
set -g prefix C-a set -g prefix C-a
@ -23,15 +22,14 @@ new-session -n $HOST
# Colors {{{ # Colors {{{
set -g pane-border-fg colour8 set -g pane-border-style fg=colour8
set -g pane-active-border-fg colour7 set -g pane-active-border-style fg=colour7
set -g status-bg default set -g status-bg default
set -g status-fg colour7 set -g status-fg colour7
set -g window-status-current-fg colour15 set -g window-status-current-style fg=colour15
set -g message-bg default set -g message-style fg=colour15,bg=default
set -g message-fg colour15
# }}} # }}}
# Statusline {{{ # Statusline {{{
@ -53,25 +51,21 @@ set -g window-status-current-format '#I:#W '
# default statusbar colors # default statusbar colors
set-option -g status-bg colour235 #base02 set-option -g status-bg colour235 #base02
set-option -g status-fg colour136 #yellow set-option -g status-fg colour136 #yellow
set-option -g status-attr default set-option -g status-style default
# default window title colors # default window title colors
set-window-option -g window-status-fg colour244 #base0 set-window-option -g window-status-style fg=colour244,bg=default
set-window-option -g window-status-bg default
#set-window-option -g window-status-attr dim #set-window-option -g window-status-attr dim
# active window title colors # active window title colors
set-window-option -g window-status-current-fg colour166 #orange set-window-option -g window-status-current-style fg=colour166,bg=default
set-window-option -g window-status-current-bg default
#set-window-option -g window-status-current-attr bright #set-window-option -g window-status-current-attr bright
# pane border # pane border
set-option -g pane-border-fg colour235 #base02 set-option -g pane-border-style fg=colour235
set-option -g pane-active-border-fg colour240 #base01 set-option -g pane-active-border-style fg=colour240
# message text set-option -g message-style fg=colour166,bg=colour235
set-option -g message-bg colour235 #base02
set-option -g message-fg colour166 #orange
# pane number display # pane number display
set-option -g display-panes-active-colour colour33 #blue set-option -g display-panes-active-colour colour33 #blue