omekasy is a command line application that converts alphanumeric characters in your input to various styles defined in Unicode.

Overview

omekasy

CI License: MIT

asciicast

omekasy is a command line application that converts alphanumeric characters in your input to various styles defined in Unicode. omekasy means "dress up" in Japanese.

Installation

Homebrew

brew install ikanago/tap/omekasy

Cargo

cargo install omekasy

Binaries

You can download binaries from Releases.

Usage

Just run without any options or arguments, a prompt will be shown up. You can select the style while watching the result.

omekasy

To convert to a specific font instantly, give the font name and input.

omekasy --font bold-italic "My new gear..."

Characters other than latin alphabets and numbers in your input remain untouched.

Available font for now:

  • bold
  • italic
  • bold-italic
  • sans
  • sans-bold
  • sans-italic
  • sans-bold
  • italic
  • script
  • bold-script
  • fraktur
  • bold-fraktur
  • monospace
  • blackboard

Key bindings in interactive mode:

Key Action
Ctrl-K Move cursor up
Ctrl-J Move cursor down
Enter Select
Ctrl-C, Esc Quit
Comments
  • Update Rust crate crossterm to 0.25.0

    Update Rust crate crossterm to 0.25.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | crossterm | dependencies | minor | 0.24.0 -> 0.25.0 |


    Configuration

    πŸ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    β™» Rebasing: Renovate will not automatically rebase this PR, because other commits have been found.

    πŸ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox. ⚠ Warning: custom changes will be lost.

    This PR has been generated by Mend Renovate. View repository job log here.

    dependencies 
    opened by renovate[bot] 1
  • Update Rust crate clap to 3.2.4

    Update Rust crate clap to 3.2.4

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | clap | dependencies | minor | 3.1.18 -> 3.2.4 |


    Release Notes

    clap-rs/clap

    v3.2.4

    Compare Source

    Fixes
    • (derive) Provide more clearer deprecation messages for #[clap(parse)] attribute (#​3832)

    v3.2.3

    Compare Source

    Fixes
    • Moved deprecations to be behind the deprecated Cargo.toml feature (#​3830)
      • For now, it is disabled by default though we are considering enabling it by default as we release the next major version to help draw attention to the deprecation migration path

    v3.2.2

    Compare Source

    Fixes
    • (derive) Improve the highlighted code for deprecation warnings

    gated behind unstable-v4

    • (derive) Default to #[clap(value_parser, action)] instead of #[clap(parse)] (#​3827)

    v3.2.1

    Compare Source

    v3.2.0

    Compare Source

    Compatibility

    MSRV is now 1.56.0 (#​3732)

    Behavior

    • Defaults no longer satisfy required and its variants (#​3793)
    • When misusing ArgMatches::value_of and friends, debug asserts were turned into panics

    Moving (old location deprecated)

    • clap::{PossibleValue, ValueHint} to clap::builder::{PossibleValue, ValueHint}
    • clap::{Indices, OsValues, ValueSource, Values} to clap::parser::{Indices, OsValues, ValueSource, Values}
    • clap::ArgEnum to clap::ValueEnum (#​3799)

    Replaced

    • Arg::allow_invalid_utf8 with Arg::value_parser(value_parser!(PathBuf)) (#​3753)
    • Arg::validator / Arg::validator_os with Arg::value_parser (#​3753)
    • Arg::validator_regex with users providing their own builder::TypedValueParser (#​3756)
    • Arg::forbid_empty_values with builder::NonEmptyStringValueParser / builder::PathBufValueParser (#​3753)
    • Arg::possible_values with Arg::value_parser([...]), builder::PossibleValuesParser, or builder::EnumValueParser (#​3753)
    • Arg::max_occurrences with arg.action(ArgAction::Count).value_parser(value_parser!(u8).range(..N)) for flags (#​3797)
    • Arg::multiple_occurrences with ArgAction::Append or ArgAction::Count though positionals will need Arg::multiple_values (#​3772, #​3797)
    • Command::args_override_self with ArgAction::Set (#​2627, #​3797)
    • AppSettings::NoAutoVersion with ArgAction or Command::disable_version_flag (#​3800)
    • AppSettings::NoHelpVersion with ArgAction or Command::disable_help_flag / Command::disable_help_subcommand (#​3800)
    • ArgMatches::{value_of, value_of_os, value_of_os_lossy, value_of_t} with ArgMatches::{get_one,remove_one} (#​3753)
    • ArgMatches::{values_of, values_of_os, values_of_os_lossy, values_of_t} with ArgMatches::{get_many,remove_many} (#​3753)
    • ArgMatches::is_valid_arg with ArgMatches::{try_get_one,try_get_many} (#​3753)
    • ArgMatches::occurrences_of with ArgMatches::value_source or ArgAction::Count (#​3797)
    • ArgMatches::is_present with ArgMatches::contains_id or ArgAction::SetTrue (#​3797)
    • ArgAction::StoreValue with ArgAction::Set or ArgAction::Append (#​3797)
    • ArgAction::IncOccurrences with ArgAction::SetTrue or ArgAction::Count (#​3797)
    • (derive) #[clap(parse(...))] replaced with: (#​3589, #​3794)
      • For default parsers (no parse attribute), deprecation warnings can be silenced by opting into the new behavior by adding either #[clap(action)] or #[clap(value_parser)] (ie requesting the default behavior for these attributes). Alternatively, the unstable-v4 feature changes the default away from parse to action/value_parser.
      • For #[clap(parse(from_flag))] replaced with #[clap(action = ArgAction::SetTrue)] (#​3794)
      • For #[clap(parse(from_occurrences))] replaced with #[clap(action = ArgAction::Count)] though the field's type must be u8 (#​3794)
      • For #[clap(parse(from_os_str)] for PathBuf, replace it with #[clap(value_parser)] (as mentioned earlier this will call value_parser!(PathBuf) which will auto-select the right ValueParser automatically).
      • For #[clap(parse(try_from_str = ...)], replace it with #[clap(value_parser = ...)]
      • For most other cases, a type implementing TypedValueParser will be needed and specify it with #[clap(value_parser = ...)]
    Features
    • Parsed, typed arguments via Arg::value_parser / ArgMatches::{get_one,get_many} (#​2683, #​3732)
      • Several built-in TypedValueParsers available with an API open for expansion
      • value_parser!(T) macro for selecting a parser for a given type (#​3732) and open to expansion via the ValueParserFactory trait (#​3755)
      • [&str] is implicitly a value parser for possible values
      • All ArgMatches getters do not assume required arguments (#​2505)
      • Add ArgMatches::remove_* variants to transfer ownership
      • Add ArgMatches::try_* variants to avoid panics for developer errors (#​3621)
      • Add a get_raw to access the underlying OsStrs
      • PathBuf value parsers imply ValueHint::AnyPath for completions (#​3732)
    • Explicit control over parsing via Arg::action (#​3774)
      • ArgAction::StoreValue: existing takes_value(true) behavior
      • ArgAction::IncOccurrences: existing takes_value(false) behavior
      • ArgAction::Help: existing --help behavior
      • ArgAction::Version: existing --version behavior
      • ArgAction::Set: Overwrite existing values (like Arg::multiple_occurrences mixed with Command::args_override_self) (#​3777)
      • ArgAction::Append: like Arg::multiple_occurrences (#​3777)
      • ArgAction::SetTrue: Treat --flag as --flag=true (#​3775)
        • Implies Arg::default_value("false") (#​3786)
        • Parses Arg::env via Arg::value_parser
      • ArgAction::SetFalse: Treat --flag as --flag=false (#​3775)
        • Implies Arg::default_value("true") (#​3786)
        • Parses Arg::env via Arg::value_parser
      • ArgAction::Count: Treat --flag --flag --flag as --flag=1 --flag=2 --flag=3 (#​3775)
        • Implies Arg::default_value("0") (#​3786)
        • Parses Arg::env via Arg::value_parser
    • (derive) Opt-in to new Arg::value_parser / Arg::action with either #[clap(value_parser)] (#​3589, #​3742) / #[clap(action)] attributes (#​3794)
    • Command::multicall is now stable for busybox-like programs and REPLs (#​2861, #​3684)
    • ArgMatches::{try_,}contains_id for checking if there are values for an argument that mirrors the new get_{one,many} API
    Fixes
    • Don't correct argument id in default_value_ifs_os(#​3815)

    parser

    • Set ArgMatches::value_source and ArgMatches::occurrences_of for external subcommands (#​3732)
    • Use value delimiter for Arg::default_missing_values (#​3761, #​3765)
    • SplitArg::default_value / Arg::env on value delimiters independent of whether -- was used (#​3765)
    • Allow applying defaults to flags (#​3294, 3775)
    • Defaults no longer satisfy required and its variants (#​3793)

    Configuration

    πŸ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    β™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    πŸ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by Mend Renovate. View repository job log here.

    dependencies 
    opened by renovate[bot] 1
  • Update Swatinem/rust-cache action to v2

    Update Swatinem/rust-cache action to v2

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | Swatinem/rust-cache | action | major | v1 -> v2 |


    Configuration

    πŸ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    β™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    πŸ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by Mend Renovate. View repository job log here.

    dependencies 
    opened by renovate[bot] 0
  • Update Rust crate clap to v4

    Update Rust crate clap to v4

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | clap | dependencies | major | 3.2.22 -> 4.0.8 |


    Configuration

    πŸ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    β™» Rebasing: Renovate will not automatically rebase this PR, because other commits have been found.

    πŸ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox. ⚠ Warning: custom changes will be lost.

    This PR has been generated by Mend Renovate. View repository job log here.

    dependencies 
    opened by renovate[bot] 0
  • Lock file maintenance

    Lock file maintenance

    Mend Renovate

    This PR contains the following updates:

    | Update | Change | |---|---| | lockFileMaintenance | All locks refreshed |

    πŸ”§ This Pull Request updates lock files to use the latest dependency versions.


    Configuration

    πŸ“… Schedule: Branch creation - "before 5am on monday" (UTC), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    β™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    πŸ‘» Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by Mend Renovate. View repository job log here.

    dependencies 
    opened by renovate[bot] 0
  • Lock file maintenance

    Lock file maintenance

    WhiteSource Renovate

    This PR contains the following updates:

    | Update | Change | |---|---| | lockFileMaintenance | All locks refreshed |

    πŸ”§ This Pull Request updates lock files to use the latest dependency versions.


    Configuration

    πŸ“… Schedule: "before 5am on monday" (UTC).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    β™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    πŸ‘» Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by WhiteSource Renovate. View repository job log here.

    dependencies 
    opened by renovate[bot] 0
  • Adjust for WAPM

    Adjust for WAPM

    Hi.

    I wanted to throw omekasy onto wapm.io/webassembly.sh and adjusted it a bit for that (wasi doesn't support fancy terminal operations Γ  la crossterm yet.)

    This PR is more for asking whether you're opposed to that, than actually asking for these changes to be merged.

    opened by jcaesar 0
  • Use `sharedKey` to invalidate existing cache

    Use `sharedKey` to invalidate existing cache

    Invalidate the existing cache by using sharedKey in rust-cache. sharedKey is now cache-v1. As a known workaround, we can invalidate existing cache by incrementing v1.

    opened by ikanago 0
  • Fix clap build

    Fix clap build

    The CI has failed on main branch because Ubuntu18.04 cannot build clap 3.1.15 successfully. This should be fixed by clean up build cache on GitHub Actions, which is achieved by updating Cargo.lock.

    opened by ikanago 0
  • Lock file maintenance

    Lock file maintenance

    WhiteSource Renovate

    This PR contains the following updates:

    | Update | Change | |---|---| | lockFileMaintenance | All locks refreshed |

    πŸ”§ This Pull Request updates lock files to use the latest dependency versions.


    Configuration

    πŸ“… Schedule: "before 5am on monday" (UTC).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    β™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    πŸ‘» Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by WhiteSource Renovate. View repository job log here.

    dependencies 
    opened by renovate[bot] 0
  • Lock file maintenance

    Lock file maintenance

    WhiteSource Renovate

    This PR contains the following updates:

    | Update | Change | |---|---| | lockFileMaintenance | All locks refreshed |

    πŸ”§ This Pull Request updates lock files to use the latest dependency versions.


    Configuration

    πŸ“… Schedule: "before 5am on monday" (UTC).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    β™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    πŸ‘» Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by WhiteSource Renovate. View repository job log here.

    dependencies 
    opened by renovate[bot] 0
  • Lock file maintenance

    Lock file maintenance

    Mend Renovate

    This PR contains the following updates:

    | Update | Change | |---|---| | lockFileMaintenance | All locks refreshed |

    πŸ”§ This Pull Request updates lock files to use the latest dependency versions.


    Configuration

    πŸ“… Schedule: Branch creation - "before 5am on monday" (UTC), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    β™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    πŸ‘» Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    dependencies 
    opened by renovate[bot] 0
  • WAPM publishing

    WAPM publishing

    Implements wasmerio/wasmer#29.

    I've tested this on some other repository, but I obviously can't test it on yours. So there might be some quirks.

    For the login token, you'll have to:

    • Log in to wapm.io,
    • click your user account icon (top right),
    • Settings,
    • Access Tokens,
    • Create new Token.

    And then register that as a new repository secret on this github repo.

    opened by jcaesar 2
  • Publish to WAPM

    Publish to WAPM

    As @jcaesar mentioned in #27 , we are going to publish omekasy to WAPM. I'm going to publish to WAPM from GitHub Actions under my name, but I don't know well about Wasm and WAPM. So could you show me an example of build settings for the Wasm target or provide learning resources or hints, @jcaesar ? πŸ™

    opened by ikanago 4
  • Output is contaminated with control character when piped into `pbcopy`

    Output is contaminated with control character when piped into `pbcopy`

    This occurs only when the binary is executed without args; interactive mode. Result of omekasy | hexyl:

    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚00000000β”‚ 1b 5b 35 44 1b 5b 32 4b β”Š f0 9d 92 82 f0 9d 92 83 β”‚β€’[5Dβ€’[2Kβ”ŠΓ—Γ—Γ—Γ—Γ—Γ—Γ—Γ—β”‚
    β”‚00000010β”‚ f0 9d 92 84 0d 0a 1b 5b β”Š 4a                      β”‚Γ—Γ—Γ—Γ—__β€’[β”ŠJ       β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”˜
    
    opened by ikanago 0
  • Dependency Dashboard

    Dependency Dashboard

    This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

    Open

    These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

    Detected dependencies

    cargo
    Cargo.toml
    • clap 4.0.32
    • crossterm 0.25.0
    github-actions
    .github/workflows/actionlint.yml
    • actions/checkout v3
    • reviewdog/action-actionlint v1
    .github/workflows/ci.yml
    • actions/checkout v3
    • actions-rs/toolchain v1
    • Swatinem/rust-cache v2
    • actions-rs/clippy-check v1
    • actions/checkout v3
    • actions-rs/toolchain v1
    .github/workflows/release.yml
    • actions/checkout v3
    • actions-rs/toolchain v1
    • softprops/action-gh-release v1
    • actions/checkout v3
    .github/workflows/validate-renovate.yml
    • actions/checkout v3
    • actions/setup-node v3

    • [ ] Check this box to trigger a request for Renovate to run again on this repository
    opened by renovate[bot] 0
Releases(v1.1.1)
Owner
Rust beginner, studying computer science.
null
colorStyle is a library of styles for command-line text write in Rust.

Colorstyle colorStyle is a library of styles for command-line text. Inspired by flylog/colorstyle (golang) Example let text = colorstyle::green("gre

Code Translation 6 Nov 12, 2022
Rust library for ANSI terminal colours and styles (bold, underline)

rust-ansi-term This is a library for controlling colours and formatting, such as red bold text or blue underlined text, on ANSI terminals. View the Ru

Benjamin Sago 407 Jan 2, 2023
A CLI utility installed as "ansi" to quickly get ANSI escape sequences. Supports the most basic ones, like colors and styles as bold or italic.

'ansi' - a CLI utility to quickly get ANSI escape codes This Rust project called ansi-escape-sequences-cli provides an executable called ansi which ca

Philipp Schuster 5 Jul 28, 2022
A simple solution for scoped styles in Leptos

Styled: Easy Styling for Leptos Components If you're looking for an easy way to apply scoped styles to your Leptos components, Styled is the Leptos ma

Eran Boodnero 8 Mar 5, 2023
Checkline: checkbox line picker for stdin line input

checkline is a Unix command line interface (CLI) terminal user interface (TUI) that prompts you to check each line of stdin, to pick each line to output to stdout

SixArm 4 Dec 4, 2022
Command line utility to remove duplicates from the given input.

Command line utility to remove duplicates from the given input. Note that huniq does not sort the input, it just removes duplicates.

Karolin Varner 189 Dec 27, 2022
Command line tool to extract various data from Blender .blend files

blendtool Command line tool to extract various data from Blender .blend files. Currently supports dumping Eevee irradiance volumes to .dds, new featur

null 2 Sep 26, 2021
apkeep - A command-line tool for downloading APK files from various sources

apkeep - A command-line tool for downloading APK files from various sources Installation Precompiled binaries for apkeep on various platforms can be d

Electronic Frontier Foundation 561 Dec 29, 2022
tmplt is a command-line interface tool that allows you to quickly and easily set up project templates for various programming languages and frameworks

tmplt A User Friendly CLI Tool For Creating New Projects With Templates About tmplt is a command-line tool that lets users quickly create new projects

Humble Penguin 35 Apr 8, 2023
Work-in-progress Rust application that converts C++ header-only libraries to single self-contained headers.

unosolo Work-in-progress Rust application that converts C++ header-only libraries to single self-contained headers. Disclaimer This is my first Rust p

Vittorio Romeo 26 Jul 9, 2021
View your github contribution calander in unicode.

View your github contribution calander in the terminal Now in rust! gh-cal 0.1.0 marshmallow View your github contribution calander in unicode USAGE:

marshmallow 54 Sep 12, 2022
Tiny Rust library to draw pretty line graphs using ascii characters.

rasciigraph Tiny Rust library to draw pretty line graphs using ascii characters. Usage Add this to your Cargo.toml [dependencies] rasciigraph = "0.1.1

Orhan Balci 54 Jan 6, 2023
A command line application which sets your wall paper with new image generating pollens once they arrive.

pollenwall Table of Contents pollenwall About Installation Binary releases Build from source Usage Command Line Arguments Running as a service MacOS L

Pollinations.AI 2 Jan 7, 2022
A robust, customizable, blazingly-fast, efficient and easy-to-use command line application to uwu'ify your text!

uwuifyy A robust, customizable, blazingly-fast, efficient and easy-to-use command line application to uwu'ify your text! Logo Credits: Jade Nelson Tab

Hamothy 43 Dec 12, 2022
Small command-line tool to switch monitor inputs from command line

swmon Small command-line tool to switch monitor inputs from command line Installation git clone https://github.com/cr1901/swmon cargo install --path .

William D. Jones 5 Aug 20, 2022
πŸ¦€ Stupid simple presentation of the number of words, characters and lines on your clipboard.

clipcount: Counting words from the clipboard content Why does this exist? Do you find yourself often needing to count the number of words in a piece o

Magnus RΓΈdseth 3 Feb 23, 2024
Shellfirm - Intercept any risky patterns (default or defined by you) and prompt you a small challenge for double verification

shellfirm Opppppsss you did it again? ?? ?? ?? Protect yourself from yourself! rm -rf * git reset --hard before saving? kubectl delete ns which going

elad 652 Dec 29, 2022
Patch binary file using IDA signatures and defined replacement bytes in YAML.

fabricbin Patch binary file using IDA signatures and defined replacement bytes in YAML. Install: cargo install --git https://github.com/makindotcc/fab

makin 3 Oct 24, 2023
Dash is a CLI tool that rapidly sets up new projects by running a series of pre-defined commands.

Dash Dash is a CLI tool that rapidly sets up new projects by running a series of pre-defined commands. Features Quick Initialization: Initialize the c

Kunal Bagaria 4 Nov 7, 2023