rodo 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +57 -0
- data/Gemfile +8 -0
- data/LICENSE +674 -0
- data/README.md +97 -0
- data/Rakefile +4 -0
- data/bin/console +15 -0
- data/bin/setup +8 -0
- data/exe/rodo +10 -0
- data/lib/rodo.rb +825 -0
- data/lib/rodo/commands.rb +29 -0
- data/lib/rodo/curses_util.rb +287 -0
- data/lib/rodo/rodolib.rb +438 -0
- data/lib/rodo/version.rb +5 -0
- data/plan.md +267 -0
- data/rodo.gemspec +38 -0
- metadata +106 -0
data/lib/rodo/version.rb
ADDED
data/plan.md
ADDED
@@ -0,0 +1,267 @@
|
|
1
|
+
# 2021-06-08
|
2
|
+
|
3
|
+
Todos until Rodo 0.1.0
|
4
|
+
- [x] Release
|
5
|
+
- [x] Test on Mac
|
6
|
+
- [x] Update README.md
|
7
|
+
- [x] Silence warnings about pattern matching
|
8
|
+
|
9
|
+
Todos for Rodo 0.2.0 and later
|
10
|
+
- [x] When postponing copy section headers and parent todos
|
11
|
+
- [ ] Short intro video
|
12
|
+
- [ ] When closing days, use a checkmark to mark the day as done
|
13
|
+
- [ ] Multiline/wrap support
|
14
|
+
- [ ] Autosave
|
15
|
+
- [ ] Add migration mode
|
16
|
+
- [ ] Montly Log Mode
|
17
|
+
- [ ] Copy and Paste from <ul>/<ol> and OneNote
|
18
|
+
- [ ] Improve command palette with support for cursor keys
|
19
|
+
|
20
|
+
# 2021-06-02
|
21
|
+
|
22
|
+
Todos until Rodo 0.1.0
|
23
|
+
- [>] Release
|
24
|
+
- [x] Improve postponing, so that it merges better with day closure.
|
25
|
+
- [x] Postponing should postpone at least 1 day, but never to a day in the past (same with close)
|
26
|
+
- [x] Add support for shadow cursor
|
27
|
+
- [>] Test on Mac
|
28
|
+
|
29
|
+
Todos for Rodo 0.2.0 and later
|
30
|
+
- [>] When postponing copy section headers and parent todos
|
31
|
+
- [>] When closing days, use a checkmark to mark the day as done
|
32
|
+
- [>] Multiline/wrap support
|
33
|
+
- [>] Autosave
|
34
|
+
- [>] Add migration mode
|
35
|
+
- [>] Montly Log Mode
|
36
|
+
- [>] Copy and Paste from <ul>/<ol> and OneNote
|
37
|
+
- [>] Improve command palette with support for cursor keys
|
38
|
+
|
39
|
+
# 2021-05-30 Sun
|
40
|
+
|
41
|
+
Todos until Rodo 0.1.0
|
42
|
+
- [x] When closing merge text, with existing days
|
43
|
+
- [x] Add some tests
|
44
|
+
- [>] Release
|
45
|
+
|
46
|
+
Todos for Rodo 0.2.0 and later
|
47
|
+
- [>] When postponing copy section headers and parent todos
|
48
|
+
- [>] When closing days, use a checkmark to mark the day as done
|
49
|
+
- [>] Multiline/wrap support
|
50
|
+
- [>] Autosave
|
51
|
+
- [>] Add migration mode
|
52
|
+
- [>] Montly Log Mode
|
53
|
+
- [>] Copy and Paste from <ul>/<ol> and OneNote
|
54
|
+
- [>] Improve command palette with support for cursor keys
|
55
|
+
|
56
|
+
# 2021-05-27 Thu
|
57
|
+
|
58
|
+
Todos until Rodo 0.1.0
|
59
|
+
- [>] When closing merge text with existing days
|
60
|
+
- [x] Only start debug window when run with ruby $DEBUG
|
61
|
+
- [x] Use Shift+~ to Toogle Debug Console
|
62
|
+
- [x] Copy and Paste with Bracketed Paste mode and some basic clean-ups (tabs)
|
63
|
+
- [x] CTRL+Cursor Keys should navigate in text line
|
64
|
+
|
65
|
+
Todos for Rodo 0.2.0 and later
|
66
|
+
- [>] When postponing copy section headers and parent todos
|
67
|
+
- [>] When closing days, use a checkmark to mark the day as done
|
68
|
+
- [>] Multiline/wrap support
|
69
|
+
- [>] Autosave
|
70
|
+
- [>] Add migration mode
|
71
|
+
- [>] Montly Log Mode
|
72
|
+
- [>] Copy and Paste from <ul>/<ol> and OneNote
|
73
|
+
- [>] Improve command palette with support for cursor keys
|
74
|
+
|
75
|
+
# 2021-05-26 Wed
|
76
|
+
|
77
|
+
Todos until Rodo 0.1.0
|
78
|
+
- [x] Add command area
|
79
|
+
- [x] Add utility functions for creating an input box
|
80
|
+
- [x] Show list of options
|
81
|
+
- [-] Size of command area should match available options
|
82
|
+
- [x] Add support for postpone several (p+number+ENTER)
|
83
|
+
- [x] When inserting and appending respect indent
|
84
|
+
- [>] When closing merge text with existing days
|
85
|
+
- [x] Switched [u] to [>] after reading the bullet journal website
|
86
|
+
- [>] Only start debug window when run with ruby -w
|
87
|
+
|
88
|
+
Todos for Rodo 0.2.0 and later
|
89
|
+
- [>] When postponing copy section headers and parent todos
|
90
|
+
- [>] When closing days, use a checkmark to mark the day as done
|
91
|
+
- [>] Multiline/wrap support
|
92
|
+
- [>] Autosave
|
93
|
+
- [>] Add migration mode
|
94
|
+
- [>] Montly Log Mode
|
95
|
+
- [>] Copy and Paste from <ul>/<ol> and OneNote
|
96
|
+
|
97
|
+
# 2021-05-25
|
98
|
+
- [>] Add command area
|
99
|
+
- [>] Add utility functions for creating an input box
|
100
|
+
- [>] Show list of options
|
101
|
+
- [>] Size of command area should match available options
|
102
|
+
- [>] Add support for postpone several (p+number+ENTER)
|
103
|
+
- [>] When inserting and appending respect indent
|
104
|
+
- [>] When closing merge text with existing days
|
105
|
+
- [x] FIX: Bundler freezes strings, so we need to .dup string literals which we want to modify later
|
106
|
+
|
107
|
+
Long term todos:
|
108
|
+
- [>] When postponing copy section headers and parent todos
|
109
|
+
- [>] When closing days, use a checkmark to mark the day as done
|
110
|
+
- [>] Multiline/wrap support
|
111
|
+
|
112
|
+
# 2021-05-22 08:12
|
113
|
+
- [u] Add command area
|
114
|
+
- [u] Add utility functions for creating an input box
|
115
|
+
- [u] Show list of options
|
116
|
+
- [u] Size of command area should match available options
|
117
|
+
- [u] Add support for postpone several (p+number+ENTER)
|
118
|
+
- [u] When inserting and appending respect indent
|
119
|
+
- [u] When closing merge text with existing days
|
120
|
+
- [x] BUG: Pressing escape shouldn't delete line, if user typed something.
|
121
|
+
- [x] Host on github
|
122
|
+
|
123
|
+
Long term todos:
|
124
|
+
- [u] When postponing copy section headers and parent todos
|
125
|
+
- [u] When closing days, use a checkmark to mark the day as done
|
126
|
+
- [u] Multiline/wrap support
|
127
|
+
|
128
|
+
# 2021-05-22
|
129
|
+
- [x] Reduce ESC delay: https://stackoverflow.com/questions/27372068/why-does-the-escape-key-have-a-delay-in-python-curses
|
130
|
+
|
131
|
+
# 2021-05-21
|
132
|
+
- [u] Add command area
|
133
|
+
- [u] Add utility functions for creating an input box
|
134
|
+
- [u] Show list of options
|
135
|
+
- [u] Size of command area should match available options
|
136
|
+
- [u] When postponing copy section headers and parent todos
|
137
|
+
- [u] When closing days, use a checkmark to mark the day as done
|
138
|
+
- [u] Add support for postpone several (p+number+ENTER)
|
139
|
+
- [u] Multiline/wrap support
|
140
|
+
- [x] In journalling mode: When pressing enter twice, remove indent/marks
|
141
|
+
- [x] When entering journalling mode, move cursor to end of line
|
142
|
+
|
143
|
+
# 2021-05-18
|
144
|
+
- [x] Test task for waiting - ⌛ since 2021-05-11
|
145
|
+
|
146
|
+
# 2021-05-17
|
147
|
+
- [u] Add command area
|
148
|
+
- [u] Add utility functions for creating an input box
|
149
|
+
- [u] Show list of options
|
150
|
+
- [u] Size of command area should match available options
|
151
|
+
- [x] Filter options while typing
|
152
|
+
- [u] When postponing copy section headers and parent todos
|
153
|
+
- [u] When closing days, use a checkmark to mark the day as done
|
154
|
+
- [u] When inserting and appending respect indent
|
155
|
+
- [u] Add support for postpone several (p+number+ENTER)
|
156
|
+
- [u] Multiline/wrap support
|
157
|
+
- [x] Add automatic prefixing of lines which start with '\s[-*]\s\[.\]'
|
158
|
+
|
159
|
+
# 2021-05-16 14:28
|
160
|
+
- [u] Add undo support
|
161
|
+
- [u] Add command area
|
162
|
+
- [u] Add support for postpone several (p+number+ENTER)
|
163
|
+
- [u] Reduce ESC delay: https://stackoverflow.com/questions/27372068/why-does-the-escape-key-have-a-delay-in-python-curses
|
164
|
+
- [u] Multiline/wrap support
|
165
|
+
- [x] CTRL+D for DEL
|
166
|
+
- [x] Add mode to 'm'ove entries back and forth
|
167
|
+
|
168
|
+
# 2021-05-16
|
169
|
+
- [u] Add undo support
|
170
|
+
- [u] Add command area
|
171
|
+
- [u] Add support for postpone several (p+number+ENTER)
|
172
|
+
- [x] Support resize
|
173
|
+
- [x] Sort entry correctly on append
|
174
|
+
- [x] Save *.bak to _bak folder (and create it if it doesn't exist)
|
175
|
+
- [x] Fix highlighting of page indicator
|
176
|
+
- [u] Reduce ESC delay: https://stackoverflow.com/questions/27372068/why-does-the-escape-key-have-a-delay-in-python-curses
|
177
|
+
- [u] Multiline/wrap support
|
178
|
+
|
179
|
+
# 2021-05-15
|
180
|
+
- [u] Add undo support
|
181
|
+
- [u] Add command area
|
182
|
+
- [u] Add support for postpone several (p+number+ENTER)
|
183
|
+
- [u] Support resize
|
184
|
+
- [x] Journaling mode (ENTER doesn't stop editing)
|
185
|
+
- [u] Sort entry correctly on append
|
186
|
+
|
187
|
+
Sub-Section:
|
188
|
+
- [u] Fix highlighting of page indicator
|
189
|
+
- [u] Reduce ESC delay: https://stackoverflow.com/questions/27372068/why-does-the-escape-key-have-a-delay-in-python-curses
|
190
|
+
- [u] Multiline/wrap support
|
191
|
+
|
192
|
+
# 2021-05-11 14:00
|
193
|
+
- [x] Support for Tab/S+Tab during edit mode
|
194
|
+
- [x] Add support for 'w'aiting and add a waiting window
|
195
|
+
- [⌛] Test task for waiting
|
196
|
+
- [x] Start on current date or most recent day in the past
|
197
|
+
- [x] Put [u] back in, because we need to close out old tasks when moving to new days
|
198
|
+
- [u] Add undo support
|
199
|
+
- [u] Add command area
|
200
|
+
- [u] Add support for postpone several (p+number+ENTER)
|
201
|
+
- [u] Support resize
|
202
|
+
- [u] Journaling mode (ENTER doesn't stop editing)
|
203
|
+
|
204
|
+
Sub-Section:
|
205
|
+
- [u] Fix highlighting of page indicator
|
206
|
+
- [u] Reduce ESC delay: https://stackoverflow.com/questions/27372068/why-does-the-escape-key-have-a-delay-in-python-curses
|
207
|
+
- [u] Multiline/wrap support
|
208
|
+
|
209
|
+
# 2021-05-11 09:02
|
210
|
+
- [x] Don't use [u] when tasks are pushed to the next day
|
211
|
+
- [ ] Start on current date or most recent day in the past
|
212
|
+
- [ ] Add undo support
|
213
|
+
- [x] Pressing escape on a line which was just inserted remove it again
|
214
|
+
- [ ] Add command area
|
215
|
+
- [ ] Add support for postpone several (p+number+ENTER)
|
216
|
+
- [x] Add support for DEL during edit mode
|
217
|
+
- [x] Add support for cursor positioning using arrow keys.
|
218
|
+
- [x] Add support for CTRL+A and CTRL+E during edit mode.
|
219
|
+
- [ ] Support resize
|
220
|
+
|
221
|
+
Sub-Section:
|
222
|
+
- [ ] Fix highlighting of page indicator
|
223
|
+
- [ ] Reduce ESC delay: https://stackoverflow.com/questions/27372068/why-does-the-escape-key-have-a-delay-in-python-curses
|
224
|
+
- [ ] Multiline/wrap support
|
225
|
+
|
226
|
+
# 2021-05-11
|
227
|
+
- [u] Start on current date or most recent day in the past
|
228
|
+
- [u] Add undo support
|
229
|
+
- [u] Add support for postpone several (p+number+ENTER)
|
230
|
+
Sub-Section:
|
231
|
+
- [u] Fix highlighting of page indicator
|
232
|
+
- [u] Reduce ESC delay: https://stackoverflow.com/questions/27372068/why-does-the-escape-key-have-a-delay-in-python-curses
|
233
|
+
- [u] Multiline/wrap support
|
234
|
+
- [x] Closing a day should copy all sections
|
235
|
+
|
236
|
+
# 2021-05-08
|
237
|
+
- [u] Start on current date or most recent day in the past
|
238
|
+
- [u] Add undo support
|
239
|
+
- [u] Add support for postpone several (p+number+ENTER)
|
240
|
+
- [u] Fix highlighting of page indicator
|
241
|
+
- [u] Reduce ESC delay: https://stackoverflow.com/questions/27372068/why-does-the-escape-key-have-a-delay-in-python-curses
|
242
|
+
|
243
|
+
- [x] Backspace Key: Crashes when 0
|
244
|
+
- [x] Add edit mode 'e'
|
245
|
+
|
246
|
+
# 2021-05-07
|
247
|
+
- [x] Create file if it does not exist (with current day)
|
248
|
+
- [x] Add support for postpone (p)
|
249
|
+
- [x] I(nsert) will actually a(append) when on the first line
|
250
|
+
- [u] Start on current date or most recent day in the past
|
251
|
+
- [u] Add undo support
|
252
|
+
- [u] Add support for postpone several (p+number+ENTER)
|
253
|
+
- [u] Fix highlighting of page indicator
|
254
|
+
- [x] Support for Umlauts äöü
|
255
|
+
|
256
|
+
# 2021-05-06
|
257
|
+
- [x] Add way to add any date
|
258
|
+
- [x] Show indicators that there are more days in the past/future.
|
259
|
+
- [u] Start on current date or most recent day in the past
|
260
|
+
- [x] Add support for kill (k)
|
261
|
+
- [x] Add support for append (a)
|
262
|
+
- [u] Add support for postpone (p)
|
263
|
+
- [x] Get colors working
|
264
|
+
|
265
|
+
# 2021-05-01
|
266
|
+
- [x] Serialization
|
267
|
+
- [u] Get colors working
|
data/rodo.gemspec
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "lib/rodo/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |spec|
|
6
|
+
spec.name = "rodo"
|
7
|
+
spec.version = Rodo::VERSION
|
8
|
+
spec.authors = ["Christopher Oezbek"]
|
9
|
+
spec.email = ["c.oezbek@gmail.com"]
|
10
|
+
spec.licenses = ['GPL-3.0-or-later']
|
11
|
+
|
12
|
+
spec.summary = "Rodo is terminal-based todo manager"
|
13
|
+
spec.description = "Rodo is terminal-based todo manager written in Ruby with a inbox-zero mentality."
|
14
|
+
spec.homepage = "https://github.com/coezbek/rodo"
|
15
|
+
spec.required_ruby_version = Gem::Requirement.new(">= 2.7.0")
|
16
|
+
|
17
|
+
spec.metadata["allowed_push_host"] = 'https://rubygems.org'
|
18
|
+
|
19
|
+
spec.metadata["homepage_uri"] = spec.homepage
|
20
|
+
spec.metadata["source_code_uri"] = "https://github.com/coezbek/rodo"
|
21
|
+
spec.metadata["changelog_uri"] = "https://github.com/coezbek/rodo/plan.md"
|
22
|
+
|
23
|
+
# Specify which files should be added to the gem when it is released.
|
24
|
+
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
25
|
+
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
26
|
+
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{\A(?:test|spec|features)/}) }
|
27
|
+
end
|
28
|
+
spec.bindir = "exe"
|
29
|
+
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
|
30
|
+
spec.require_paths = ["lib"]
|
31
|
+
|
32
|
+
# Runtime dependencies
|
33
|
+
spec.add_dependency "curses", "~> 1.4"
|
34
|
+
spec.add_dependency "warning", "~> 1.0"
|
35
|
+
|
36
|
+
# Development dependencies
|
37
|
+
spec.add_development_dependency "rspec", "~> 3.10"
|
38
|
+
end
|
metadata
ADDED
@@ -0,0 +1,106 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rodo
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Christopher Oezbek
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2021-06-08 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: curses
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.4'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.4'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: warning
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '1.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '3.10'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '3.10'
|
55
|
+
description: Rodo is terminal-based todo manager written in Ruby with a inbox-zero
|
56
|
+
mentality.
|
57
|
+
email:
|
58
|
+
- c.oezbek@gmail.com
|
59
|
+
executables:
|
60
|
+
- rodo
|
61
|
+
extensions: []
|
62
|
+
extra_rdoc_files: []
|
63
|
+
files:
|
64
|
+
- ".gitignore"
|
65
|
+
- Gemfile
|
66
|
+
- LICENSE
|
67
|
+
- README.md
|
68
|
+
- Rakefile
|
69
|
+
- bin/console
|
70
|
+
- bin/setup
|
71
|
+
- exe/rodo
|
72
|
+
- lib/rodo.rb
|
73
|
+
- lib/rodo/commands.rb
|
74
|
+
- lib/rodo/curses_util.rb
|
75
|
+
- lib/rodo/rodolib.rb
|
76
|
+
- lib/rodo/version.rb
|
77
|
+
- plan.md
|
78
|
+
- rodo.gemspec
|
79
|
+
homepage: https://github.com/coezbek/rodo
|
80
|
+
licenses:
|
81
|
+
- GPL-3.0-or-later
|
82
|
+
metadata:
|
83
|
+
allowed_push_host: https://rubygems.org
|
84
|
+
homepage_uri: https://github.com/coezbek/rodo
|
85
|
+
source_code_uri: https://github.com/coezbek/rodo
|
86
|
+
changelog_uri: https://github.com/coezbek/rodo/plan.md
|
87
|
+
post_install_message:
|
88
|
+
rdoc_options: []
|
89
|
+
require_paths:
|
90
|
+
- lib
|
91
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - ">="
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: 2.7.0
|
96
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
97
|
+
requirements:
|
98
|
+
- - ">="
|
99
|
+
- !ruby/object:Gem::Version
|
100
|
+
version: '0'
|
101
|
+
requirements: []
|
102
|
+
rubygems_version: 3.1.4
|
103
|
+
signing_key:
|
104
|
+
specification_version: 4
|
105
|
+
summary: Rodo is terminal-based todo manager
|
106
|
+
test_files: []
|