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 +4 -4
- data/README.md +1 -1
- data/lib/textbringer/auto-revert/version.rb +1 -1
- data/lib/textbringer/auto-revert.rb +10 -3
- data/test/textbringer_auto_revert_test.rb +24 -0
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4562cd9a4d37111bf858590ef933b4a44eadbfb35f2d6ebf5be3f98ab6f7bb1b
|
|
4
|
+
data.tar.gz: 37db097dac304ebcde0c0103f5f09c5bd3afb0b3bf2dc63b276716c24ee14b1c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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 `
|
|
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
|
|
|
@@ -3,13 +3,16 @@
|
|
|
3
3
|
require_relative "auto-revert/version"
|
|
4
4
|
|
|
5
5
|
module Textbringer
|
|
6
|
-
CONFIG[:auto_revert_verbose]
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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-
|
|
11
|
+
date: 2026-02-06 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: textbringer
|