ememo 0.1.2 → 0.1.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: 06e51c0750adcc78957988fc197cd038732188558ea98a3fc688e14cc55c5f84
4
- data.tar.gz: 56886682e8241d285877849bf899231afb2410709b7f2081e1cae7d0b80c6fb0
3
+ metadata.gz: f09c55d74cae625a27d4216ddbb20cac92d2033fed33155f6a2ca0a66ad41275
4
+ data.tar.gz: 739c7d869498275994266485bd72b02180108cf8b2601ca81793ca6004670908
5
5
  SHA512:
6
- metadata.gz: d5ff03a485f8d75a2ab9ec3bd5e3916a1368528d7161253c3bb3bb21d1d16339a8902b5a67d663c88c34492874e776090105a252eb69a81f42803cc63bdda2a5
7
- data.tar.gz: a7cf9b2b0de9d863eafefc6f52241a89590dc335daedc562e1e8157ea96cf6844c09455d83529b72e22f46865c68ec46bd640845d3fe19a6c3ab11d9bac3b802
6
+ metadata.gz: a8323d189d566d57c7e12c4e27cd004a437ebeaa35159c34193b539716b150d6a2d98d70d2302484f55ce7fb3051ee927613660fa168d277b4e5f3283be10868
7
+ data.tar.gz: bdc8537e2cfb755283cbcbe62bfda0f1b58e89d35cfbb12f3a86ceb9ee078e529d2ef93ceb5cfe44c02ba2c80991c8aaebd940074dc2b469d3ffe625f083bcec
data/Gemfile CHANGED
@@ -6,5 +6,6 @@ source "https://rubygems.org"
6
6
  gemspec
7
7
 
8
8
  gem "rake", "~> 13.0"
9
+ gem "pry"
9
10
 
10
11
  gem "test-unit", "~> 3.0"
@@ -1,8 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ememo (0.1.2)
5
- pry
4
+ ememo (0.1.7)
6
5
  tomlrb
7
6
 
8
7
  GEM
@@ -24,6 +23,7 @@ PLATFORMS
24
23
 
25
24
  DEPENDENCIES
26
25
  ememo!
26
+ pry
27
27
  rake (~> 13.0)
28
28
  test-unit (~> 3.0)
29
29
 
data/README.md CHANGED
@@ -70,8 +70,28 @@ $ memo p todo -n project1
70
70
  # with namespace_alias
71
71
  $ memo p todo -n p
72
72
 
73
+ # copy to clipboard
74
+ $ memo p todo -n p -c
75
+ $ memo p todo -n p -copy
73
76
  ```
74
77
 
78
+ ### List
79
+ ```bash
80
+ # list of ~/.memo/mymemo/memo.md
81
+ $ memo l
82
+ $ memo list
83
+
84
+ # list ~/.memo/project1/todo.md
85
+ $ memo l -n project1
86
+
87
+ # all
88
+ $ memo l -a
89
+ $ memo l -all
90
+
91
+ # list of direcory
92
+ $ memo l -d
93
+ $ memo l -dir
94
+ ```
75
95
  ### Today
76
96
  ```bash
77
97
  # edit today's memo (~/.memo/2021/1/1.md)
@@ -115,6 +135,8 @@ $ memo ptw
115
135
  ext = "md"
116
136
  root = "~/.memo"
117
137
  editor = "vim"
138
+ # pbcopy = "pbcopy"
139
+ # pbcopy = "xsel --clipboard --input"
118
140
  preview = "bat"
119
141
  fuzzy_finder = "fzf --preview 'bat --color=always {}'"
120
142
  default_filename = "memo"
@@ -123,6 +145,7 @@ default_namespace = "general"
123
145
  [namespace_alias]
124
146
  w = "work"
125
147
  p = "private"
148
+ w1 = "work/project1"
126
149
 
127
150
  [command_alias]
128
151
  etw = "e todo -n w"
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative "memo/version"
4
- require "pry"
5
4
  require "tomlrb"
6
5
 
7
6
  Dir["#{__dir__}/**/*.rb"].
@@ -1,21 +1,43 @@
1
1
  module Memo
2
2
  class Option
3
- attr_reader :namespace
3
+ attr_reader :namespace, :is_all
4
4
 
5
5
  def initialize(args)
6
- @args = args.to_a
6
+ @raw_args = args.to_a
7
7
 
8
- case args
8
+ case @raw_args
9
9
  in [*, "-n", namespace, *]
10
10
  @namespace = namespace
11
- @args.delete("-n")
12
- @args.delete(namespace)
11
+ @raw_args.delete("-n")
12
+ @raw_args.delete(namespace)
13
13
  else
14
14
  end
15
+
16
+ @args = @raw_args.select do |s|
17
+ !s.start_with? "-"
18
+ end
15
19
  end
