Git Product home page Git Product logo

ternimal's People

Contributors

p-e-w avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ternimal's Issues

It's glitchy in lxterminal

In lubuntu using lxterminal it's glitchy
it's going off color and skipping blocks like this

2018-02-22-185848_1440x900_scrot

also, I built it from source (if that helps debug)

include license text

It would help distributions if you could include full license text to repository.

Some stats may be?

"Glow" renderer capable of 1000+ frames per second (if the terminal can handle it)

Would be great if ternimal would be capable of printing some stats after the run (exactly to check what the terminal is capable of, is it fast enough, for example).

Feature: Two-dimensional, animated gradient

The idea is to extend the current gradient syntax of

DISTANCE:COLOR[,...]

to

X1;Y1;X2;Y2[;...]:COLOR[,...]

Where the x(n)/y(n) coordinates are locations in a 1x1 square whose coloring is determined using a combination of a Delaunay mesh and Barycentric interpolation.

The program then cyclically animates the movement of each point to the next location x(n+1)/y(n+1) every tick seconds (new parameter).

This idea would dramatically enhance the texturing and animation capabilities of Ternimal.

It's not as straightforward as the readme says (at least on Xubuntu 16.04 LTS)

Here's everything from the xfce4-terminal 0.6.3 on Xubuntu 16.04 LTS:

jaervinen@rautadesk1-vm-ubuserv1604-0:~/Downloads/spyder-master$ cd ..
jaervinen@rautadesk1-vm-ubuserv1604-0:~/Downloads$ wget https://github.com/p-e-w/ternimal/raw/master/ternimal.rs
--2017-11-04 20:56:24--  https://github.com/p-e-w/ternimal/raw/master/ternimal.rs
Resolving github.com (github.com)... 192.30.253.112, 192.30.253.113
Connecting to github.com (github.com)|192.30.253.112|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://raw.githubusercontent.com/p-e-w/ternimal/master/ternimal.rs [following]
--2017-11-04 20:56:25--  https://raw.githubusercontent.com/p-e-w/ternimal/master/ternimal.rs
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.84.133
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.84.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 38158 (37K) [text/plain]
Saving to: ‘ternimal.rs’

ternimal.rs                                                         100%[==================================================================================================================================================================>]  37.26K  --.-KB/s    in 0.06s   

2017-11-04 20:56:25 (652 KB/s) - ‘ternimal.rs’ saved [38158/38158]

