27

omelette.ts - cli autocompletion framework for Deno

 4 years ago
source link: https://github.com/f/omelette/blob/master/deno/README.md
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Omelette.ts for Deno

To see a full documentation, please visit https://github.com/f/omelette

Using Omelette with Deno

Omelette now supports and is useful with Deno . You can make your Deno based CLI tools autocomplete powered using Omelette. It's fully featured but setupShellInitFile and cleanupShellInitFile methods does not exist for now (to prevent requirement of allow-env , allow-read and allow-write permissions).

3MjMjiM.gif

Instructions to use Omelette in your Deno projects:

Assume we have a hello.js :

import omelette from "https://deno.land/x/omelette/omelette.ts";

const complete = omelette("hello <action>");

complete.on("action", function ({ reply }) {
  reply(["world", "mars", "jupiter"]);
});

complete.init();

// your CLI program

Install your program using deno install :

deno install hello.js
hello --completion-fish | source # i'm using fish

Instructions for your README files:

(You should add these instructions to your project's README, don't forget to replace hello string with your own executable name)

In zsh , you should write these:

echo '. <(hello --completion)' >> ~/.zshrc

In bash:

hello --completion >> ~/.config/hello.completion.sh
echo 'source ~/.config/hello.completion.sh' >> ~/.bash_profile

In fish:

echo 'hello --completion-fish | source' >> ~/.config/fish/config.fish

That's all! Now you have autocompletion feature!

hello <tab><tab>

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK