redvault-ai/redvault_el_rs/README.md

62 lines
1.4 KiB
Markdown
Raw Normal View History

# emacs module foo
## Hot reload for dev
```elisp
2025-01-31 12:28:54 +01:00
(module-load "/home/tristand/code/redvault-ai/target/release/deps/libemacs_rs_module-9ad53dadcc38727d.so")
(defun hotreload-el-rs ()
(interactive)
2025-01-31 12:28:54 +01:00
(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
2025-01-31 13:20:26 +01:00
- 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