jaervinen@rautadesk1-vm-ubuserv1604-0:~/Downloads$ aptitude search rust
p   elpa-rust-mode                                                                                                                  - Major Emacs mode for editing Rust source code                                                                                            
p   fcitx-table-rustrad                                                                                                             - Flexible Input Method Framework - Rustrad table                                                                                          
p   freeipa-server-trust-ad                                                                                                         - FreeIPA centralized identity framework -- AD trust installer                                                                             
p   freeipa-server-trust-ad:i386                                                                                                    - FreeIPA centralized identity framework -- AD trust installer                                                                             
p   golang-github-docker-libtrust-dev                                                                                               - Primitives for identity and authorization                                                                                                
p   ibus-table-rustrad                                                                                                              - ibus-table input method: Russian Traditional                                                                                             
p   libghc-lambdabot-trusted-dev                                                                                                    - Lambdabot trusted code.                                                                                                                  
p   libghc-lambdabot-trusted-dev:i386                                                                                               - Lambdabot trusted code.                                                                                                                  
v   libghc-lambdabot-trusted-dev-5.0.2.1-fabb9:i386                                                                                 -                                                                                                                                          
v   libghc-lambdabot-trusted-dev-5.0.2.1-fc846                                                                                      -                                                                                                                                          
p   libghc-lambdabot-trusted-doc                                                                                                    - Lambdabot trusted code.; documentation                                                                                                   
p   libghc-lambdabot-trusted-prof                                                                                                   - Lambdabot trusted code.; profiling libraries                                                                                             
p   libghc-lambdabot-trusted-prof:i386                                                                                              - Lambdabot trusted code.; profiling libraries                                                                                             
v   libghc-lambdabot-trusted-prof-5.0.2.1-fabb9:i386                                                                                -                                                                                                                                          
v   libghc-lambdabot-trusted-prof-5.0.2.1-fc846                                                                                     -                                                                                                                                          
p   libmodule-install-trustmetayml-perl                                                                                             - trust META.yml list of dependencies                                                                                                      
p   libpod-coverage-trustpod-perl                                                                                                   - module to support hints for Pod::Coverage                                                                                                
p   libstd-rust-1.15                                                                                                                - Rust standard libraries                                                                                                                  
p   libstd-rust-1.15:i386                                                                                                           - Rust standard libraries                                                                                                                  
p   libstd-rust-1.17                                                                                                                - Rust standard libraries                                                                                                                  
p   libstd-rust-1.17:i386                                                                                                           - Rust standard libraries                                                                                                                  
p   libstd-rust-1.7                                                                                                                 - Rust standard libraries                                                                                                                  
p   libstd-rust-1.7:i386                                                                                                            - Rust standard libraries                                                                                                                  
p   libstd-rust-dev                                                                                                                 - Rust standard libraries - development files                                                                                              
p   libstd-rust-dev:i386                                                                                                            - Rust standard libraries - development files                                                                                              
p   libthrust-dev                                                                                                                   - Thrust - Parallel Algorithms Library                                                                                                     
p   libtrust-store-dev                                                                                                              - C++11 library for persisting trust requests - dev files                                                                                  
p   libtrust-store-dev:i386                                                                                                         - C++11 library for persisting trust requests - dev files                                                                                  
p   libtrust-store-doc                                                                                                              - Documentation files for libtrust-store-dev                                                                                               
p   libtrust-store2                                                                                                                 - C++11 library for persisting trust requests - runtime library                                                                            
p   libtrust-store2:i386                                                                                                            - C++11 library for persisting trust requests - runtime library                                                                            
p   linux-hwe-generic-trusty                                                                                                        - Depends on the generic hardware enablement kernel image and headers (dummy transitional packages)                                        
p   linux-hwe-generic-trusty:i386                                                                                                   - Depends on the generic hardware enablement kernel image and headers (dummy transitional packages)                                        
p   linux-hwe-virtual-trusty                                                                                                        - Depends on the virtual hardware enablement kernel image and headers (dummy transitional package)                                         
p   linux-hwe-virtual-trusty:i386                                                                                                   - Depends on the virtual hardware enablement kernel image and headers (dummy transitional package)                                         
p   linux-image-hwe-generic-trusty                                                                                                  - Depends on the generic hardware enablement kernel image (dummy transitional package)                                                     
p   linux-image-hwe-generic-trusty:i386                                                                                             - Depends on the generic hardware enablement kernel image (dummy transitional package)                                                     
p   linux-image-hwe-virtual-trusty                                                                                                  - Depends on the virtual hardware enablement kernel image (dummy transitional package)                                                     
p   linux-image-hwe-virtual-trusty:i386                                                                                             - Depends on the virtual hardware enablement kernel image (dummy transitional package)                                                     
p   moonshot-trust-router                                                                                                           - Moonshot Trust Router                                                                                                                    
p   moonshot-trust-router:i386                                                                                                      - Moonshot Trust Router                                                                                                                    
p   moonshot-trust-router-dbg                                                                                                       - Trust Router Debugging Symbols                                                                                                           
p   moonshot-trust-router-dbg:i386                                                                                                  - Trust Router Debugging Symbols                                                                                                           
p   moonshot-trust-router-dev                                                                                                       - Development environment for the Trust Router                                                                                             
p   moonshot-trust-router-dev:i386                                                                                                  - Development environment for the Trust Router                                                                                             
p   pulseaudio-module-trust-store                                                                                                   - trust-store module for PulseAudio sound server                                                                                           
p   pulseaudio-module-trust-store:i386                                                                                              - trust-store module for PulseAudio sound server                                                                                           
v   python-zope.pagetemplate-untrusted                                                                                              -                                                                                                                                          
v   python-zope.security-untrustedpython                                                                                            -                                                                                                                                          
p   python-zope.untrustedpython                                                                                                     - Zope untrusted Python library                                                                                                            
p   rust-doc                                                                                                                        - Rust systems programming language - Documentation                                                                                        
p   rust-gdb                                                                                                                        - Rust debugger (gdb)                                                                                                                      
p   rust-gdb:i386                                                                                                                   - Rust debugger (gdb)                                                                                                                      
p   rust-lldb                                                                                                                       - Rust debugger (lldb)                                                                                                                     
p   rust-lldb:i386                                                                                                                  - Rust debugger (lldb)                                                                                                                     
p   rust-src                                                                                                                        - Rust systems programming language - source code                                                                                          
p   rustc                                                                                                                           - Rust systems programming language                                                                                                        
p   rustc:i386                                                                                                                      - Rust systems programming language                                                                                                        
p   syslinux-themes-ubuntu-trusty                                                                                                   - collection of boot loaders (ubuntu-trusty theme)                                                                                         
p   syslinux-themes-ubuntu-trusty:i386                                                                                              - collection of boot loaders (ubuntu-trusty theme)                                                                                         
p   trust-store-bin                                                                                                                 - Daemon binaries to be used by services.                                                                                                  
p   trust-store-bin:i386                                                                                                            - Daemon binaries to be used by services.                                                                                                  
p   trust-store-tests                                                                                                               - Test files for libtrust-store1                                                                                                           
p   trust-store-tests:i386                                                                                                          - Test files for libtrust-store1                                                                                                           
p   trustedqsl                                                                                                                      - QSL log signing for the Logbook of the World (LoTW)                                                                                      
p   trustedqsl:i386                                                                                                                 - QSL log signing for the Logbook of the World (LoTW)                                                                                      
p   ubuntu-gnome-wallpapers-trusty                                                                                                  - Ubuntu GNOME 14.04 Wallpapers                                                                                                            
p   ubuntu-wallpapers-trusty                                                                                                        - Ubuntu 14.04 Wallpapers                                                                                                                  
p   ubuntukylin-wallpapers-trusty                                                                                                   - Ubuntu Kylin 14.04 Wallpapers                                                                                                            
p   uncrustify                                                                                                                      - C, C++, C#, D, Java and Pawn source code beautifier                                                                                      
p   uncrustify:i386                                                                                                                 - C, C++, C#, D, Java and Pawn source code beautifier                                                                                      
p   xubuntu-community-wallpapers-trusty                                                                                             - Xubuntu community wallpapers (Trusty)                                                                                                    
jaervinen@rautadesk1-vm-ubuserv1604-0:~/Downloads$ sudo aptitude install rustc
[sudo] password for jaervinen: 
The following NEW packages will be installed:
  libllvm3.9{a} libstd-rust-1.17{a} libstd-rust-dev{a} rustc 
