All Projects → NerdyPepper → Eva

NerdyPepper / Eva

Licence: mit
a calculator REPL, similar to bc(1)

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Eva

Ghost Cli
CLI Tool for installing & updating Ghost
Stars: ✭ 313 (-22.72%)
Mutual labels:  cli, hacktoberfest
Ack3
ack is a grep-like search tool optimized for source code.
Stars: ✭ 330 (-18.52%)
Mutual labels:  cli, hacktoberfest
Horusec
Horusec is an open source tool that improves identification of vulnerabilities in your project with just one command.
Stars: ✭ 311 (-23.21%)
Mutual labels:  cli, hacktoberfest
Vue Cli Plugin Electron Builder
Easily Build Your Vue.js App For Desktop With Electron
Stars: ✭ 3,549 (+776.3%)
Mutual labels:  cli, hacktoberfest
Memento
Memento is a development-only tool that caches HTTP calls once they have been executed.
Stars: ✭ 380 (-6.17%)
Mutual labels:  cli, hacktoberfest
Diff2html Cli
Pretty diff to html javascript cli (diff2html-cli)
Stars: ✭ 287 (-29.14%)
Mutual labels:  cli, hacktoberfest
Teachcode
A tool to develop and improve a student’s programming skills by introducing the earliest lessons of coding.
Stars: ✭ 325 (-19.75%)
Mutual labels:  cli, hacktoberfest
Fsociety
A Modular Penetration Testing Framework
Stars: ✭ 259 (-36.05%)
Mutual labels:  cli, hacktoberfest
Ava
Node.js test runner that lets you develop with confidence 🚀
Stars: ✭ 19,458 (+4704.44%)
Mutual labels:  cli, hacktoberfest
Mongo Seeding
The ultimate solution for populating your MongoDB database.
Stars: ✭ 375 (-7.41%)
Mutual labels:  cli, hacktoberfest
Doitlive
Because sometimes you need to do it live
Stars: ✭ 3,073 (+658.77%)
Mutual labels:  cli, hacktoberfest
Isort
A Python utility / library to sort imports.
Stars: ✭ 4,377 (+980.74%)
Mutual labels:  cli, hacktoberfest
Starcli
✨ Browse GitHub trending projects from your command line
Stars: ✭ 269 (-33.58%)
Mutual labels:  cli, hacktoberfest
Laravel Packer
Awesome Command Line Tool for speeding up your package creation.
Stars: ✭ 313 (-22.72%)
Mutual labels:  cli, hacktoberfest
Ddh
A fast duplicate file finder
Stars: ✭ 262 (-35.31%)
Mutual labels:  cli, hacktoberfest
Graphback
Graphback - Out of the box GraphQL server and client
Stars: ✭ 323 (-20.25%)
Mutual labels:  cli, hacktoberfest
Jenkins Cli
Jenkins CLI allows you manage your Jenkins as an easy way
Stars: ✭ 245 (-39.51%)
Mutual labels:  cli, hacktoberfest
Gitmoji Changelog
A changelog generator for gitmoji 😜
Stars: ✭ 250 (-38.27%)
Mutual labels:  cli, hacktoberfest
S3cmd
Official s3cmd repo -- Command line tool for managing Amazon S3 and CloudFront services
Stars: ✭ 3,767 (+830.12%)
Mutual labels:  cli, hacktoberfest
Collision
💥 Collision is a beautiful error reporting tool for command-line applications
Stars: ✭ 3,993 (+885.93%)
Mutual labels:  cli, hacktoberfest

heroimg.png

eva

simple calculator REPL, similar to bc(1), with syntax highlighting and persistent history

eva.png

installation

  • Homebrew
$ brew install eva
  • crates.io
$ cargo install eva
  • manual
$ git clone https://github.com/nerdypepper/eva.git
$ cargo run

usage

eva 0.2.4
NerdyPepper <[email protected]>
Calculator REPL similar to bc(1)

USAGE:
    eva [FLAGS] [OPTIONS] [INPUT]

FLAGS:
    -h, --help       Prints help information
    -r, --radian     set eva to radian mode
    -V, --version    Prints version information

OPTIONS:
    -b, --base <RADIX>    set the radix of calculation output (2, 8, 10, 16 etc.)
    -f, --fix <FIX>       set number of decimal places in the output

ARGS:
    <INPUT>    optional expression string to run eva in command mode

type out an expression and hit enter, repeat.

> 1 + sin(30)
1.5
> floor(sqrt(3^2 + 5^2))
5
> 5sin(45) + cos(0)
4.53553

updating

  • crates.io
$ cargo install eva --force
  • manual
$ cargo install --force --path /path/to/eva

operators

  • binary operators: + - * / ^ **
  • unary operators: + -

constants

some constants available in rust standard library.

e      pi

examples:

pi * 5^2  # πr²

functions

all trigonometric functions expect input in degrees.

sin    cos     tan    csc    sec    cot    sinh   cosh   tanh
asin   acos    atan   acsc   asec   acot   ln     log    sqrt
ceil   floor   abs

deg(x) - convert x to degrees
rad(x) - convert x to radians

examples:

sqrt(sin(30)) # parentheses are mandatory for functions

log100        # no
log(100)      # yes

quality of life features

  • auto insertion of * operator
>12sin(45(2))             # 12 * sin(45 * (2))
12
  • auto balancing of parentheses
>ceil(sqrt(3^2 + 5^2      # ceil(sqrt(3^2 + 5^2))
6
  • use previous answer with _
> sin(pi)
0.0548036650
> _^2
0.0030034417
>
  • super neat error handling
> 1 + ln(-1)
Domain Error: Out of bounds!
  • syntax highlighting

todo

  • add support for variables (pi, e, _ (previous answer))
  • syntax highlighting
  • multiple arg functions
  • screenshots
  • create logo
  • unary operators (minus, plus)
  • add detailed error handler
  • add unit tests
  • lineditor with syntax highlighting
  • add more functions

contributors

the rust community has helped eva come a long way, but these devs deserve a special mention for their contributions:

Ivan Tham
Milan Marković
asapokl

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].