diff options
author | David Peter <sharkdp@users.noreply.github.com> | 2021-05-12 11:30:49 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-12 11:30:49 +0200 |
commit | aa442b57954144dda697d063e4c43b9ccbc93101 (patch) | |
tree | de8c6e5d60bac2cdbbe7fb2439dd48d2708e112f | |
parent | b6e37865298fe360d3683f5cd3d6df7a12c6f2dd (diff) | |
parent | b16cacc758fb60777072ff8f9b9ae8ba97e4f5ae (diff) |
Merge branch 'master' into feature/dark_plus_theme
-rw-r--r-- | .github/dependabot.yml | 18 | ||||
-rw-r--r-- | .github/workflows/CICD.yml | 7 | ||||
-rw-r--r-- | .gitmodules | 7 | ||||
-rw-r--r-- | CHANGELOG.md | 3 | ||||
-rw-r--r-- | Cargo.lock | 4 | ||||
-rw-r--r-- | Cargo.toml | 2 | ||||
-rw-r--r-- | assets/patches/Monokai-Extended.tmTheme.patch | 2 | ||||
m--------- | assets/syntaxes/02_Extra/CSV | 0 | ||||
-rw-r--r-- | assets/syntaxes/02_Extra/CSV.sublime-syntax | 110 | ||||
m--------- | assets/syntaxes/02_Extra/Julia | 0 | ||||
m--------- | assets/syntaxes/02_Extra/SCSS_Sass | 0 | ||||
-rw-r--r-- | assets/syntaxes/02_Extra/syntax_test_csv.csv | 60 | ||||
-rw-r--r-- | assets/syntaxes/02_Extra/syntax_test_tsv.tsv | 60 | ||||
-rw-r--r-- | src/bin/bat/main.rs | 1 | ||||
-rw-r--r-- | tests/syntax-tests/highlighted/CSV/comma_in_quotes.csv | 14 |
15 files changed, 233 insertions, 55 deletions
diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..b4987cae --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,18 @@ +version: 2 +updates: +- package-ecosystem: cargo + directory: "/" + schedule: + interval: monthly + time: "04:00" + timezone: Europe/Berlin + ignore: + - dependency-name: git2 + versions: + - 0.13.17 +- package-ecosystem: gitsubmodule + directory: "/" + schedule: + interval: monthly + time: "04:00" + timezone: Europe/Berlin diff --git a/.github/workflows/CICD.yml b/.github/workflows/CICD.yml index 2116fd85..11119192 100644 --- a/.github/workflows/CICD.yml +++ b/.github/workflows/CICD.yml @@ -79,6 +79,13 @@ jobs: run: bat --list-languages - name: List of themes run: bat --list-themes + - name: Check documentation + env: + RUSTDOCFLAGS: -D warnings + uses: actions-rs/cargo@v1 + with: + command: doc + args: --no-deps --document-private-items --all-features build: name: ${{ matrix.job.os }} (${{ matrix.job.target }}) diff --git a/.gitmodules b/.gitmodules index 98bf500f..993123b0 100644 --- a/.gitmodules +++ b/.gitmodules @@ -61,9 +61,6 @@ [submodule "assets/syntaxes/Puppet"] path = assets/syntaxes/02_Extra/Puppet url = https://github.com/russCloak/SublimePuppet -[submodule "assets/syntaxes/CSV"] - path = assets/syntaxes/02_Extra/CSV - url = https://github.com/wadetb/Sublime-Text-Advanced-CSV [submodule "assets/themes/onehalf"] path = assets/themes/onehalf url = https://github.com/sonph/onehalf @@ -218,7 +215,7 @@ url = https://github.com/hesstobi/sublime_gnuplot [submodule "assets/syntaxes/02_Extra/SystemVerilog"] path = assets/syntaxes/02_Extra/SystemVerilog - url = git@github.com:TheClams/SystemVerilog.git + url = https://github.com/TheClams/SystemVerilog.git [submodule "assets/themes/visual-studio-dark-plus"] path = assets/themes/visual-studio-dark-plus - url = https://github.com/vidann1/visual-studio-dark-plus.git + url = https://github.com/vidann1/visual-studio-dark-plus.git
\ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 2b02eb41..d3341148 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,10 +8,13 @@ ## Other - `Input::ordinary_file` and `Input::with_name` now accept `Path` rather than `OsStr` see #1571 (@matklad) +- The `LESS` environment variable is now included in `bat --diagnostic`, see #1589 (@Enselic) - Increased min. required Rust version to 1.45 ## Syntaxes +- Replaced "Advanced CSV" with a custom CSV syntax definition written especially for `bat`; see #1574 (@keith-hall) + ## New themes ## `bat` as a library @@ -226,9 +226,9 @@ dependencies = [ [[package]] name = "console" -version = "0.14.0" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cc80946b3480f421c2f17ed1cb841753a371c7c5104f51d507e13f532c856aa" +checksum = "3993e6445baa160675931ec041a5e03ca84b9c6e32a056150d3aa2bdda0a1f45" dependencies = [ "encode_unicode", "lazy_static", @@ -36,7 +36,7 @@ regex-fancy = ["syntect/regex-fancy"] # Use the rust-only "fancy-regex" engine atty = { version = "0.2.14", optional = true } ansi_term = "^0.12.1" ansi_colours = "^1.0" -console = "0.14.0" +console = "0.14.1" lazy_static = { version = "1.4", optional = true } wild = { version = "2.0", optional = true } content_inspector = "0.2.4" diff --git a/assets/patches/Monokai-Extended.tmTheme.patch b/assets/patches/Monokai-Extended.tmTheme.patch index 24573a7b..16624d5f 100644 --- a/assets/patches/Monokai-Extended.tmTheme.patch +++ b/assets/patches/Monokai-Extended.tmTheme.patch @@ -7,7 +7,7 @@ index 9c2aa3e..180cbbf 100644 <string>JSON String</string> <key>scope</key> - <string>meta.structure.dictionary.json string.quoted.double.json</string> -+ <string>meta.mapping.key.json string.quoted.double.json</string> ++ <string>meta.mapping.key.json string.quoted.double.json, punctuation.separator.sequence.csv</string> <key>settings</key> <dict> <key>foreground</key> diff --git a/assets/syntaxes/02_Extra/CSV b/assets/syntaxes/02_Extra/CSV deleted file mode 160000 -Subproject 4786d037a761bc45e516f6b0624a839919ec6d0 diff --git a/assets/syntaxes/02_Extra/CSV.sublime-syntax b/assets/syntaxes/02_Extra/CSV.sublime-syntax index 1bbc5b97..cca7cd2c 100644 --- a/assets/syntaxes/02_Extra/CSV.sublime-syntax +++ b/assets/syntaxes/02_Extra/CSV.sublime-syntax @@ -1,46 +1,78 @@ %YAML 1.2 --- -# http://www.sublimetext.com/docs/3/syntax.html -name: Advanced CSV +# See http://www.sublimetext.com/docs/3/syntax.html +name: Comma Separated Values file_extensions: - csv - tsv -scope: text.advanced_csv +scope: text.csv +variables: + field_separator: (?:[,;\t]) + record_separator: (?:$\n?) contexts: - main: - - match: (\") - captures: - 1: string.quoted.double.advanced_csv - push: - - meta_scope: meta.quoted.advanced_csv - - match: (\") - captures: - 1: string.quoted.double.advanced_csv - pop: true - - include: main - - match: '(\[([+-]?\d*)(\:)?([+-]?\d*)(\,)?([+-]?\d*)(\:)?([+-]?\d*)\])?\s*([<>v^])?\s*(=)' - captures: - 1: keyword.operator.advanced_csv - 2: constant.numeric.formula.advanced_csv - 4: constant.numeric.formula.advanced_csv - 6: constant.numeric.formula.advanced_csv - 8: constant.numeric.formula.advanced_csv - 9: keyword.operator.advanced_csv - 10: keyword.operator.advanced_csv + prototype: + - match: (?={{record_separator}}) + pop: true + fields: + - match: '' push: - - meta_scope: meta.range.advanced_csv - - match: (?=(\")|$) - pop: true - - include: scope:source.python - - match: '(?<=^|,|\s|\")([0-9.eE+-]+)(?=$|,|\s|\")' - scope: meta.number.advanced_csv - captures: - 1: constant.numeric.advanced_csv - - match: '(?<=^|,|\s|\")([^, \t\"]+)(?=$|,|\s|\")' - scope: meta.nonnumber.advanced_csv - captures: - 1: storage.type.advanced_csv - - match: (\,) - scope: meta.delimiter.advanced_csv - captures: - 1: keyword.operator.advanced_csv + - field_or_record_separator + - field4 + - field_or_record_separator + - field3 + - field_or_record_separator + - field2 + - field_or_record_separator + - field1 + main: + - meta_include_prototype: false + - match: '^' + set: fields + + field_or_record_separator: + - meta_include_prototype: false + - match: '{{record_separator}}' + scope: punctuation.terminator.record.csv + pop: true + - match: '{{field_separator}}' + scope: punctuation.separator.sequence.csv + pop: true + + field_contents: + - match: '"' + scope: punctuation.definition.string.begin.csv + push: double_quoted_string + + - match: (?={{field_separator}}|{{record_separator}}) + pop: true + + double_quoted_string: + - meta_include_prototype: false + - meta_scope: string.quoted.double.csv + - match: '""' + scope: constant.character.escape.csv + - match: '"' + scope: punctuation.definition.string.end.csv + pop: true + + field1: + - match: '' + set: + - meta_content_scope: meta.field-1.csv support.type + - include: field_contents + field2: + - match: '' + set: + - meta_content_scope: meta.field-2.csv support.function + - include: field_contents + field3: + - match: '' + set: + - meta_content_scope: meta.field-3.csv constant.numeric + - include: field_contents + field4: + - match: '' + set: + - meta_content_scope: meta.field-4.csv keyword.operator + - include: field_contents + diff --git a/assets/syntaxes/02_Extra/Julia b/assets/syntaxes/02_Extra/Julia -Subproject 45a1b6fe6cc37a2b614ae199d85c702b8711e22 +Subproject cc13e7d4ef74a6556af09d8858d2cc6a47ef545 diff --git a/assets/syntaxes/02_Extra/SCSS_Sass b/assets/syntaxes/02_Extra/SCSS_Sass -Subproject 4868322030c3644d6b8cfff68c85849789d9bdb +Subproject 63819a1ab6b2075360933b2cfe41b416de0e3c2 diff --git a/assets/syntaxes/02_Extra/syntax_test_csv.csv b/assets/syntaxes/02_Extra/syntax_test_csv.csv new file mode 100644 index 00000000..c997b2bd --- /dev/null +++ b/assets/syntaxes/02_Extra/syntax_test_csv.csv @@ -0,0 +1,60 @@ +# SYNTAX TEST "CSV.sublime-syntax" +Forename,Surname,House No.,Street,City,Postcode +#^^^^^^^ meta.field-1 +# ^ punctuation.separator.sequence +# ^^^^^^^ meta.field-2 +# ^ punctuation.separator.sequence +# ^^^^^^^^^ meta.field-3 +# ^ punctuation.separator.sequence +# ^^^^^^ meta.field-4 +# ^ punctuation.separator.sequence +# ^^^^ meta.field-1 +# ^ punctuation.separator.sequence +# ^^^^^^^^ meta.field-2 +John,Doe,87,Logon Road,Citiville,TU43 6GH +#^^^ meta.field-1 +# ^ punctuation.separator.sequence +# ^^^ meta.field-2 +# ^ punctuation.separator.sequence +# ^^ meta.field-3 +# ^ punctuation.separator.sequence +# ^^^^^^^^^^ meta.field-4 +# ^ punctuation.separator.sequence +# ^^^^^^^^^ meta.field-1 +# ^ punctuation.separator.sequence +# ^^^^^^^^ meta.field-2 +Jane,Doe,22,"""Fun"" Street","The City, County",FA90 1XA +#^^^ meta.field-1 +# ^ punctuation.separator.sequence +# ^^^ meta.field-2 +# ^ punctuation.separator.sequence +# ^^ meta.field-3 +# ^ punctuation.separator.sequence +# ^^^^^^^^^^^^^^^^ meta.field-4 string.quoted.double +# ^^ constant.character.escape +# ^^ constant.character.escape +# ^ punctuation.separator.sequence +# ^ meta.field-1 string.quoted.double punctuation.definition.string.begin +# ^^^^^^^^^^^^^^^^^ meta.field-1 string.quoted.double +# ^ meta.field-1 string.quoted.double punctuation.definition.string.end +# ^ punctuation.separator.sequence +# ^^^^^^^^ meta.field-2 +Fred,Bloggs,"19","Street +#^^^ meta.field-1 +# ^ punctuation.separator.sequence +# ^^^^^^ meta.field-2 +# ^ punctuation.separator.sequence +# ^^^ meta.field-3 string.quoted.double +# ^ punctuation.separator.sequence +# ^ meta.field-4 punctuation.definition.string.begin +# ^^^^^^^^ meta.field-4 string.quoted.double +Spanning Multiple "" +#^^^^^^^^^^^^^^^^^^^^ meta.field-4 string.quoted.double +# ^^ constant.character.escape +Lines",Citee,P0stc0d3 +#^^^^^ meta.field-4 string.quoted.double +# ^ meta.field-4 punctuation.definition.string.end +# ^ punctuation.separator.sequence +# ^^^^^ meta.field-1 +# ^ punctuation.separator.sequence +# ^^^^^^^^ meta.field-2 diff --git a/assets/syntaxes/02_Extra/syntax_test_tsv.tsv b/assets/syntaxes/02_Extra/syntax_test_tsv.tsv new file mode 100644 index 00000000..8c2645b8 --- /dev/null +++ b/assets/syntaxes/02_Extra/syntax_test_tsv.tsv @@ -0,0 +1,60 @@ +# SYNTAX TEST "CSV.sublime-syntax" +Forename Surname House No. Street City Postcode +#^^^^^^^ meta.field-1 +# ^ punctuation.separator.sequence +# ^^^^^^^ meta.field-2 +# ^ punctuation.separator.sequence +# ^^^^^^^^^ meta.field-3 +# ^ punctuation.separator.sequence +# ^^^^^^ meta.field-4 +# ^ punctuation.separator.sequence +# ^^^^ meta.field-1 +# ^ punctuation.separator.sequence +# ^^^^^^^^ meta.field-2 +John Doe 87 Logon Road Citiville TU43 6GH +#^^^ meta.field-1 +# ^ punctuation.separator.sequence +# ^^^ meta.field-2 +# ^ punctuation.separator.sequence +# ^^ meta.field-3 +# ^ punctuation.separator.sequence +# ^^^^^^^^^^ meta.field-4 +# ^ punctuation.separator.sequence +# ^^^^^^^^^ meta.field-1 +# ^ punctuation.separator.sequence +# ^^^^^^^^ meta.field-2 +Jane Doe 22 """Fun"" Street" "The City County" FA90 1XA +#^^^ meta.field-1 +# ^ punctuation.separator.sequence +# ^^^ meta.field-2 +# ^ punctuation.separator.sequence +# ^^ meta.field-3 +# ^ punctuation.separator.sequence +# ^^^^^^^^^^^^^^^^ meta.field-4 string.quoted.double +# ^^ constant.character.escape +# ^^ constant.character.escape +# ^ punctuation.separator.sequence +# ^ meta.field-1 string.quoted.double punctuation.definition.string.begin +# ^^^^^^^^^^^^^^^^^ meta.field-1 string.quoted.double +# ^ meta.field-1 string.quoted.double punctuation.definition.string.end +# ^ punctuation.separator.sequence +# ^^^^^^^^ meta.field-2 +Fred Bloggs "19" "Street +#^^^ meta.field-1 +# ^ punctuation.separator.sequence +# ^^^^^^ meta.field-2 +# ^ punctuation.separator.sequence +# ^^^ meta.field-3 string.quoted.double +# ^ punctuation.separator.sequence +# ^ meta.field-4 punctuation.definition.string.begin +# ^^^^^^^^ meta.field-4 string.quoted.double +Spanning Multiple "" +#^^^^^^^^^^^^^^^^^^^^ meta.field-4 string.quoted.double +# ^^ constant.character.escape +Lines" Citee P0stc0d3 +#^^^^^ meta.field-4 string.quoted.double +# ^ meta.field-4 punctuation.definition.string.end +# ^ punctuation.separator.sequence +# ^^^^^ meta.field-1 +# ^ punctuation.separator.sequence +# ^^^^^^^^ meta.field-2 diff --git a/src/bin/bat/main.rs b/src/bin/bat/main.rs index eb047809..dadcc673 100644 --- a/src/bin/bat/main.rs +++ b/src/bin/bat/main.rs @@ -238,6 +238,7 @@ fn run() -> Result<bool> { .info(EnvironmentVariables::list(&[ "SHELL", "PAGER", + "LESS", "BAT_PAGER", "BAT_CACHE_PATH", "BAT_CONFIG_PATH", diff --git a/tests/syntax-tests/highlighted/CSV/comma_in_quotes.csv b/tests/syntax-tests/highlighted/CSV/comma_in_quotes.csv index 2ad5b914..9bd0da1a 100644 --- a/tests/syntax-tests/highlighted/CSV/comma_in_quotes.csv +++ b/tests/syntax-tests/highlighted/CSV/comma_in_quotes.csv @@ -1,7 +1,7 @@ -[3;38;2;102;217;239mfirst[0m[38;2;249;38;114m,[0m[3;38;2;102;217;239mlast[0m[38;2;249;38;114m,[0m[3;38;2;102;217;239maddress[0m[38;2;249;38;114m,[0m[3;38;2;102;217;239mcity[0m[38;2;249;38;114m,[0m[3;38;2;102;217;239mzip[0m -[3;38;2;102;217;239mJohn[0m[38;2;249;38;114m,[0m[3;38;2;102;217;239mDoe[0m[38;2;249;38;114m,[0m[38;2;190;132;255m120[0m[38;2;248;248;242m [0m[3;38;2;102;217;239many[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mst.[0m[38;2;249;38;114m,[0m[38;2;230;219;116m"[0m[3;38;2;102;217;239mAnytown[0m[38;2;249;38;114m,[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mWW[0m[38;2;230;219;116m"[0m[38;2;249;38;114m,[0m[38;2;190;132;255m08123[0m -[3;38;2;102;217;239ma[0m[38;2;249;38;114m,[0m[3;38;2;102;217;239mb[0m -[38;2;190;132;255m1[0m[38;2;249;38;114m,[0m[38;2;230;219;116m"[0m[3;38;2;102;217;239mha[0m[38;2;248;248;242m [0m -[38;2;230;219;116m"[0m[38;2;230;219;116m"[0m[3;38;2;102;217;239mha[0m[38;2;230;219;116m"[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m -[3;38;2;102;217;239mha[0m[38;2;230;219;116m"[0m[38;2;249;38;114m,[0m[38;2;190;132;255m120[0m[38;2;248;248;242m [0m[3;38;2;102;217;239many[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mst.[0m[38;2;249;38;114m,[0m[38;2;230;219;116m"[0m[3;38;2;102;217;239mAnytown[0m[38;2;249;38;114m,[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mWW[0m[38;2;230;219;116m"[0m[38;2;249;38;114m,[0m[38;2;190;132;255m08123[0m -[38;2;190;132;255m3[0m[38;2;249;38;114m,[0m[38;2;190;132;255m4[0m[38;2;249;38;114m,[0m[38;2;190;132;255m120[0m[38;2;248;248;242m [0m[3;38;2;102;217;239many[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mst.[0m[38;2;249;38;114m,[0m[38;2;230;219;116m"[0m[3;38;2;102;217;239mAnytown[0m[38;2;249;38;114m,[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mWW[0m[38;2;230;219;116m"[0m[38;2;249;38;114m,[0m[38;2;190;132;255m08123[0m +[3;38;2;166;226;46mfirst[0m[38;2;253;151;31m,[0m[38;2;102;217;239mlast[0m[38;2;253;151;31m,[0m[38;2;190;132;255maddress[0m[38;2;253;151;31m,[0m[38;2;249;38;114mcity[0m[38;2;253;151;31m,[0m[3;38;2;166;226;46mzip[0m +[3;38;2;166;226;46mJohn[0m[38;2;253;151;31m,[0m[38;2;102;217;239mDoe[0m[38;2;253;151;31m,[0m[38;2;190;132;255m120 any st.[0m[38;2;253;151;31m,[0m[38;2;230;219;116m"[0m[38;2;230;219;116mAnytown, WW[0m[38;2;230;219;116m"[0m[38;2;253;151;31m,[0m[3;38;2;166;226;46m08123[0m +[3;38;2;166;226;46ma[0m[38;2;253;151;31m,[0m[38;2;102;217;239mb[0m +[3;38;2;166;226;46m1[0m[38;2;253;151;31m,[0m[38;2;230;219;116m"[0m[38;2;230;219;116mha [0m +[38;2;190;132;255m""[0m[38;2;230;219;116mha[0m[38;2;190;132;255m""[0m[38;2;230;219;116m [0m +[38;2;230;219;116mha[0m[38;2;230;219;116m"[0m[38;2;253;151;31m,[0m[38;2;190;132;255m120 any st.[0m[38;2;253;151;31m,[0m[38;2;230;219;116m"[0m[38;2;230;219;116mAnytown, WW[0m[38;2;230;219;116m"[0m[38;2;253;151;31m,[0m[3;38;2;166;226;46m08123[0m +[3;38;2;166;226;46m3[0m[38;2;253;151;31m,[0m[38;2;102;217;239m4[0m[38;2;253;151;31m,[0m[38;2;190;132;255m120 any st.[0m[38;2;253;151;31m,[0m[38;2;230;219;116m"[0m[38;2;230;219;116mAnytown, WW[0m[38;2;230;219;116m"[0m[38;2;253;151;31m,[0m[3;38;2;166;226;46m08123[0m |