The following packages are RECOMMENDED but will NOT be installed:
  rust-gdb rust-lldb 
0 packages upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
Need to get 39.2 MB of archives. After unpacking 121 MB will be used.
Do you want to continue? [Y/n/?] 
Get: 1 http://fi.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libllvm3.9 amd64 1:3.9.1-4ubuntu3~16.04.2 [11.2 MB]
Get: 2 http://fi.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libstd-rust-1.17 amd64 1.17.0+dfsg2-8~ubuntu0.16.04.2 [18.4 MB]                                                                                                                                       
Get: 3 http://fi.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libstd-rust-dev amd64 1.17.0+dfsg2-8~ubuntu0.16.04.2 [9,600 kB]                                                                                                                                       
Get: 4 http://fi.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 rustc amd64 1.17.0+dfsg2-8~ubuntu0.16.04.2 [30.5 kB]                                                                                                                                                  
Fetched 39.2 MB in 40s (975 kB/s)                                                                                                                                                                                                                                              
Selecting previously unselected package libllvm3.9:amd64.
(Reading database ... 375796 files and directories currently installed.)
Preparing to unpack .../libllvm3.9_1%3a3.9.1-4ubuntu3~16.04.2_amd64.deb ...
Unpacking libllvm3.9:amd64 (1:3.9.1-4ubuntu3~16.04.2) ...
Selecting previously unselected package libstd-rust-1.17:amd64.
Preparing to unpack .../libstd-rust-1.17_1.17.0+dfsg2-8~ubuntu0.16.04.2_amd64.deb ...
Unpacking libstd-rust-1.17:amd64 (1.17.0+dfsg2-8~ubuntu0.16.04.2) ...
Selecting previously unselected package libstd-rust-dev:amd64.
Preparing to unpack .../libstd-rust-dev_1.17.0+dfsg2-8~ubuntu0.16.04.2_amd64.deb ...
Unpacking libstd-rust-dev:amd64 (1.17.0+dfsg2-8~ubuntu0.16.04.2) ...
Selecting previously unselected package rustc.
Preparing to unpack .../rustc_1.17.0+dfsg2-8~ubuntu0.16.04.2_amd64.deb ...
Unpacking rustc (1.17.0+dfsg2-8~ubuntu0.16.04.2) ...
Processing triggers for libc-bin (2.23-0ubuntu9) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up libllvm3.9:amd64 (1:3.9.1-4ubuntu3~16.04.2) ...
Setting up libstd-rust-1.17:amd64 (1.17.0+dfsg2-8~ubuntu0.16.04.2) ...
Setting up libstd-rust-dev:amd64 (1.17.0+dfsg2-8~ubuntu0.16.04.2) ...
Setting up rustc (1.17.0+dfsg2-8~ubuntu0.16.04.2) ...
Processing triggers for libc-bin (2.23-0ubuntu9) ...
                                         
