git-lint 7.0.0 → 7.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 17df66c3c7286df7894959bd3ab1af46fe932845536e0c80cb1d85f9426c6e2f
4
- data.tar.gz: 11a08b18db8799bd1ece0861be00cb50e870356fdfe923c2030b960048cc9199
3
+ metadata.gz: fbecb342f45a5216dfdbf7c947467c6d565d8a1f98481d8a7765f2de1b7cc621
4
+ data.tar.gz: cd56aed86788d514cde91d342fc9acdafa4d4d42957a473902d361782bb98375
5
5
  SHA512:
6
- metadata.gz: 110a65b2275958375760998b4f9b68943f57e6743886e2e229d0119ebfd297412e2283197851a016bcf246205ee3434a828ff622450efd814d1fb9f9c3edb7cd
7
- data.tar.gz: a1f3c0a130b52e1400f7c7c76ae7c64c719abb7f5686d26ae0e9f6be1a574e11c3eefd4ebc1fd3eec142490c2e6554079c1c3305033132ec2bc0ea132ede4475
6
+ metadata.gz: 9a6d9d4edb2b3410956f8e47ea213c35702be39bcbc2a0321565f5f029a59a5deede96a89f81ba64d749e4316d4be85455c81a9262dd2c2a8498ef47a32e40bc
7
+ data.tar.gz: e3a1bcf8e6e06877b53b50b151734b3770fa7be872e3496918810328e772390d9c6f59dc1a21f3ca7242f1667baafea45e41af230ccf11419834d6be2f56e324
checksums.yaml.gz.sig CHANGED
Binary file
data/README.adoc CHANGED
@@ -394,7 +394,7 @@ Kaywinnet Lee Frye
394
394
  [options="header"]
395
395
  |===
396
396
  | Enabled | Severity | Defaults
397
- | true | error | includes: `["\\-", "\\*"]`
397
+ | true | error | includes: `["\\*", "\\-"]`
398
398
  |===
399
399
 
400
400
  Ensures commit body bullet lines are capitalized. Example:
@@ -404,15 +404,22 @@ Ensures commit body bullet lines are capitalized. Example:
404
404
  - an example bullet.
405
405
 
406
406
  # Allowed