16
20
 
17
21
  def [](index)
18
22
  @args[index]
19
23
  end
24
+
25
+ def dir?
26
+ include_any? "-dir", "-d"
27
+ end
28
+
29
+ def all?
30
+ include_any? "-all", "-a"
31
+ end
32
+
33
+ def copy?
34
+ include_any? "-copy", "-c"
35
+ end
36
+
37
+ private
38
+
39
+ def include_any?(*args)
40
+ args.map { |a| @raw_args.include?(a) }.any?
41
+ end
20
42
  end
21
43
  end
@@ -17,6 +17,8 @@ module Memo
17
17
  Command::Preview
18
18
  when "today", "t"
19
19
  Command::Today
20
+ when "list", "l"
21
+ Command::List
20
22
  when "config", "c"
21
23
  Command::Config
22
24
  when "help", "h"
@@ -0,0 +1,33 @@
1
+ module Memo
2
+ class Cli
3
+ module Command
4
+ class List
5
+ def initialize(
6
+ options,
7
+ os: Memo::OS.new
8
+ )
9
+ @options = options
10
+ @os = os
11
+ @config = Memo::Config.new
12
+ end
13
+
14
+ def call
15
+ namespace = @options.namespace
16
+ is_all = @options.is_all
17
+ type = @options.dir? ? "d" : "f"
18
+
19
+ dir = if is_all
20
+ ""
21
+ else
22
+ Memo::File.new(
23
+ "",
24
+ @options.namespace,
25
+ ).dir
26
+ end
27
+
28
+ @os.exec "find #{@config.root}/#{dir} -type #{type}"
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -15,6 +15,7 @@ module Memo
15
15
 
16
16
  def call
17
17
  filename = @options[0]
18
+
18
19
  path = case filename
19
20
  when "today", "t"
20
21
  @today.fullpath
@@ -25,7 +26,12 @@ module Memo
25
26
  ).fullpath
26
27
  end
27
28
 
28
- @os.exec "#{@config.preview} #{@config.root}/#{path}"
29
+ cmd ="#{@config.preview} #{@config.root}/#{path}"
30
+ if @options.copy?
31
+ @os.exec "#{cmd} | (#{@config.pbcopy})"
32
+ end
33
+
34
+ @os.exec cmd
29
35
  end
30
36
  end
31
37
  end
@@ -24,6 +24,7 @@ module Memo
24
24
 
25
25
  def ext = @config[:ext] || Default::Ext.to_s
26
26
  def root = @config[:root] || Default::Root.to_s
27
+ def pbcopy = @config[:pbcopy] || Default::Pbcopy.to_s
27
28
  def preview = @config[:preview] || Default::Preview.to_s
28
29
 
29
30
  def fuzzy_finder = @config[:fuzzy_finder] ||
@@ -8,6 +8,10 @@ module Memo
8
8
  def self.to_s = "cat"
9
9
  end
10
10
 
11
+ class Pbcopy
12
+ def self.to_s = "pbcopy"
13
+ end
14
+
11
15
  class Root
12
16
  def self.to_s = "~/.memo"
13
17
  end
@@ -7,7 +7,7 @@ module Memo
7
7
  end
8
8
 
9
9
  def dir = "#{@year}/#{@month}"
10
- def file = "#{@day}.#{@config.ext}"
10
+ def file = "#{@day}.#{@config.ext}"
11
11
  def fullpath = "#{dir}/#{file}"
12
12
  end
13
13
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Memo
4
- VERSION = "0.1.2"
4
+ VERSION = "0.1.7"
5
5
  end
@@ -28,7 +28,6 @@ Gem::Specification.new do |spec|
28
28
 
29
29
  # Uncomment to register a new dependency of your gem
30
30
  spec.add_dependency "tomlrb"
31
- spec.add_dependency "pry"
32
31
 
33
32
  # For more information and examples about making a new gem, checkout our
34
33
  # guide at: https://bundler.io/guides/creating_gem.html
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ememo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yuma Ishikawa
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-01-14 00:00:00.000000000 Z
11
+ date: 2021-01-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: tomlrb
@@ -24,20 +24,6 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: pry
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
27
  description: memo easily on cli
42
28
  email:
43
29
  - yuma.fuu05@gmail.com
@@ -66,6 +52,7 @@ files:
66
52
  - lib/memo/cli/command/edit.rb
67
53
  - lib/memo/cli/command/fuzzy.rb
68
54
  - lib/memo/cli/command/help.rb
55
+ - lib/memo/cli/command/list.rb
69
56
  - lib/memo/cli/command/preview.rb
70
57
  - lib/memo/cli/command/setup.rb
71
58
  - lib/memo/cli/command/today.rb