Exafunction / codeium.el

Free, ultrafast Copilot alternative for Emacs
https://www.codeium.com
MIT License
412 stars 13 forks source link

Auto complete does not work in Emacs 29.3 started with in clean slate (`emacs -q`) #104

Closed munen closed 3 weeks ago

munen commented 3 weeks ago

To reproduce:

  1. Start emacs -q (to ensure no other package or config is interfering)
  2. Install codeium as per documentation
  3. Evaluate (setq-local completion-at-point-functions '(codeium-completion-at-point))
  4. In the scratch buffer, write
;; write a function that adds two numbers
(defun 
  1. Run M: (codeium-completion-at-point)

There will be an error in Messages:

(191 198 (#("(defun add-two-numbers (x y)" 0 1 (fontified t) 1 6 (fontified t face font-lock-keyword-face) 6 7 (fontified t)) #("(defun add-two-numbers (a b)" 0 1 (fontified t) 1 6 (fontified t face font-lock-keyword-face) 6 7 (fontified t)) #("(defun add (x y)" 0 1 (fontified t) 1 6 (fontified t face font-lock-keyword-face) 6 7 (fontified t)) #("(defun add-two-numbers (n1 n2)" 0 1 (fontified t) 1 6 (fontified t face font-lock-keyword-face) 6 7 (fontified t))) :exit-function (lambda (string status) (ignore-errors (kill-buffer " *codeium-docs*")) (when-let* (...) (codeium-request ... #s(codeium-state "default" nil #<process codeium> "/tmp/codeium_biMv3F" 46377 nil default12 "eyJhbGciOiJSUzI1NiIsImtpZCI6IjMzMDUxMThiZTBmNTZkYzA4NGE0NmExN2RiNzU1NjVkNzY4YmE2ZmUiLCJ0eXAiOiJKV1QifQ.eyJuYW1lIjoiTXUgTmVuIiwiaXNzIjoiaHR0cHM6Ly9zZWN1cmV0b2tlbi5nb29nbGUuY29tL2V4YTItZmIxNzAiLCJhdWQiOiJleGEyLWZiMTcwIiwiYXV0aF90aW1lIjoxNzE3NzQ0NDg1LCJ1c2VyX2lkIjoib1ROVkUzekRUdWRVZnZoOGlhYmJjc2Q1eTF4MiIsInN1YiI6Im9UTlZFM3pEVHVkVWZ2aDhpYWJiY3NkNXkxeDIiLCJpYXQiOjE3MTc3NDU4OTQsImV4cCI6MTcxNzc0OTQ5NCwiZW1haWwiOiJ2emZrY2R1ZUBkdWNrLmNvbSIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJmaXJlYmFzZSI6eyJpZGVudGl0aWVzIjp7ImVtYWlsIjpbInZ6ZmtjZHVlQGR1Y2suY29tIl19LCJzaWduX2luX3Byb3ZpZGVyIjoicGFzc3dvcmQifX0.qSidgbWXdPKAL_v8krThWqgNWXhNYfzNAxiSaa_oxkgsVn24PSHDEcqxMsBvpUpbrWvyjMr1JwZLa-ELCoj_XUT481bXTyG5Fw4QeYNBTOe4rmW8uL243xKXsuf4BvaHyTJQj64CP8uBavLxjrAW1RULsj2L0aw4Zrm_Lyz72ODxrak6JnT4_SllGI5oWepEEILq79RekV5oprqbKRnhtOwZSlqE4f-CpjAnkYElXkna__n5OK7Q12YrKKQWcNpt0bwbIYQc1J_Y0LIrvlV0iLmMDCEMTWLsVa25K3dl3CvoAyUWG7IEJR9YkDJsMi--pX3WU20i-5kPUsjb9XWf3g" "cb11a621-d866-4245-9fbe-9162880806d6" 3 #s(hash-table size 65 test eql rehash-size 1.5 rehash-threshold 0.8125 data ()) ...) ... ...))) :annotation-function (closure (t) (_) (propertize " Codeium" 'face font-lock-comment-face)) :company-kind (closure (t) (_) 'magic) :company-doc-buffer (lambda (string) (unless (featurep ...) (ignore-errors ...)) (let* (... ... ... ... ...) (with-current-buffer ... ... ... ... ...))))

Output of codeium-log:

http://127.0.0.1:46377/exa.language_server_pb.LanguageServerService/GetCompletions 0.63 secs status: 200 ((state . "CODEIUM_STATE_SUCCESS") (message . "Generated 4 completions"))

Both show that the actual completion has happened, but no text has been produced in the original (scratch) buffer.

munen commented 3 weeks ago

Running (complete-symbol) actually does work!

Closing due to user error.