redvault-ai/redvault_el_rs/README.md

1.4 KiB

emacs module foo

Hot reload for dev


(module-load "/home/tristand/code/redvault-ai/target/release/deps/libemacs_rs_module-9ad53dadcc38727d.so")


(defun hotreload-el-rs ()
  (interactive)
  (rs-module/load "/home/tristand/code/redvault-ai/target/release/libredvault_el_rs.so"))
  
  
(defun el-res-say-hello-2 ()
  (interactive)
  (asd/say-hello "Asd"))

(defun el-res-say-hello ()
  (interactive)
  (redvault-el-rs/say-hello "Asd"))

Planning

  • MVP:
    • single file overlay
      • get completion from server with single file context
      • put completion into overlay
      • trigger completion while typing, update cursor position etc, with debounce
    • multi file overlay (with context based on currently open file)
      • rank by imports/keywords/embeddings, test different approaches against each other
    • multi file overlay (with context based on cursored function)
    • better caching
      • combine file-level/function-level context somehow, cache for recently/commonly used files

Interface

Notes

  • how to trigger
    • lisp based idle delay foo
  • when to dismiss
    • when scrolling, moving cursor
  • when triggered via redvai-complete
    • current-buffer
    • current-point

Boundry

Rust:

  • make requests, gather related files and built repo-level context for qwen model
  • push response(s) into overlay

Lisp:

  • trigger completions (either kebind or idle-delay)
  • dismiss completions (when moving cursor away)
  • basic mode