ctodo 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/README.md +64 -6
  2. data/lib/ctodo/localfs.rb +7 -2
  3. metadata +46 -72
data/README.md CHANGED
@@ -1,8 +1,20 @@
1
- todo
2
- ====
1
+ ctodo
2
+ =====
3
+
4
+ ctodo provides *combined* listing of "issues" or "todos" from different Issue
5
+ Providers (like a Github or Google Code project) with color output support.
6
+
7
+ The intended use case is that *you* as e.g. a developer have the source code of
8
+ a software project (maybe under version control with Mercurial or Git) located
9
+ in a single root directory and that you want to have an quick overview from
10
+ the command line which issues you have to face in your software.
11
+
12
+ Another example would be somebody with some documents that belong to a larger
13
+ (maybe academic) project with some "issues" in these documents that he wants
14
+ an overview of via cli.
15
+
16
+ ctodo is written in Ruby.
3
17
 
4
- todo provides combined listing of "issues" or "todos" from different Issue
5
- Providers with color support.
6
18
 
7
19
  Provider
8
20
  --------
@@ -10,17 +22,62 @@ Provider
10
22
  - LocalFS -- grep-like local file system provider
11
23
  - Github -- issues from identically named github.com/<gh_user> repo
12
24
  - Google Project Hosting -- issues from identically named code.google.com/p/ project
13
- - Redmine -- issues from identically named project on your.redmine.com server
25
+ - Redmine -- issues from identically named project on your.redmine.com instance
26
+
14
27
 
15
28
  Setup
16
29
  -----
17
30
 
18
31
  gem install ctodo
19
32
 
33
+
34
+ Basic Usage
35
+ -----------
36
+
37
+ You are supposed to run ctodo from cli simply via `ctodo`.
38
+
39
+ Now ctodo will search and list all found issues for your current project.
40
+
41
+ ### How ctodo knows what your "current project" is
42
+
43
+ There are several automatisms currently built in:
44
+
45
+ If from the current working directory on any of the parent directories
46
+ contains a *.git* or *.hg* directory this is taken as an indicator that
47
+ this containing directory is the root directory of your project.
48
+
49
+ If you're not in a Mercurial or Git repository, the current working
50
+ directory is assumed to be the root directory of your project.
51
+
52
+ The name of the root directory is assumed to be your project's name
53
+ or an appropriate identifier for your project.
54
+
55
+ ### Issue Providers
56
+
57
+ Without further configuration ctodo will simply search all files and directories
58
+ beneath the root directory recursively line by line for strings like
59
+
60
+ TODO: something
61
+
62
+ or
63
+
64
+ XXX fix bug
65
+
66
+ etc. by using the most basic Issue Provider called `localfs`.
67
+
68
+ If you decide to give ctodo some hints about where you usually share your
69
+ project's (version controlled) files like your Github account name or the
70
+ credentials to some Redmine instance ctodo will be capable to locate and display
71
+ more issues than from local files: e.g. when you have created a Github
72
+ repository "blub" with attached issues ctodo will assume that these issues
73
+ belong to a project "blub" (located in the root directory "blub") on your
74
+ hard disk and display them accordingly.
75
+
76
+
20
77
  Template for ~/.todo
21
78
  --------------------
22
79
 
23
- # config for todo
80
+ # config for ctodo
24
81
  #
25
82
  # If you don't want to use some of these services just
26
83
  # remove the corresponding lines below:
@@ -31,6 +88,7 @@ Template for ~/.todo
31
88
  :red2_uri: <another-redmine-base-uri>
32
89
  :red2_key: <another-redmine-api-key>
33
90
 
91
+
34
92
  Links
35
93
  -----
36
94
 
@@ -30,7 +30,12 @@ module CTodo
30
30
  if File.directory?(path) and not File.symlink?(path)
31
31
  traverse(path, issues)
32
32
  elsif File.file?(path)
33
- grep_for_todo(path, issues)
33
+ begin
34
+ grep_for_todo(path, issues)
35
+ rescue => e
36
+ # ignore errors silently
37
+ #puts "#{path}: #{e}"
38
+ end
34
39
  end
35
40
  end
36
41
  end
@@ -47,7 +52,7 @@ module CTodo
47
52
  m = line.match("[\\W](#{@todo_labels})\\(([\\w]+)\\):[\\W]+(.*)$")
