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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d30aa922aad5901cf7d844f0a41250ab6245cf3bb2eb89e92e14e890f74088b5
4
- data.tar.gz: 253d3825d1a0c2cb8666cd478b608ac77fee44ceb75cee15f9192f57c33a4b5b
3
+ metadata.gz: a5182be07e2e58ad67be0ba3f6107101ec1652ac54149e8798cd9b6638d5aa90
4
+ data.tar.gz: 4dbb72e1ed0948a170500aee910c3c4c948a836f998d8840c300140c3ff5d7d1
5
5
  SHA512:
6
- metadata.gz: 80c1708db72e9683f0de4acb35a762b31d3de02c4062ecf8f028d83997d2f40c9545e0c3601505dd80e7e2a985c53bfa9504011ff0a5f9321da066e633649a75
7
- data.tar.gz: 7e95f4f33952c819bd33cdad8316aeafbc1c6bf05dbed1ff59ea887b64a7dd4bee3d70de9b5a1b092e53e2c1db3626813e38e679d5544b27b2607b0f78eda22a
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-28 10:51:34 UTC using RuboCop version 1.75.7.
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: 39
24
+ # Offense count: 49
25
25
  # Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes.
26
26
  Metrics/AbcSize:
27
- Max: 276
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: 158
33
+ Max: 159
34
34
 
35
- # Offense count: 5
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: 829
43
+ Max: 911
44
44
 
45
- # Offense count: 29
45
+ # Offense count: 34
46
46
  # Configuration parameters: AllowedMethods, AllowedPatterns.
47
47
  Metrics/CyclomaticComplexity:
48
- Max: 82
48
+ Max: 84
49
49
 
50
- # Offense count: 44
50
+ # Offense count: 55
51
51
  # Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns.
52
52
  Metrics/MethodLength:
53
- Max: 183
53
+ Max: 188
54
54
 
55
- # Offense count: 4
55
+ # Offense count: 5
56
56
  # Configuration parameters: CountComments, CountAsOne.
57
57
  Metrics/ModuleLength:
58
- Max: 831
58
+ Max: 913
59
59
 
60
60
  # Offense count: 5
61
61
  # Configuration parameters: CountKeywordArgs, MaxOptionalParameters.
62
62
  Metrics/ParameterLists:
63
- Max: 22
63
+ Max: 23
64
64
 
65
- # Offense count: 29
65
+ # Offense count: 33
66
66
  # Configuration parameters: AllowedMethods, AllowedPatterns.
67
67
  Metrics/PerceivedComplexity:
68
- Max: 94
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: 27
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
@@ -11,3 +11,4 @@ group :development do
11
11
  gem 'rubocop-performance', '~> 1.21'
12
12
  end
13
13
  gem 'chronic'
14
+ gem 'csv'
data/Gemfile.lock CHANGED
@@ -1,8 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- na (1.2.87)
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