todo-curses 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
-
![Gem Version](https://badge.fury.io/rb/todo-curses.svg)
|
16
|
+
![Gem Version](https://img.shields.io/gem/v/todo-curses.svg)
|
17
|
+
![Total Gem Downloads](https://img.shields.io/gem/dt/todo-curses.svg)
|
18
|
+
[![Build Status](https://travis-ci.org/lorentrogers/todo-curses.svg?branch=master)](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
|