Added copilot

This commit is contained in:
James Patrick 2024-06-18 17:46:26 -04:00
parent 0278ef1087
commit 1535511052
No known key found for this signature in database
3 changed files with 41 additions and 1 deletions

View File

@ -38,3 +38,11 @@
(load! "+orgmode")
(use-package! gptel)
(use-package! copilot
:hook (prog-mode . copilot-mode)
:bind (:map copilot-completion-map
("<tab>" . 'copilot-accept-completion)
("TAB" . 'copilot-accept-completion)
("C-TAB" . 'copilot-accept-completion-by-word)
("C-<tab>" . 'copilot-accept-completion-by-word)))

View File

@ -984,7 +984,10 @@ The default =+org-capture/open-frame= is a little small. Let's modify the parame
#+end_src
* GPT
GPT is more useful than I thought. Its incredibly helpful for writing prose which I can struggle with due to mild dysgraphia. We will be using the [[https://github.com/karthink/gptel][karthink/gptel]] package.
GPT is more useful than I thought. Its incredibly helpful for writing prose which I can struggle with due to mild dysgraphia.
** ChatGPT
We will be using the [[https://github.com/karthink/gptel][karthink/gptel]] package.
#+BEGIN_SRC emacs-lisp :tangle "packages.el"
(package! gptel)
@ -1000,6 +1003,32 @@ This package supports multiple LLM backends. I'm going to be using the OpenAI Ch
machine api.openai.com login apikey password TOKEN
#+end_src
** TRAIL_RUN CoPilot
I'm presently using GitHub copilot for work. It can best be summarized as having a intern periodically writing code for you. The code quality is so-so, and often buggy or incorrect. You will often spend as long debugging some of the code as you would have saved writing it yourself. But it is useful for the rote drudgery that occurs with some coding.
For this I'm going to use [[https://github.com/copilot-emacs/copilot.el][copilot-emacs/copilot.el]].
First install the package
#+BEGIN_SRC emacs-lisp :tangle "packages.el"
(package! copilot
:recipe (:host github :repo "copilot-emacs/copilot.el" :files ("*.el")))
#+END_SRC
Then configure this
#+begin_src emacs-lisp
(use-package! copilot
:hook (prog-mode . copilot-mode)
:bind (:map copilot-completion-map
("<tab>" . 'copilot-accept-completion)
("TAB" . 'copilot-accept-completion)
("C-TAB" . 'copilot-accept-completion-by-word)
("C-<tab>" . 'copilot-accept-completion-by-word)))
#+end_src
This does bind to company, which I've currently removed. See [[*Completion][Completion]] for specifics.
** Keybinds
| Keybind | Command |

View File

@ -7,3 +7,6 @@
(package! ox-tufte)
(package! gptel)
(package! copilot
:recipe (:host github :repo "copilot-emacs/copilot.el" :files ("*.el")))