48
53
  if not m.nil?
49
54
  loc = "#{spath}:#{linenr}"
50
- tags = [Tag.new(m[1], tag_color(m[1])), Tag.new(m[2], rgb4string(m[2]))]
55
+ tags = [Tag.new(m[1], tag_color(m[1])), Tag.new(m[2], ColorUtils.rgb4string(m[2]))]
51
56
  issues << Issue.new(m[3], loc, nil, tags)
52
57
  next
53
58
  end
metadata CHANGED
@@ -1,73 +1,57 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: ctodo
3
- version: !ruby/object:Gem::Version
4
- hash: 27
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.1
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 1
9
- - 0
10
- version: 0.1.0
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Christian Nicolai
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2011-10-21 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
12
+ date: 2012-02-02 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
21
15
  name: httparty
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &70253283514520 !ruby/object:Gem::Requirement
24
17
  none: false
25
- requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
28
- hash: 3
29
- segments:
30
- - 0
31
- version: "0"
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
32
22
  type: :runtime
33
- version_requirements: *id001
34
- - !ruby/object:Gem::Dependency
35
- name: inifile
36
23
  prerelease: false
37
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: *70253283514520
25
+ - !ruby/object:Gem::Dependency
26
+ name: inifile
27
+ requirement: &70253283513460 !ruby/object:Gem::Requirement
38
28
  none: false
39
- requirements:
40
- - - ">="
41
- - !ruby/object:Gem::Version
42
- hash: 3
43
- segments:
44
- - 0
45
- version: "0"
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
46
33
  type: :runtime
47
- version_requirements: *id002
48
- - !ruby/object:Gem::Dependency
49
- name: json
50
34
  prerelease: false
51
- requirement: &id003 !ruby/object:Gem::Requirement
35
+ version_requirements: *70253283513460
36
+ - !ruby/object:Gem::Dependency
37
+ name: json
38
+ requirement: &70253283512540 !ruby/object:Gem::Requirement
52
39
  none: false
53
- requirements:
54
- - - ">="
55
- - !ruby/object:Gem::Version
56
- hash: 3
57
- segments:
58
- - 0
59
- version: "0"
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
60
44
  type: :runtime
61
- version_requirements: *id003
62
- description: Searches for issues on Github/Google Code/custom Redmine instances/local files for current project or folder.
45
+ prerelease: false
46
+ version_requirements: *70253283512540
47
+ description: Searches for issues on Github/Google Code/custom Redmine instances/local
48
+ files for current project or folder.
63
49
  email: chrnicolai@gmail.com
64
- executables:
50
+ executables:
65
51
  - todo
66
52
  extensions: []
67
-
68
53
  extra_rdoc_files: []
69
-
70
- files:
54
+ files:
71
55
  - bin/todo
72
56
  - lib/ctodo/color.rb
73
57
  - lib/ctodo/gcode.rb
@@ -79,36 +63,26 @@ files:
79
63
  - .todo
80
64
  homepage: https://github.com/cmur2/todo
81
65
  licenses: []
82
-
83
66
  post_install_message:
84
67
  rdoc_options: []
85
-
86
- require_paths:
68
+ require_paths:
87
69
  - lib
88
- required_ruby_version: !ruby/object:Gem::Requirement
70
+ required_ruby_version: !ruby/object:Gem::Requirement
89
71
  none: false
90
- requirements:
91
- - - ">="
92
- - !ruby/object:Gem::Version
93
- hash: 3
94
- segments:
95
- - 0
96
- version: "0"
97
- required_rubygems_version: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ! '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ required_rubygems_version: !ruby/object:Gem::Requirement
98
77
  none: false
99
- requirements:
100
- - - ">="
101
- - !ruby/object:Gem::Version
102
- hash: 3
103
- segments:
104
- - 0
105
- version: "0"
78
+ requirements:
79
+ - - ! '>='
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
106
82
  requirements: []
107
-
108
83
  rubyforge_project: ctodo
109
- rubygems_version: 1.8.6
84
+ rubygems_version: 1.8.15
110
85
  signing_key:
111
86
  specification_version: 3
112
87
  summary: Combined Todo
113
88
  test_files: []
114
-