Current status: 0 (-81) new.
jaervinen@rautadesk1-vm-ubuserv1604-0:~/Downloads$ rustc -O te
teamviewer_12.0.85001_i386.deb  ternimal.rs                     
jaervinen@rautadesk1-vm-ubuserv1604-0:~/Downloads$ rustc -O ternimal.rs 
error: cannot find macro `eprint!` in this scope
  --> ternimal.rs:26:9
   |
26 |         eprint!("\x1B[31m");
   |         ^^^^^^
...
92 |     arg_var!(speed, 30.0, 0.0, 1000.0);
   |     ----------------------------------- in this macro invocation
   |
   = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
  --> ternimal.rs:27:9
   |
27 |         eprint!($($arg)*);
   |         ^^^^^^
...
92 |     arg_var!(speed, 30.0, 0.0, 1000.0);
   |     ----------------------------------- in this macro invocation
   |
   = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
  --> ternimal.rs:29:9
   |
29 |         eprint!("\x1B[m\n");
   |         ^^^^^^
...
92 |     arg_var!(speed, 30.0, 0.0, 1000.0);
   |     ----------------------------------- in this macro invocation
   |
   = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
  --> ternimal.rs:26:9
   |
26 |         eprint!("\x1B[31m");
   |         ^^^^^^
...
94 |     arg_var!(fps, 30.0, 0.1, 600.0);
   |     -------------------------------- in this macro invocation
   |
   = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
  --> ternimal.rs:27:9
   |
27 |         eprint!($($arg)*);
   |         ^^^^^^
...
94 |     arg_var!(fps, 30.0, 0.1, 600.0);
   |     -------------------------------- in this macro invocation
   |
   = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
  --> ternimal.rs:29:9
   |
29 |         eprint!("\x1B[m\n");
   |         ^^^^^^
...
94 |     arg_var!(fps, 30.0, 0.1, 600.0);
   |     -------------------------------- in this macro invocation
   |
   = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:26:9
    |
26  |         eprint!("\x1B[31m");
    |         ^^^^^^
...
107 |     arg_var!(width, 60, 1, 500);
    |     ---------------------------- in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:27:9
    |
27  |         eprint!($($arg)*);
    |         ^^^^^^
...
107 |     arg_var!(width, 60, 1, 500);
    |     ---------------------------- in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:29:9
    |
29  |         eprint!("\x1B[m\n");
    |         ^^^^^^
...
107 |     arg_var!(width, 60, 1, 500);
    |     ---------------------------- in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:26:9
    |
26  |         eprint!("\x1B[31m");
    |         ^^^^^^
...
108 |     arg_var!(height, 40, 1, 500);
    |     ----------------------------- in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:27:9
    |
27  |         eprint!($($arg)*);
    |         ^^^^^^
...
108 |     arg_var!(height, 40, 1, 500);
    |     ----------------------------- in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:29:9
    |
29  |         eprint!("\x1B[m\n");
    |         ^^^^^^
...
108 |     arg_var!(height, 40, 1, 500);
    |     ----------------------------- in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:26:9
    |
26  |         eprint!("\x1B[31m");
    |         ^^^^^^
...
110 |         exit!("Invalid height '{}': Height must be a multiple of 2.", height);
    |         ---------------------------------------------------------------------- in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:27:9
    |
27  |         eprint!($($arg)*);
    |         ^^^^^^
...
110 |         exit!("Invalid height '{}': Height must be a multiple of 2.", height);
    |         ---------------------------------------------------------------------- in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:29:9
    |
29  |         eprint!("\x1B[m\n");
    |         ^^^^^^
...
110 |         exit!("Invalid height '{}': Height must be a multiple of 2.", height);
    |         ---------------------------------------------------------------------- in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:26:9
    |
26  |         eprint!("\x1B[31m");
    |         ^^^^^^
...
117 |         exit!("Invalid length '{} to {}': Length must be between 0 and 1000.", length_range.from, length_range.to);
    |         ----------------------------------------------------------------------------------------------------------- in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:27:9
    |
27  |         eprint!($($arg)*);
    |         ^^^^^^
