# emacs module foo ## Hot reload for dev ```elisp (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