diff options
Diffstat (limited to 'docs/dev-docs/issues/the-shit-time.md')
| -rw-r--r-- | docs/dev-docs/issues/the-shit-time.md | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/docs/dev-docs/issues/the-shit-time.md b/docs/dev-docs/issues/the-shit-time.md deleted file mode 100644 index 77a8af9..0000000 --- a/docs/dev-docs/issues/the-shit-time.md +++ /dev/null @@ -1,90 +0,0 @@ -<h1 align="center">Some Situations Where You'd Be Like "Shit!"</h1> -<p align="center"> - This document collects the discomforts currently experienced while using Mingling. -</p> - -This document collects the discomforts currently experienced while using Mingling. - -Of course, you can also contribute to this document. - ---- - -## Why is there no fallback completion logic? - -(completion) (fallback) - -Currently, Mingling's Completion only supports providing completion logic for specific subcommands, with no way to provide global completion. - -For example: - -``` -mycmd <tab> -completion: ---help -h --- Display helps ---version -V --- Display versions -``` - -Currently, there is no workaround. - -Ideal solution: - -```rust -#[completion(EntryGlobal)] -fn complete(ctx: &ShellContext) -> Suggest { - // ... -} -``` - ---- - -## Why can't I register descriptions for commands? - -(completion) (dispatcher) - -Currently, Mingling's Completion cannot register a description for each subcommand. - -For example: - -``` -mycmd <tab> -completion: -add rm list <--- You cannot register descriptions for commands -``` - -Expected behavior: - -``` -mycmd <tab> -completion: -add --- Add something -rm --- Remove something -list --- List something -``` - -Ideal solution: - -```rust -// It should be able to freely integrate with crates that provide i18n functionality, -// so the following approach cannot be used as a data source for descriptions. -dispatcher! { - /// Add Something <--- How to i18n? - "add", CMDAdd => EntryAdd -} - -// Ideally, it should satisfy the following two conditions: -// 1. No need to use `with_dispatcher`, because `with_dispatcher` is disabled in `dispatch_tree` mode -// 2. Must be able to accept String or &str at runtime - -// Current idea -#[inline(always)] -#[dispatcher_desc(EntryAdd)] -fn desc_add() -> String { - // If using rust_i18n - t!("cmd.add.desc") -} - -// Collected and generated by `gen_program!()` -// Generate something like get_dispatcher_desc(id: &ThisProgram) -> String -// Match the corresponding function using enum values inside ThisProgram -gen_program!() -``` |