...
117 |         exit!("Invalid length '{} to {}': Length must be between 0 and 1000.", length_range.from, length_range.to);
    |         ----------------------------------------------------------------------------------------------------------- in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:29:9
    |
29  |         eprint!("\x1B[m\n");
    |         ^^^^^^
...
117 |         exit!("Invalid length '{} to {}': Length must be between 0 and 1000.", length_range.from, length_range.to);
    |         ----------------------------------------------------------------------------------------------------------- in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:26:9
    |
26  |         eprint!("\x1B[31m");
    |         ^^^^^^
...
121 |     arg_var!(segments, 10, 1, 1000);
    |     -------------------------------- in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:27:9
    |
27  |         eprint!($($arg)*);
    |         ^^^^^^
...
121 |     arg_var!(segments, 10, 1, 1000);
    |     -------------------------------- in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:29:9
    |
29  |         eprint!("\x1B[m\n");
    |         ^^^^^^
...
121 |     arg_var!(segments, 10, 1, 1000);
    |     -------------------------------- in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:26:9
    |
26  |           eprint!("\x1B[31m");
    |           ^^^^^^
...
137 |           exit!("Invalid thickness specification: There must be 1, or 4, or 7, ... coefficients; {} were supplied.",
    |  _________- starting here...
138 | |                 coefficients.len());
    | |____________________________________- ...ending here: in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:27:9
    |
27  |           eprint!($($arg)*);
    |           ^^^^^^
...
137 |           exit!("Invalid thickness specification: There must be 1, or 4, or 7, ... coefficients; {} were supplied.",
    |  _________- starting here...
138 | |                 coefficients.len());
    | |____________________________________- ...ending here: in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:29:9
    |
29  |           eprint!("\x1B[m\n");
    |           ^^^^^^
...
137 |           exit!("Invalid thickness specification: There must be 1, or 4, or 7, ... coefficients; {} were supplied.",
    |  _________- starting here...
138 | |                 coefficients.len());
    | |____________________________________- ...ending here: in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:26:9
    |
26  |         eprint!("\x1B[31m");
    |         ^^^^^^
...
159 |         exit!("Invalid thickness specification: Maximum thickness is {}; must be between 0 and 1000.", max_thickness);
    |         -------------------------------------------------------------------------------------------------------------- in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:27:9
    |
27  |         eprint!($($arg)*);
    |         ^^^^^^
...
159 |         exit!("Invalid thickness specification: Maximum thickness is {}; must be between 0 and 1000.", max_thickness);
    |         -------------------------------------------------------------------------------------------------------------- in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:29:9
    |
29  |         eprint!("\x1B[m\n");
    |         ^^^^^^
...
159 |         exit!("Invalid thickness specification: Maximum thickness is {}; must be between 0 and 1000.", max_thickness);
    |         -------------------------------------------------------------------------------------------------------------- in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:26:9
    |
26  |         eprint!("\x1B[31m");
    |         ^^^^^^
...
164 |     arg_var!(padding, min!(max_thickness, max_padding), 0.0, max_padding);
    |     ---------------------------------------------------------------------- in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:27:9
    |
27  |         eprint!($($arg)*);
    |         ^^^^^^
...
164 |     arg_var!(padding, min!(max_thickness, max_padding), 0.0, max_padding);
    |     ---------------------------------------------------------------------- in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:29:9
    |
29  |         eprint!("\x1B[m\n");
    |         ^^^^^^
...
164 |     arg_var!(padding, min!(max_thickness, max_padding), 0.0, max_padding);
    |     ---------------------------------------------------------------------- in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:26:9
    |
26  |           eprint!("\x1B[31m");
    |           ^^^^^^
