textbringer-auto-revert 0.3.3 → 0.3.4

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: adaf19a20128703bbef0907ce335c38b0c2db7c4681b72d675edd27bf13c1902
4
- data.tar.gz: a5233b3d28f1abaa4271517463d0bfde3ece0ba985b587418ca5590636698a05
3
+ metadata.gz: 4562cd9a4d37111bf858590ef933b4a44eadbfb35f2d6ebf5be3f98ab6f7bb1b
4
+ data.tar.gz: 37db097dac304ebcde0c0103f5f09c5bd3afb0b3bf2dc63b276716c24ee14b1c
5
5
  SHA512:
6
- metadata.gz: 92281f72e3283c3e697746eb63847ae1fc8c0c66a17f8c1cee6c4156fee4ee86e21d1eca432bd9d5c686fcf9fd335bd514a833a04e1a91a890d6cf0de00f9d08
7
- data.tar.gz: 38c770d1b8bdfb40e927b5a36a550b572e3eec37a85269affbd1a1037b5d0ba19315f5b2f183b0d06f65d3aaf9ea908b383ee47c53810ce745451c89462e3d92
6
+ metadata.gz: '095ce0fefb4f83d2a96682ac33d5d9e9057ce382d25600fe4b454065b225112f80f401983e03a55d122f0303fffdf597e214d7ae7d2af0b585d3fed30f708639'
7
+ data.tar.gz: 46197c59b8b2e65a2195d765ef9273dd6e65b035caf7109b0b04110b2e8560ea2fb107b4287da01ce4c487f0772ed20b5a7211845153bd2e9997dd88af161649
data/README.md CHANGED
@@ -47,7 +47,7 @@ Textbringer::GlobalAutoRevertMode.enabled = false
47
47
 
48
48
  ## Development
49
49
 
50
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests.
50
+ After checking out the repo, run `bundle install` to install dependencies. Then, run `bundle exec rake test` to run the tests.
51
51
 
52
52
  To install this gem onto your local machine, run `bundle exec rake install`.
53
53
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Textbringer
4
4
  module AutoRevert
5
- VERSION = "0.3.3"
5
+ VERSION = "0.3.4"
6
6
  end
7
7
  end
@@ -3,13 +3,16 @@
3
3
  require_relative "auto-revert/version"
4
4
 
5
5
  module Textbringer
6
- CONFIG[:auto_revert_verbose] = true
6
+ CONFIG[:auto_revert_verbose] ||= true
7
7
 
8
8
  class GlobalAutoRevertMode < GlobalMinorMode
9
9
  POST_COMMAND_HOOK = -> {
10
10
  buffer = Buffer.current
11
11
  return unless buffer.file_name && !buffer.name.start_with?("*")
12
- return unless buffer.file_modified?
12
+ unless buffer.file_modified?
13
+ buffer[:auto_revert_warned] = false if buffer[:auto_revert_warned]
14
+ return
15
+ end
13
16
 
14
17
  if !buffer.modified?
15
18
  if buffer.read_only?
@@ -17,9 +20,13 @@ module Textbringer
17
20
  else
18
21
  buffer.revert
19
22
  end
23
+ buffer[:auto_revert_warned] = false
20
24
  message("Reverted buffer from file") if CONFIG[:auto_revert_verbose]
21
25
  else
22
- message("Buffer has unsaved changes; file changed on disk")
26
+ if CONFIG[:auto_revert_verbose] && !buffer[:auto_revert_warned]
27
+ message("Buffer has unsaved changes; file changed on disk")
28
+ buffer[:auto_revert_warned] = true
29
+ end
23
30
  end
24
31
  }
25
32
 
@@ -11,6 +11,7 @@ class Textbringer::GlobalAutoRevertModeTest < Test::Unit::TestCase
11
11
  Textbringer::Buffer.list = [@buffer]
12
12
  Textbringer.messages = []
13
13
  Textbringer::HOOKS.clear
14
+ Textbringer::CONFIG[:auto_revert_verbose] = true
14
15
  end
15
16
 
16
17
  test "VERSION is defined" do
@@ -58,6 +59,29 @@ class Textbringer::GlobalAutoRevertModeTest < Test::Unit::TestCase
58
59
  assert_includes Textbringer.messages, "Buffer has unsaved changes; file changed on disk"
59
60
  end
60
61
 
62
+ test "warns only once while file remains modified and buffer has changes" do
63
+ Textbringer::GlobalAutoRevertMode.enable
64
+ @buffer.file_modified = true
65
+ @buffer.modified = true
66
+
67
+ Textbringer::GlobalAutoRevertMode::POST_COMMAND_HOOK.call
68
+ Textbringer::GlobalAutoRevertMode::POST_COMMAND_HOOK.call
69
+
70
+ warnings = Textbringer.messages.count { |msg| msg == "Buffer has unsaved changes; file changed on disk" }
71
+ assert_equal 1, warnings
72
+ end
73
+
74
+ test "suppresses warnings when verbose is disabled" do
75
+ Textbringer::GlobalAutoRevertMode.enable
76
+ Textbringer::CONFIG[:auto_revert_verbose] = false
77
+ @buffer.file_modified = true
78
+ @buffer.modified = true
79
+
80
+ Textbringer::GlobalAutoRevertMode::POST_COMMAND_HOOK.call
81
+
82
+ refute_includes Textbringer.messages, "Buffer has unsaved changes; file changed on disk"
83
+ end
84
+
61
85
  test "does not revert when file is not modified" do
62
86
  Textbringer::GlobalAutoRevertMode.enable
63
87
  @buffer.file_modified = false
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: textbringer-auto-revert
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.3.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - yancya
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-01-30 00:00:00.000000000 Z
11
+ date: 2026-02-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: textbringer