na 1.2.87 → 1.2.89
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/.cursor/commands/changelog.md +3 -1
- data/.rubocop_todo.yml +24 -16
- data/CHANGELOG.md +75 -0
- data/Gemfile +1 -0
- data/Gemfile.lock +4 -1
- data/README.md +322 -45
- data/bin/commands/find.rb +62 -0
- data/bin/commands/next.rb +65 -0
- data/bin/commands/plugin.rb +289 -0
- data/bin/commands/tagged.rb +63 -0
- data/bin/commands/update.rb +169 -85
- data/bin/na +1 -0
- data/lib/na/action.rb +19 -0
- data/lib/na/actions.rb +3 -2
- data/lib/na/next_action.rb +105 -7
- data/lib/na/plugins.rb +564 -0
- data/lib/na/string.rb +6 -4
- data/lib/na/version.rb +1 -1
- data/lib/na.rb +1 -0
- data/na/Test.todo.markdown +32 -0
- data/na/test.md +21 -0
- data/na.gemspec +1 -0
- data/plugins.md +38 -0
- data/src/_README.md +240 -44
- metadata +20 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a5182be07e2e58ad67be0ba3f6107101ec1652ac54149e8798cd9b6638d5aa90
|
|
4
|
+
data.tar.gz: 4dbb72e1ed0948a170500aee910c3c4c948a836f998d8840c300140c3ff5d7d1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0ec130948601e1f66a719b3d5ee3aa42aceacdc1dabe8329bfaf3c65122cdf98f250e522b456306164592561ebe0afec5903ffd18fc24355809d1475648072e1
|
|
7
|
+
data.tar.gz: 3055f5bc4aa9b5a47eb0c3d13c0d501e35c7b189a8f6ae66dcad368142dfed49f7995c890dc2ab3ca314fc68b3e38ec67ebf1311f02c3a839300d5db44d8a2de
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
Write a commmit message that uses @ labels to specify what type of change each line is. Apply @new, @fixed, @changed, @improved, and @breaking as appropriate to each line. Only add @ labels to changes that affect the user, not technical details. Technical details can be included in the commit, just don't add @ labels to those lines. Be sure to include a general description (< 60 characters) as the first line, followed by a line break.
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
Save this commit message to commit_message.txt. Overwrite existing contents.
|
|
4
|
+
Save this commit message to commit_message.txt. Overwrite existing contents.
|
|
5
|
+
|
|
6
|
+
Save this commit message to commit_message.txt{% if args.reset %}. Overwrite existing contents.{% else %}. Update the file, merging changes, if file exists, otherwise create new.{% endif %}
|
data/.rubocop_todo.yml
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# This configuration was generated by
|
|
2
2
|
# `rubocop --auto-gen-config`
|
|
3
|
-
# on 2025-10-
|
|
3
|
+
# on 2025-10-29 10:08:55 UTC using RuboCop version 1.75.7.
|
|
4
4
|
# The point is for the user to remove these configuration records
|
|
5
5
|
# one by one as the offenses are removed from the code base.
|
|
6
6
|
# Note that changes in the inspected code, or installation of new
|
|
@@ -21,18 +21,18 @@ Lint/UnusedMethodArgument:
|
|
|
21
21
|
Exclude:
|
|
22
22
|
- 'lib/na/string.rb'
|
|
23
23
|
|
|
24
|
-
# Offense count:
|
|
24
|
+
# Offense count: 49
|
|
25
25
|
# Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes.
|
|
26
26
|
Metrics/AbcSize:
|
|
27
|
-
Max:
|
|
27
|
+
Max: 281
|
|
28
28
|
|
|
29
29
|
# Offense count: 11
|
|
30
30
|
# Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns.
|
|
31
31
|
# AllowedMethods: refine
|
|
32
32
|
Metrics/BlockLength:
|
|
33
|
-
Max:
|
|
33
|
+
Max: 159
|
|
34
34
|
|
|
35
|
-
# Offense count:
|
|
35
|
+
# Offense count: 6
|
|
36
36
|
# Configuration parameters: CountBlocks, CountModifierForms.
|
|
37
37
|
Metrics/BlockNesting:
|
|
38
38
|
Max: 4
|
|
@@ -40,32 +40,32 @@ Metrics/BlockNesting:
|
|
|
40
40
|
# Offense count: 6
|
|
41
41
|
# Configuration parameters: CountComments, CountAsOne.
|
|
42
42
|
Metrics/ClassLength:
|
|
43
|
-
Max:
|
|
43
|
+
Max: 911
|
|
44
44
|
|
|
45
|
-
# Offense count:
|
|
45
|
+
# Offense count: 34
|
|
46
46
|
# Configuration parameters: AllowedMethods, AllowedPatterns.
|
|
47
47
|
Metrics/CyclomaticComplexity:
|
|
48
|
-
Max:
|
|
48
|
+
Max: 84
|
|
49
49
|
|
|
50
|
-
# Offense count:
|
|
50
|
+
# Offense count: 55
|
|
51
51
|
# Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns.
|
|
52
52
|
Metrics/MethodLength:
|
|
53
|
-
Max:
|
|
53
|
+
Max: 188
|
|
54
54
|
|
|
55
|
-
# Offense count:
|
|
55
|
+
# Offense count: 5
|
|
56
56
|
# Configuration parameters: CountComments, CountAsOne.
|
|
57
57
|
Metrics/ModuleLength:
|
|
58
|
-
Max:
|
|
58
|
+
Max: 913
|
|
59
59
|
|
|
60
60
|
# Offense count: 5
|
|
61
61
|
# Configuration parameters: CountKeywordArgs, MaxOptionalParameters.
|
|
62
62
|
Metrics/ParameterLists:
|
|
63
|
-
Max:
|
|
63
|
+
Max: 23
|
|
64
64
|
|
|
65
|
-
# Offense count:
|
|
65
|
+
# Offense count: 33
|
|
66
66
|
# Configuration parameters: AllowedMethods, AllowedPatterns.
|
|
67
67
|
Metrics/PerceivedComplexity:
|
|
68
|
-
Max:
|
|
68
|
+
Max: 97
|
|
69
69
|
|
|
70
70
|
# Offense count: 1
|
|
71
71
|
# Configuration parameters: ForbiddenDelimiters.
|
|
@@ -96,6 +96,14 @@ Style/ModuleFunction:
|
|
|
96
96
|
Exclude:
|
|
97
97
|
- 'lib/na/colors.rb'
|
|
98
98
|
|
|
99
|
+
# Offense count: 1
|
|
100
|
+
# This cop supports safe autocorrection (--autocorrect).
|
|
101
|
+
# Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline.
|
|
102
|
+
# SupportedStyles: single_quotes, double_quotes
|
|
103
|
+
Style/StringLiterals:
|
|
104
|
+
Exclude:
|
|
105
|
+
- 'lib/na/next_action.rb'
|
|
106
|
+
|
|
99
107
|
# Offense count: 1
|
|
100
108
|
# This cop supports safe autocorrection (--autocorrect).
|
|
101
109
|
# Configuration parameters: EnforcedStyle.
|
|
@@ -110,7 +118,7 @@ Style/YAMLFileRead:
|
|
|
110
118
|
Exclude:
|
|
111
119
|
- 'lib/na/theme.rb'
|
|
112
120
|
|
|
113
|
-
# Offense count:
|
|
121
|
+
# Offense count: 30
|
|
114
122
|
# This cop supports safe autocorrection (--autocorrect).
|
|
115
123
|
# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns, SplitStrings.
|
|
116
124
|
# URISchemes: http, https
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,78 @@
|
|
|
1
|
+
### 1.2.89
|
|
2
|
+
|
|
3
|
+
2025-10-29 06:36
|
|
4
|
+
|
|
5
|
+
#### CHANGED
|
|
6
|
+
|
|
7
|
+
- Completed plugin subcommand sections with aliases and context
|
|
8
|
+
- Plugins section updated with management workflow and notes
|
|
9
|
+
- Sample plugins can be regenerated with --generate-examples when deleted
|
|
10
|
+
- Shortcut `na plugin NAME` works without run command flags (use `na plugin run NAME` for flags)
|
|
11
|
+
- Update menu shows a single "Run Plugin" option leading to a plugin submenu
|
|
12
|
+
- Documentation/blog now uses `na plugin run NAME` (keeps `na plugin NAME` as shortcut)
|
|
13
|
+
|
|
14
|
+
#### NEW
|
|
15
|
+
|
|
16
|
+
- Added plugin enable/disable and flow tests (update/move behaviors)
|
|
17
|
+
- Document plugin subcommands (new/edit/run/enable/disable)
|
|
18
|
+
- `--generate-examples` flag regenerates sample plugins and README
|
|
19
|
+
- `na plugin NAME` shortcut defaults to `na plugin run NAME`
|
|
20
|
+
|
|
21
|
+
#### IMPROVED
|
|
22
|
+
|
|
23
|
+
- `na plugin run` prompts for plugin and action selection when no filters
|
|
24
|
+
- README: brief descriptions for `plugin` subcommands
|
|
25
|
+
- README plugin command docs with brief descriptions
|
|
26
|
+
- Sample plugins only generated once (tracked via .samples_generated flag)
|
|
27
|
+
- Plugin submenu lists only enabled plugins with input/output metadata
|
|
28
|
+
- Blog post adds concise overview of plugin subcommands
|
|
29
|
+
|
|
30
|
+
#### FIXED
|
|
31
|
+
|
|
32
|
+
- Plugin-applied updates now modify in place (no duplicate actions)
|
|
33
|
+
- Suppressed Y/N prompts during plugin operations and non-interactive runs
|
|
34
|
+
- `--only_timed` filtering (case-insensitive tag keys) in output
|
|
35
|
+
- Stabilized wrapping by removing test override of String#wrap
|
|
36
|
+
|
|
37
|
+
### 1.2.88
|
|
38
|
+
|
|
39
|
+
2025-10-28 08:22
|
|
40
|
+
|
|
41
|
+
#### CHANGED
|
|
42
|
+
|
|
43
|
+
- Update command interactive menu lists available plugins
|
|
44
|
+
- README: add detailed Plugins section with examples and schema
|
|
45
|
+
- CHANGELOG: add 1.2.88 entry for plugins feature
|
|
46
|
+
|
|
47
|
+
#### NEW
|
|
48
|
+
|
|
49
|
+
- Plugin system with scripts in ~/.local/share/na/plugins
|
|
50
|
+
- Na plugin command to run plugins on selected actions
|
|
51
|
+
- --plugin/--input/--output/--divider flags on update/next/tagged/find
|
|
52
|
+
- Plugin IO supports json, yaml, csv, and text formats
|
|
53
|
+
- ACTION support in plugin IO (UPDATE/DELETE/COMPLETE/RESTORE/ARCHIVE/ADD_TAG/DELETE_TAG/MOVE)
|
|
54
|
+
- Auto-create plugins dir with README and sample plugins (Add Foo.py, Add Bar.sh)
|
|
55
|
+
- Display commands can pipe through plugins (STDOUT-only, no writes)
|
|
56
|
+
- Add --json_times to next/tagged (JSON of timed actions, tags, total)
|
|
57
|
+
- Add --only_times to next/tagged (show only totals, no action list)
|
|
58
|
+
|
|
59
|
+
#### IMPROVED
|
|
60
|
+
|
|
61
|
+
- Duration/time docs and output clarifications in README
|
|
62
|
+
- Internal plugin README with metadata, IO, and examples
|
|
63
|
+
- --only_timed, --times, and --json_times imply --done automatically
|
|
64
|
+
- Per-tag duration totals rendered as aligned Markdown table with footer
|
|
65
|
+
- Duration color configurable via theme key `duration` (default {y})
|
|
66
|
+
|
|
67
|
+
#### FIXED
|
|
68
|
+
|
|
69
|
+
- Plugin update path writing duplicate actions; now in-place by line
|
|
70
|
+
- Plugin apply finds action via target_line, avoids Symbol->Integer error
|
|
71
|
+
- String#wrap indentation and width handling for multi-line wrapping
|
|
72
|
+
- Lint/DuplicateBranch in plugin parse_actions
|
|
73
|
+
- Style/MapToHash in apply_plugin_result
|
|
74
|
+
- String wrapping now wraps at requested widths (e.g., 60 cols) and indents
|
|
75
|
+
|
|
1
76
|
### 1.2.87
|
|
2
77
|
|
|
3
78
|
2025-10-28 06:21
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
na (1.2.
|
|
4
|
+
na (1.2.89)
|
|
5
5
|
chronic (~> 0.10, >= 0.10.2)
|
|
6
|
+
csv (>= 3.2)
|
|
6
7
|
git (~> 3.0.0)
|
|
7
8
|
gli (~> 2.21.0)
|
|
8
9
|
mdless (~> 1.0, >= 1.0.32)
|
|
@@ -36,6 +37,7 @@ GEM
|
|
|
36
37
|
chronic (0.10.2)
|
|
37
38
|
concurrent-ruby (1.3.5)
|
|
38
39
|
connection_pool (2.5.4)
|
|
40
|
+
csv (3.3.5)
|
|
39
41
|
diff-lcs (1.6.2)
|
|
40
42
|
docile (1.4.1)
|
|
41
43
|
drb (2.2.3)
|
|
@@ -139,6 +141,7 @@ PLATFORMS
|
|
|
139
141
|
DEPENDENCIES
|
|
140
142
|
bump (~> 0.6.0)
|
|
141
143
|
chronic
|
|
144
|
+
csv
|
|
142
145
|
minitest (~> 5.14)
|
|
143
146
|
na!
|
|
144
147
|
rake
|