...
171 |           exit!("Invalid radius '{} to {}': For the configured width, height, and padding, \
    |  _________- starting here...
172 | |                 radius must be between 0 and {}.", radius_range.from, radius_range.to, max_radius);
    | |___________________________________________________________________________________________________- ...ending here: in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:27:9
    |
27  |           eprint!($($arg)*);
    |           ^^^^^^
...
171 |           exit!("Invalid radius '{} to {}': For the configured width, height, and padding, \
    |  _________- starting here...
172 | |                 radius must be between 0 and {}.", radius_range.from, radius_range.to, max_radius);
    | |___________________________________________________________________________________________________- ...ending here: in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:29:9
    |
29  |           eprint!("\x1B[m\n");
    |           ^^^^^^
...
171 |           exit!("Invalid radius '{} to {}': For the configured width, height, and padding, \
    |  _________- starting here...
172 | |                 radius must be between 0 and {}.", radius_range.from, radius_range.to, max_radius);
    | |___________________________________________________________________________________________________- ...ending here: in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:26:9
    |
26  |           eprint!("\x1B[31m");
    |           ^^^^^^
...
183 |           exit!("Insufficient arena size for path generation: For the configured radius and padding, \
    |  _________- starting here...
184 | |                 either width or height must be at least {}.", min_size);
    | |________________________________________________________________________- ...ending here: in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:27:9
    |
27  |           eprint!($($arg)*);
    |           ^^^^^^
...
183 |           exit!("Insufficient arena size for path generation: For the configured radius and padding, \
    |  _________- starting here...
184 | |                 either width or height must be at least {}.", min_size);
    | |________________________________________________________________________- ...ending here: in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:29:9
    |
29  |           eprint!("\x1B[m\n");
    |           ^^^^^^
...
183 |           exit!("Insufficient arena size for path generation: For the configured radius and padding, \
    |  _________- starting here...
184 | |                 either width or height must be at least {}.", min_size);
    | |________________________________________________________________________- ...ending here: in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
    --> ternimal.rs:26:9
     |
26   |         eprint!("\x1B[31m");
     |         ^^^^^^
...
1127 |         exit!("{}", error);
     |         ------------------- in this macro invocation
     |
     = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
    --> ternimal.rs:27:9
     |
27   |         eprint!($($arg)*);
     |         ^^^^^^
...
1127 |         exit!("{}", error);
     |         ------------------- in this macro invocation
     |
     = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
    --> ternimal.rs:29:9
     |
29   |         eprint!("\x1B[m\n");
     |         ^^^^^^
...
1127 |         exit!("{}", error);
     |         ------------------- in this macro invocation
     |
     = help: did you mean `print!`?

error: aborting due to 39 previous errors

jaervinen@rautadesk1-vm-ubuserv1604-0:~/Downloads$ ./ternimal length=100 segments=50 thickness=1,4,1,0 radius=6,12 gradient=0:#666600,0.5:#00ff00,1:#003300
bash: ./ternimal: No such file or directory
jaervinen@rautadesk1-vm-ubuserv1604-0:~/Downloads$ ./ternimal.rs length=100 segments=50 thickness=1,4,1,0 radius=6,12 gradient=0:#666600,0.5:#00ff00,1:#003300
bash: ./ternimal.rs: Permission denied
jaervinen@rautadesk1-vm-ubuserv1604-0:~/Downloads$ chmod +x ternimal.rs 
jaervinen@rautadesk1-vm-ubuserv1604-0:~/Downloads$ ./ternimal.rs length=100 segments=50 thickness=1,4,1,0 radius=6,12 gradient=0:#666600,0.5:#00ff00,1:#003300
./ternimal.rs: line 1: //: Is a directory
./ternimal.rs: line 2: //: Is a directory
./ternimal.rs: line 3: syntax error near unexpected token `('
./ternimal.rs: line 3: `// Copyright (c) 2017 Philipp Emanuel Weidmann <[email protected]>'
jaervinen@rautadesk1-vm-ubuserv1604-0:~/Downloads$ 

So, assuming I'm not doing anything wrong, Ternimal ain't working as straightforwardly as it's intended to.

Nice to have: Cargo support

I've seen in the README that Cargo isn't needed to build. However, I'm finding that this increases the number of steps needed to install this project relative to having a Cargo.toml file:

With Cargo support, I could install ternimal with a one-liner: cargo install ternimal --git https://github.com/p-e-w/ternimal.git.
This would download, build, and install ternimal in ~/.cargo/bin, which is in $PATH.

However, atm I have to manually clone, then run rustc, and then copy the output manually to somewhere in $PATH.

In short, having Cargo support would be a very nice to have.

Eyes

this is probably completely unfeasible, but it would be cool if there was an option to add "eyes" 👀 (I'm thinking 2 little blocks on one of the ends) to the "ternimal".

Bug in radius calculation

./ternimal thickness=15

runs fine, but

./ternimal thickness=15 padding=0

gives

Insufficient arena size for path generation: For the configured radius and padding, either width or height must be at least 96.

In other words, making more space (padding=0) somehow results in less space.

Clarify Windows support in README

I just tried this out on Win7, with unexpected results: x

Top is PowerShell, bottom is Cmder.

Not totally sure if it's the font, or wrong version of PowerShell.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.