Compare commits

...

4 Commits

11 changed files with 120 additions and 29 deletions

View File

@@ -116,9 +116,17 @@
(mode . eww-bookmark-mode)
(mode . eww-buffers-mode)
(mode . eww-history-mode)))
("AI" (or
(name . "^\\*OpenCode")
(name . "\\*opencode-serve\\*")
(name . "^\\*gptel")))
("Calc" (or
(mode . calc-mode)
(mode . calc-trail-mode)))
("Text" (or
(mode . org-mode)
(mode . markdown-mode)
(name . "^\\*\\[D\\] FILE backlinks for")))
("Shell" (or
(mode . eshell-mode)
(mode . eat-mode)
@@ -145,8 +153,6 @@
(mode . geiser-debug-mode)
(mode . geiser-doc-mode)
(mode . geiser-autodoc-mode)))
("gptel" (or
(name . "^\\*gptel")))
("Common-lisp" (or
(mode . common-lisp-mode)
(mode . lisp-mode)))
@@ -156,10 +162,11 @@
(mode . sly-mrepl-mode)
(name . "\\*sly-compilation\\*")
(name . "^\\*img-cache\\*")))
("Text" (or
(mode . org-mode)
(mode . markdown-mode)
(name . "^\\*\\[D\\] FILE backlinks for")))
("Config" (or
(mode . conf-mode)
(mode . conf-toml-mode)
(mode . conf-unix-mode)
(mode . yaml-ts-mode)))
("Help" (or
(mode . help-mode)
(mode . helpful-mode)))
@@ -184,7 +191,10 @@
(mode . xref-edit-mode)
(mode . occur-mode)
(mode . occur-edit-mode)))
("Diff" (name . "^*Diff"))
("Diff" (or
(name . "^*Diff")
(mode . ediff-mode)
(mode . vundo-diff-mode)))
("Emacs" (or
(name . "^\\*Help\\*$")
(name . "^\\*Custom.*")

View File

@@ -27,7 +27,7 @@
;; dirvish
(use-package dirvish
:straight
'(dirvish :fork (:host github :repo "latiagertrutis/dirvish"))
(dirvish :fork (:host github :repo "latiagertrutis/dirvish"))
:init
(dirvish-override-dired-mode)
:config

View File

@@ -6,9 +6,6 @@
;; straight.el
;; 使用ssh
(setq straight-vc-git-default-protocol 'ssh)
(defvar bootstrap-version)
(let ((bootstrap-file
(expand-file-name

View File

@@ -122,7 +122,7 @@ explanations, no quotes, no punctuation, no file extension."
(use-package gptel-magit
:straight
'(gptel-magit :fork (:host github :repo "ArthurHeymans/gptel-magit"))
(gptel-magit :fork (:host github :repo "ArthurHeymans/gptel-magit"))
:hook
(magit-mode . gptel-magit-install)
:init
@@ -146,6 +146,41 @@ explanations, no quotes, no punctuation, no file extension."
(setq gptel-magit-model 'kimi-for-coding
gptel-magit-backend (gptel-get-backend "gptel-Kimi-Code-magit"))))
(use-package plz
:straight
(plz :type git
:host github
:repo "alphapapa/plz.el"
:ref "v0.9.1"))
(use-package plz-media-type
:straight
(plz-media-type :type git
:host github
:repo "r0man/plz-media-type"
:ref "v0.2.4"))
(use-package plz-event-source
:straight
(plz-event-source :type git
:host github
:repo "r0man/plz-event-source"
:ref "v0.1.3"))
(use-package opencode
:straight
(opencode :type git
:host codeberg
:repo "sczi/opencode.el")
:hook
(opencode-session-control-mode . disable-truncate-lines))
(use-package eval-elisp-mcp
:straight
(eval-elisp-mcp :type git
:host codeberg
:repo "sczi/eval-elisp-mcp"))
(provide 'init-gptel)
;;; init-gptel.el ends here

View File

@@ -115,7 +115,7 @@ otherwise toggle global-jinx-mode."
(defun my-denote-find-file ()
"Find file use denote-file-prompt."
(interactive)
(let ((denote-excluded-files-regexp "=journal"))
(let ((denote-excluded-files-regexp "=journal\\|=archive"))
(find-file (denote-file-prompt))))
(defun my-denote-find-backlink-with-location ()
@@ -272,6 +272,12 @@ argument)."
(let ((current-prefix-arg '-))
(call-interactively 'gptel-agent)))
(defun my-opencode ()
"Run `opencode' in project root."
(interactive)
(let ((default-directory (project-root (project-current t))))
(opencode)))
(defun my-consult-ripgrep-project ()
"Run `consult-ripgrep' in current project's root."
(interactive)

View File

@@ -19,16 +19,35 @@
;; g for gptel
(general-def
:prefix "C-c g"
"o" 'gptel
"g" 'gptel
"m" 'gptel-menu
"s" 'gptel-send
"a" 'gptel-agent
"t" 'gptel-tools)
"t" 'gptel-tools
"o" 'opencode
"p" 'opencode-select-project
"l" 'opencode-select-session
"n" 'opencode-new-session)
(general-def gptel-mode-map
"C-c C-s" 'my-gptel-save-session
"C-c C-k" 'gptel-abort)
;; opencode
(general-def opencode-session-mode-map
"C-c C-p" 'comint-previous-prompt
"C-c M-p" 'opencode-respond-permission
"C-c x" nil
"C-c C-k" 'opencode-abort-session
"C-c C-c" 'nil
"C-c n" 'nil
"C-c N" 'opencode-new-session)
(general-def opencode-session-control-mode-map
"n" 'next-line
"p" 'previous-line
"N" 'opencode-new-session)
;; u for ui
(general-def
:prefix "C-c u"
@@ -68,7 +87,7 @@
"R" 'project-query-replace-regexp
"v" 'magit-project-status
"V" 'project-vc-dir
"a" 'my-gptel-agent-project
"a" 'my-opencode
"i" 'project-ibuffer)
;; v for version control

View File

@@ -27,6 +27,8 @@
(0 (prog1 () (add-text-properties (match-beginning 1) (match-end 1) '(invisible t)))))))
(font-lock-add-keywords 'org-mode org-hide-space-keywords 'append)
(add-to-list 'org-src-lang-modes '("yaml" . yaml-ts))
(if *is-windows*
(add-hook 'org-mode-hook 'font-lock-update))
@@ -97,9 +99,11 @@
;; denote-lint
(use-package denote-lint
:straight '(denote-lint :type git
:host github
:repo "Andsy10/denote-lint")
:straight
(denote-lint :type git
:host github
:repo "Andsy10/denote-lint"
:protocol ssh)
:config
(setq org-link-elisp-confirm-function nil))
@@ -152,18 +156,29 @@
:hook
(org-agenda-finalize . disable-truncate-lines)
:config
(setq org-agenda-prefix-format '((agenda . " %?-12t% s")
(todo . " ")
(tags . " ")
(search . " ")))
(setq org-agenda-sorting-strategy
'((agenda time-up scheduled-up deadline-up priority-down category-keep)
(todo priority-down category-keep)
(tags priority-down category-keep)
(search category-keep)))
(setq org-agenda-custom-commands
'(("qd" "TODO entries sort by closed time"
((org-ql-block '(closed)
((org-ql-block-header "Closed TODOs")
(org-super-agenda-groups
'((:auto-ts t)))))))
("qs" "SOMEDAYs"
("qS" "SOMEDAYs"
((org-ql-block '(todo "SOMEDAY")
((org-ql-block-header "SOMEDAYs")
(org-super-agenda-groups
'((:auto-ts t)))))))
("qS" "STARTEDs"
("qs" "STARTEDs"
((org-ql-block '(todo "STARTED")
((org-ql-block-header "STARTEDs")
(org-super-agenda-groups

View File

@@ -78,7 +78,8 @@ _a_ : all dwim
(consult-jinx
:type git
:host github
:repo "Andsy10/consult-jinx")))
:repo "Andsy10/consult-jinx"
:protocol ssh)))
;; eat终端
(unless *is-windows*
@@ -156,13 +157,15 @@ _a_ : all dwim
(project-query-replace-regexp "Query Replace" ?R)
(consult-ripgrep "Ripgrep" ?r)
(consult-project-buffer "Buffers" ?b)
(project-ibuffer "Ibuffer" ?i))))))
(project-ibuffer "Ibuffer" ?i)
(opencode "OpenCode" ?a))))))
(use-package project-ibuffer
:straight
(project-ibuffer :type git
:host github
:repo "Andsy10/project-ibuffer"))
:repo "Andsy10/project-ibuffer"
:protocol ssh))
;; emms
(use-package emms

View File

@@ -31,9 +31,10 @@
;; tree-sitter
(use-package treesit-auto
:hook
(after-init . global-treesit-auto-mode)
:config
(setq treesit-auto-install 'prompt)
(global-treesit-auto-mode)
(setq treesit-font-lock-level 4))
;; scheme

View File

@@ -13,7 +13,9 @@
;; 安装solarized dark
(use-package solarized-theme
:straight
'(solarized-emacs :fork (:host github :repo "Andsy10/solarized-emacs"))
(solarized-emacs
:fork
(:type git :host github :repo "Andsy10/solarized-emacs" :protocol ssh))
:init
;; 把主题加载延迟到frame创建之后防止daemon模式下宏不能正常展开
(if (and (daemonp) (not *is-android*))

View File

@@ -42,8 +42,9 @@
"Buffers\\*$"
"^\\*Geiser"
"\\*gptel-Kimi-Code\\*"
"^\\*sly"
"\\*gptel-agent:.*\\*"
"^\\*OpenCode Sessions"
"^\\*sly"
"^magit"
"\\*discomfort\\*"
"\\*eww bookmarks\\*"
@@ -125,8 +126,10 @@
(delete-window window)))))
(advice-add #'keyboard-quit :before #'popper-close-window-hack)))
;; es-windos快速管理窗口
(use-package es-windows)
;; windmove
(use-package windmove
:hook
(after-init . windmove-swap-states-default-keybindings))
(provide 'init-window)