Skip to content

Comembert (Command remember tool) is a cli command manager, that allows you to save commands, and output them directly onto your command line, so that you can modify them before running them.

License

Notifications You must be signed in to change notification settings

ficolas2/comembert

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

         _--"-.
      .-"      "-.
     |""--..      '-.
     |      ""--..   '-.
     |            ""--..".         ____                               _               _   
     |                   |        / ___|___  _ __ ___   ___ _ __ ___ | |__   ___ _ __| |_ 
     |                 .-'       | |   / _ \| '_ ` _ \ / _ \ '_ ` _ \| '_ \ / _ \ '__| __|
     '--..             -.        | |__| (_) | | | | | |  __/ | | | | | |_) |  __/ |  | |_ 
          ""--..         :        \____\___/|_| |_| |_|\___|_| |_| |_|_.__/ \___|_|   \__|
                ""--..   |
                      ""-'      Co(mmand re)member t(ool)

Overview

Comembert (Command remember tool) is a cli command manager, that allows you to save commands, and output them directly onto your command line, so that you can modify them before running them.

preview

Requirements

Installation

Bash

Note: for bash, the command cm won't work to insert the command to the terminal prompt, you need to use the keybinding Ctrl+F. See Insertion options.

cargo install comembert
mkdir ~/.config/comembert
wget https://raw.githubusercontent.com/ficolas2/comembert/refs/heads/main/scripts/bash/cm -O ~/.config/comembert/cm.sh
echo 'source ~/.config/comembert/cm.sh' >> ~/.bashrc

Zsh

Note: for zsh, the command cm won't work to insert the command to the terminal prompt, you need to use the keybinding Ctrl+F. See Insertion options.

cargo install comembert
mkdir ~/.config/comembert
wget https://raw.githubusercontent.com/ficolas2/comembert/refs/heads/main/scripts/zsh/cm -O ~/.config/comembert/cm.zsh
echo 'source ~/.config/comembert/cm.zsh' >> ~/.zshrc

Fish

cargo install comembert
wget https://raw.githubusercontent.com/ficolas2/comembert/refs/heads/main/scripts/fish/cm.fish -O ~/.config/fish/functions/cm.fish

Usage

Insert a command to the terminal prompt

cm

NOTE: INSERTING WITH THE COMMAND ONLY WORKS ON FISH SHELL, or with clipboard output mode, see Insertion options. If you are using bash or zsh, you need to press the keybinding Ctrl+F for command insertions.

fzf will show you a list of the saved commands, select one, and it will be printed to the terminal input.

Save a command

cm add 'command' 'command/route'

Save the last command

cm prev 'command/route'

Edit a command

cm edit 'command/route'

Your default editor will be oppened with the selected command.

If no command route is specified, fzf will be opened to select a command.

Note: the editor is defined by the $EDITOR environment variable.

Move a command

cm move 'command/route' 'new/command/route'

If no command route is specified, fzf will be opened once to select the command to move, and then you will be prompted to enter the new route.

Delete a command

cm delete 'comand/route'

If no command route is specified, fzf will be opened to select a command.

List all commands

cm list

Insertion options

Using the system clipboard, and simulating input

If you want to insert the command to the terminal prompt using the system clipboard, you can set the environment variable 'COMEMBERT_OUTPUT' to 'clipboard'. This will copy the command to the clipboard, and simulate the input to the terminal.

Currently, you need to have xdotool to simulate the input, and xclip to copy the command to the clipboard. This means that this option is only available on linux, with X11, but this should change in the future.

Bash or Zsh

Bash and zsh don't allow inserting the command directly to the terminal prompt when running another command.

To insert the command to the terminal prompt, it has to be called from a keybinding. The default keybinding is Ctrl+F, but you can change it modifying the file ~/.config/comembert/cm.sh or ~/.config/comembert/cm.zsh.

Fish

Fish shell allows inserting the command directly to the terminal prompt when running another command. This means that you can simply call cm and, pick the command, and it will be inserted to the terminal.

If you want to add a keybinding in fish shell, you can add add the binding to the file ~/.config/fish/functions/fish_user_key_bindings.fish: More info at https://fishshell.com/docs/current/cmds/bind.html

Planned features

  • Read an openapi file, and save the commands as curl requests.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Comembert (Command remember tool) is a cli command manager, that allows you to save commands, and output them directly onto your command line, so that you can modify them before running them.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published