cani 0.5.6 → 0.5.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7a2a9a1ade58c61f500567b529e8bf04dfb8c47f45cf560af55aae8f68948a12
4
- data.tar.gz: b15bd942b13a6ff8b345a1d2f9ec9dc7c1709cf1bcb45322016497586d696016
3
+ metadata.gz: b58055765218df5774430bad518d924cbe5d2c00cf087e9cb0933cc90f9a9275
4
+ data.tar.gz: 235ad6b6ba486c93bea25ea6734ea222d15240344ed5eff55ec128bf991a8877
5
5
  SHA512:
6
- metadata.gz: ca047850e4ef78cd88f3db162b35bfff5ddc9b4ed70b51e2fe7de1120effa3f7e6497c48c5dfd138a2a14adf3bff9fd70a371702ebd3dd8e475d9473f7321d44
7
- data.tar.gz: 904b5aba4262ad983879f850d3ce08b733c1f7e41c51cf004a64001c8daff021a89dc4a1dc12c963eb5a27c33f49ac9d74707b810406caafd3b9e74ff8060c3f
6
+ metadata.gz: cbe57d98c06a180e4bb64d20bc1b7b7c337f8cfb60631264ea5e6282faa60763156770225788133aefe1b78e21c92a290238e43819615c7611ad3016bea3c774
7
+ data.tar.gz: bb0e4f0cdde0dc18a222a1e12ef15bf3895a7fe045fd1fb9ae5e429c4b32b6212e51885856ba9bd28f77f43c608c1d28c2bda74f53ea0219b412dbbd148b8ea3
data/README.md CHANGED
@@ -10,6 +10,10 @@ on a regular interval together with completions.
10
10
 
11
11
  ## Latest changes
12
12
 
13
+ ### 28-07-2019 VERSION 0.5.7
14
+
15
+ - Titles shown in `cani use` may take up to 50 characters if the terminal is wide enough.
16
+
13
17
  ### 24-07-2019 VERSION 0.5.6
14
18
 
15
19
  - Fix issue where `cani` would crash when used without arguments. Original behavior of showing `cani help` in that case is restored. ([#14](../../pull/14))
@@ -26,6 +26,7 @@ Gem::Specification.new do |spec|
26
26
 
27
27
  spec.add_runtime_dependency 'colorize'
28
28
  spec.add_runtime_dependency 'curses'
29
+ spec.add_runtime_dependency 'tty-screen'
29
30
  spec.add_runtime_dependency 'json'
30
31
 
31
32
  spec.add_development_dependency 'bundler', '~> 1.16'
@@ -6,6 +6,7 @@ require 'curses'
6
6
  require 'colorize'
7
7
  require 'json'
8
8
  require 'yaml'
9
+ require 'tty-screen'
9
10
 
10
11
  require 'cani/api'
11
12
  require 'cani/fzf'
@@ -44,10 +44,10 @@ module Cani
44
44
  brwsr = Cani.api.browsers[bridx] unless bridx.nil?
45
45
  syms = stats[browser].values.compact.last(Cani.config.versions)
46
46
  .map { |s| TYPES[s][:symbol] || '' }
47
- .join.rjust Cani.config.versions
47
+ .join
48
48
 
49
- syms + brwsr.abbr
50
- end
49
+ brwsr && syms + brwsr.abbr
50
+ end.compact
51
51
  end
52
52
 
53
53
  def support_in(browser, version)
@@ -30,6 +30,14 @@ module Cani
30
30
  @exe ||= system 'fzf --version > /dev/null 2>&1'
31
31
  end
32
32
 
33
+ def self.dimensions
34
+ @dimensions ||= TTY::Screen.size
35
+ end
36
+
37
+ def self.longest_title_size
38
+ @longest_title_size ||= Cani.api.features.map(&:title).map(&:size).max
39
+ end
40
+
33
41
  def self.feature_rows
34
42
  @feature_rows ||= Cani.api.features.map(&Fzf.method(:to_feature_row))
35
43
  end
@@ -37,7 +45,11 @@ module Cani
37
45
  def self.to_feature_row(ft)
38
46
  pc = format('%.2f%%', ft.percent).rjust 6
39
47
  cl = {'un' => :yellow, 'ot' => :magenta}.fetch ft.status, :green
40
- tt = format('%-24s', ft.title.size > 24 ? ft.title[0..23].strip + '..'
48
+
49
+ total_len = ft.current_support.map(&:size).reduce(&:+) + pc.size + 4 + (ft.current_support.size + 2) * 3
50
+ rem_len = [longest_title_size, 50, [dimensions.last - total_len, 30].max].min
51
+
52
+ tt = format("%-#{rem_len}s", ft.title.size > rem_len ? ft.title[0...rem_len].strip + '..'
41
53
  : ft.title)
42
54
 
43
55
  [{content: "[#{ft.status}]", color: cl}, pc,
@@ -1,3 +1,3 @@
1
1
  module Cani
2
- VERSION = "0.5.6"
2
+ VERSION = "0.5.7"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cani
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.6
4
+ version: 0.5.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sidney Liebrand
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-07-24 00:00:00.000000000 Z
11
+ date: 2019-07-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colorize
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: tty-screen
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: json
43
57
  requirement: !ruby/object:Gem::Requirement