moved local packages to separate folder
Allows me to update the load-path and rely on ‘use-package‘ to manage/configure these packages
This commit is contained in:
@@ -9,9 +9,9 @@
|
|||||||
dockerfile-mode dumb-jump dumber-jump emacs-lldb
|
dockerfile-mode dumb-jump dumber-jump emacs-lldb
|
||||||
exec-path-from-shell flycheck fsharp-mode haskell-mode
|
exec-path-from-shell flycheck fsharp-mode haskell-mode
|
||||||
haskell-ts-mode helm htmlize idris-mode marginalia
|
haskell-ts-mode helm htmlize idris-mode marginalia
|
||||||
markdown-ts-mode multiple-cursors orderless org-mode
|
markdown-ts-mode multiple-cursors odin-mode orderless
|
||||||
parinfer-rust-mode realgud-lldb rg sly terraform-mode
|
org-mode parinfer-rust-mode realgud-lldb rg sly
|
||||||
tree-sitter-langs vertico visual-fill-column
|
terraform-mode tree-sitter-langs vertico visual-fill-column
|
||||||
yasnippet-snippets zig-mode))
|
yasnippet-snippets zig-mode))
|
||||||
'(safe-local-variable-directories '("/Users/grant/programming/project/edit/"))
|
'(safe-local-variable-directories '("/Users/grant/programming/project/edit/"))
|
||||||
'(safe-local-variable-values
|
'(safe-local-variable-values
|
||||||
|
|||||||
9
init.el
9
init.el
@@ -11,6 +11,8 @@
|
|||||||
; If startup times are slow
|
; If startup times are slow
|
||||||
; (setq use-package-verbose t)
|
; (setq use-package-verbose t)
|
||||||
|
|
||||||
|
(add-to-list 'load-path (concat (file-name-parent-directory user-init-file) "local-lisp/"))
|
||||||
|
|
||||||
(use-package emacs)
|
(use-package emacs)
|
||||||
(setq tab-bar-show nil)
|
(setq tab-bar-show nil)
|
||||||
(setq inhibit-startup-message t)
|
(setq inhibit-startup-message t)
|
||||||
@@ -384,5 +386,8 @@
|
|||||||
|
|
||||||
(use-package dockerfile-mode)
|
(use-package dockerfile-mode)
|
||||||
|
|
||||||
(load-file (concat (file-name-parent-directory user-init-file) "odin-mode.el"))
|
(use-package odin-mode
|
||||||
(load-file (concat (file-name-parent-directory user-init-file) "codex.el"))
|
:ensure nil)
|
||||||
|
|
||||||
|
(use-package codex
|
||||||
|
:ensure nil)
|
||||||
|
|||||||
@@ -16,6 +16,8 @@
|
|||||||
;; {"type":"item.completed","item":{"id":"item_1","type":"agent_message","text":"Hi! How can I help?"}}
|
;; {"type":"item.completed","item":{"id":"item_1","type":"agent_message","text":"Hi! How can I help?"}}
|
||||||
;; {"type":"turn.completed","usage":{"input_tokens":4050,"cached_input_tokens":3712,"output_tokens":13}}
|
;; {"type":"turn.completed","usage":{"input_tokens":4050,"cached_input_tokens":3712,"output_tokens":13}}
|
||||||
|
|
||||||
|
;;; Code:
|
||||||
|
|
||||||
(require 'json)
|
(require 'json)
|
||||||
(require 'cl-lib)
|
(require 'cl-lib)
|
||||||
(require 'subr-x)
|
(require 'subr-x)
|
||||||
@@ -44,6 +46,27 @@
|
|||||||
:type 'string
|
:type 'string
|
||||||
:group 'codex)
|
:group 'codex)
|
||||||
|
|
||||||
|
(defcustom codex-provider nil
|
||||||
|
"Custom codex provider to use.
|
||||||
|
Note on Copilot:
|
||||||
|
In order for copilot integration to work, you need a section in your
|
||||||
|
~/.codex/config.toml like this:
|
||||||
|
[model_providers.github-copilot]
|
||||||
|
name = \"Github Copilot\"
|
||||||
|
base_url = \"https://api.githubcopilot.com\"
|
||||||
|
env_key = \"GITHUB_COPILOT_TOKEN\"
|
||||||
|
wire_api = \"chat\"
|
||||||
|
http_headers = {
|
||||||
|
Copilot-Integration-Id = \"vscode-chat\"
|
||||||
|
}"
|
||||||
|
:type 'string
|
||||||
|
:group 'codex)
|
||||||
|
|
||||||
|
(defcustom codex-model nil
|
||||||
|
"Model for Codex to use."
|
||||||
|
:type 'string
|
||||||
|
:group 'codex)
|
||||||
|
|
||||||
(defcustom codex-skip-git-repo-check t
|
(defcustom codex-skip-git-repo-check t
|
||||||
"Whether to pass --skip-git-repo-check to Codex."
|
"Whether to pass --skip-git-repo-check to Codex."
|
||||||
:type 'boolean
|
:type 'boolean
|
||||||
@@ -71,17 +94,6 @@
|
|||||||
:group 'codex)
|
:group 'codex)
|
||||||
|
|
||||||
(defvar codex--session-id nil)
|
(defvar codex--session-id nil)
|
||||||
(defvar codex--use-copilot nil
|
|
||||||
"In order for copilot integration to work, you need a section in your
|
|
||||||
~/.codex/config.toml like this:
|
|
||||||
[model_providers.github-copilot]
|
|
||||||
name = \"Github Copilot\"
|
|
||||||
base_url = \"https://api.githubcopilot.com\"
|
|
||||||
env_key = \"GITHUB_COPILOT_TOKEN\"
|
|
||||||
wire_api = \"chat\"
|
|
||||||
http_headers = {
|
|
||||||
Copilot-Integration-Id = \"vscode-chat\"
|
|
||||||
}")
|
|
||||||
|
|
||||||
(defvar codex-mode-map
|
(defvar codex-mode-map
|
||||||
(let ((map (make-sparse-keymap)))
|
(let ((map (make-sparse-keymap)))
|
||||||
@@ -95,6 +107,7 @@ http_headers = {
|
|||||||
("^User:$" . 'codex-user-prompt-face)
|
("^User:$" . 'codex-user-prompt-face)
|
||||||
("^Codex:$" . 'codex-assistant-prompt-face)))
|
("^Codex:$" . 'codex-assistant-prompt-face)))
|
||||||
|
|
||||||
|
;;;###autoload
|
||||||
(define-derived-mode codex-mode fundamental-mode "Codex"
|
(define-derived-mode codex-mode fundamental-mode "Codex"
|
||||||
"Major mode for chatting with Codex."
|
"Major mode for chatting with Codex."
|
||||||
(setq-local buffer-read-only nil)
|
(setq-local buffer-read-only nil)
|
||||||
@@ -224,12 +237,14 @@ http_headers = {
|
|||||||
(message "Using session %s" codex--session-id)
|
(message "Using session %s" codex--session-id)
|
||||||
(list "resume" codex--session-id))))
|
(list "resume" codex--session-id))))
|
||||||
(skip (and codex-skip-git-repo-check (list "--skip-git-repo-check")))
|
(skip (and codex-skip-git-repo-check (list "--skip-git-repo-check")))
|
||||||
(copilot (and codex--use-copilot (list "-c" "model_provider=github-copilot" "-m" "claude-haiku-4.5")))
|
(provider (and codex-provider (list "-c" (concat "model_provider=" codex-provider))))
|
||||||
(command (append (list codex-command "exec") resume skip copilot (list "--json" prompt))))
|
(model (and codex-model (list "-m" codex-model)))
|
||||||
|
(command (append (list codex-command "exec") resume skip provider model (list "--json" prompt))))
|
||||||
command))))
|
command))))
|
||||||
(set-process-sentinel
|
(set-process-sentinel
|
||||||
proc
|
proc
|
||||||
(lambda (p event)
|
(lambda (p event)
|
||||||
|
(message event)
|
||||||
(when (string= event "finished\n")
|
(when (string= event "finished\n")
|
||||||
(with-current-buffer (process-buffer p)
|
(with-current-buffer (process-buffer p)
|
||||||
(thread-first
|
(thread-first
|
||||||
@@ -238,7 +253,10 @@ http_headers = {
|
|||||||
codex--format-response
|
codex--format-response
|
||||||
codex--write-to-chat)
|
codex--write-to-chat)
|
||||||
(codex--ensure-session-in-sessions-file prompt)
|
(codex--ensure-session-in-sessions-file prompt)
|
||||||
(kill-buffer)))))))
|
(kill-buffer)))
|
||||||
|
(when (string-prefix-p "exited abnormally" event)
|
||||||
|
(with-current-buffer (process-buffer p)
|
||||||
|
(error (buffer-string))))))))
|
||||||
|
|
||||||
(defun codex--get-current-user-prompt ()
|
(defun codex--get-current-user-prompt ()
|
||||||
(with-codex-buffer
|
(with-codex-buffer
|
||||||
@@ -317,3 +335,8 @@ http_headers = {
|
|||||||
tup))
|
tup))
|
||||||
sessions)))
|
sessions)))
|
||||||
(codex--write-sessions-file new-sessions)))
|
(codex--write-sessions-file new-sessions)))
|
||||||
|
|
||||||
|
(provide 'codex)
|
||||||
|
|
||||||
|
|
||||||
|
;;; codex.el ends here
|
||||||
Reference in New Issue
Block a user