redvault-ai/redvault_el_rs
2025-02-20 02:13:21 +01:00
..
src Run fmt 2025-02-20 02:13:21 +01:00
Cargo.toml More redvault_el prototyping 2025-01-31 12:29:37 +01:00
README.md Add mvp plans for redvault-el 2025-01-31 13:20:26 +01:00

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