doing 2.1.83 → 2.1.85
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +20 -0
- data/Gemfile.lock +14 -14
- data/README.md +1 -1
- data/SECURITY.md +13 -0
- data/docs/doc/Array.html +3 -3
- data/docs/doc/BooleanTermParser/Clause.html +3 -3
- data/docs/doc/BooleanTermParser/Operator.html +3 -3
- data/docs/doc/BooleanTermParser/Query.html +3 -3
- data/docs/doc/BooleanTermParser/QueryParser.html +3 -3
- data/docs/doc/BooleanTermParser/QueryTransformer.html +3 -3
- data/docs/doc/BooleanTermParser.html +3 -3
- data/docs/doc/Doing/ArrayCleanup.html +3 -3
- data/docs/doc/Doing/ArrayNestedHash.html +3 -3
- data/docs/doc/Doing/ArrayTags.html +3 -3
- data/docs/doc/Doing/ByDayExport.html +3 -3
- data/docs/doc/Doing/CSVExport.html +3 -3
- data/docs/doc/Doing/CalendarImport.html +3 -3
- data/docs/doc/Doing/Change.html +3 -3
- data/docs/doc/Doing/Changes.html +3 -3
- data/docs/doc/Doing/ChronifyArray.html +3 -3
- data/docs/doc/Doing/ChronifyNumeric.html +3 -3
- data/docs/doc/Doing/ChronifyString.html +3 -3
- data/docs/doc/Doing/Color.html +3 -3
- data/docs/doc/Doing/Completion/BashCompletions.html +3 -3
- data/docs/doc/Doing/Completion/FigCompletions.html +3 -3
- data/docs/doc/Doing/Completion/FishCompletions.html +3 -3
- data/docs/doc/Doing/Completion/StringUtils.html +3 -3
- data/docs/doc/Doing/Completion/ZshCompletions.html +3 -3
- data/docs/doc/Doing/Completion.html +3 -3
- data/docs/doc/Doing/Configuration.html +14 -5
- data/docs/doc/Doing/DayOneRenderer.html +3 -3
- data/docs/doc/Doing/DayoneExport.html +3 -3
- data/docs/doc/Doing/DoingExport.html +3 -3
- data/docs/doc/Doing/DoingImport.html +3 -3
- data/docs/doc/Doing/Entry.html +3 -3
- data/docs/doc/Doing/Errors/DoingNoTraceError.html +3 -3
- data/docs/doc/Doing/Errors/DoingRuntimeError.html +3 -3
- data/docs/doc/Doing/Errors/DoingStandardError.html +3 -3
- data/docs/doc/Doing/Errors/EmptyInput.html +3 -3
- data/docs/doc/Doing/Errors/HistoryLimitError.html +3 -3
- data/docs/doc/Doing/Errors/InvalidPlugin.html +3 -3
- data/docs/doc/Doing/Errors/MissingBackupFile.html +3 -3
- data/docs/doc/Doing/Errors/NoResults.html +3 -3
- data/docs/doc/Doing/Errors/PluginException.html +3 -3
- data/docs/doc/Doing/Errors/UserCancelled.html +3 -3
- data/docs/doc/Doing/Errors/WrongCommand.html +3 -3
- data/docs/doc/Doing/Errors.html +3 -3
- data/docs/doc/Doing/HTMLExport.html +3 -3
- data/docs/doc/Doing/Hooks.html +3 -3
- data/docs/doc/Doing/Item.html +3 -3
- data/docs/doc/Doing/ItemDates.html +3 -3
- data/docs/doc/Doing/ItemQuery.html +3 -3
- data/docs/doc/Doing/ItemState.html +3 -3
- data/docs/doc/Doing/ItemTags.html +3 -3
- data/docs/doc/Doing/Items.html +3 -3
- data/docs/doc/Doing/JSONExport.html +3 -3
- data/docs/doc/Doing/JSONImport.html +3 -3
- data/docs/doc/Doing/Logger.html +3 -3
- data/docs/doc/Doing/MarkdownExport.html +3 -3
- data/docs/doc/Doing/Note.html +3 -3
- data/docs/doc/Doing/Pager.html +3 -3
- data/docs/doc/Doing/Plugins.html +3 -3
- data/docs/doc/Doing/Prompt.html +3 -3
- data/docs/doc/Doing/PromptChoose.html +3 -3
- data/docs/doc/Doing/PromptFZF.html +3 -3
- data/docs/doc/Doing/PromptInput.html +3 -3
- data/docs/doc/Doing/PromptSTD.html +3 -3
- data/docs/doc/Doing/PromptYN.html +3 -3
- data/docs/doc/Doing/Section.html +3 -3
- data/docs/doc/Doing/StringHighlight.html +3 -3
- data/docs/doc/Doing/StringNormalize.html +3 -3
- data/docs/doc/Doing/StringQuery.html +3 -3
- data/docs/doc/Doing/StringTags.html +3 -3
- data/docs/doc/Doing/StringTransform.html +3 -3
- data/docs/doc/Doing/StringTruncate.html +3 -3
- data/docs/doc/Doing/StringURL.html +3 -3
- data/docs/doc/Doing/SymbolNormalize.html +3 -3
- data/docs/doc/Doing/TaskPaperExport.html +3 -3
- data/docs/doc/Doing/TemplateExport.html +3 -3
- data/docs/doc/Doing/TemplateString.html +3 -3
- data/docs/doc/Doing/TimingImport.html +3 -3
- data/docs/doc/Doing/Types.html +3 -3
- data/docs/doc/Doing/Util/Backup.html +3 -3
- data/docs/doc/Doing/Util.html +3 -3
- data/docs/doc/Doing/Version.html +3 -3
- data/docs/doc/Doing/WWID.html +3 -3
- data/docs/doc/Doing.html +4 -4
- data/docs/doc/FalseClass.html +3 -3
- data/docs/doc/GLI/Commands/Help.html +3 -3
- data/docs/doc/GLI/Commands/MarkdownDocumentListener.html +3 -3
- data/docs/doc/GLI/Commands.html +3 -3
- data/docs/doc/GLI.html +3 -3
- data/docs/doc/Hash.html +3 -3
- data/docs/doc/Numeric.html +3 -3
- data/docs/doc/Object.html +3 -3
- data/docs/doc/PhraseParser/Operator.html +3 -3
- data/docs/doc/PhraseParser/PhraseClause.html +3 -3
- data/docs/doc/PhraseParser/Query.html +3 -3
- data/docs/doc/PhraseParser/QueryParser.html +3 -3
- data/docs/doc/PhraseParser/QueryTransformer.html +3 -3
- data/docs/doc/PhraseParser/TermClause.html +3 -3
- data/docs/doc/PhraseParser.html +3 -3
- data/docs/doc/Status.html +3 -3
- data/docs/doc/String.html +3 -3
- data/docs/doc/Symbol.html +3 -3
- data/docs/doc/Time.html +3 -3
- data/docs/doc/TrueClass.html +3 -3
- data/docs/doc/_index.html +4 -4
- data/docs/doc/file.README.html +4 -4
- data/docs/doc/frames.html +10 -5
- data/docs/doc/index.html +4 -4
- data/docs/doc/top-level-namespace.html +3 -3
- data/doing.gemspec +1 -1
- data/doing.rdoc +1 -1
- data/lib/doing/configuration.rb +15 -2
- data/lib/doing/template_string.rb +2 -1
- data/lib/doing/time.rb +4 -4
- data/lib/doing/version.rb +1 -1
- data/lib/doing/wwid/guess.rb +3 -3
- data/lib/doing.rb +2 -2
- data/lib/examples/commands/todo.rb +29 -0
- data/lib/helpers/fzf/go.mod +3 -4
- data/lib/helpers/fzf/go.sum +26 -7
- metadata +6 -4
@@ -116,7 +116,8 @@ module Doing
|
|
116
116
|
pad = m['width'].to_i
|
117
117
|
mark = m['mchar'] || ''
|
118
118
|
if placeholder == 'shortdate' && m['width'].nil?
|
119
|
-
|
119
|
+
fmt_string = Doing.setting('shortdate_format.older', '%m/%d/%y %_I:%M%P', exact: true)
|
120
|
+
pad = Date.today.strftime(fmt_string).length
|
120
121
|
end
|
121
122
|
indent = nil
|
122
123
|
if m['ichar']
|
data/lib/doing/time.rb
CHANGED
@@ -12,13 +12,13 @@ module Doing
|
|
12
12
|
#
|
13
13
|
def relative_date
|
14
14
|
if self > Date.today.to_time
|
15
|
-
strftime('%_I:%M%P')
|
15
|
+
strftime(Doing.setting('shortdate_format.today', '%_I:%M%P', exact: true))
|
16
16
|
elsif self > (Date.today - 6).to_time
|
17
|
-
strftime('%a %_I:%M%P')
|
17
|
+
strftime(Doing.setting('shortdate_format.this_week', '%a %_I:%M%P', exact: true))
|
18
18
|
elsif year == Date.today.year || (year + 1 == Date.today.year && month > Date.today.month)
|
19
|
-
strftime('%m/%d %_I:%M%P')
|
19
|
+
strftime(Doing.setting('shortdate_format.this_month', '%m/%d %_I:%M%P', exact: true))
|
20
20
|
else
|
21
|
-
strftime('%m/%d/%y %_I:%M%P')
|
21
|
+
strftime(Doing.setting('shortdate_format.older', '%m/%d/%y %_I:%M%P', exact: true))
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
data/lib/doing/version.rb
CHANGED
data/lib/doing/wwid/guess.rb
CHANGED
@@ -27,8 +27,8 @@ module Doing
|
|
27
27
|
|
28
28
|
section = found ? found.title : nil
|
29
29
|
|
30
|
-
if suggest
|
31
|
-
Doing.logger.debug('Match:', %(Assuming "#{
|
30
|
+
if section && suggest
|
31
|
+
Doing.logger.debug('Match:', %(Assuming "#{section}" from "#{frag}"))
|
32
32
|
return section
|
33
33
|
end
|
34
34
|
|
@@ -53,7 +53,7 @@ module Doing
|
|
53
53
|
|
54
54
|
raise Errors::InvalidSection.new("unknown section #{frag.bold.white}", topic: 'Missing:')
|
55
55
|
end
|
56
|
-
section ? section.cap_first :
|
56
|
+
section ? section.cap_first : nil
|
57
57
|
end
|
58
58
|
|
59
59
|
##
|
data/lib/doing.rb
CHANGED
@@ -106,14 +106,14 @@ module Doing
|
|
106
106
|
## @param default A default value to return if the
|
107
107
|
## provided path returns nil result
|
108
108
|
##
|
109
|
-
def setting(keypath, default = nil)
|
109
|
+
def setting(keypath, default = nil, exact: false)
|
110
110
|
cfg = config.settings
|
111
111
|
case keypath
|
112
112
|
when Array
|
113
113
|
cfg.dig(*keypath) || default
|
114
114
|
when String
|
115
115
|
unless keypath =~ /^[.*]?$/
|
116
|
-
real_path = config.resolve_key_path(keypath, create: false)
|
116
|
+
real_path = config.resolve_key_path(keypath, create: false, distance: 0, exact: exact)
|
117
117
|
return default unless real_path&.count&.positive?
|
118
118
|
|
119
119
|
cfg = cfg.dig(*real_path)
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# @@todo
|
4
|
+
desc 'Add an item as a Todo'
|
5
|
+
long_desc 'Adds an item to a Todo section, and tags it with @todo'
|
6
|
+
arg_name 'ENTRY'
|
7
|
+
command :todo do |c|
|
8
|
+
c.example 'doing todo "Something I\'ll think about tomorrow"', desc: 'Add an entry to the Todo section with tag @todo'
|
9
|
+
c.example 'doing later -e', desc: 'Open $EDITOR to create an entry and optional note'
|
10
|
+
|
11
|
+
c.desc "Edit entry with #{Doing::Util.default_editor}"
|
12
|
+
c.switch %i[e editor], negatable: false, default_value: false
|
13
|
+
|
14
|
+
c.desc 'Note'
|
15
|
+
c.arg_name 'TEXT'
|
16
|
+
c.flag %i[n note]
|
17
|
+
|
18
|
+
c.desc 'Prompt for note via multi-line input'
|
19
|
+
c.switch %i[ask], negatable: false, default_value: false
|
20
|
+
|
21
|
+
c.action do |global_options, options, args|
|
22
|
+
cmd = commands[:now]
|
23
|
+
options[:section] = 'Todo'
|
24
|
+
options[:finish_last] = false
|
25
|
+
action = cmd.send(:get_action, nil)
|
26
|
+
string = args.join(' ').add_tags('todo')
|
27
|
+
action.call(global_options, options, [string])
|
28
|
+
end
|
29
|
+
end
|
data/lib/helpers/fzf/go.mod
CHANGED
@@ -8,10 +8,9 @@ require (
|
|
8
8
|
github.com/mattn/go-shellwords v1.0.12
|
9
9
|
github.com/rivo/uniseg v0.2.0
|
10
10
|
github.com/saracen/walker v0.1.2
|
11
|
-
golang.org/x/
|
12
|
-
golang.org/x/
|
13
|
-
golang.org/x/
|
14
|
-
golang.org/x/text v0.3.6 // indirect
|
11
|
+
golang.org/x/sys v0.1.0
|
12
|
+
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211
|
13
|
+
golang.org/x/text v0.3.8 // indirect
|
15
14
|
)
|
16
15
|
|
17
16
|
go 1.13
|
data/lib/helpers/fzf/go.sum
CHANGED
@@ -16,16 +16,35 @@ github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY=
|
|
16
16
|
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
|
17
17
|
github.com/saracen/walker v0.1.2 h1:/o1TxP82n8thLvmL4GpJXduYaRmJ7qXp8u9dSlV0zmo=
|
18
18
|
github.com/saracen/walker v0.1.2/go.mod h1:0oKYMsKVhSJ+ful4p/XbjvXbMgLEkLITZaxozsl4CGE=
|
19
|
+
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
|
20
|
+
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
21
|
+
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
22
|
+
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
|
23
|
+
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
24
|
+
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
|
25
|
+
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
|
26
|
+
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
19
27
|
golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
20
|
-
golang.org/x/sync v0.0.0-
|
21
|
-
golang.org/x/sync v0.0.0-
|
28
|
+
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 h1:uVc8UZUe6tr40fFVnUP5Oj+veunVezqYl9z7DYw9xzw=
|
29
|
+
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
30
|
+
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
22
31
|
golang.org/x/sys v0.0.0-20190626150813-e07cf5db2756/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
23
32
|
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
24
|
-
golang.org/x/sys v0.0.0-
|
33
|
+
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
25
34
|
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
26
|
-
golang.org/x/
|
27
|
-
golang.org/x/
|
35
|
+
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
36
|
+
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
37
|
+
golang.org/x/sys v0.1.0 h1:kunALQeHf1/185U1i0GOB/fy1IPRDDpuoOOqRReG57U=
|
38
|
+
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
39
|
+
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
40
|
+
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY=
|
41
|
+
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
28
42
|
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
29
|
-
golang.org/x/text v0.3.
|
30
|
-
golang.org/x/text v0.3.
|
43
|
+
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
44
|
+
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
|
45
|
+
golang.org/x/text v0.3.8 h1:nAL+RVCQ9uMn3vJZbV+MRnydTJFPf8qqY42YiA6MrqY=
|
46
|
+
golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
|
31
47
|
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
48
|
+
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
49
|
+
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
|
50
|
+
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: doing
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.85
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brett Terpstra
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-03-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: github-markup
|
@@ -147,7 +147,7 @@ dependencies:
|
|
147
147
|
version: '0.9'
|
148
148
|
- - ">="
|
149
149
|
- !ruby/object:Gem::Version
|
150
|
-
version: 0.9.
|
150
|
+
version: 0.9.36
|
151
151
|
type: :development
|
152
152
|
prerelease: false
|
153
153
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -157,7 +157,7 @@ dependencies:
|
|
157
157
|
version: '0.9'
|
158
158
|
- - ">="
|
159
159
|
- !ruby/object:Gem::Version
|
160
|
-
version: 0.9.
|
160
|
+
version: 0.9.36
|
161
161
|
- !ruby/object:Gem::Dependency
|
162
162
|
name: chronic
|
163
163
|
requirement: !ruby/object:Gem::Requirement
|
@@ -433,6 +433,7 @@ files:
|
|
433
433
|
- LICENSE.txt
|
434
434
|
- README.md
|
435
435
|
- Rakefile
|
436
|
+
- SECURITY.md
|
436
437
|
- _config.yml
|
437
438
|
- bin/commands/again.rb
|
438
439
|
- bin/commands/archive.rb
|
@@ -724,6 +725,7 @@ files:
|
|
724
725
|
- lib/doing/wwid/wwidutil.rb
|
725
726
|
- lib/examples/commands/autotag.rb
|
726
727
|
- lib/examples/commands/later.rb
|
728
|
+
- lib/examples/commands/todo.rb
|
727
729
|
- lib/examples/commands/wiki.rb
|
728
730
|
- lib/examples/plugins/capture_thing_import.rb
|
729
731
|
- lib/examples/plugins/hooks.rb
|