407
- - An example bullet.
407
+ * An ASCII Doc bullet.
408
+ * link:https://demo.com[Demo]
409
+ * link:https://demo.com[demo]
410
+ - A Markdown bullet.
411
+ - [Demo](https://demo.com)
412
+ - [demo](https://demo.com)
408
413
  ....
409
414
 
415
+ In general, using ASCII Doc or Markdown syntax directly after a bullet will cause capitalization checks to be ignored because there can be valid reasons for wanting to avoid capitalization in those situations.
416
+
410
417
  ==== Commit Body Bullet Delimiter
411
418
 
412
419
  [options="header"]
413
420
  |===
414
421
  | Enabled | Severity | Defaults
415
- | true | error | includes: `["\\-", "\\*"]`
422
+ | true | error | includes: `["\\*", "\\-"]`
416
423
  |===
417
424
 
418
425
  Ensures commit body bullets are delimited by a space. Example:
@@ -430,7 +437,7 @@ Ensures commit body bullets are delimited by a space. Example:
430
437
  [options="header"]
431
438
  |===
432
439
  | Enabled | Severity | Defaults
433
- | true | error | includes: `["\\-", "\\*"]`
440
+ | true | error | includes: `["\\*", "\\-"]`
434
441
  |===
435
442
 
436
443
  Ensures a single bullet is never used when a paragraph could be used instead. Example:
@@ -676,7 +683,7 @@ a Git Hook in order to not disturb interactive rebase workflows.
676
683
  [options="header"]
677
684
  |===
678
685
  | Enabled | Severity | Defaults
679
- | true | error | excludes: `["\\.", "\\?", "\\!"]`
686
+ | true | error | excludes: `["\\!", "\\.", "\\?"]`
680
687
  |===
681
688
 
682
689
  Ensures commit subjects are suffixed consistently. The exclude list _is_ case sensitive and prevents
@@ -1176,12 +1183,12 @@ You can add Rake support by adding the following to your `Rakefile`:
1176
1183
  [source,ruby]
1177
1184
  ----
1178
1185
  begin
1179
- # require "git/lint/rake/register"
1186
+ require "git/lint/rake/register"
1180
1187
  rescue LoadError => error
1181
1188
  puts error.message
1182
1189
  end
1183
1190
 
1184
- # Git::Lint::Rake::Register.call
1191
+ Git::Lint::Rake::Register.call
1185
1192
  ----
1186
1193
 
1187
1194
  Once required and registered, the following tasks will be available (i.e. `bundle exec rake -T`):
data/git-lint.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "git-lint"
5
- spec.version = "7.0.0"
5
+ spec.version = "7.1.0"
6
6
  spec.authors = ["Brooke Kuhlmann"]
7
7
  spec.email = ["brooke@alchemists.io"]
8
8
  spec.homepage = "https://alchemists.io/projects/git-lint"
@@ -29,7 +29,7 @@ Gem::Specification.new do |spec|
29
29
  spec.add_dependency "dry-monads", "~> 1.6"
30
30
  spec.add_dependency "dry-schema", "~> 1.13"
31
31
  spec.add_dependency "etcher", "~> 1.0"
32
- spec.add_dependency "gitt", "~> 3.0"
32
+ spec.add_dependency "gitt", "~> 3.2"
33
33
  spec.add_dependency "infusible", "~> 3.0"
34
34
  spec.add_dependency "refinements", "~> 12.0"
35
35
  spec.add_dependency "runcom", "~> 11.0"
@@ -23,7 +23,7 @@ module Git
23
23
  end
24
24
 
25
25
  def invalid_line? line
26
- line.match?(/\A\s*#{Regexp.union filter_list}\s[[:lower:]]+/)
26
+ line.sub(/link:.+(?=\[)/, "").match?(/\A\s*#{Regexp.union filter_list}\s[[:lower:]]+/)
27
27
  end
28
28
 
29
29
  private
@@ -15,20 +15,20 @@ commits:
15
15
  enabled: true
16
16
  severity: error
17
17
  includes:
18
- - "\\-"
19
18
  - "\\*"
19
+ - "\\-"
20
20
  bullet_delimiter:
21
21
  enabled: true
22
22
  severity: error
23
23
  includes:
24
- - "\\-"
25
24
  - "\\*"
25
+ - "\\-"
26
26
  bullet_only:
27
27
  enabled: true
28
28
  severity: error
29
29
  includes:
30
- - "\\-"
31
30
  - "\\*"
31
+ - "\\-"
32
32
  leading_line:
33
33
  enabled: true
34
34
  severity: warn
@@ -79,8 +79,8 @@ commits:
79
79
  enabled: true
80
80
  severity: error
81
81
  excludes:
82
- - "(f|F)ix(es|ed)?\\s\\#\\d+"
83
82
  - "(c|C)lose(s|d)?\\s\\#\\d+"
83
+ - "(f|F)ix(es|ed)?\\s\\#\\d+"
84
84
  - "(r|R)esolve(s|d)?\\s\\#\\d+"
85
85
  word_repeat:
86
86
  enabled: true
@@ -109,9 +109,9 @@ commits:
109
109
  enabled: true
110
110
  severity: error
111
111
  excludes:
112
+ - "\\!"
112
113
  - "\\."
113
114
  - "\\?"
114
- - "\\!"
115
115
  word_repeat:
116
116
  enabled: true
117
117
  severity: error
@@ -7,29 +7,38 @@ module Git
7
7
  module Validators
8
8
  # Validates content has no repeated words.
9
9
  class RepeatedWord
10
- PATTERN = /
11
- \w+(?=\s) # Match word with trailing space.
12
- | # Or.
13
- (?<=\s)\w+(?=\s) # Match word between two spaces.
14
- | # Or.
15
- (?<=\s)\w+ # Match word with leading space.
16
- /x
17
-
18
- def initialize pattern: PATTERN
19
- @pattern = pattern
10
+ PATTERNS = {
11
+ word: /
12
+ \w+(?=\s) # Match word with trailing space.
13
+ | # Or.
14
+ (?<=\s)\w+(?=\s) # Match word between two spaces.
15
+ | # Or.
16
+ (?<=\s)\w+ # Match word with leading space.
17
+ /x,
18
+ code_block: /`.+`/
19
+ }.freeze
20
+
21
+ def initialize patterns: PATTERNS
22
+ @patterns = patterns
20
23
  end
21
24
 
22
25
  def call(content) = content ? scan(content) : Core::EMPTY_ARRAY
23
26
 
24
27
  private
25
28
 
26
- attr_reader :pattern
29
+ attr_reader :patterns
27
30
 
28
31
  def scan content
29
- content.scan(pattern).each_cons(2).with_object [] do |(current, future), repeats|
32
+ parse(content).each_cons(2).with_object [] do |(current, future), repeats|
30
33
  repeats.append future if current.casecmp(future).zero?
31
34
  end
32
35
  end
36
+
37
+ def parse(content) = content.gsub(code_block_pattern, "").scan word_pattern
38
+
39
+ def word_pattern = patterns.fetch :word
40
+
41
+ def code_block_pattern = patterns.fetch :code_block
33
42
  end
34
43
  end
35
44
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: git-lint
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.0.0
4
+ version: 7.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brooke Kuhlmann
@@ -35,7 +35,7 @@ cert_chain:
35
35
  3n5C8/6Zh9DYTkpcwPSuIfAga6wf4nXc9m6JAw8AuMLaiWN/r/2s4zJsUHYERJEu
36
36
  gZGm4JqtuSg8pYjPeIJxS960owq+SfuC+jxqmRA54BisFCv/0VOJi7tiJVY=
37
37
  -----END CERTIFICATE-----
38
- date: 2024-01-01 00:00:00.000000000 Z
38
+ date: 2024-03-03 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: cogger
@@ -127,14 +127,14 @@ dependencies:
127
127
  requirements:
128
128
  - - "~>"
129
129
  - !ruby/object:Gem::Version
130
- version: '3.0'
130
+ version: '3.2'
131
131
  type: :runtime
132
132
  prerelease: false
133
133
  version_requirements: !ruby/object:Gem::Requirement
134
134
  requirements:
135
135
  - - "~>"
136
136
  - !ruby/object:Gem::Version
137
- version: '3.0'
137
+ version: '3.2'
138
138
  - !ruby/object:Gem::Dependency
139
139
  name: infusible
140
140
  requirement: !ruby/object:Gem::Requirement
@@ -347,7 +347,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
347
347
  - !ruby/object:Gem::Version
348
348
  version: '0'
349
349
  requirements: []
350
- rubygems_version: 3.5.3
350
+ rubygems_version: 3.5.6
351
351
  signing_key:
352
352
  specification_version: 4
353
353
  summary: A command line interface for linting Git commits.
metadata.gz.sig CHANGED
Binary file