on master help sign in
Merge branch 'master' into feature/dark_plus_theme
commitaa442b57954144dda697d063e4c43b9ccbc93101 authorDavid Peter <sharkdp@users.noreply.github.com> dateWed 12 May 2021, 11:30 (5 years ago) parentb6e3786b16cacc
15 files changed+235−58
.github/dependabot.yml+18 .github/workflows/CICD.yml+7 .gitmodules+2−5 CHANGELOG.md+3 Cargo.lock+2−2 Cargo.toml+1−1 assets/patches/Monokai-Extended.tmTheme.patch+1−1 assets/syntaxes/02_Extra/CSV−1 assets/syntaxes/02_Extra/CSV.sublime-syntax+71−39 assets/syntaxes/02_Extra/Julia+1−1 assets/syntaxes/02_Extra/SCSS_Sass+1−1 assets/syntaxes/02_Extra/syntax_test_csv.csv+60 assets/syntaxes/02_Extra/syntax_test_tsv.tsv+60 src/bin/bat/main.rs+1 tests/syntax-tests/highlighted/CSV/comma_in_quotes.csv+7−7
.github/dependabot.ymlnew file+18
@@ -0,0 +1,18 @@
1+version: 2
2+updates:
3+- package-ecosystem: cargo
4+ directory: "/"
5+ schedule:
6+ interval: monthly
7+ time: "04:00"
8+ timezone: Europe/Berlin
9+ ignore:
10+ - dependency-name: git2
11+ versions:
12+ - 0.13.17
13+- package-ecosystem: gitsubmodule
14+ directory: "/"
15+ schedule:
16+ interval: monthly
17+ time: "04:00"
18+ timezone: Europe/Berlin
.github/workflows/CICD.yml+7
@@ -79,6 +79,13 @@ jobs:
7979 run: bat --list-languages
8080 - name: List of themes
8181 run: bat --list-themes
82+ - name: Check documentation
83+ env:
84+ RUSTDOCFLAGS: -D warnings
85+ uses: actions-rs/cargo@v1
86+ with:
87+ command: doc
88+ args: --no-deps --document-private-items --all-features
8289
8390 build:
8491 name: ${{ matrix.job.os }} (${{ matrix.job.target }})
.gitmodules+2−5
@@ -61,9 +61,6 @@
6161[submodule "assets/syntaxes/Puppet"]
6262 path = assets/syntaxes/02_Extra/Puppet
6363 url = https://github.com/russCloak/SublimePuppet
64−[submodule "assets/syntaxes/CSV"]
65− path = assets/syntaxes/02_Extra/CSV
66− url = https://github.com/wadetb/Sublime-Text-Advanced-CSV
6764[submodule "assets/themes/onehalf"]
6865 path = assets/themes/onehalf
6966 url = https://github.com/sonph/onehalf
@@ -218,7 +215,7 @@
218215 url = https://github.com/hesstobi/sublime_gnuplot
219216[submodule "assets/syntaxes/02_Extra/SystemVerilog"]
220217 path = assets/syntaxes/02_Extra/SystemVerilog
221− url = git@github.com:TheClams/SystemVerilog.git
218+ url = https://github.com/TheClams/SystemVerilog.git
222219[submodule "assets/themes/visual-studio-dark-plus"]
223220 path = assets/themes/visual-studio-dark-plus
224− url = https://github.com/vidann1/visual-studio-dark-plus.git
221+ url = https://github.com/vidann1/visual-studio-dark-plus.git
CHANGELOG.md+3
@@ -8,10 +8,13 @@
88## Other
99
1010- `Input::ordinary_file` and `Input::with_name` now accept `Path` rather than `OsStr` see #1571 (@matklad)
11+- The `LESS` environment variable is now included in `bat --diagnostic`, see #1589 (@Enselic)
1112- Increased min. required Rust version to 1.45
1213
1314## Syntaxes
1415
16+- Replaced "Advanced CSV" with a custom CSV syntax definition written especially for `bat`; see #1574 (@keith-hall)
17+
1518## New themes
1619
1720## `bat` as a library
Cargo.lock+2−2
@@ -226,9 +226,9 @@ dependencies = [
226226
227227[[package]]
228228name = "console"
229−version = "0.14.0"
229+version = "0.14.1"
230230source = "registry+https://github.com/rust-lang/crates.io-index"
231−checksum = "7cc80946b3480f421c2f17ed1cb841753a371c7c5104f51d507e13f532c856aa"
231+checksum = "3993e6445baa160675931ec041a5e03ca84b9c6e32a056150d3aa2bdda0a1f45"
232232dependencies = [
233233 "encode_unicode",
234234 "lazy_static",
Cargo.toml+1−1
@@ -36,7 +36,7 @@ regex-fancy = ["syntect/regex-fancy"] # Use the rust-only "fancy-regex" engine
3636atty = { version = "0.2.14", optional = true }
3737ansi_term = "^0.12.1"
3838ansi_colours = "^1.0"
39−console = "0.14.0"
39+console = "0.14.1"
4040lazy_static = { version = "1.4", optional = true }
4141wild = { version = "2.0", optional = true }
4242content_inspector = "0.2.4"
assets/patches/Monokai-Extended.tmTheme.patch+1−1
@@ -7,7 +7,7 @@ index 9c2aa3e..180cbbf 100644
77 <string>JSON String</string>
88 <key>scope</key>
99- <string>meta.structure.dictionary.json string.quoted.double.json</string>
10−+ <string>meta.mapping.key.json string.quoted.double.json</string>
10++ <string>meta.mapping.key.json string.quoted.double.json, punctuation.separator.sequence.csv</string>
1111 <key>settings</key>
1212 <dict>
1313 <key>foreground</key>
assets/syntaxes/02_Extra/CSVdeleted−1

Submodule changed.

assets/syntaxes/02_Extra/CSV.sublime-syntax+71−39
@@ -1,46 +1,78 @@
11%YAML 1.2
22---
3−# http://www.sublimetext.com/docs/3/syntax.html
4−name: Advanced CSV
3+# See http://www.sublimetext.com/docs/3/syntax.html
4+name: Comma Separated Values
55file_extensions:
66 - csv
77 - tsv
8−scope: text.advanced_csv
8+scope: text.csv
9+variables:
10+ field_separator: (?:[,;\t])
11+ record_separator: (?:$\n?)
912contexts:
10− main:
11− - match: (\")
12− captures:
13− 1: string.quoted.double.advanced_csv
14− push:
15− - meta_scope: meta.quoted.advanced_csv
16− - match: (\")
17− captures:
18− 1: string.quoted.double.advanced_csv
19− pop: true
20− - include: main
21− - match: '(\[([+-]?\d*)(\:)?([+-]?\d*)(\,)?([+-]?\d*)(\:)?([+-]?\d*)\])?\s*([<>v^])?\s*(=)'
22− captures:
23− 1: keyword.operator.advanced_csv
24− 2: constant.numeric.formula.advanced_csv
25− 4: constant.numeric.formula.advanced_csv
26− 6: constant.numeric.formula.advanced_csv
27− 8: constant.numeric.formula.advanced_csv
28− 9: keyword.operator.advanced_csv
29− 10: keyword.operator.advanced_csv
13+ prototype:
14+ - match: (?={{record_separator}})
15+ pop: true
16+ fields:
17+ - match: ''
3018 push:
31− - meta_scope: meta.range.advanced_csv
32− - match: (?=(\")|$)
33− pop: true
34− - include: scope:source.python
35− - match: '(?<=^|,|\s|\")([0-9.eE+-]+)(?=$|,|\s|\")'
36− scope: meta.number.advanced_csv
37− captures:
38− 1: constant.numeric.advanced_csv
39− - match: '(?<=^|,|\s|\")([^, \t\"]+)(?=$|,|\s|\")'
40− scope: meta.nonnumber.advanced_csv
41− captures:
42− 1: storage.type.advanced_csv
43− - match: (\,)
44− scope: meta.delimiter.advanced_csv
45− captures:
46− 1: keyword.operator.advanced_csv
19+ - field_or_record_separator
20+ - field4
21+ - field_or_record_separator
22+ - field3
23+ - field_or_record_separator
24+ - field2
25+ - field_or_record_separator
26+ - field1
27+ main:
28+ - meta_include_prototype: false
29+ - match: '^'
30+ set: fields
31+
32+ field_or_record_separator:
33+ - meta_include_prototype: false
34+ - match: '{{record_separator}}'
35+ scope: punctuation.terminator.record.csv
36+ pop: true
37+ - match: '{{field_separator}}'
38+ scope: punctuation.separator.sequence.csv
39+ pop: true
40+
41+ field_contents:
42+ - match: '"'
43+ scope: punctuation.definition.string.begin.csv
44+ push: double_quoted_string
45+
46+ - match: (?={{field_separator}}|{{record_separator}})
47+ pop: true
48+
49+ double_quoted_string:
50+ - meta_include_prototype: false
51+ - meta_scope: string.quoted.double.csv
52+ - match: '""'
53+ scope: constant.character.escape.csv
54+ - match: '"'
55+ scope: punctuation.definition.string.end.csv
56+ pop: true
57+
58+ field1:
59+ - match: ''
60+ set:
61+ - meta_content_scope: meta.field-1.csv support.type
62+ - include: field_contents
63+ field2:
64+ - match: ''
65+ set:
66+ - meta_content_scope: meta.field-2.csv support.function
67+ - include: field_contents
68+ field3:
69+ - match: ''
70+ set:
71+ - meta_content_scope: meta.field-3.csv constant.numeric
72+ - include: field_contents
73+ field4:
74+ - match: ''
75+ set:
76+ - meta_content_scope: meta.field-4.csv keyword.operator
77+ - include: field_contents
78+
assets/syntaxes/02_Extra/Julia+1−1

Submodule changed.

assets/syntaxes/02_Extra/SCSS_Sass+1−1

Submodule changed.

assets/syntaxes/02_Extra/syntax_test_csv.csvnew file+60
@@ -0,0 +1,60 @@
1+# SYNTAX TEST "CSV.sublime-syntax"
2+Forename,Surname,House No.,Street,City,Postcode
3+#^^^^^^^ meta.field-1
4+# ^ punctuation.separator.sequence
5+# ^^^^^^^ meta.field-2
6+# ^ punctuation.separator.sequence
7+# ^^^^^^^^^ meta.field-3
8+# ^ punctuation.separator.sequence
9+# ^^^^^^ meta.field-4
10+# ^ punctuation.separator.sequence
11+# ^^^^ meta.field-1
12+# ^ punctuation.separator.sequence
13+# ^^^^^^^^ meta.field-2
14+John,Doe,87,Logon Road,Citiville,TU43 6GH
15+#^^^ meta.field-1
16+# ^ punctuation.separator.sequence
17+# ^^^ meta.field-2
18+# ^ punctuation.separator.sequence
19+# ^^ meta.field-3
20+# ^ punctuation.separator.sequence
21+# ^^^^^^^^^^ meta.field-4
22+# ^ punctuation.separator.sequence
23+# ^^^^^^^^^ meta.field-1
24+# ^ punctuation.separator.sequence
25+# ^^^^^^^^ meta.field-2
26+Jane,Doe,22,"""Fun"" Street","The City, County",FA90 1XA
27+#^^^ meta.field-1
28+# ^ punctuation.separator.sequence
29+# ^^^ meta.field-2
30+# ^ punctuation.separator.sequence
31+# ^^ meta.field-3
32+# ^ punctuation.separator.sequence
33+# ^^^^^^^^^^^^^^^^ meta.field-4 string.quoted.double
34+# ^^ constant.character.escape
35+# ^^ constant.character.escape
36+# ^ punctuation.separator.sequence
37+# ^ meta.field-1 string.quoted.double punctuation.definition.string.begin
38+# ^^^^^^^^^^^^^^^^^ meta.field-1 string.quoted.double
39+# ^ meta.field-1 string.quoted.double punctuation.definition.string.end
40+# ^ punctuation.separator.sequence
41+# ^^^^^^^^ meta.field-2
42+Fred,Bloggs,"19","Street
43+#^^^ meta.field-1
44+# ^ punctuation.separator.sequence
45+# ^^^^^^ meta.field-2
46+# ^ punctuation.separator.sequence
47+# ^^^ meta.field-3 string.quoted.double
48+# ^ punctuation.separator.sequence
49+# ^ meta.field-4 punctuation.definition.string.begin
50+# ^^^^^^^^ meta.field-4 string.quoted.double
51+Spanning Multiple ""
52+#^^^^^^^^^^^^^^^^^^^^ meta.field-4 string.quoted.double
53+# ^^ constant.character.escape
54+Lines",Citee,P0stc0d3
55+#^^^^^ meta.field-4 string.quoted.double
56+# ^ meta.field-4 punctuation.definition.string.end
57+# ^ punctuation.separator.sequence
58+# ^^^^^ meta.field-1
59+# ^ punctuation.separator.sequence
60+# ^^^^^^^^ meta.field-2
assets/syntaxes/02_Extra/syntax_test_tsv.tsvnew file+60
@@ -0,0 +1,60 @@
1+# SYNTAX TEST "CSV.sublime-syntax"
2+Forename Surname House No. Street City Postcode
3+#^^^^^^^ meta.field-1
4+# ^ punctuation.separator.sequence
5+# ^^^^^^^ meta.field-2
6+# ^ punctuation.separator.sequence
7+# ^^^^^^^^^ meta.field-3
8+# ^ punctuation.separator.sequence
9+# ^^^^^^ meta.field-4
10+# ^ punctuation.separator.sequence
11+# ^^^^ meta.field-1
12+# ^ punctuation.separator.sequence
13+# ^^^^^^^^ meta.field-2
14+John Doe 87 Logon Road Citiville TU43 6GH
15+#^^^ meta.field-1
16+# ^ punctuation.separator.sequence
17+# ^^^ meta.field-2
18+# ^ punctuation.separator.sequence
19+# ^^ meta.field-3
20+# ^ punctuation.separator.sequence
21+# ^^^^^^^^^^ meta.field-4
22+# ^ punctuation.separator.sequence
23+# ^^^^^^^^^ meta.field-1
24+# ^ punctuation.separator.sequence
25+# ^^^^^^^^ meta.field-2
26+Jane Doe 22 """Fun"" Street" "The City County" FA90 1XA
27+#^^^ meta.field-1
28+# ^ punctuation.separator.sequence
29+# ^^^ meta.field-2
30+# ^ punctuation.separator.sequence
31+# ^^ meta.field-3
32+# ^ punctuation.separator.sequence
33+# ^^^^^^^^^^^^^^^^ meta.field-4 string.quoted.double
34+# ^^ constant.character.escape
35+# ^^ constant.character.escape
36+# ^ punctuation.separator.sequence
37+# ^ meta.field-1 string.quoted.double punctuation.definition.string.begin
38+# ^^^^^^^^^^^^^^^^^ meta.field-1 string.quoted.double
39+# ^ meta.field-1 string.quoted.double punctuation.definition.string.end
40+# ^ punctuation.separator.sequence
41+# ^^^^^^^^ meta.field-2
42+Fred Bloggs "19" "Street
43+#^^^ meta.field-1
44+# ^ punctuation.separator.sequence
45+# ^^^^^^ meta.field-2
46+# ^ punctuation.separator.sequence
47+# ^^^ meta.field-3 string.quoted.double
48+# ^ punctuation.separator.sequence
49+# ^ meta.field-4 punctuation.definition.string.begin
50+# ^^^^^^^^ meta.field-4 string.quoted.double
51+Spanning Multiple ""
52+#^^^^^^^^^^^^^^^^^^^^ meta.field-4 string.quoted.double
53+# ^^ constant.character.escape
54+Lines" Citee P0stc0d3
55+#^^^^^ meta.field-4 string.quoted.double
56+# ^ meta.field-4 punctuation.definition.string.end
57+# ^ punctuation.separator.sequence
58+# ^^^^^ meta.field-1
59+# ^ punctuation.separator.sequence
60+# ^^^^^^^^ meta.field-2
src/bin/bat/main.rs+1
@@ -238,6 +238,7 @@ fn run() -> Result<bool> {
238238 .info(EnvironmentVariables::list(&[
239239 "SHELL",
240240 "PAGER",
241+ "LESS",
241242 "BAT_PAGER",
242243 "BAT_CACHE_PATH",
243244 "BAT_CONFIG_PATH",
tests/syntax-tests/highlighted/CSV/comma_in_quotes.csv+7−7
@@ -1,7 +1,7 @@
1−first,last,address,city,zip
2−John,Doe,120 any st.,"Anytown, WW",08123
3−a,b
4−1,"ha 
5−""ha"" 
6−ha",120 any st.,"Anytown, WW",08123
7−3,4,120 any st.,"Anytown, WW",08123
1+first,last,address,city,zip
2+John,Doe,120 any st.,"Anytown, WW",08123
3+a,b
4+1,"ha 
5+""ha"" 
6+ha",120 any st.,"Anytown, WW",08123
7+3,4,120 any st.,"Anytown, WW",08123