summaryrefslogtreecommitdiffstats
path: root/src/repl
AgeCommit message (Collapse)AuthorLines
2023-11-07refactor: improve repl completer (#226)sigoden-40/+93
2023-11-07feat: deprecate `.edit`, use """ instead (#225)sigoden-36/+27
2023-11-07feat: add `config.prelude` to allow setting default role/session (#224)sigoden-1/+1
2023-11-07fix: unable to build on android using termux (#222)sigoden-14/+3
2023-11-07refactor: use &GlobalConfig to avoid clone (#217)sigoden-7/+9
2023-11-02chore: add one newline when caught repl errorsigoden-0/+1
2023-11-02refactor: improve repl completer (#199)sigoden-59/+147
2023-11-02refactor: improve code quanity (#197)sigoden-68/+11
- move model_info.rs/message.rs to clients/ - rename SharedConfig to GlobalConfig
2023-11-02refactor: improve code quanity (#196)sigoden-350/+229
- rewrite Repl, remove ReplHandler - move ReplyStreamHandler to repl/ and rename it to ReplyHandler - deprecate utils::print_now - refactor session info
2023-11-01refactor: improve code quanity (#194)sigoden-1/+1
- extends ModelInfo for tokens calculating - refactor config/session.rs, improve export, render, getter/setter - modify main.rs, allow --model override session.model
2023-11-01refactor: clients/* and config.rs (#193)sigoden-5/+1
- add register_clients macro to make it easier to add a new client - no create_client_config, just add const PROMPTS - move ModelInfo from clients/ to config/ - model's max_tokens are optional - improve code quanity on config/mod.rs - add/use macro config_get_fn
2023-10-31feat: support custom theme (#187)sigoden-65/+12
2023-10-30feat: add `.info role` and `.info session` (#183)sigoden-16/+41
2023-10-30chore: spellchecksigoden-1/+1
2023-10-30feat: deprecate .clear command (#180)sigoden-42/+52
2023-10-30feat: deprecate history file (#179)sigoden-35/+6
2023-10-30fix: bugs between sesison/role (#178)sigoden-2/+2
2023-10-30feat: deprecate prompt, remove `--prompt` and `.prompt` (#176)sigoden-15/+1
2023-10-30chore: remove unnecessary clippy macrossigoden-6/+0
2023-10-30feat: support textwrap (#171)sigoden-40/+17
* feat: support textwrap * improve cmd_render_stream * done cmd_render_stream * add `-w` alias to `--wrap` * done repl_render_stream * add `config.wrap_code` * remove cached config.wrap_width * fix unxpected duplicate lines on kitty * refactor markdown render * improve render * fix test
2023-10-29chore: improve code quanitysigoden-2/+2
2023-10-28feat: enhance session/conversation (#162)sigoden-27/+31
* feat: enhance session/conversation * updates * updates * cut version v0.9.0-rc2 * add .session name completion
2023-10-27fix: .copy don't works on some linux distro (#161)sigoden-4/+18
2023-10-27feat: change config.vi_keybindings to config.keybindings (#158)sigoden-1/+1
2023-10-27chore: change left-prompt for conversation (#157)sigoden-1/+1
2023-10-27fix: parse command fails if command following newline (#153)sigoden-19/+13
2023-10-26feat: add .edit command for multi-line editing (#151)sigoden-19/+30
2023-10-26refactor: improve code quanitysigoden-2/+3
2023-10-26feat: add .read command (#145)Leo Bergnéhr-1/+15
2023-10-26refactor: improve code quanitysigoden-12/+6
remove tokio::runtime::Runtime from client
2023-10-26feat: support multi bots and custom url (#150)sigoden-6/+6
2023-10-24feat: suppport vi keybindings (#148)sigoden-7/+21
2023-10-24feat: use backslash at end of line for multiline text (#147)sigoden-57/+2
BREAKING CHANGE: use backslash at end of line for multiline text ``` 〉.set dry_run true 〉abc \ def \ ijk >>> The following message consumes 12 tokens. abc def ijk ``` Deprecate old {}/() multi-line editing
2023-10-17chore: update depssigoden-3/+3
2023-07-10fix: minor code cleanup and pedantic lints (#134)Anthony Rubick-41/+45
2023-05-04feat: add `.copy` command (#119)sigoden-2/+14
2023-05-04feat: add `config.auto_copy` (#102)shane s-0/+1
* added config option to copy all ChatGPT output to clipboard * formatted with * updates --------- Co-authored-by: sigoden <sigoden@gmail.com>
2023-05-04chore: trivial updatessigoden-1/+1
2023-05-04feat: support backeted paste (#117)sigoden-3/+6
2023-03-20feat: check token usage in dry_run mode (#82)sigoden-0/+1
2023-03-16feat: support multiple models (#71)sigoden-4/+14
2023-03-13feat: support role args (#69)sigoden-1/+2
* feat: support role args We can use role args to pass some additional arguments to the prompt. ``` - name: convert:json:yaml prompt: convert __ARG1__ below to __ARG2__ ``` `:json:yaml` is `role args`. It has two args: - arg1 `json`, it will replace __ARG1__ in prompt - arg2 `yaml`, it will replace __ARG2__ in prompt ``` 〉.role convert:json:yaml name: convert:json:yaml prompt: convert json below to yaml temperature: null 〉.role convert:yaml:json name: convert:yaml:json prompt: convert yaml below to json temperature: null ``` different role args, will generate different prompts. * small updates
2023-03-12chore: optimize readline multilinesigoden-4/+66
2023-03-11feat: add support for NO_COLOR (#67)sigoden-47/+164
2023-03-11feat: support light theme (#65)sigoden-7/+28
There are two ways to enable the light theme: - add `light_theme: true` to config.yaml - use `AICHAT_LIGHT_THEME=true` env var
2023-03-11feat: provide `--prompt` for adding a prompt from cli (#62)sigoden-1/+1
2023-03-10chore: update `.help` output textsigoden-2/+6
2023-03-10feat: type `{` `[` `(` to enter multi-line editing mode (#58)sigoden-88/+80
Abandon `.editor` command, it's too complicated.
2023-03-10chore: improve code quality, omit head 2 newlines in handler but in not clientsigoden-1/+4
2023-03-10fix: forbid .clear role in middle of conversationsigoden-1/+1