todo-curses 0.0.5 → 0.0.6
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 +4 -4
- data/.gitignore +0 -4
- data/.travis.yml +7 -0
- data/CONTRIBUTING.md +26 -13
- data/README.md +7 -14
- data/Rakefile +34 -13
- data/bin/todo-curses +4 -25
- data/lib/TodoCurses.rb +0 -11
- data/lib/TodoCurses/version.rb +1 -1
- data/lib/TodoCurses/view.rb +79 -45
- data/project-management/todo.txt +35 -0
- data/todo-curses.gemspec +18 -17
- metadata +42 -37
- data/Gemfile.lock +0 -82
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 72fdc9d3b56688a1a54baf70871e942c67960ca6
|
4
|
+
data.tar.gz: 65842f06410196df2ff73b1f956e546225e0e4ac
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4e675d31ac70ede162f1bdec6425adc4a01bfb06e7ae48fbea4452964e219253500e96fe4940abdcf23e99f6c55c56f9a863b819ee36808e5e24dce5e7caed91
|
7
|
+
data.tar.gz: 926d880a5dc678d79c098834456e034fbf4d88e2b555e4c08edcdbf991716a6116808e325ed3f57ca9fabf31375185390ea86340526be1d4a299c76d2bf96784
|
data/.gitignore
CHANGED
data/.travis.yml
ADDED
data/CONTRIBUTING.md
CHANGED
@@ -1,26 +1,39 @@
|
|
1
1
|
# Contributing
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
[bug tracker][bugtracker].
|
3
|
+
This is a great project for brushing up on basic Ruby skills,
|
4
|
+
and practicing some low-level C-ish Curses along the way.
|
6
5
|
|
7
|
-
|
8
|
-
the
|
6
|
+
If you're interested in contributing, please have a look at the
|
7
|
+
roadmap in the project management folder.
|
8
|
+
(Alternatively, you could just run `rake roadmap`, which should
|
9
|
+
open the roadmap in TodoCurses. Very meta.)
|
10
|
+
There are a lot of interesting features to build out --
|
11
|
+
pull requests welcome!
|
12
|
+
|
13
|
+
Please send a message to me on Github or
|
14
|
+
[log an issue for your feature][bugtracker] so that there's no
|
15
|
+
duplicate effort on features.
|
16
|
+
|
17
|
+
## Setup
|
18
|
+
|
19
|
+
To get started, fork the repo, have a look around, and run the
|
20
|
+
standard `bundle` to install dependencies.
|
21
|
+
|
22
|
+
Next, try building the gem:
|
9
23
|
|
10
24
|
gem build todo-curses.gemspec
|
11
25
|
|
12
26
|
This should succeed.
|
13
27
|
|
14
|
-
|
15
|
-
|
16
|
-
(So that we don't end up with duplicate effort.)
|
28
|
+
To install this as an actual gem onto your local machine,
|
29
|
+
run `bundle exec rake install`.
|
17
30
|
|
18
31
|
## Developing
|
19
32
|
|
20
|
-
To make life a little easier,
|
21
|
-
|
22
|
-
|
23
|
-
|
33
|
+
To make life a little easier, there are some handy Rake tasks.
|
34
|
+
`rake run` is the most straight-forward. Assuming you have access
|
35
|
+
to `/tmp`, and you've already run `bundle`, this should open up
|
36
|
+
the app. (If not, please [report a bug][bugtracker].)
|
24
37
|
|
25
38
|
## Submitting
|
26
39
|
|
@@ -29,6 +42,6 @@ Push to your fork and submit a pull request. Be sure to mention
|
|
29
42
|
the issue number you were working on in the bug tracker so that
|
30
43
|
they're linked up.
|
31
44
|
|
32
|
-
[bugtracker]: https://github.com/lorentrogers/
|
45
|
+
[bugtracker]: https://github.com/lorentrogers/todo-curses/issues
|
33
46
|
[commit]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
|
34
47
|
|
data/README.md
CHANGED
@@ -13,15 +13,16 @@ this, I decided to roll my own using Ruby and Ncurses. There was already
|
|
13
13
|
a robust library for handling todo.txt files, and Ncurses was something
|
14
14
|
I'd been meaning to learn for a while.
|
15
15
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-

|
16
|
+

|
17
|
+

|
18
|
+
[](https://travis-ci.org/lorentrogers/todo-curses)
|
20
19
|
|
21
20
|
[Gem available on Rubygems.org](https://rubygems.org/gems/todo-curses)
|
22
21
|
|
23
22
|
[Source on github.com](https://github.com/lorentrogers/todo-curses)
|
24
23
|
|
24
|
+
Supports Ruby >= `2.0.0`
|
25
|
+
|
25
26
|
## Installation
|
26
27
|
|
27
28
|
Grab the gem:
|
@@ -53,16 +54,8 @@ phase, I use Vim for my day-to-day work.
|
|
53
54
|
|
54
55
|
## Development
|
55
56
|
|
56
|
-
|
57
|
-
|
58
|
-
`bundle exec rake release`, which will create a git tag for the version,
|
59
|
-
push git commits and tags, and push the `.gem`
|
60
|
-
file to [rubygems.org](https://rubygems.org).
|
61
|
-
After checking out the repo, run `bin/setup` to install dependencies.
|
62
|
-
You can also run `bin/console` for an interactive prompt that
|
63
|
-
will allow you to experiment.
|
64
|
-
|
65
|
-
To install this gem onto your local machine, run `bundle exec rake install`.
|
57
|
+
Please read through `CONTRIBUTING.md` for more info.
|
58
|
+
Contributions are very welcome!
|
66
59
|
|
67
60
|
## License
|
68
61
|
|
data/Rakefile
CHANGED
@@ -1,3 +1,16 @@
|
|
1
|
+
require 'fileutils'
|
2
|
+
require 'bundler'
|
3
|
+
require 'rake/clean'
|
4
|
+
require 'rake/testtask'
|
5
|
+
require 'rubocop/rake_task'
|
6
|
+
require 'cucumber'
|
7
|
+
require 'cucumber/rake/task'
|
8
|
+
require 'rdoc/task'
|
9
|
+
|
10
|
+
gem 'rdoc' # we need the installed RDoc gem, not the system one
|
11
|
+
|
12
|
+
include Rake::DSL
|
13
|
+
|
1
14
|
def dump_load_path
|
2
15
|
puts $LOAD_PATH.join("\n")
|
3
16
|
found = nil
|
@@ -24,18 +37,12 @@ def dump_load_path
|
|
24
37
|
end
|
25
38
|
end
|
26
39
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
require 'cucumber'
|
34
|
-
require 'cucumber/rake/task'
|
35
|
-
gem 'rdoc' # we need the installed RDoc gem, not the system one
|
36
|
-
require 'rdoc/task'
|
37
|
-
|
38
|
-
include Rake::DSL
|
40
|
+
# Creates a sample file for testing in /tmp.
|
41
|
+
def reset_test_file(todo_file='test/todo.txt')
|
42
|
+
FileUtils.rm_rf '/tmp/todo-curses'
|
43
|
+
FileUtils.mkdir '/tmp/todo-curses'
|
44
|
+
FileUtils.cp todo_file, '/tmp/todo-curses/'
|
45
|
+
end
|
39
46
|
|
40
47
|
Bundler::GemHelper.install_tasks
|
41
48
|
|
@@ -57,10 +64,24 @@ end
|
|
57
64
|
|
58
65
|
task :default => [:test,:features]
|
59
66
|
|
67
|
+
# Copies the roadmap file to /tmp and opens the app for it.
|
68
|
+
desc 'roadmap'
|
69
|
+
task :roadmap do
|
70
|
+
reset_test_file('project-management/todo.txt')
|
71
|
+
sh 'bundle exec bin/todo-curses /tmp/todo-curses/todo.txt'
|
72
|
+
end
|
73
|
+
|
60
74
|
# Reset the testing todo.txt file, if you have one.
|
61
75
|
desc 'reset'
|
62
76
|
task :reset do
|
63
|
-
|
77
|
+
reset_test_file
|
78
|
+
end
|
79
|
+
|
80
|
+
# Easy way to run the app for dev
|
81
|
+
desc 'run'
|
82
|
+
task :run do
|
83
|
+
reset_test_file unless File.file?('/tmp/todo-curses/todo.txt')
|
84
|
+
sh 'bundle exec bin/todo-curses /tmp/todo-curses/todo.txt'
|
64
85
|
end
|
65
86
|
|
66
87
|
# Easy way to rubocop the project
|
data/bin/todo-curses
CHANGED
@@ -7,37 +7,16 @@ require 'TodoCurses'
|
|
7
7
|
class App
|
8
8
|
include Methadone::Main
|
9
9
|
include Methadone::CLILogging
|
10
|
+
include Todo
|
10
11
|
include TodoCurses
|
11
12
|
|
12
13
|
main do |todo_path|
|
13
|
-
|
14
|
-
# You can access CLI options via
|
15
|
-
# the options Hash
|
14
|
+
TodoCurses::View.new todo_path
|
16
15
|
end
|
17
16
|
|
18
|
-
|
19
|
-
|
20
|
-
# Declare command-line interface here
|
21
|
-
|
22
|
-
# description "one line description of your app"
|
23
|
-
#
|
24
|
-
# Accept flags via:
|
25
|
-
# on("--flag VAL","Some flag")
|
26
|
-
# options[flag] will contain VAL
|
27
|
-
#
|
28
|
-
# Specify switches via:
|
29
|
-
# on("--[no-]switch","Some switch")
|
30
|
-
#
|
31
|
-
# Or, just call OptionParser methods on opts
|
32
|
-
#
|
33
|
-
# Require an argument
|
34
|
-
# arg :some_arg
|
35
|
-
#
|
36
|
-
# # Make an argument optional
|
37
|
-
# arg :optional_arg, :optional
|
38
|
-
|
17
|
+
arg :todo_path, 'Path to the todo.txt file'
|
18
|
+
description 'An interactive curses-based editor for todo.txt files'
|
39
19
|
version TodoCurses::VERSION
|
40
|
-
|
41
20
|
use_log_level_option :toggle_debug_on_signal => 'USR1'
|
42
21
|
|
43
22
|
go!
|
data/lib/TodoCurses.rb
CHANGED
data/lib/TodoCurses/version.rb
CHANGED
data/lib/TodoCurses/view.rb
CHANGED
@@ -1,40 +1,17 @@
|
|
1
1
|
require 'ncursesw'
|
2
|
+
require 'todo-txt'
|
2
3
|
|
4
|
+
# Interactive application for handling todo.txt files
|
3
5
|
module TodoCurses
|
4
6
|
include Ncurses
|
7
|
+
include Todo
|
5
8
|
|
6
9
|
# A curses based todo.txt file viewer
|
7
10
|
class View
|
8
11
|
# Run the ncurses application
|
9
12
|
def interact
|
10
|
-
|
11
|
-
|
12
|
-
c = Ncurses.getch
|
13
|
-
case c
|
14
|
-
when 'j'.ord # Move down
|
15
|
-
result = scroll_down
|
16
|
-
when 'k'.ord # Move up
|
17
|
-
result = scroll_up
|
18
|
-
when 'J'.ord # Decrease priority
|
19
|
-
result = priority_down
|
20
|
-
when 'K'.ord # Increase priority
|
21
|
-
result = priority_up
|
22
|
-
when 'x'.ord # Toggle complete
|
23
|
-
toggle_item_completion
|
24
|
-
when 'n'.ord # New item
|
25
|
-
new_item
|
26
|
-
when 'h'.ord # Scroll to top
|
27
|
-
while scroll_up
|
28
|
-
end
|
29
|
-
when 'l'.ord # Scroll to bottom
|
30
|
-
while scroll_down
|
31
|
-
end
|
32
|
-
when 'q'.ord
|
33
|
-
break
|
34
|
-
else
|
35
|
-
@screen.mvprintw(0, 0, "[unknown key `#{Ncurses.keyname(c)}'=#{c}] ")
|
36
|
-
end
|
37
|
-
Ncurses.beep unless result
|
13
|
+
loop do
|
14
|
+
break unless handle_character_input(Ncurses.getch)
|
38
15
|
end
|
39
16
|
clean_done_tasks
|
40
17
|
close_ncurses
|
@@ -42,6 +19,32 @@ module TodoCurses
|
|
42
19
|
|
43
20
|
private
|
44
21
|
|
22
|
+
# Maps methods to character inputs from Ncurses.
|
23
|
+
# @return [Boolean] false if application should exit.
|
24
|
+
#
|
25
|
+
# rubocop:disable Metrics/MethodLength
|
26
|
+
def handle_character_input(c)
|
27
|
+
case c
|
28
|
+
when 'q'.ord then return false
|
29
|
+
when 'j'.ord then scroll_down
|
30
|
+
when 'k'.ord then scroll_up
|
31
|
+
when 'J'.ord then priority_down
|
32
|
+
when 'K'.ord then priority_up
|
33
|
+
when 'x'.ord then toggle_item_completion
|
34
|
+
when 'n'.ord then new_item
|
35
|
+
when 'h'.ord then scroll_home
|
36
|
+
when 'l'.ord then scroll_end
|
37
|
+
else display_message(c)
|
38
|
+
end
|
39
|
+
true
|
40
|
+
# rubocop:enable Metrics/MethodLength
|
41
|
+
end
|
42
|
+
|
43
|
+
# Displays a message saying that the character was not recognized.
|
44
|
+
def display_message(c)
|
45
|
+
@screen.mvprintw(0, 0, "[unknown key `#{Ncurses.keyname(c)}'=#{c}] ")
|
46
|
+
end
|
47
|
+
|
45
48
|
# Create a new fileviewer, and view the file.
|
46
49
|
def initialize(filename)
|
47
50
|
init_curses
|
@@ -60,6 +63,7 @@ module TodoCurses
|
|
60
63
|
|
61
64
|
# Loads the given file as a todo.txt array. Sets the view to the top
|
62
65
|
# and redraws the list view.
|
66
|
+
#
|
63
67
|
# @param filename [String] path to the text file to be loaded
|
64
68
|
def load_file(filename)
|
65
69
|
@done_file = File.dirname(filename) + '/done.txt'
|
@@ -89,16 +93,15 @@ module TodoCurses
|
|
89
93
|
current_selection = menu_item if item.to_s == last_selection.to_s
|
90
94
|
end
|
91
95
|
|
92
|
-
|
93
|
-
|
94
|
-
@menu.set_menu_win(@screen)
|
95
|
-
@menu.set_menu_sub(@screen.derwin(@screen.getmaxx, @screen.getmaxy, 0, 0))
|
96
|
-
@menu.set_menu_format(@screen.getmaxy, 1)
|
96
|
+
display_main_menu(items, current_selection)
|
97
|
+
end
|
97
98
|
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
99
|
+
# Creates a menu and displays it on the screen.
|
100
|
+
#
|
101
|
+
# @param items [Array] the items to be shown.
|
102
|
+
# @param current_selection [Ncurses::Menu::ITEM] the current menu item.
|
103
|
+
def display_main_menu(items, current_selection)
|
104
|
+
@menu = build_menu(items)
|
102
105
|
|
103
106
|
# Show the menu
|
104
107
|
@screen.clear
|
@@ -109,8 +112,26 @@ module TodoCurses
|
|
109
112
|
@menu.menu_driver(
|
110
113
|
Ncurses::Menu::REQ_DOWN_ITEM) if @menu.current_item.user_object.nil?
|
111
114
|
|
112
|
-
|
113
|
-
|
115
|
+
# Refresh
|
116
|
+
@screen.refresh
|
117
|
+
end
|
118
|
+
|
119
|
+
# Builds the main display menu of todo.txt items.
|
120
|
+
#
|
121
|
+
# @param items [Array] the items to be shown in the list.
|
122
|
+
# @return [Ncurses::Menu::MENU] the final menu object to be shown.
|
123
|
+
def build_menu(items)
|
124
|
+
# Build the final menu object
|
125
|
+
menu = Ncurses::Menu::MENU.new items
|
126
|
+
menu.set_menu_win(@screen)
|
127
|
+
menu.set_menu_sub(@screen.derwin(@screen.getmaxx, @screen.getmaxy, 0, 0))
|
128
|
+
menu.set_menu_format(@screen.getmaxy, 1)
|
129
|
+
|
130
|
+
# Set dividers to non-interactive
|
131
|
+
menu.menu_items.select { |i| i.user_object.nil? }.each do |divider|
|
132
|
+
divider.item_opts_off Ncurses::Menu::O_SELECTABLE
|
133
|
+
end
|
134
|
+
menu
|
114
135
|
end
|
115
136
|
|
116
137
|
# Moves the current selection's priority up by one unless it is at Z.
|
@@ -132,14 +153,14 @@ module TodoCurses
|
|
132
153
|
def scroll_up
|
133
154
|
# Move to the next item if it's not the first in the list
|
134
155
|
unless @menu.menu_items[0].user_object.nil? &&
|
135
|
-
|
156
|
+
@menu.current_item.item_index < 2
|
136
157
|
result = @menu.menu_driver(Ncurses::Menu::REQ_UP_ITEM)
|
137
158
|
end
|
138
159
|
# Move to the next item if it's not a divider
|
139
160
|
result = @menu.menu_driver(
|
140
161
|
Ncurses::Menu::REQ_UP_ITEM) unless @menu.current_item.user_object
|
141
|
-
|
142
|
-
|
162
|
+
return true if result == Ncurses::Menu::E_OK
|
163
|
+
false
|
143
164
|
end
|
144
165
|
|
145
166
|
# Scroll the display down by one line
|
@@ -148,8 +169,20 @@ module TodoCurses
|
|
148
169
|
result = @menu.menu_driver(Ncurses::Menu::REQ_DOWN_ITEM)
|
149
170
|
result = @menu.menu_driver(
|
150
171
|
Ncurses::Menu::REQ_DOWN_ITEM) unless @menu.current_item.user_object
|
151
|
-
|
152
|
-
|
172
|
+
return true if result == Ncurses::Menu::E_OK
|
173
|
+
false
|
174
|
+
end
|
175
|
+
|
176
|
+
# Scrolls to the top of the list
|
177
|
+
def scroll_home
|
178
|
+
while scroll_up
|
179
|
+
end
|
180
|
+
end
|
181
|
+
|
182
|
+
# Scrolls to the end of the list
|
183
|
+
def scroll_end
|
184
|
+
while scroll_down
|
185
|
+
end
|
153
186
|
end
|
154
187
|
|
155
188
|
# Collects a new todo item from the user and saves
|
@@ -254,7 +287,8 @@ module TodoCurses
|
|
254
287
|
form.form_driver ch # If this is a normal character, it gets Printed
|
255
288
|
end
|
256
289
|
end
|
257
|
-
|
290
|
+
# Request next to set 0 buffer in field
|
291
|
+
form.form_driver Ncurses::Form::REQ_NEXT_FIELD
|
258
292
|
Ncurses::Form.field_buffer(field, 0)
|
259
293
|
end
|
260
294
|
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
(A) 2016-03-09 Fail cleanly if the todo.txt file does not exist +Feature
|
2
|
+
(A) 2016-03-09 Page down should actually work +Feature
|
3
|
+
(A) 2016-03-09 Refactor main viewer file into proper size +Refactor
|
4
|
+
(B) 2016-03-09 Ability to delete a task +Feature
|
5
|
+
(B) 2016-03-09 Ability to edit a given task +Feature
|
6
|
+
(B) 2016-03-09 Add a spacer between priority groups +Feature
|
7
|
+
(B) 2016-03-09 Basic color display +Feature
|
8
|
+
(B) 2016-03-09 Escape should close the new item window and delete anything in the buffer +Feature
|
9
|
+
(B) 2016-03-09 Highlight newly created items +Feature
|
10
|
+
(B) 2016-03-09 Long lines should wrap at edge of display +Feature
|
11
|
+
(B) 2016-03-09 Set up Hound integration +ProjectManagement
|
12
|
+
(B) 2016-03-09 Show help dialog +Feature
|
13
|
+
(B) 2016-04-01 Option to enable/disable autosave after each item edit +Feature
|
14
|
+
(B) 2016-04-09 Set up Travis CI for Gem releases and testing +PrjectManagement
|
15
|
+
(C) 2016-03-09 Catch ctrl+c and prompt for a clean exit +Feature
|
16
|
+
(C) 2016-03-09 Cycle through displays (Priority, project, etc.) +Feature
|
17
|
+
(C) 2016-03-09 F: filter tasks (free-text, one filter condition per line) +Feature
|
18
|
+
(C) 2016-03-09 Possible memory leak +Refactor
|
19
|
+
(C) 2016-03-09 Safer file handling +Feature
|
20
|
+
(C) 2016-03-09 Save a copy of the file with a ~ extension +Feature
|
21
|
+
(D) 2016-03-08 Confirm quit and clean done tasks +Feature
|
22
|
+
(D) 2016-03-09 Ability to copy items to the clipboard +Feature
|
23
|
+
(D) 2016-03-09 Ability to duplicate a task into the edit field +Feature
|
24
|
+
(E) 2016-03-07 Ability to create new todo.txt files +Feature
|
25
|
+
(E) 2016-03-07 Ability to generate a default dotfile +Feature
|
26
|
+
(E) 2016-03-09 Ability to archive completed tasks within the app +Feature
|
27
|
+
(E) 2016-03-09 Ability to change files +Feature
|
28
|
+
(E) 2016-03-09 Ability to move items between lists +Feature
|
29
|
+
(E) 2016-03-09 Ability to undo last action +Feature
|
30
|
+
(E) 2016-03-09 Advanced filtering settings / memory +Feature
|
31
|
+
(E) 2016-03-09 Change current file +Feature
|
32
|
+
(E) 2016-03-09 Configuration with a dotfile +Feature
|
33
|
+
(E) 2016-03-09 Create new file +Feature
|
34
|
+
(E) 2016-03-09 Set default to show help text if no config file is set up +Feature
|
35
|
+
x 2016-04-09 2016-03-09 Remove the "list" argument -- not needed +Refactor
|
data/todo-curses.gemspec
CHANGED
@@ -4,25 +4,26 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
require 'TodoCurses/version'
|
5
5
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
|
-
spec.name =
|
8
|
-
spec.license =
|
7
|
+
spec.name = 'todo-curses'
|
8
|
+
spec.license = 'GPL-3.0'
|
9
9
|
spec.version = TodoCurses::VERSION
|
10
|
-
spec.authors = [
|
11
|
-
spec.email = [
|
10
|
+
spec.authors = ['Loren Rogers']
|
11
|
+
spec.email = ['loren@lorentrogers.com']
|
12
12
|
spec.summary = %q{An interactive terminal application for managing todo.txt files.}
|
13
|
-
spec.homepage =
|
13
|
+
spec.homepage = 'https://github.com/lorentrogers/todo-curses'
|
14
14
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
15
|
-
spec.bindir =
|
16
|
-
spec.executables =
|
17
|
-
spec.require_paths = [
|
15
|
+
spec.bindir = 'bin'
|
16
|
+
spec.executables = 'todo-curses'
|
17
|
+
spec.require_paths = ['lib']
|
18
|
+
spec.required_ruby_version = '>= 2.0'
|
18
19
|
|
19
|
-
spec.add_development_dependency
|
20
|
-
spec.add_development_dependency
|
21
|
-
spec.add_development_dependency
|
22
|
-
spec.add_development_dependency
|
23
|
-
spec.
|
24
|
-
spec.
|
25
|
-
spec.add_dependency
|
26
|
-
spec.
|
27
|
-
spec.
|
20
|
+
spec.add_development_dependency 'bundler', '~> 1.10', '>= 1.10.6'
|
21
|
+
spec.add_development_dependency 'rake', '~> 10.0'
|
22
|
+
spec.add_development_dependency 'rdoc', '~> 4.2', '>= 4.2.2'
|
23
|
+
spec.add_development_dependency 'aruba', '~> 0.14.1'
|
24
|
+
spec.add_development_dependency 'test-unit', '~> 3.1', '>= 3.1.8'
|
25
|
+
spec.add_development_dependency 'rubocop', '~> 0.39.0'
|
26
|
+
spec.add_dependency 'methadone', '~> 1.9', '>= 1.9.2'
|
27
|
+
spec.add_dependency 'ncursesw', '~> 1.4', '>= 1.4.9'
|
28
|
+
spec.add_dependency 'todo-txt', '~> 0.7'
|
28
29
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: todo-curses
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Loren Rogers
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-04-
|
11
|
+
date: 2016-04-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -16,14 +16,20 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '1.
|
19
|
+
version: '1.10'
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 1.10.6
|
20
23
|
type: :development
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
24
27
|
- - "~>"
|
25
28
|
- !ruby/object:Gem::Version
|
26
|
-
version: '1.
|
29
|
+
version: '1.10'
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 1.10.6
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
34
|
name: rake
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -73,107 +79,105 @@ dependencies:
|
|
73
79
|
- !ruby/object:Gem::Version
|
74
80
|
version: 0.14.1
|
75
81
|
- !ruby/object:Gem::Dependency
|
76
|
-
name:
|
82
|
+
name: test-unit
|
77
83
|
requirement: !ruby/object:Gem::Requirement
|
78
84
|
requirements:
|
79
85
|
- - "~>"
|
80
86
|
- !ruby/object:Gem::Version
|
81
|
-
version: '1
|
87
|
+
version: '3.1'
|
82
88
|
- - ">="
|
83
89
|
- !ruby/object:Gem::Version
|
84
|
-
version: 1.
|
85
|
-
type: :
|
90
|
+
version: 3.1.8
|
91
|
+
type: :development
|
86
92
|
prerelease: false
|
87
93
|
version_requirements: !ruby/object:Gem::Requirement
|
88
94
|
requirements:
|
89
95
|
- - "~>"
|
90
96
|
- !ruby/object:Gem::Version
|
91
|
-
version: '1
|
97
|
+
version: '3.1'
|
92
98
|
- - ">="
|
93
99
|
- !ruby/object:Gem::Version
|
94
|
-
version: 1.
|
100
|
+
version: 3.1.8
|
95
101
|
- !ruby/object:Gem::Dependency
|
96
|
-
name:
|
102
|
+
name: rubocop
|
97
103
|
requirement: !ruby/object:Gem::Requirement
|
98
104
|
requirements:
|
99
105
|
- - "~>"
|
100
106
|
- !ruby/object:Gem::Version
|
101
|
-
version:
|
102
|
-
|
103
|
-
- !ruby/object:Gem::Version
|
104
|
-
version: 1.4.9
|
105
|
-
type: :runtime
|
107
|
+
version: 0.39.0
|
108
|
+
type: :development
|
106
109
|
prerelease: false
|
107
110
|
version_requirements: !ruby/object:Gem::Requirement
|
108
111
|
requirements:
|
109
112
|
- - "~>"
|
110
113
|
- !ruby/object:Gem::Version
|
111
|
-
version:
|
112
|
-
- - ">="
|
113
|
-
- !ruby/object:Gem::Version
|
114
|
-
version: 1.4.9
|
114
|
+
version: 0.39.0
|
115
115
|
- !ruby/object:Gem::Dependency
|
116
|
-
name:
|
116
|
+
name: methadone
|
117
117
|
requirement: !ruby/object:Gem::Requirement
|
118
118
|
requirements:
|
119
119
|
- - "~>"
|
120
120
|
- !ruby/object:Gem::Version
|
121
|
-
version: '
|
121
|
+
version: '1.9'
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: 1.9.2
|
122
125
|
type: :runtime
|
123
126
|
prerelease: false
|
124
127
|
version_requirements: !ruby/object:Gem::Requirement
|
125
128
|
requirements:
|
126
129
|
- - "~>"
|
127
130
|
- !ruby/object:Gem::Version
|
128
|
-
version: '
|
131
|
+
version: '1.9'
|
132
|
+
- - ">="
|
133
|
+
- !ruby/object:Gem::Version
|
134
|
+
version: 1.9.2
|
129
135
|
- !ruby/object:Gem::Dependency
|
130
|
-
name:
|
136
|
+
name: ncursesw
|
131
137
|
requirement: !ruby/object:Gem::Requirement
|
132
138
|
requirements:
|
133
139
|
- - "~>"
|
134
140
|
- !ruby/object:Gem::Version
|
135
|
-
version: '
|
141
|
+
version: '1.4'
|
136
142
|
- - ">="
|
137
143
|
- !ruby/object:Gem::Version
|
138
|
-
version:
|
139
|
-
type: :
|
144
|
+
version: 1.4.9
|
145
|
+
type: :runtime
|
140
146
|
prerelease: false
|
141
147
|
version_requirements: !ruby/object:Gem::Requirement
|
142
148
|
requirements:
|
143
149
|
- - "~>"
|
144
150
|
- !ruby/object:Gem::Version
|
145
|
-
version: '
|
151
|
+
version: '1.4'
|
146
152
|
- - ">="
|
147
153
|
- !ruby/object:Gem::Version
|
148
|
-
version:
|
154
|
+
version: 1.4.9
|
149
155
|
- !ruby/object:Gem::Dependency
|
150
|
-
name:
|
156
|
+
name: todo-txt
|
151
157
|
requirement: !ruby/object:Gem::Requirement
|
152
158
|
requirements:
|
153
159
|
- - "~>"
|
154
160
|
- !ruby/object:Gem::Version
|
155
|
-
version: 0.
|
156
|
-
type: :
|
161
|
+
version: '0.7'
|
162
|
+
type: :runtime
|
157
163
|
prerelease: false
|
158
164
|
version_requirements: !ruby/object:Gem::Requirement
|
159
165
|
requirements:
|
160
166
|
- - "~>"
|
161
167
|
- !ruby/object:Gem::Version
|
162
|
-
version: 0.
|
168
|
+
version: '0.7'
|
163
169
|
description:
|
164
170
|
email:
|
165
171
|
- loren@lorentrogers.com
|
166
172
|
executables:
|
167
|
-
- console
|
168
|
-
- setup
|
169
173
|
- todo-curses
|
170
174
|
extensions: []
|
171
175
|
extra_rdoc_files: []
|
172
176
|
files:
|
173
177
|
- ".gitignore"
|
178
|
+
- ".travis.yml"
|
174
179
|
- CONTRIBUTING.md
|
175
180
|
- Gemfile
|
176
|
-
- Gemfile.lock
|
177
181
|
- LICENSE.txt
|
178
182
|
- README.md
|
179
183
|
- Rakefile
|
@@ -184,6 +188,7 @@ files:
|
|
184
188
|
- lib/TodoCurses.rb
|
185
189
|
- lib/TodoCurses/version.rb
|
186
190
|
- lib/TodoCurses/view.rb
|
191
|
+
- project-management/todo.txt
|
187
192
|
- todo-curses.gemspec
|
188
193
|
homepage: https://github.com/lorentrogers/todo-curses
|
189
194
|
licenses:
|
@@ -197,7 +202,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
197
202
|
requirements:
|
198
203
|
- - ">="
|
199
204
|
- !ruby/object:Gem::Version
|
200
|
-
version: '0'
|
205
|
+
version: '2.0'
|
201
206
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
202
207
|
requirements:
|
203
208
|
- - ">="
|
data/Gemfile.lock
DELETED
@@ -1,82 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
todo-curses (0.0.5)
|
5
|
-
methadone (~> 1.9, >= 1.9.2)
|
6
|
-
ncursesw (~> 1.4, >= 1.4.9)
|
7
|
-
todo-txt (~> 0.7)
|
8
|
-
|
9
|
-
GEM
|
10
|
-
remote: https://rubygems.org/
|
11
|
-
specs:
|
12
|
-
aruba (0.14.1)
|
13
|
-
childprocess (~> 0.5.6)
|
14
|
-
contracts (~> 0.9)
|
15
|
-
cucumber (>= 1.3.19)
|
16
|
-
ffi (~> 1.9.10)
|
17
|
-
rspec-expectations (>= 2.99)
|
18
|
-
thor (~> 0.19)
|
19
|
-
ast (2.2.0)
|
20
|
-
builder (3.2.2)
|
21
|
-
childprocess (0.5.9)
|
22
|
-
ffi (~> 1.0, >= 1.0.11)
|
23
|
-
contracts (0.13.0)
|
24
|
-
cucumber (2.3.3)
|
25
|
-
builder (>= 2.1.2)
|
26
|
-
cucumber-core (~> 1.4.0)
|
27
|
-
cucumber-wire (~> 0.0.1)
|
28
|
-
diff-lcs (>= 1.1.3)
|
29
|
-
gherkin (~> 3.2.0)
|
30
|
-
multi_json (>= 1.7.5, < 2.0)
|
31
|
-
multi_test (>= 0.1.2)
|
32
|
-
cucumber-core (1.4.0)
|
33
|
-
gherkin (~> 3.2.0)
|
34
|
-
cucumber-wire (0.0.1)
|
35
|
-
diff-lcs (1.2.5)
|
36
|
-
ffi (1.9.10)
|
37
|
-
gherkin (3.2.0)
|
38
|
-
json (1.8.3)
|
39
|
-
methadone (1.9.2)
|
40
|
-
bundler
|
41
|
-
multi_json (1.11.2)
|
42
|
-
multi_test (0.1.2)
|
43
|
-
ncursesw (1.4.9)
|
44
|
-
parser (2.3.0.7)
|
45
|
-
ast (~> 2.2)
|
46
|
-
power_assert (0.2.7)
|
47
|
-
powerpack (0.1.1)
|
48
|
-
rainbow (2.1.0)
|
49
|
-
rake (10.5.0)
|
50
|
-
rdoc (4.2.2)
|
51
|
-
json (~> 1.4)
|
52
|
-
rspec-expectations (3.4.0)
|
53
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
54
|
-
rspec-support (~> 3.4.0)
|
55
|
-
rspec-support (3.4.1)
|
56
|
-
rubocop (0.39.0)
|
57
|
-
parser (>= 2.3.0.7, < 3.0)
|
58
|
-
powerpack (~> 0.1)
|
59
|
-
rainbow (>= 1.99.1, < 3.0)
|
60
|
-
ruby-progressbar (~> 1.7)
|
61
|
-
unicode-display_width (~> 1.0, >= 1.0.1)
|
62
|
-
ruby-progressbar (1.7.5)
|
63
|
-
test-unit (3.1.8)
|
64
|
-
power_assert
|
65
|
-
thor (0.19.1)
|
66
|
-
todo-txt (0.7)
|
67
|
-
unicode-display_width (1.0.2)
|
68
|
-
|
69
|
-
PLATFORMS
|
70
|
-
ruby
|
71
|
-
|
72
|
-
DEPENDENCIES
|
73
|
-
aruba (~> 0.14.1)
|
74
|
-
bundler (~> 1.11)
|
75
|
-
rake (~> 10.0)
|
76
|
-
rdoc (~> 4.2, >= 4.2.2)
|
77
|
-
rubocop (~> 0.39.0)
|
78
|
-
test-unit (~> 3.1, >= 3.1.8)
|
79
|
-
todo-curses!
|
80
|
-
|
81
|
-
BUNDLED WITH
|
82
|
-
1.11.2
|