on ebdef04 help sign in
791 files changed+1523−92196
since splitsnapshots
unifiedsplit
.github/.codecov.yml−1 .github/FUNDING.yml−1 .github/ISSUE_TEMPLATE/bug_report.md−64 .github/ISSUE_TEMPLATE/config.yml−1 .github/ISSUE_TEMPLATE/feature_request.md−9 .github/ISSUE_TEMPLATE/question.md−11 .github/ISSUE_TEMPLATE/syntax_request.md−29 .github/dependabot.yml−18 .github/workflows/CICD.yml−482 .gitignore+1−7 .gitmodules−246 .travis.yml+101 CHANGELOG.md−1020 CONTRIBUTING.md−70 Cargo.lock+435−894 Cargo.toml+14−81 LICENSE-MIT−2 NOTICE−6 README.md+47−749 assets/.gitattributes−1 assets/.ignore−2 assets/acknowledgements.bin assets/completions/_bat.ps1.in−92 assets/completions/bat.bash.in−101 assets/completions/bat.fish.in−78 assets/completions/bat.zsh.in−99 assets/create.sh+26−59 assets/manual/bat.1.in−238 assets/patches/C#.sublime-syntax.patch−13 assets/patches/Groff.sublime-syntax.patch−16 assets/patches/JavaDoc.sublime-syntax.patch−13 assets/patches/Makefile.sublime-syntax.patch−81 assets/patches/Markdown.sublime-syntax.patch−177 assets/patches/MediaWiki.sublime-syntax.patch−13 assets/patches/Monokai-Extended.tmTheme.patch−36 assets/patches/Python.sublime-syntax.patch−15 assets/patches/Rust.sublime-syntax.patch−13 assets/patches/ShellScript.sublime-syntax.patch−20 assets/patches/XML.sublime-syntax.patch−12 assets/syntax_set assets/syntaxes.bin assets/syntaxes/01_Packages−1 assets/syntaxes/02_Extra/AWK−1 assets/syntaxes/02_Extra/Apache−1 assets/syntaxes/02_Extra/Apache.sublime-syntax−221 assets/syntaxes/02_Extra/AsciiDoc−1 assets/syntaxes/02_Extra/AsciiDoc.sublime-syntax−997 assets/syntaxes/02_Extra/Assembly (ARM)−1 assets/syntaxes/02_Extra/Assembly (ARM).sublime-syntax−172 assets/syntaxes/02_Extra/Assembly (x86_64).sublime-syntax−1367 assets/syntaxes/02_Extra/CMake−1 assets/syntaxes/02_Extra/CSV.sublime-syntax−78 assets/syntaxes/02_Extra/Cabal.sublime-syntax−47 assets/syntaxes/02_Extra/CoffeeScript−1 assets/syntaxes/02_Extra/CoffeeScript.sublime-syntax−271 assets/syntaxes/02_Extra/CpuInfo.sublime-syntax−14 assets/syntaxes/02_Extra/Crystal−1 assets/syntaxes/02_Extra/Crystal.sublime-syntax−1037 assets/syntaxes/02_Extra/Dart−1 assets/syntaxes/02_Extra/Dart.sublime-syntax−211 assets/syntaxes/02_Extra/Docker−1 assets/syntaxes/02_Extra/DotENV−1 assets/syntaxes/02_Extra/DotENV.sublime-syntax−93 assets/syntaxes/02_Extra/Elixir−1 assets/syntaxes/02_Extra/Elm−1 assets/syntaxes/02_Extra/Email−1 assets/syntaxes/02_Extra/FSharp−1 assets/syntaxes/02_Extra/Fish−1 assets/syntaxes/02_Extra/Fortran−1 assets/syntaxes/02_Extra/Fstab.sublime-syntax−135 assets/syntaxes/02_Extra/GLSL−1 assets/syntaxes/02_Extra/GraphQL−1 assets/syntaxes/02_Extra/Groff−1 assets/syntaxes/02_Extra/Group.sublime-syntax−48 assets/syntaxes/02_Extra/HTML (Twig)−1 assets/syntaxes/02_Extra/HTML (Twig).sublime-syntax−662 assets/syntaxes/02_Extra/Hosts.sublime-syntax−23 assets/syntaxes/02_Extra/INI−1 assets/syntaxes/02_Extra/INI.sublime-syntax−47 assets/syntaxes/02_Extra/JavaScript (Babel)−1 assets/syntaxes/02_Extra/JavaScript (Babel).sublime-syntax−1290 assets/syntaxes/02_Extra/Jinja2−1 assets/syntaxes/02_Extra/Jsonnet−1 assets/syntaxes/02_Extra/Julia−1 assets/syntaxes/02_Extra/Kotlin−1 assets/syntaxes/02_Extra/Kotlin.sublime-syntax−398 assets/syntaxes/02_Extra/LESS−1 assets/syntaxes/02_Extra/LLVM−1 assets/syntaxes/02_Extra/Lean−1 assets/syntaxes/02_Extra/Lean.sublime-syntax−125 assets/syntaxes/02_Extra/LiveScript−1 assets/syntaxes/02_Extra/LiveScript.sublime-syntax−400 assets/syntaxes/02_Extra/Manpage.sublime-syntax−171 assets/syntaxes/02_Extra/MediaWiki−1 assets/syntaxes/02_Extra/MemInfo.sublime-syntax−14 assets/syntaxes/02_Extra/Nginx−1 assets/syntaxes/02_Extra/Nim.sublime-syntax−258 assets/syntaxes/02_Extra/Ninja−1 assets/syntaxes/02_Extra/Ninja.sublime-syntax−52 assets/syntaxes/02_Extra/Nix−1 assets/syntaxes/02_Extra/Nix.sublime-syntax−609 assets/syntaxes/02_Extra/Org mode−1 assets/syntaxes/02_Extra/Org mode.sublime-syntax−219 assets/syntaxes/02_Extra/Passwd.sublime-syntax−71 assets/syntaxes/02_Extra/PowerShell−1 assets/syntaxes/02_Extra/PowerShell.sublime-syntax−461 assets/syntaxes/02_Extra/Protobuf−1 assets/syntaxes/02_Extra/Puppet−1 assets/syntaxes/02_Extra/PureScript−1 assets/syntaxes/02_Extra/QML−1 assets/syntaxes/02_Extra/QML.sublime-syntax−103 assets/syntaxes/02_Extra/Racket−1 assets/syntaxes/02_Extra/Racket.sublime-syntax−52 assets/syntaxes/02_Extra/Rego.sublime-syntax−97 assets/syntaxes/02_Extra/Resolv.sublime-syntax−21 assets/syntaxes/02_Extra/Robot−1 assets/syntaxes/02_Extra/Robot.sublime-syntax−58 assets/syntaxes/02_Extra/SCSS_Sass−1 assets/syntaxes/02_Extra/SLS−1 assets/syntaxes/02_Extra/SML.sublime-syntax−33 assets/syntaxes/02_Extra/Slim−1 assets/syntaxes/02_Extra/Slim.sublime-syntax−306 assets/syntaxes/02_Extra/Strace−1 assets/syntaxes/02_Extra/Stylus−1 assets/syntaxes/02_Extra/Stylus.sublime-syntax−711 assets/syntaxes/02_Extra/SublimeEthereum−1 assets/syntaxes/02_Extra/SublimeJQ−1 assets/syntaxes/02_Extra/Svelte−1 assets/syntaxes/02_Extra/Swift−1 assets/syntaxes/02_Extra/Swift.sublime-syntax−371 assets/syntaxes/02_Extra/SystemVerilog−1 assets/syntaxes/02_Extra/TOML−1 assets/syntaxes/02_Extra/Terraform−1 assets/syntaxes/02_Extra/TypeScript−1 assets/syntaxes/02_Extra/TypeScript.sublime-syntax−3426 assets/syntaxes/02_Extra/TypsecriptReact.sublime-syntax−3580 assets/syntaxes/02_Extra/Verilog−1 assets/syntaxes/02_Extra/Verilog.sublime-syntax−149 assets/syntaxes/02_Extra/VimL−1 assets/syntaxes/02_Extra/Vue−1 assets/syntaxes/02_Extra/Zig−1 assets/syntaxes/02_Extra/cmd-help−1 assets/syntaxes/02_Extra/gnuplot−1 assets/syntaxes/02_Extra/gnuplot.sublime-syntax−182 assets/syntaxes/02_Extra/hosts−1 assets/syntaxes/02_Extra/http-request-response−1 assets/syntaxes/02_Extra/log.sublime-syntax−140 assets/syntaxes/02_Extra/show-nonprintable.sublime-syntax−31 assets/syntaxes/02_Extra/ssh-config−1 assets/syntaxes/02_Extra/syntax_test_csv.csv−60 assets/syntaxes/02_Extra/syntax_test_man.man−162 assets/syntaxes/02_Extra/syntax_test_tsv.tsv−60 assets/syntaxes/02_Extra/syslog.sublime-syntax−63 assets/syntaxes/02_Extra/varlink−1 assets/theme_preview.rs−5 assets/theme_set assets/themes.bin assets/themes/1337-Scheme−1 assets/themes/Coldark−1 assets/themes/DarkNeon−1 assets/themes/Nord-sublime−1 assets/themes/Solarized−1 assets/themes/TwoDark−1 assets/themes/ansi.tmTheme−430 assets/themes/base16-256.tmTheme−551 assets/themes/base16.tmTheme−550 assets/themes/dracula-sublime−1 assets/themes/github-sublime-theme−1 assets/themes/gruvbox−1 assets/themes/onehalf−1 assets/themes/sublime-monokai-extended−1 assets/themes/sublime-snazzy−1 assets/themes/visual-studio-dark-plus−1 assets/themes/zenburn−1 build.rs−106 ci/before_deploy.bash+103 diagnostics/.gitattributes−1 diagnostics/info.sh−261 doc/README-ja.md−651 doc/README-ko.md−835 doc/README-ru.md−597 doc/README-zh.md−678 doc/alternatives.md−63 doc/assets.md−100 doc/logo-header.svg−326 doc/release-checklist.md−73 doc/sponsors.md−14 doc/sponsors/workos-logo-white-bg.svg−11 examples/advanced.rs−18 examples/cat.rs−13 examples/inputs.rs−19 examples/list_syntaxes_and_themes.rs−18 examples/simple.rs−6 examples/yaml.rs−35 rustfmt.toml−1 src/assets.rs−699 src/assets/assets_metadata.rs−82 src/assets/build_assets.rs−176 src/assets/build_assets/acknowledgements.rs−222 src/assets/lazy_theme_set.rs−104 src/assets/serialized_syntax_set.rs−27 src/bin/bat/app.rs−341 src/bin/bat/assets.rs−65 src/bin/bat/clap_app.rs−608 src/bin/bat/config.rs−174 src/bin/bat/directories.rs−72 src/bin/bat/input.rs−20 src/bin/bat/main.rs−364 src/config.rs−114 src/controller.rs−249 src/decorations.rs−158 src/diff.rs−83 src/error.rs−65 src/input.rs−352 src/less.rs−131 src/lib.rs−57 src/line_range.rs−295 src/macros.rs−7 src/main.rs+642 src/output.rs−160 src/pager.rs−123 src/paging.rs−12 src/preprocessor.rs−154 src/pretty_printer.rs−357 src/printer.rs+95−669 src/style.rs−132 src/syntax_mapping.rs−252 src/syntax_mapping/ignored_suffixes.rs−107 src/terminal.rs+59−68 src/vscreen.rs−212 src/wrapping.rs−12 tests/.gitattributes−12 tests/assets.rs−42 tests/benchmarks/.gitignore−1 tests/benchmarks/.ignore−1 tests/benchmarks/highlighting-speed-src/grep-output-ansi-sequences.txt−2272 tests/benchmarks/highlighting-speed-src/jquery.js−10364 tests/benchmarks/highlighting-speed-src/miniz.c−602 tests/benchmarks/highlighting-speed-src/numpy_test_multiarray.py−8471 tests/benchmarks/many-small-files/small-file-0.txt−1 tests/benchmarks/many-small-files/small-file-1.txt−1 tests/benchmarks/many-small-files/small-file-10.txt−1 tests/benchmarks/many-small-files/small-file-100.txt−1 tests/benchmarks/many-small-files/small-file-11.txt−1 tests/benchmarks/many-small-files/small-file-12.txt−1 tests/benchmarks/many-small-files/small-file-13.txt−1 tests/benchmarks/many-small-files/small-file-14.txt−1 tests/benchmarks/many-small-files/small-file-15.txt−1 tests/benchmarks/many-small-files/small-file-16.txt−1 tests/benchmarks/many-small-files/small-file-17.txt−1 tests/benchmarks/many-small-files/small-file-18.txt−1 tests/benchmarks/many-small-files/small-file-19.txt−1 tests/benchmarks/many-small-files/small-file-2.txt−1 tests/benchmarks/many-small-files/small-file-20.txt−1 tests/benchmarks/many-small-files/small-file-21.txt−1 tests/benchmarks/many-small-files/small-file-22.txt−1 tests/benchmarks/many-small-files/small-file-23.txt−1 tests/benchmarks/many-small-files/small-file-24.txt−1 tests/benchmarks/many-small-files/small-file-25.txt−1 tests/benchmarks/many-small-files/small-file-26.txt−1 tests/benchmarks/many-small-files/small-file-27.txt−1 tests/benchmarks/many-small-files/small-file-28.txt−1 tests/benchmarks/many-small-files/small-file-29.txt−1 tests/benchmarks/many-small-files/small-file-3.txt−1 tests/benchmarks/many-small-files/small-file-30.txt−1 tests/benchmarks/many-small-files/small-file-31.txt−1 tests/benchmarks/many-small-files/small-file-32.txt−1 tests/benchmarks/many-small-files/small-file-33.txt−1 tests/benchmarks/many-small-files/small-file-34.txt−1 tests/benchmarks/many-small-files/small-file-35.txt−1 tests/benchmarks/many-small-files/small-file-36.txt−1 tests/benchmarks/many-small-files/small-file-37.txt−1 tests/benchmarks/many-small-files/small-file-38.txt−1 tests/benchmarks/many-small-files/small-file-39.txt−1 tests/benchmarks/many-small-files/small-file-4.txt−1 tests/benchmarks/many-small-files/small-file-40.txt−1 tests/benchmarks/many-small-files/small-file-41.txt−1 tests/benchmarks/many-small-files/small-file-42.txt−1 tests/benchmarks/many-small-files/small-file-43.txt−1 tests/benchmarks/many-small-files/small-file-44.txt−1 tests/benchmarks/many-small-files/small-file-45.txt−1 tests/benchmarks/many-small-files/small-file-46.txt−1 tests/benchmarks/many-small-files/small-file-47.txt−1 tests/benchmarks/many-small-files/small-file-48.txt−1 tests/benchmarks/many-small-files/small-file-49.txt−1 tests/benchmarks/many-small-files/small-file-5.txt−1 tests/benchmarks/many-small-files/small-file-50.txt−1 tests/benchmarks/many-small-files/small-file-51.txt−1 tests/benchmarks/many-small-files/small-file-52.txt−1 tests/benchmarks/many-small-files/small-file-53.txt−1 tests/benchmarks/many-small-files/small-file-54.txt−1 tests/benchmarks/many-small-files/small-file-55.txt−1 tests/benchmarks/many-small-files/small-file-56.txt−1 tests/benchmarks/many-small-files/small-file-57.txt−1 tests/benchmarks/many-small-files/small-file-58.txt−1 tests/benchmarks/many-small-files/small-file-59.txt−1 tests/benchmarks/many-small-files/small-file-6.txt−1 tests/benchmarks/many-small-files/small-file-60.txt−1 tests/benchmarks/many-small-files/small-file-61.txt−1 tests/benchmarks/many-small-files/small-file-62.txt−1 tests/benchmarks/many-small-files/small-file-63.txt−1 tests/benchmarks/many-small-files/small-file-64.txt−1 tests/benchmarks/many-small-files/small-file-65.txt−1 tests/benchmarks/many-small-files/small-file-66.txt−1 tests/benchmarks/many-small-files/small-file-67.txt−1 tests/benchmarks/many-small-files/small-file-68.txt−1 tests/benchmarks/many-small-files/small-file-69.txt−1 tests/benchmarks/many-small-files/small-file-7.txt−1 tests/benchmarks/many-small-files/small-file-70.txt−1 tests/benchmarks/many-small-files/small-file-71.txt−1 tests/benchmarks/many-small-files/small-file-72.txt−1 tests/benchmarks/many-small-files/small-file-73.txt−1 tests/benchmarks/many-small-files/small-file-74.txt−1 tests/benchmarks/many-small-files/small-file-75.txt−1 tests/benchmarks/many-small-files/small-file-76.txt−1 tests/benchmarks/many-small-files/small-file-77.txt−1 tests/benchmarks/many-small-files/small-file-78.txt−1 tests/benchmarks/many-small-files/small-file-79.txt−1 tests/benchmarks/many-small-files/small-file-8.txt−1 tests/benchmarks/many-small-files/small-file-80.txt−1 tests/benchmarks/many-small-files/small-file-81.txt−1 tests/benchmarks/many-small-files/small-file-82.txt−1 tests/benchmarks/many-small-files/small-file-83.txt−1 tests/benchmarks/many-small-files/small-file-84.txt−1 tests/benchmarks/many-small-files/small-file-85.txt−1 tests/benchmarks/many-small-files/small-file-86.txt−1 tests/benchmarks/many-small-files/small-file-87.txt−1 tests/benchmarks/many-small-files/small-file-88.txt−1 tests/benchmarks/many-small-files/small-file-89.txt−1 tests/benchmarks/many-small-files/small-file-9.txt−1 tests/benchmarks/many-small-files/small-file-90.txt−1 tests/benchmarks/many-small-files/small-file-91.txt−1 tests/benchmarks/many-small-files/small-file-92.txt−1 tests/benchmarks/many-small-files/small-file-93.txt−1 tests/benchmarks/many-small-files/small-file-94.txt−1 tests/benchmarks/many-small-files/small-file-95.txt−1 tests/benchmarks/many-small-files/small-file-96.txt−1 tests/benchmarks/many-small-files/small-file-97.txt−1 tests/benchmarks/many-small-files/small-file-98.txt−1 tests/benchmarks/many-small-files/small-file-99.txt−1 tests/benchmarks/run-benchmarks.sh−148 tests/benchmarks/startup-time-src/small-CpuInfo-file.cpuinfo−1 tests/benchmarks/startup-time-src/small-Markdown-file.md−3 tests/examples/bat.conf−5 tests/examples/cache−1 tests/examples/cache.c−1 tests/examples/empty.txt tests/examples/git/.config/git/config−3 tests/examples/git/.gitconfig−3 tests/examples/longline.json−3 tests/examples/multiline.txt−4 tests/examples/nonprintable.txt tests/examples/regression_tests/first_line_fallback.invalid-syntax−2 tests/examples/regression_tests/issue_190.md−3 tests/examples/regression_tests/issue_28.md−4 tests/examples/regression_tests/issue_314.hs−4 tests/examples/regression_tests/issue_914.rb−3 tests/examples/regression_tests/issue_915.vue−2 tests/examples/regression_tests/issue_985.js−5 tests/examples/single-line.txt−1 tests/examples/sub_directory/dummy.txt tests/examples/tabs.txt−9 tests/examples/test.binary tests/examples/test.json.suffix−1 tests/examples/test.json~−1 tests/examples/test.txt−1 tests/examples/test_UTF-16LE.txt tests/examples/unicode-wrap.txt−7 tests/integration_tests.rs−1561 tests/mocked-pagers/more−2 tests/mocked-pagers/more.bat−1 tests/mocked-pagers/most−2 tests/mocked-pagers/most.bat−1 tests/no_duplicate_extensions.rs−38 tests/scripts/find-slow-to-highlight-files.py−125 tests/scripts/license-checks.sh−24 tests/snapshot_tests.rs−45 tests/snapshots/generate_snapshots.py−59 tests/snapshots/output/changes.snapshot.txt−23 tests/snapshots/output/changes_grid.snapshot.txt−25 tests/snapshots/output/changes_grid_header.snapshot.txt−27 tests/snapshots/output/changes_grid_header_numbers.snapshot.txt−27 tests/snapshots/output/changes_grid_header_numbers_rule.snapshot.txt−27 tests/snapshots/output/changes_grid_header_rule.snapshot.txt−27 tests/snapshots/output/changes_grid_numbers.snapshot.txt−25 tests/snapshots/output/changes_grid_numbers_rule.snapshot.txt−25 tests/snapshots/output/changes_grid_rule.snapshot.txt−25 tests/snapshots/output/changes_header.snapshot.txt−24 tests/snapshots/output/changes_header_numbers.snapshot.txt−24 tests/snapshots/output/changes_header_numbers_rule.snapshot.txt−24 tests/snapshots/output/changes_header_rule.snapshot.txt−24 tests/snapshots/output/changes_numbers.snapshot.txt−23 tests/snapshots/output/changes_numbers_rule.snapshot.txt−23 tests/snapshots/output/changes_rule.snapshot.txt−23 tests/snapshots/output/full.snapshot.txt−28 tests/snapshots/output/grid.snapshot.txt−25 tests/snapshots/output/grid_header.snapshot.txt−27 tests/snapshots/output/grid_header_numbers.snapshot.txt−27 tests/snapshots/output/grid_header_numbers_rule.snapshot.txt−27 tests/snapshots/output/grid_header_rule.snapshot.txt−27 tests/snapshots/output/grid_numbers.snapshot.txt−25 tests/snapshots/output/grid_numbers_rule.snapshot.txt−25 tests/snapshots/output/grid_rule.snapshot.txt−25 tests/snapshots/output/header.snapshot.txt−24 tests/snapshots/output/header_numbers.snapshot.txt−24 tests/snapshots/output/header_numbers_rule.snapshot.txt−24 tests/snapshots/output/header_rule.snapshot.txt−24 tests/snapshots/output/numbers.snapshot.txt−23 tests/snapshots/output/numbers_rule.snapshot.txt−23 tests/snapshots/output/plain.snapshot.txt−23 tests/snapshots/output/rule.snapshot.txt−23 tests/snapshots/sample.modified.rs−23 tests/snapshots/sample.rs−18 tests/syntax-tests/BatTestCustomAssets.sublime-syntax−21 tests/syntax-tests/compare_highlighted_versions.py−65 tests/syntax-tests/create_highlighted_versions.py−133 tests/syntax-tests/highlighted/ARM Assembly/test.S−55 tests/syntax-tests/highlighted/ASP/test.asp−36 tests/syntax-tests/highlighted/AWK/quicksort.awk−35 tests/syntax-tests/highlighted/ActionScript/test.as−75 tests/syntax-tests/highlighted/Apache/httpd.conf−42 tests/syntax-tests/highlighted/AppleScript/test.applescript−25 tests/syntax-tests/highlighted/AsciiDoc/test.adoc−173 tests/syntax-tests/highlighted/Assembly (x86_64)/test.nasm−86 tests/syntax-tests/highlighted/Bash/batgrep.sh−511 tests/syntax-tests/highlighted/Bash/simple.sh−72 tests/syntax-tests/highlighted/BatTestCustomAssets/NoColorsUnlessCustomAssetsAreUsed.battestcustomassets−2 tests/syntax-tests/highlighted/Batch/build.bat−59 tests/syntax-tests/highlighted/BibTeX/test.bib−18 tests/syntax-tests/highlighted/C-Sharp/Stack.cs−64 tests/syntax-tests/highlighted/C/test.c−62 tests/syntax-tests/highlighted/CMake/CMakeLists.txt−16 tests/syntax-tests/highlighted/CSS/style.css−115 tests/syntax-tests/highlighted/CSV/comma_in_quotes.csv−7 tests/syntax-tests/highlighted/Cabal/semantic.cabal−247 tests/syntax-tests/highlighted/Clojure/test.clj−58 tests/syntax-tests/highlighted/CoffeeScript/coffeescript.coffee−391 tests/syntax-tests/highlighted/Cpp/test.cpp−79 tests/syntax-tests/highlighted/CpuInfo/test.cpuinfo−45 tests/syntax-tests/highlighted/Crystal/test.cr−117 tests/syntax-tests/highlighted/D/test.d−44 tests/syntax-tests/highlighted/Dart/inner_comment.dart−5 tests/syntax-tests/highlighted/Dart/test.dart−133 tests/syntax-tests/highlighted/Diff/82e7786e747b1fcfac1f963ae6415a22ec9caae1.diff−353 tests/syntax-tests/highlighted/Dockerfile/Dockerfile−19 tests/syntax-tests/highlighted/DotENV/.env−57 tests/syntax-tests/highlighted/Elixir/command.ex−31 tests/syntax-tests/highlighted/Elm/test.elm−137 tests/syntax-tests/highlighted/Email/test.eml−16 tests/syntax-tests/highlighted/Erlang/bat_erlang.erl−72 tests/syntax-tests/highlighted/EtcGroup/test.group−67 tests/syntax-tests/highlighted/F#/string.fs−182 tests/syntax-tests/highlighted/Fish/test.fish−77 tests/syntax-tests/highlighted/Fortran (Fixed Form)/quicksort_real_F77.F−323 tests/syntax-tests/highlighted/Fortran (Modern)/test_savetxt.f90−119 tests/syntax-tests/highlighted/Fortran Namelist/test.namelist−5 tests/syntax-tests/highlighted/Fstab/fstab−7 tests/syntax-tests/highlighted/GLSL/test.glsl−42 tests/syntax-tests/highlighted/Git Attributes/example.gitattributes−16 tests/syntax-tests/highlighted/Git Config/text.gitconfig−107 tests/syntax-tests/highlighted/Git Ignore/test.gitignore−43 tests/syntax-tests/highlighted/Go/main.go−81 tests/syntax-tests/highlighted/GraphQL/test.graphql−145 tests/syntax-tests/highlighted/Graphviz DOT/test_digraph.dot−41 tests/syntax-tests/highlighted/Graphviz DOT/test_graph.dot−3 tests/syntax-tests/highlighted/Groff/rustdoc.1−126 tests/syntax-tests/highlighted/Groovy/test.groovy−77 tests/syntax-tests/highlighted/HTML/test.html−115 tests/syntax-tests/highlighted/Haskell/test.hs−86 tests/syntax-tests/highlighted/Hosts/hosts−8 tests/syntax-tests/highlighted/INI/test.inf−5 tests/syntax-tests/highlighted/INI/test.ini−18 tests/syntax-tests/highlighted/Ignored suffixes/test.rs.bak−1 tests/syntax-tests/highlighted/Ignored suffixes/test.rs.dpkg-dist−1 tests/syntax-tests/highlighted/Ignored suffixes/test.rs.dpkg-old−1 tests/syntax-tests/highlighted/Ignored suffixes/test.rs.in−1 tests/syntax-tests/highlighted/Ignored suffixes/test.rs.in.in−1 tests/syntax-tests/highlighted/Ignored suffixes/test.rs.old−1 tests/syntax-tests/highlighted/Ignored suffixes/test.rs.orig−1 tests/syntax-tests/highlighted/Ignored suffixes/test.rs.orig~−1 tests/syntax-tests/highlighted/Ignored suffixes/test.rs.rpmnew−1 tests/syntax-tests/highlighted/Ignored suffixes/test.rs.rpmorig−1 tests/syntax-tests/highlighted/Ignored suffixes/test.rs.rpmsave−1 tests/syntax-tests/highlighted/Ignored suffixes/test.rs.ucf-dist−1 tests/syntax-tests/highlighted/Ignored suffixes/test.rs.ucf-new−1 tests/syntax-tests/highlighted/Ignored suffixes/test.rs.ucf-old−1 tests/syntax-tests/highlighted/Ignored suffixes/test.rs~−1 tests/syntax-tests/highlighted/Ignored suffixes/test.unknown~−1 tests/syntax-tests/highlighted/JQ/sample.jq−60 tests/syntax-tests/highlighted/JSON/test.json−29 tests/syntax-tests/highlighted/Java Server Page (JSP)/sessionDetail.jsp−197 tests/syntax-tests/highlighted/Java/test.java−39 tests/syntax-tests/highlighted/JavaScript/test.js−114 tests/syntax-tests/highlighted/Jinja2/template.jinja2−30 tests/syntax-tests/highlighted/Julia/test.jl−71 tests/syntax-tests/highlighted/Kotlin/test.kt−85 tests/syntax-tests/highlighted/LLVM/test.ll−29 tests/syntax-tests/highlighted/Lean/test.lean−68 tests/syntax-tests/highlighted/Less/example.less−43 tests/syntax-tests/highlighted/Lisp/utils.lisp−80 tests/syntax-tests/highlighted/Literate Haskell/Main.lhs−47 tests/syntax-tests/highlighted/LiveScript/livescript-demo.ls−83 tests/syntax-tests/highlighted/Log/example.log−3 tests/syntax-tests/highlighted/Lua/test.lua−34 tests/syntax-tests/highlighted/MATLAB/test.matlab−34 tests/syntax-tests/highlighted/Makefile/Makefile−385 tests/syntax-tests/highlighted/Manpage/bat-0.16.man−243 tests/syntax-tests/highlighted/Manpage/select-2.man−330 tests/syntax-tests/highlighted/Markdown/example.md−39 tests/syntax-tests/highlighted/MediaWiki/test.mediawiki−37 tests/syntax-tests/highlighted/MemInfo/test.meminfo−53 tests/syntax-tests/highlighted/NAnt Build File/Default.build−167 tests/syntax-tests/highlighted/Ninja/test.ninja−6 tests/syntax-tests/highlighted/OCaml/syntax-test.ml−83 tests/syntax-tests/highlighted/Objective-C++/test.mm−68 tests/syntax-tests/highlighted/Objective-C/test.m−32 tests/syntax-tests/highlighted/PHP/test.php−111 tests/syntax-tests/highlighted/Pascal/test.pas−42 tests/syntax-tests/highlighted/Passwd/passwd−7 tests/syntax-tests/highlighted/Perl/test.pl−157 tests/syntax-tests/highlighted/Plaintext/plaintext.txt−178 tests/syntax-tests/highlighted/PowerShell/test.ps1−25 tests/syntax-tests/highlighted/Protocol Buffer/vyconf.proto−158 tests/syntax-tests/highlighted/Puppet/manifest_large_exported_classes_node.pp−65 tests/syntax-tests/highlighted/PureScript/test.purs−89 tests/syntax-tests/highlighted/Python/battest.py−100 tests/syntax-tests/highlighted/QML/BatSyntaxTest.qml−219 tests/syntax-tests/highlighted/R/test.r−170 tests/syntax-tests/highlighted/Racket/test.rkt−56 tests/syntax-tests/highlighted/Rego/src_test.rego−181 tests/syntax-tests/highlighted/Regular Expression/test.re−1 tests/syntax-tests/highlighted/Robot Framework/recipe141_aws_simple_storage_service.robot−31 tests/syntax-tests/highlighted/Ruby Haml/test.html.haml−15 tests/syntax-tests/highlighted/Ruby On Rails/test.rb−22 tests/syntax-tests/highlighted/Ruby/output.rb−56 tests/syntax-tests/highlighted/Rust/output.rs−161 tests/syntax-tests/highlighted/SCSS/example.scss−82 tests/syntax-tests/highlighted/SLS/test.sls−57 tests/syntax-tests/highlighted/SML/sample.sml−47 tests/syntax-tests/highlighted/SQL/ims.sql−266 tests/syntax-tests/highlighted/SSH Config/ssh_config−9 tests/syntax-tests/highlighted/SSHD Config/sshd_config−36 tests/syntax-tests/highlighted/Sass/example.sass−76 tests/syntax-tests/highlighted/Scala/ConcurrentEffectLaws.scala−98 tests/syntax-tests/highlighted/Slim/test.slim−20 tests/syntax-tests/highlighted/Solidity/ERC721.sol−376 tests/syntax-tests/highlighted/Strace/ls.strace−94 tests/syntax-tests/highlighted/Stylus/gradients.styl−90 tests/syntax-tests/highlighted/Svelte/App.svelte−65 tests/syntax-tests/highlighted/Swift/test.swift−268 tests/syntax-tests/highlighted/Syslog/example.syslog−16 tests/syntax-tests/highlighted/SystemVerilog/output.sv−103 tests/syntax-tests/highlighted/TOML/Cargo.toml−87 tests/syntax-tests/highlighted/Tcl/test.tcl−22 tests/syntax-tests/highlighted/TeX/main.tex−84 tests/syntax-tests/highlighted/Terraform/main.tf−48 tests/syntax-tests/highlighted/Textile/test.textile−40 tests/syntax-tests/highlighted/TypeScript/example.ts−110 tests/syntax-tests/highlighted/TypeScriptReact/app.tsx−35 tests/syntax-tests/highlighted/Verilog/div_pipelined.v−172 tests/syntax-tests/highlighted/VimL/source.vim−92 tests/syntax-tests/highlighted/Vue/example.vue−60 tests/syntax-tests/highlighted/Vyper/crowdsale.vy−89 tests/syntax-tests/highlighted/XAML/ItemPage.xaml−264 tests/syntax-tests/highlighted/XML/example.xml−22 tests/syntax-tests/highlighted/YAML/example.yaml−34 tests/syntax-tests/highlighted/Zig/example.zig−107 tests/syntax-tests/highlighted/cmd-help/test.cmd-help−54 tests/syntax-tests/highlighted/dash/shfm−425 tests/syntax-tests/highlighted/gnuplot/test.gp−19 tests/syntax-tests/highlighted/http-request-response/example.http−44 tests/syntax-tests/highlighted/jsonnet/stdlib.jsonnet−88 tests/syntax-tests/highlighted/nginx/nginx.conf−140 tests/syntax-tests/highlighted/nim/main.nim−41 tests/syntax-tests/highlighted/nim/test.nimble−23 tests/syntax-tests/highlighted/nix/test.nix−15 tests/syntax-tests/highlighted/orgmode/test.org−38 tests/syntax-tests/highlighted/reStructuredText/reference.rst−320 tests/syntax-tests/highlighted/resolv.conf/resolv.conf−4 tests/syntax-tests/highlighted/varlink/org.varlink.certification.varlink−86 tests/syntax-tests/regression_test.sh−15 tests/syntax-tests/source/ARM Assembly/test.S−55 tests/syntax-tests/source/ASP/test.asp−36 tests/syntax-tests/source/AWK/quicksort.awk−35 tests/syntax-tests/source/ActionScript/test.as−75 tests/syntax-tests/source/Apache/httpd.conf−42 tests/syntax-tests/source/AppleScript/test.applescript−25 tests/syntax-tests/source/AsciiDoc/test.adoc−173 tests/syntax-tests/source/Assembly (x86_64)/test.nasm−86 tests/syntax-tests/source/Bash/batgrep.sh−511 tests/syntax-tests/source/Bash/simple.sh−72 tests/syntax-tests/source/BatTestCustomAssets/NoColorsUnlessCustomAssetsAreUsed.battestcustomassets−2 tests/syntax-tests/source/Batch/LICENSE.md−26 tests/syntax-tests/source/Batch/build.bat−59 tests/syntax-tests/source/BibTeX/test.bib−18 tests/syntax-tests/source/C-Sharp/Stack.cs−64 tests/syntax-tests/source/C/test.c−62 tests/syntax-tests/source/CMake/CMakeLists.txt−16 tests/syntax-tests/source/CSS/style.css−115 tests/syntax-tests/source/CSV/LICENSE.md−27 tests/syntax-tests/source/CSV/comma_in_quotes.csv−7 tests/syntax-tests/source/Cabal/LICENSE.md−25 tests/syntax-tests/source/Cabal/semantic.cabal−247 tests/syntax-tests/source/Clojure/test.clj−58 tests/syntax-tests/source/CoffeeScript/LICENSE.md−26 tests/syntax-tests/source/CoffeeScript/coffeescript.coffee−391 tests/syntax-tests/source/Cpp/test.cpp−79 tests/syntax-tests/source/CpuInfo/test.cpuinfo−45 tests/syntax-tests/source/Crystal/test.cr−117 tests/syntax-tests/source/D/test.d−44 tests/syntax-tests/source/Dart/inner_comment.dart−5 tests/syntax-tests/source/Dart/test.dart−133 tests/syntax-tests/source/Diff/82e7786e747b1fcfac1f963ae6415a22ec9caae1.diff−353 tests/syntax-tests/source/Dockerfile/Dockerfile−19 tests/syntax-tests/source/DotENV/.env−57 tests/syntax-tests/source/DotENV/LICENSE.md−23 tests/syntax-tests/source/Elixir/LICENSE.md−21 tests/syntax-tests/source/Elixir/command.ex−31 tests/syntax-tests/source/Elm/LICENSE.md−32 tests/syntax-tests/source/Elm/test.elm−137 tests/syntax-tests/source/Email/test.eml−16 tests/syntax-tests/source/Erlang/bat_erlang.erl−72 tests/syntax-tests/source/EtcGroup/test.group−67 tests/syntax-tests/source/F#/LICENSE.md−27 tests/syntax-tests/source/F#/string.fs−182 tests/syntax-tests/source/Fish/test.fish−77 tests/syntax-tests/source/Fortran (Fixed Form)/LICENSE.md−25 tests/syntax-tests/source/Fortran (Fixed Form)/quicksort_real_F77.F−323 tests/syntax-tests/source/Fortran (Modern)/LICENSE.md−25 tests/syntax-tests/source/Fortran (Modern)/test_savetxt.f90−119 tests/syntax-tests/source/Fortran Namelist/test.namelist−5 tests/syntax-tests/source/Fstab/fstab−7 tests/syntax-tests/source/GLSL/test.glsl−42 tests/syntax-tests/source/Git Attributes/example.gitattributes−16 tests/syntax-tests/source/Git Config/LICENSE.md−1 tests/syntax-tests/source/Git Config/text.gitconfig−107 tests/syntax-tests/source/Git Ignore/LICENSE.md−234 tests/syntax-tests/source/Git Ignore/test.gitignore−43 tests/syntax-tests/source/Go/LICENSE.md−205 tests/syntax-tests/source/Go/main.go−81 tests/syntax-tests/source/GraphQL/test.graphql−145 tests/syntax-tests/source/Graphviz DOT/LICENSE.md−22 tests/syntax-tests/source/Graphviz DOT/test_digraph.dot−41 tests/syntax-tests/source/Graphviz DOT/test_graph.dot−3 tests/syntax-tests/source/Groff/LICENSE.md−235 tests/syntax-tests/source/Groff/rustdoc.1−126 tests/syntax-tests/source/Groovy/test.groovy−77 tests/syntax-tests/source/HTML/test.html−115 tests/syntax-tests/source/Haskell/test.hs−86 tests/syntax-tests/source/Hosts/hosts−8 tests/syntax-tests/source/INI/test.inf−5 tests/syntax-tests/source/INI/test.ini−18 tests/syntax-tests/source/Ignored suffixes/test.rs.bak−1 tests/syntax-tests/source/Ignored suffixes/test.rs.dpkg-dist−1 tests/syntax-tests/source/Ignored suffixes/test.rs.dpkg-old−1 tests/syntax-tests/source/Ignored suffixes/test.rs.in−1 tests/syntax-tests/source/Ignored suffixes/test.rs.in.in−1 tests/syntax-tests/source/Ignored suffixes/test.rs.old−1 tests/syntax-tests/source/Ignored suffixes/test.rs.orig−1 tests/syntax-tests/source/Ignored suffixes/test.rs.orig~−1 tests/syntax-tests/source/Ignored suffixes/test.rs.rpmnew−1 tests/syntax-tests/source/Ignored suffixes/test.rs.rpmorig−1 tests/syntax-tests/source/Ignored suffixes/test.rs.rpmsave−1 tests/syntax-tests/source/Ignored suffixes/test.rs.ucf-dist−1 tests/syntax-tests/source/Ignored suffixes/test.rs.ucf-new−1 tests/syntax-tests/source/Ignored suffixes/test.rs.ucf-old−1 tests/syntax-tests/source/Ignored suffixes/test.rs~−1 tests/syntax-tests/source/Ignored suffixes/test.unknown~−1 tests/syntax-tests/source/JQ/LICENSE.md−25 tests/syntax-tests/source/JQ/sample.jq−60 tests/syntax-tests/source/JSON/test.json−29 tests/syntax-tests/source/Java Server Page (JSP)/LICENSE.md−1141 tests/syntax-tests/source/Java Server Page (JSP)/NOTICE−68 tests/syntax-tests/source/Java Server Page (JSP)/sessionDetail.jsp−197 tests/syntax-tests/source/Java/test.java−39 tests/syntax-tests/source/JavaScript/test.js−114 tests/syntax-tests/source/Jinja2/template.jinja2−30 tests/syntax-tests/source/Julia/test.jl−71 tests/syntax-tests/source/Kotlin/test.kt−85 tests/syntax-tests/source/LLVM/test.ll−29 tests/syntax-tests/source/Lean/test.lean−68 tests/syntax-tests/source/Less/example.less−43 tests/syntax-tests/source/Lisp/LICENSE.md−24 tests/syntax-tests/source/Lisp/utils.lisp−80 tests/syntax-tests/source/Literate Haskell/Main.lhs−47 tests/syntax-tests/source/LiveScript/LICENSE.md−23 tests/syntax-tests/source/LiveScript/livescript-demo.ls−83 tests/syntax-tests/source/Log/example.log−3 tests/syntax-tests/source/Lua/test.lua−34 tests/syntax-tests/source/MATLAB/LICENSE.md−27 tests/syntax-tests/source/MATLAB/test.matlab−34 tests/syntax-tests/source/Makefile/LICENSE.md−12 tests/syntax-tests/source/Makefile/Makefile−385 tests/syntax-tests/source/Manpage/bat-0.16.man−243 tests/syntax-tests/source/Manpage/select-2.man−330 tests/syntax-tests/source/Markdown/example.md−39 tests/syntax-tests/source/MediaWiki/test.mediawiki−37 tests/syntax-tests/source/MemInfo/test.meminfo−53 tests/syntax-tests/source/NAnt Build File/Default.build−167 tests/syntax-tests/source/NAnt Build File/LICENSE.md−25 tests/syntax-tests/source/Ninja/LICENSE.md−204 tests/syntax-tests/source/Ninja/test.ninja−6 tests/syntax-tests/source/OCaml/syntax-test.ml−83 tests/syntax-tests/source/Objective-C++/test.mm−68 tests/syntax-tests/source/Objective-C/test.m−32 tests/syntax-tests/source/PHP/test.php−111 tests/syntax-tests/source/Pascal/test.pas−42 tests/syntax-tests/source/Passwd/passwd−7 tests/syntax-tests/source/Perl/test.pl−157 tests/syntax-tests/source/Plaintext/README.md−12 tests/syntax-tests/source/Plaintext/bat_options−1 tests/syntax-tests/source/Plaintext/plaintext.txt tests/syntax-tests/source/PowerShell/test.ps1 tests/syntax-tests/source/Protocol Buffer/vyconf.proto−158 tests/syntax-tests/source/Puppet/LICENSE.md−206 tests/syntax-tests/source/Puppet/manifest_large_exported_classes_node.pp−65 tests/syntax-tests/source/PureScript/test.purs−89 tests/syntax-tests/source/Python/battest.py−100 tests/syntax-tests/source/QML/BatSyntaxTest.qml−219 tests/syntax-tests/source/R/test.r−170 tests/syntax-tests/source/Racket/test.rkt−56 tests/syntax-tests/source/Rego/LICENSE.md−25 tests/syntax-tests/source/Rego/src_test.rego−181 tests/syntax-tests/source/Regular Expression/test.re−1 tests/syntax-tests/source/Robot Framework/LICENSE.md−25 tests/syntax-tests/source/Robot Framework/recipe141_aws_simple_storage_service.robot−31 tests/syntax-tests/source/Ruby Haml/test.html.haml−15 tests/syntax-tests/source/Ruby On Rails/test.rb−22 tests/syntax-tests/source/Ruby/output.rb−56 tests/syntax-tests/source/Rust/output.rs−161 tests/syntax-tests/source/SCSS/example.scss−82 tests/syntax-tests/source/SLS/test.sls−57 tests/syntax-tests/source/SML/sample.sml−47 tests/syntax-tests/source/SQL/ims.sql−266 tests/syntax-tests/source/SSH Config/ssh_config−9 tests/syntax-tests/source/SSHD Config/sshd_config−36 tests/syntax-tests/source/Sass/example.sass−76 tests/syntax-tests/source/Scala/ConcurrentEffectLaws.scala−98 tests/syntax-tests/source/Scala/LICENSE.md−179 tests/syntax-tests/source/Slim/test.slim−20 tests/syntax-tests/source/Solidity/ERC721.sol−376 tests/syntax-tests/source/Solidity/LICENSE.md−27 tests/syntax-tests/source/Strace/ls.strace−94 tests/syntax-tests/source/Stylus/LICENSE.md−24 tests/syntax-tests/source/Stylus/gradients.styl−90 tests/syntax-tests/source/Svelte/App.svelte−65 tests/syntax-tests/source/Svelte/LICENSE.md−14 tests/syntax-tests/source/Swift/test.swift−268 tests/syntax-tests/source/Syslog/example.syslog−16 tests/syntax-tests/source/SystemVerilog/output.sv−103 tests/syntax-tests/source/TOML/Cargo.toml−87 tests/syntax-tests/source/Tcl/test.tcl−22 tests/syntax-tests/source/TeX/main.tex−84 tests/syntax-tests/source/Terraform/main.tf−48 tests/syntax-tests/source/Textile/test.textile−40 tests/syntax-tests/source/TypeScript/LICENSE.md−19 tests/syntax-tests/source/TypeScript/example.ts−110 tests/syntax-tests/source/TypeScriptReact/LICENSE.md−25 tests/syntax-tests/source/TypeScriptReact/app.tsx−35 tests/syntax-tests/source/Verilog/LICENSE.md−205 tests/syntax-tests/source/Verilog/div_pipelined.v−172 tests/syntax-tests/source/VimL/source.vim−92 tests/syntax-tests/source/Vue/example.vue−60 tests/syntax-tests/source/Vyper/LICENSE.md−205 tests/syntax-tests/source/Vyper/crowdsale.vy−89 tests/syntax-tests/source/XAML/ItemPage.xaml−264 tests/syntax-tests/source/XAML/LICENSE.md−23 tests/syntax-tests/source/XML/example.xml−22 tests/syntax-tests/source/YAML/example.yaml−34 tests/syntax-tests/source/Zig/example.zig−107 tests/syntax-tests/source/cmd-help/test.cmd-help−54 tests/syntax-tests/source/dash/LICENSE.md−23 tests/syntax-tests/source/dash/shfm−425 tests/syntax-tests/source/gnuplot/test.gp−19 tests/syntax-tests/source/http-request-response/example.http−44 tests/syntax-tests/source/jsonnet/LICENSE.md−206 tests/syntax-tests/source/jsonnet/stdlib.jsonnet−88 tests/syntax-tests/source/nginx/nginx.conf−140 tests/syntax-tests/source/nim/main.nim−41 tests/syntax-tests/source/nim/test.nimble−23 tests/syntax-tests/source/nix/test.nix−15 tests/syntax-tests/source/orgmode/test.org−38 tests/syntax-tests/source/reStructuredText/reference.rst−320 tests/syntax-tests/source/resolv.conf/resolv.conf−4 tests/syntax-tests/source/varlink/LICENSE.md−229 tests/syntax-tests/source/varlink/org.varlink.certification.varlink−86 tests/syntax-tests/test_custom_assets.sh−74 tests/syntax-tests/update.sh−7 tests/tester.rs−102 tests/utils/mocked_pagers.rs−69 tests/utils/mod.rs−1
.github/.codecov.ymldeleted−1
@@ -1 +0,0 @@
1−comment: false
.github/FUNDING.ymldeleted−1
@@ -1 +0,0 @@
1−github: [sharkdp, keith-hall, Enselic]
.github/ISSUE_TEMPLATE/bug_report.mddeleted−64
@@ -1,64 +0,0 @@
1−---
2−name: Bug Report
3−about: Report a bug.
4−title: ""
5−labels: bug
6−assignees: ''
7−
8−---
9−
10−<!--
11−
12−Hey there, thank you for reporting a bug!
13−
14−Please note that the following bugs have already been reported:
15−
16−* dpkg: error processing archive /some/path/some-program.deb (--unpack):
17− trying to overwrite '/usr/.crates2.json'
18−
19− See https://github.com/sharkdp/bat/issues/938
20−
21−-->
22−
23−**What steps will reproduce the bug?**
24−
25−1. step 1
26−2. step 2
27−3. ...
28−
29−**What happens?**
30−
31−...
32−
33−**What did you expect to happen instead?**
34−
35−...
36−
37−
38−**How did you install `bat`?**
39−
40−<!-- apt-get, homebrew, GitHub release, etc. -->
41−
42−---
43−
44−**bat version and environment**
45−
46−<!--
47−In order to reproduce your issue, please add some information about the environment
48−in which you're running bat. To do this, run the full `bat` command that demonstrates
49−the bug, and attach the `--diagnostic` option:
50−
51− bat [other options and arguments…] --diagnostic
52−
53−Finally, paste the Markdown output here. Please make sure that it does not reveal any
54−personal information.
55−
56−
57−If you are running bat 0.17.1 or older (where --diagnostic is not available), please
58−run the script at
59−
60− https://github.com/sharkdp/bat/blob/master/diagnostics/info.sh
61−
62−(click "Raw" to get the actual source code) and paste the Markdown output here. If you
63−are on Windows, please let us know your bat version and your Windows version.
64−-->
.github/ISSUE_TEMPLATE/config.ymldeleted−1
@@ -1 +0,0 @@
1−blank_issues_enabled: true
.github/ISSUE_TEMPLATE/feature_request.mddeleted−9
@@ -1,9 +0,0 @@
1−---
2−name: Feature Request
3−about: Suggest an idea for this project.
4−title: ''
5−labels: feature-request
6−assignees: ''
7−
8−---
9−
.github/ISSUE_TEMPLATE/question.mddeleted−11
@@ -1,11 +0,0 @@
1−---
2−name: Question
3−about: Ask a question about 'bat'.
4−title: ''
5−labels: question
6−assignees: ''
7−
8−---
9−
10−<!-- Using a normal ticket is still fine, but feel free to ask your
11−questions about bat on https://github.com/sharkdp/bat/discussions instead. -->
.github/ISSUE_TEMPLATE/syntax_request.mddeleted−29
@@ -1,29 +0,0 @@
1−---
2−name: Syntax Request
3−about: Request adding a new syntax to bat.
4−title: ""
5−labels: syntax-request
6−assignees: ''
7−
8−---
9−
10−<!--
11−BEFORE YOU MAKE A REQUEST:
12−
13−Are you looking to add a new syntax to use on one of your devices?
14−Bat supports locally-installed language definitions. See the link below:
15−
16−https://github.com/sharkdp/bat#adding-new-syntaxes--language-definitions
17−
18−If you think adding this syntax would help others as well, please make sure that it meets our
19−guidelines for adding new syntaxes:
20−
21− - 10,000 downloads on packagecontrol.io
22−-->
23−
24−
25−**Syntax:**
26−[Name or description of the syntax/language here]
27−
28−**Guideline Criteria:**
29−[packagecontro.io link here]
.github/dependabot.ymldeleted−18
@@ -1,18 +0,0 @@
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.ymldeleted−482
@@ -1,482 +0,0 @@
1−name: CICD
2−
3−env:
4− MIN_SUPPORTED_RUST_VERSION: "1.51.0"
5− CICD_INTERMEDIATES_DIR: "_cicd-intermediates"
6−
7−on:
8− workflow_dispatch:
9− pull_request:
10− push:
11− branches:
12− - master
13− tags:
14− - '*'
15−
16−jobs:
17− ensure_cargo_fmt:
18− name: Ensure 'cargo fmt' has been run
19− runs-on: ubuntu-20.04
20− steps:
21− - uses: actions-rs/toolchain@v1
22− with:
23− toolchain: stable
24− default: true
25− profile: minimal
26− components: rustfmt
27− - uses: actions/checkout@v2
28− - run: cargo fmt -- --check
29−
30− license_checks:
31− name: License checks
32− runs-on: ubuntu-20.04
33− steps:
34− - uses: actions/checkout@v2
35− with:
36− submodules: true # we especially want to perform license checks on submodules
37− - run: tests/scripts/license-checks.sh
38−
39− min_version:
40− name: Minimum supported rust version
41− runs-on: ubuntu-20.04
42− steps:
43− - name: Checkout source code
44− uses: actions/checkout@v2
45−
46− - name: Install rust toolchain (v${{ env.MIN_SUPPORTED_RUST_VERSION }})
47− uses: actions-rs/toolchain@v1
48− with:
49− toolchain: ${{ env.MIN_SUPPORTED_RUST_VERSION }}
50− default: true
51− profile: minimal # minimal component installation (ie, no documentation)
52− components: clippy
53− - name: Run clippy (on minimum supported rust version to prevent warnings we can't fix)
54− uses: actions-rs/cargo@v1
55− with:
56− command: clippy
57− args: --locked --all-targets --all-features
58− - name: Run tests
59− uses: actions-rs/cargo@v1
60− with:
61− command: test
62− args: --locked
63−
64− test_with_new_syntaxes_and_themes:
65− name: Run tests with updated syntaxes and themes
66− runs-on: ubuntu-20.04
67− steps:
68− - name: Git checkout
69− uses: actions/checkout@v2
70− with:
71− submodules: true # we need all syntax and theme submodules
72− - name: Install Rust toolchain
73− uses: actions-rs/toolchain@v1
74− with:
75− toolchain: stable
76− default: true
77− profile: minimal
78− - name: Build and install bat
79− uses: actions-rs/cargo@v1
80− with:
81− command: install
82− args: --locked --path .
83− - name: Rebuild binary assets (syntaxes and themes)
84− run: bash assets/create.sh
85− - name: Build and install bat with updated assets
86− uses: actions-rs/cargo@v1
87− with:
88− command: install
89− args: --locked --path .
90− - name: Run unit tests with new syntaxes and themes
91− uses: actions-rs/cargo@v1
92− with:
93− command: test
94− args: --locked --release
95− - name: Run ignored-by-default unit tests with new syntaxes and themes
96− uses: actions-rs/cargo@v1
97− with:
98− command: test
99− args: --locked --release -- --ignored
100− - name: Syntax highlighting regression test
101− run: tests/syntax-tests/regression_test.sh
102− - name: List of languages
103− run: bat --list-languages
104− - name: List of themes
105− run: bat --list-themes
106− - name: Test custom assets
107− run: tests/syntax-tests/test_custom_assets.sh
108−
109− documentation:
110− name: Documentation
111− runs-on: ubuntu-20.04
112− steps:
113− - name: Git checkout
114− uses: actions/checkout@v2
115− - name: Install Rust toolchain
116− uses: actions-rs/toolchain@v1
117− with:
118− toolchain: stable
119− default: true
120− profile: minimal
121− - name: Print -h
122− uses: actions-rs/cargo@v1
123− with:
124− command: run
125− args: --locked -- -h
126− - name: Print --help
127− uses: actions-rs/cargo@v1
128− with:
129− command: run
130− args: --locked -- --help
131− - name: Show man page
132− run: man $(find . -name bat.1)
133− - name: Check documentation
134− env:
135− RUSTDOCFLAGS: -D warnings
136− uses: actions-rs/cargo@v1
137− with:
138− command: doc
139− args: --locked --no-deps --document-private-items --all-features
140−
141− build:
142− name: ${{ matrix.job.target }} (${{ matrix.job.os }})
143− runs-on: ${{ matrix.job.os }}
144− strategy:
145− fail-fast: false
146− matrix:
147− job:
148− - { target: aarch64-unknown-linux-gnu , os: ubuntu-20.04, use-cross: true }
149− - { target: arm-unknown-linux-gnueabihf , os: ubuntu-20.04, use-cross: true }
150− - { target: arm-unknown-linux-musleabihf, os: ubuntu-20.04, use-cross: true }
151− - { target: i686-pc-windows-msvc , os: windows-2019 }
152− - { target: i686-unknown-linux-gnu , os: ubuntu-20.04, use-cross: true }
153− - { target: i686-unknown-linux-musl , os: ubuntu-20.04, use-cross: true }
154− - { target: x86_64-apple-darwin , os: macos-10.15 }
155− - { target: x86_64-pc-windows-gnu , os: windows-2019 }
156− - { target: x86_64-pc-windows-msvc , os: windows-2019 }
157− - { target: x86_64-unknown-linux-gnu , os: ubuntu-20.04, use-cross: true }
158− - { target: x86_64-unknown-linux-musl , os: ubuntu-20.04, use-cross: true }
159− steps:
160− - name: Checkout source code
161− uses: actions/checkout@v2
162−
163− - name: Install prerequisites
164− shell: bash
165− run: |
166− case ${{ matrix.job.target }} in
167− arm-unknown-linux-*) sudo apt-get -y update ; sudo apt-get -y install gcc-arm-linux-gnueabihf ;;
168− aarch64-unknown-linux-gnu) sudo apt-get -y update ; sudo apt-get -y install gcc-aarch64-linux-gnu ;;
169− esac
170−
171− - name: Extract crate information
172− shell: bash
173− run: |
174− echo "PROJECT_NAME=$(sed -n 's/^name = "\(.*\)"/\1/p' Cargo.toml | head -n1)" >> $GITHUB_ENV
175− echo "PROJECT_VERSION=$(sed -n 's/^version = "\(.*\)"/\1/p' Cargo.toml | head -n1)" >> $GITHUB_ENV
176− echo "PROJECT_MAINTAINER=$(sed -n 's/^authors = \["\(.*\)"\]/\1/p' Cargo.toml)" >> $GITHUB_ENV
177− echo "PROJECT_HOMEPAGE=$(sed -n 's/^homepage = "\(.*\)"/\1/p' Cargo.toml)" >> $GITHUB_ENV
178−
179− - name: Install Rust toolchain
180− uses: actions-rs/toolchain@v1
181− with:
182− toolchain: stable
183− target: ${{ matrix.job.target }}
184− override: true
185− profile: minimal # minimal component installation (ie, no documentation)
186−
187− - name: Show version information (Rust, cargo, GCC)
188− shell: bash
189− run: |
190− gcc --version || true
191− rustup -V
192− rustup toolchain list
193− rustup default
194− cargo -V
195− rustc -V
196−
197− - name: Build
198− uses: actions-rs/cargo@v1
199− with:
200− use-cross: ${{ matrix.job.use-cross }}
201− command: build
202− args: --locked --release --target=${{ matrix.job.target }}
203−
204− - name: Strip debug information from executable
205− id: strip
206− shell: bash
207− run: |
208− # Figure out suffix of binary
209− EXE_suffix=""
210− case ${{ matrix.job.target }} in
211− *-pc-windows-*) EXE_suffix=".exe" ;;
212− esac;
213−
214− # Figure out what strip tool to use if any
215− STRIP="strip"
216− case ${{ matrix.job.target }} in
217− arm-unknown-linux-*) STRIP="arm-linux-gnueabihf-strip" ;;
218− aarch64-unknown-linux-gnu) STRIP="aarch64-linux-gnu-strip" ;;
219− *-pc-windows-msvc) STRIP="" ;;
220− esac;
221−
222− # Setup paths
223− BIN_DIR="${{ env.CICD_INTERMEDIATES_DIR }}/stripped-release-bin/"
224− mkdir -p "${BIN_DIR}"
225− BIN_NAME="${{ env.PROJECT_NAME }}${EXE_suffix}"
226− BIN_PATH="${BIN_DIR}/${BIN_NAME}"
227−
228− # Copy the release build binary to the result location
229− cp "target/${{ matrix.job.target }}/release/${BIN_NAME}" "${BIN_DIR}"
230−
231− # Also strip if possible
232− if [ -n "${STRIP}" ]; then
233− "${STRIP}" "${BIN_PATH}"
234− fi
235−
236− # Let subsequent steps know where to find the (stripped) bin
237− echo ::set-output name=BIN_PATH::${BIN_PATH}
238− echo ::set-output name=BIN_NAME::${BIN_NAME}
239−
240− - name: Set testing options
241− id: test-options
242− shell: bash
243− run: |
244− # test only library unit tests and binary for arm-type targets
245− unset CARGO_TEST_OPTIONS
246− unset CARGO_TEST_OPTIONS ; case ${{ matrix.job.target }} in arm-* | aarch64-*) CARGO_TEST_OPTIONS="--lib --bin ${PROJECT_NAME}" ;; esac;
247− echo ::set-output name=CARGO_TEST_OPTIONS::${CARGO_TEST_OPTIONS}
248−
249− - name: Run tests
250− uses: actions-rs/cargo@v1
251− with:
252− use-cross: ${{ matrix.job.use-cross }}
253− command: test
254− args: --locked --target=${{ matrix.job.target }} ${{ steps.test-options.outputs.CARGO_TEST_OPTIONS}}
255−
256− - name: Run bat
257− uses: actions-rs/cargo@v1
258− with:
259− use-cross: ${{ matrix.job.use-cross }}
260− command: run
261− args: --locked --target=${{ matrix.job.target }} -- --paging=never --color=always --theme=ansi Cargo.toml src/config.rs
262−
263− - name: Show diagnostics (bat --diagnostic)
264− uses: actions-rs/cargo@v1
265− with:
266− use-cross: ${{ matrix.job.use-cross }}
267− command: run
268− args: --locked --target=${{ matrix.job.target }} -- --paging=never --color=always --theme=ansi Cargo.toml src/config.rs --diagnostic
269−
270− - name: "Feature check: regex-onig"
271− uses: actions-rs/cargo@v1
272− with:
273− use-cross: ${{ matrix.job.use-cross }}
274− command: check
275− args: --locked --target=${{ matrix.job.target }} --verbose --lib --no-default-features --features regex-onig
276−
277− - name: "Feature check: regex-onig,git"
278− uses: actions-rs/cargo@v1
279− with:
280− use-cross: ${{ matrix.job.use-cross }}
281− command: check
282− args: --locked --target=${{ matrix.job.target }} --verbose --lib --no-default-features --features regex-onig,git
283−
284− - name: "Feature check: regex-onig,paging"
285− uses: actions-rs/cargo@v1
286− with:
287− use-cross: ${{ matrix.job.use-cross }}
288− command: check
289− args: --locked --target=${{ matrix.job.target }} --verbose --lib --no-default-features --features regex-onig,paging
290−
291− - name: "Feature check: regex-onig,git,paging"
292− uses: actions-rs/cargo@v1
293− with:
294− use-cross: ${{ matrix.job.use-cross }}
295− command: check
296− args: --locked --target=${{ matrix.job.target }} --verbose --lib --no-default-features --features regex-onig,git,paging
297−
298− - name: "Feature check: minimal-application"
299− uses: actions-rs/cargo@v1
300− with:
301− use-cross: ${{ matrix.job.use-cross }}
302− command: check
303− args: --locked --target=${{ matrix.job.target }} --verbose --no-default-features --features minimal-application
304−
305− - name: Create tarball
306− id: package
307− shell: bash
308− run: |
309− PKG_suffix=".tar.gz" ; case ${{ matrix.job.target }} in *-pc-windows-*) PKG_suffix=".zip" ;; esac;
310− PKG_BASENAME=${PROJECT_NAME}-v${PROJECT_VERSION}-${{ matrix.job.target }}
311− PKG_NAME=${PKG_BASENAME}${PKG_suffix}
312− echo ::set-output name=PKG_NAME::${PKG_NAME}
313−
314− PKG_STAGING="${{ env.CICD_INTERMEDIATES_DIR }}/package"
315− ARCHIVE_DIR="${PKG_STAGING}/${PKG_BASENAME}/"
316− mkdir -p "${ARCHIVE_DIR}"
317− mkdir -p "${ARCHIVE_DIR}/autocomplete"
318−
319− # Binary
320− cp "${{ steps.strip.outputs.BIN_PATH }}" "$ARCHIVE_DIR"
321−
322− # Man page
323− cp 'target/${{ matrix.job.target }}/release/build/${{ env.PROJECT_NAME }}'-*/out/assets/manual/bat.1 "$ARCHIVE_DIR"
324−
325− # README, LICENSE and CHANGELOG files
326− cp "README.md" "LICENSE-MIT" "LICENSE-APACHE" "CHANGELOG.md" "$ARCHIVE_DIR"
327−
328− # Autocompletion files
329− cp 'target/${{ matrix.job.target }}/release/build/${{ env.PROJECT_NAME }}'-*/out/assets/completions/bat.bash "$ARCHIVE_DIR/autocomplete/${{ env.PROJECT_NAME }}.bash"
330− cp 'target/${{ matrix.job.target }}/release/build/${{ env.PROJECT_NAME }}'-*/out/assets/completions/bat.fish "$ARCHIVE_DIR/autocomplete/${{ env.PROJECT_NAME }}.fish"
331− cp 'target/${{ matrix.job.target }}/release/build/${{ env.PROJECT_NAME }}'-*/out/assets/completions/_bat.ps1 "$ARCHIVE_DIR/autocomplete/_${{ env.PROJECT_NAME }}.ps1"
332− cp 'target/${{ matrix.job.target }}/release/build/${{ env.PROJECT_NAME }}'-*/out/assets/completions/bat.zsh "$ARCHIVE_DIR/autocomplete/${{ env.PROJECT_NAME }}.zsh"
333−
334− # base compressed package
335− pushd "${PKG_STAGING}/" >/dev/null
336− case ${{ matrix.job.target }} in
337− *-pc-windows-*) 7z -y a "${PKG_NAME}" "${PKG_BASENAME}"/* | tail -2 ;;
338− *) tar czf "${PKG_NAME}" "${PKG_BASENAME}"/* ;;
339− esac;
340− popd >/dev/null
341−
342− # Let subsequent steps know where to find the compressed package
343− echo ::set-output name=PKG_PATH::"${PKG_STAGING}/${PKG_NAME}"
344−
345− - name: Create Debian package
346− id: debian-package
347− shell: bash
348− if: startsWith(matrix.job.os, 'ubuntu')
349− run: |
350− COPYRIGHT_YEARS="2018 - "$(date "+%Y")
351− DPKG_STAGING="${{ env.CICD_INTERMEDIATES_DIR }}/debian-package"
352− DPKG_DIR="${DPKG_STAGING}/dpkg"
353− mkdir -p "${DPKG_DIR}"
354−
355− DPKG_BASENAME=${PROJECT_NAME}
356− DPKG_CONFLICTS=${PROJECT_NAME}-musl
357− case ${{ matrix.job.target }} in *-musl) DPKG_BASENAME=${PROJECT_NAME}-musl ; DPKG_CONFLICTS=${PROJECT_NAME} ;; esac;
358− DPKG_VERSION=${PROJECT_VERSION}
359−
360− unset DPKG_ARCH
361− case ${{ matrix.job.target }} in
362− aarch64-*-linux-*) DPKG_ARCH=arm64 ;;
363− arm-*-linux-*hf) DPKG_ARCH=armhf ;;
364− i686-*-linux-*) DPKG_ARCH=i686 ;;
365− x86_64-*-linux-*) DPKG_ARCH=amd64 ;;
366− *) DPKG_ARCH=notset ;;
367− esac;
368−
369− DPKG_NAME="${DPKG_BASENAME}_${DPKG_VERSION}_${DPKG_ARCH}.deb"
370− echo ::set-output name=DPKG_NAME::${DPKG_NAME}
371−
372− # Binary
373− install -Dm755 "${{ steps.strip.outputs.BIN_PATH }}" "${DPKG_DIR}/usr/bin/${{ steps.strip.outputs.BIN_NAME }}"
374−
375− # Man page
376− install -Dm644 'target/${{ matrix.job.target }}/release/build/${{ env.PROJECT_NAME }}'-*/out/assets/manual/bat.1 "${DPKG_DIR}/usr/share/man/man1/${{ env.PROJECT_NAME }}.1"
377− gzip -n --best "${DPKG_DIR}/usr/share/man/man1/${{ env.PROJECT_NAME }}.1"
378−
379− # Autocompletion files
380− install -Dm644 'target/${{ matrix.job.target }}/release/build/${{ env.PROJECT_NAME }}'-*/out/assets/completions/bat.bash "${DPKG_DIR}/usr/share/bash-completion/completions/${{ env.PROJECT_NAME }}"
381− install -Dm644 'target/${{ matrix.job.target }}/release/build/${{ env.PROJECT_NAME }}'-*/out/assets/completions/bat.fish "${DPKG_DIR}/usr/share/fish/vendor_completions.d/${{ env.PROJECT_NAME }}.fish"
382− install -Dm644 'target/${{ matrix.job.target }}/release/build/${{ env.PROJECT_NAME }}'-*/out/assets/completions/bat.zsh "${DPKG_DIR}/usr/share/zsh/vendor-completions/_${{ env.PROJECT_NAME }}"
383−
384− # README and LICENSE
385− install -Dm644 "README.md" "${DPKG_DIR}/usr/share/doc/${DPKG_BASENAME}/README.md"
386− install -Dm644 "LICENSE-MIT" "${DPKG_DIR}/usr/share/doc/${DPKG_BASENAME}/LICENSE-MIT"
387− install -Dm644 "LICENSE-APACHE" "${DPKG_DIR}/usr/share/doc/${DPKG_BASENAME}/LICENSE-APACHE"
388− install -Dm644 "CHANGELOG.md" "${DPKG_DIR}/usr/share/doc/${DPKG_BASENAME}/changelog"
389− gzip -n --best "${DPKG_DIR}/usr/share/doc/${DPKG_BASENAME}/changelog"
390−
391− cat > "${DPKG_DIR}/usr/share/doc/${DPKG_BASENAME}/copyright" <<EOF
392− Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
393− Upstream-Name: ${{ env.PROJECT_NAME }}
394− Source: ${{ env.PROJECT_HOMEPAGE }}
395−
396− Files: *
397− Copyright: ${{ env.PROJECT_MAINTAINER }}
398− Copyright: $COPYRIGHT_YEARS ${{ env.PROJECT_MAINTAINER }}
399− License: Apache-2.0 or MIT
400−
401− License: Apache-2.0
402− On Debian systems, the complete text of the Apache-2.0 can be found in the
403− file /usr/share/common-licenses/Apache-2.0.
404−
405− License: MIT
406− Permission is hereby granted, free of charge, to any
407− person obtaining a copy of this software and associated
408− documentation files (the "Software"), to deal in the
409− Software without restriction, including without
410− limitation the rights to use, copy, modify, merge,
411− publish, distribute, sublicense, and/or sell copies of
412− the Software, and to permit persons to whom the Software
413− is furnished to do so, subject to the following
414− conditions:
415− .
416− The above copyright notice and this permission notice
417− shall be included in all copies or substantial portions
418− of the Software.
419− .
420− THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
421− ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
422− TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
423− PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
424− SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
425− CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
426− OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
427− IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
428− DEALINGS IN THE SOFTWARE.
429− EOF
430− chmod 644 "${DPKG_DIR}/usr/share/doc/${DPKG_BASENAME}/copyright"
431−
432− # control file
433− mkdir -p "${DPKG_DIR}/DEBIAN"
434− cat > "${DPKG_DIR}/DEBIAN/control" <<EOF
435− Package: ${DPKG_BASENAME}
436− Version: ${DPKG_VERSION}
437− Section: utils
438− Priority: optional
439− Maintainer: ${{ env.PROJECT_MAINTAINER }}
440− Homepage: ${{ env.PROJECT_HOMEPAGE }}
441− Architecture: ${DPKG_ARCH}
442− Provides: ${{ env.PROJECT_NAME }}
443− Conflicts: ${DPKG_CONFLICTS}
444− Description: cat(1) clone with wings.
445− A cat(1) clone with syntax highlighting and Git integration.
446− EOF
447−
448− DPKG_PATH="${DPKG_STAGING}/${DPKG_NAME}"
449− echo ::set-output name=DPKG_PATH::${DPKG_PATH}
450−
451− # build dpkg
452− fakeroot dpkg-deb --build "${DPKG_DIR}" "${DPKG_PATH}"
453−
454− - name: "Artifact upload: tarball"
455− uses: actions/upload-artifact@master
456− with:
457− name: ${{ steps.package.outputs.PKG_NAME }}
458− path: ${{ steps.package.outputs.PKG_PATH }}
459−
460− - name: "Artifact upload: Debian package"
461− uses: actions/upload-artifact@master
462− if: steps.debian-package.outputs.DPKG_NAME
463− with:
464− name: ${{ steps.debian-package.outputs.DPKG_NAME }}
465− path: ${{ steps.debian-package.outputs.DPKG_PATH }}
466−
467− - name: Check for release
468− id: is-release
469− shell: bash
470− run: |
471− unset IS_RELEASE ; if [[ $GITHUB_REF =~ ^refs/tags/v[0-9].* ]]; then IS_RELEASE='true' ; fi
472− echo ::set-output name=IS_RELEASE::${IS_RELEASE}
473−
474− - name: Publish archives and packages
475− uses: softprops/action-gh-release@v1
476− if: steps.is-release.outputs.IS_RELEASE
477− with:
478− files: |
479− ${{ steps.package.outputs.PKG_PATH }}
480− ${{ steps.debian-package.outputs.DPKG_PATH }}
481− env:
482− GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
.gitignore+1−7
@@ -1,9 +1,3 @@
1+
12/target/
23**/*.rs.bk
3−
4−# Generated files
5−/assets/completions/bat.bash
6−/assets/completions/bat.fish
7−/assets/completions/bat.zsh
8−/assets/manual/bat.1
9−/assets/metadata.yaml
.gitmodulesdeleted−246
@@ -1,246 +0,0 @@
1−[submodule "assets/syntaxes/Elixir"]
2− path = assets/syntaxes/02_Extra/Elixir
3− url = https://github.com/princemaple/elixir-sublime-syntax/
4−[submodule "assets/syntaxes/Packages"]
5− path = assets/syntaxes/01_Packages
6− url = https://github.com/sublimehq/Packages/
7−[submodule "assets/syntaxes/TOML"]
8− path = assets/syntaxes/02_Extra/TOML
9− url = https://github.com/jasonwilliams/sublime_toml_highlighting
10−[submodule "assets/syntaxes/Julia"]
11− path = assets/syntaxes/02_Extra/Julia
12− url = https://github.com/JuliaEditorSupport/Julia-sublime
13−[submodule "assets/themes/sublime-monokai-extended"]
14− path = assets/themes/sublime-monokai-extended
15− url = https://github.com/jonschlinkert/sublime-monokai-extended
16−[submodule "assets/syntaxes/Docker"]
17− path = assets/syntaxes/02_Extra/Docker
18− url = https://github.com/asbjornenge/Docker.tmbundle
19−[submodule "assets/syntaxes/VimL"]
20− path = assets/syntaxes/02_Extra/VimL
21− url = https://github.com/SalGnt/Sublime-VimL
22−[submodule "assets/syntaxes/INI"]
23− path = assets/syntaxes/02_Extra/INI
24− url = https://github.com/clintberry/sublime-text-2-ini
25−[submodule "assets/syntaxes/CMake"]
26− path = assets/syntaxes/02_Extra/CMake
27− url = https://github.com/zyxar/Sublime-CMakeLists
28−[submodule "assets/syntaxes/LESS"]
29− path = assets/syntaxes/02_Extra/LESS
30− url = https://github.com/danro/LESS-sublime
31−[submodule "assets/themes/DarkNeon"]
32− path = assets/themes/DarkNeon
33− url = https://github.com/RainyDayMedia/DarkNeon
34−[submodule "assets/themes/github-sublime-theme"]
35− path = assets/themes/github-sublime-theme
36− url = https://github.com/AlexanderEkdahl/github-sublime-theme
37−[submodule "assets/themes/1337-Scheme"]
38− path = assets/themes/1337-Scheme
39− url = https://github.com/MarkMichos/1337-Scheme
40−[submodule "assets/themes/TwoDark"]
41− path = assets/themes/TwoDark
42− url = https://github.com/erremauro/TwoDark
43−[submodule "assets/syntaxes/AWK"]
44− path = assets/syntaxes/02_Extra/AWK
45− url = https://github.com/JohnNilsson/awk-sublime
46−[submodule "assets/syntaxes/Nix"]
47− path = assets/syntaxes/02_Extra/Nix
48− url = https://github.com/wmertens/sublime-nix
49−[submodule "assets/themes/zenburn"]
50− path = assets/themes/zenburn
51− url = https://github.com/colinta/zenburn.git
52−[submodule "assets/syntaxes/Kotlin"]
53− path = assets/syntaxes/02_Extra/Kotlin
54− url = https://github.com/vkostyukov/kotlin-sublime-package
55−[submodule "assets/syntaxes/Elm"]
56− path = assets/syntaxes/02_Extra/Elm
57− url = https://github.com/elm-community/SublimeElmLanguageSupport
58−[submodule "assets/syntaxes/TypeScript"]
59− path = assets/syntaxes/02_Extra/TypeScript
60− url = https://github.com/Microsoft/TypeScript-Sublime-Plugin
61−[submodule "assets/syntaxes/Puppet"]
62− path = assets/syntaxes/02_Extra/Puppet
63− url = https://github.com/russCloak/SublimePuppet
64−[submodule "assets/themes/onehalf"]
65− path = assets/themes/onehalf
66− url = https://github.com/sonph/onehalf
67−[submodule "assets/syntaxes/JavaScript (Babel)"]
68− path = assets/syntaxes/02_Extra/JavaScript (Babel)
69− url = https://github.com/babel/babel-sublime
70−[submodule "assets/syntaxes/FSharp"]
71− path = assets/syntaxes/02_Extra/FSharp
72− url = https://github.com/hoest/sublimetext-fsharp
73−[submodule "assets/syntaxes/PureScript"]
74− path = assets/syntaxes/02_Extra/PureScript
75− url = https://github.com/tellnobody1/sublime-purescript-syntax
76−[submodule "assets/syntaxes/Swift"]
77− path = assets/syntaxes/02_Extra/Swift
78− url = https://github.com/quiqueg/Swift-Sublime-Package
79−[submodule "assets/syntaxes/Crystal"]
80− path = assets/syntaxes/02_Extra/Crystal
81− url = https://github.com/crystal-lang-tools/sublime-crystal.git
82−[submodule "assets/syntaxes/PowerShell"]
83− path = assets/syntaxes/02_Extra/PowerShell
84− url = https://github.com/PowerShell/EditorSyntax
85−[submodule "assets/syntaxes/Robot"]
86− path = assets/syntaxes/02_Extra/Robot
87− url = https://github.com/andriyko/sublime-robot-framework-assistant.git
88−[submodule "assets/themes/sublime-snazzy"]
89− path = assets/themes/sublime-snazzy
90− url = https://github.com/greggb/sublime-snazzy
91−[submodule "assets/syntaxes/Assembly (ARM)"]
92− path = assets/syntaxes/02_Extra/Assembly (ARM)
93− url = https://github.com/tvi/Sublime-ARM-Assembly
94−[submodule "assets/syntaxes/protobuf-syntax-highlighting"]
95− path = assets/syntaxes/02_Extra/Protobuf
96− url = https://github.com/VcamX/protobuf-syntax-highlighting.git
97− branch = master
98−[submodule "assets/syntaxes/Terraform"]
99− path = assets/syntaxes/02_Extra/Terraform
100− url = https://github.com/alexlouden/Terraform.tmLanguage.git
101−[submodule "assets/syntaxes/Jsonnet"]
102− path = assets/syntaxes/02_Extra/Jsonnet
103− url = https://github.com/gburiola/sublime-jsonnet-syntax.git
104−[submodule "assets/syntaxes/varlink"]
105− path = assets/syntaxes/02_Extra/varlink
106− url = https://github.com/varlink/syntax-highlight-varlink.git
107−[submodule "assets/syntaxes/sublime-fish"]
108− path = assets/syntaxes/02_Extra/Fish
109− url = https://github.com/Phidica/sublime-fish.git
110−[submodule "assets/syntaxes/Org mode"]
111− path = assets/syntaxes/02_Extra/Org mode
112− url = https://github.com/jezcope/Org.tmbundle.git
113−[submodule "assets/syntaxes/DotENV"]
114− path = assets/syntaxes/02_Extra/DotENV
115− url = https://github.com/zaynali53/DotENV
116−[submodule "assets/syntaxes/hosts"]
117− path = assets/syntaxes/02_Extra/hosts
118− url = https://github.com/brandonwamboldt/sublime-hosts
119−[submodule "assets/syntaxes/ssh-config"]
120− path = assets/syntaxes/02_Extra/ssh-config
121− url = https://github.com/robballou/sublimetext-sshconfig.git
122−[submodule "assets/syntaxes/GraphQL"]
123− path = assets/syntaxes/02_Extra/GraphQL
124− url = https://github.com/dncrews/GraphQL-SublimeText3.git
125−[submodule "assets/syntaxes/Verilog"]
126− path = assets/syntaxes/02_Extra/Verilog
127− url = https://github.com/pro711/sublime-verilog
128−[submodule "assets/syntaxes/SCSS_Sass"]
129− path = assets/syntaxes/02_Extra/SCSS_Sass
130− url = https://github.com/braver/SublimeSass
131−[submodule "assets/syntaxes/Strace"]
132− path = assets/syntaxes/02_Extra/Strace
133− url = https://github.com/djuretic/SublimeStrace
134−[submodule "assets/syntaxes/Jinja2"]
135− path = assets/syntaxes/02_Extra/Jinja2
136− url = https://github.com/Martin819/sublime-jinja2
137−[submodule "assets/syntaxes/SLS"]
138− path = assets/syntaxes/02_Extra/SLS
139− url = https://github.com/saltstack/sublime-text
140− branch = master
141−[submodule "assets/themes/dracula-sublime"]
142− path = assets/themes/dracula-sublime
143− url = https://github.com/dracula/sublime.git
144−[submodule "assets/syntaxes/HTML (Twig)"]
145− path = assets/syntaxes/02_Extra/HTML (Twig)
146− url = https://github.com/Anomareh/PHP-Twig.tmbundle.git
147−[submodule "assets/themes/Nord-sublime"]
148− path = assets/themes/Nord-sublime
149− url = https://github.com/crabique/Nord-plist.git
150−[submodule "assets/syntaxes/Vue"]
151− path = assets/syntaxes/02_Extra/Vue
152− url = https://github.com/vuejs/vue-syntax-highlight.git
153− branch = new
154−[submodule "assets/syntaxes/CoffeeScript"]
155− path = assets/syntaxes/02_Extra/CoffeeScript
156− url = https://github.com/sustained/CoffeeScript-Sublime-Plugin
157−[submodule "assets/syntaxes/02_Extra/Stylus"]
158− path = assets/syntaxes/02_Extra/Stylus
159− url = https://github.com/billymoon/Stylus
160−[submodule "assets/themes/Solarized"]
161− path = assets/themes/Solarized
162− url = https://github.com/braver/Solarized
163−[submodule "assets/syntaxes/02_Extra/Fortran"]
164− path = assets/syntaxes/02_Extra/Fortran
165− url = https://github.com/315234/SublimeFortran
166−[submodule "assets/syntaxes/02_Extra/Email"]
167− path = assets/syntaxes/02_Extra/Email
168− url = https://github.com/mariozaizar/email.sublime-syntax.git
169−[submodule "assets/syntaxes/02_Extra/QML"]
170− path = assets/syntaxes/02_Extra/QML
171− url = https://github.com/skozlovf/Sublime-QML
172−[submodule "assets/syntaxes/02_Extra/AsciiDoc"]
173− path = assets/syntaxes/02_Extra/AsciiDoc
174− url = https://github.com/asciidoctor/sublimetext-asciidoc.git
175−[submodule "assets/syntaxes/02_Extra/GLSL"]
176− path = assets/syntaxes/02_Extra/GLSL
177− url = https://github.com/euler0/sublime-glsl
178−[submodule "assets/syntaxes/02_Extra/Nginx"]
179− path = assets/syntaxes/02_Extra/Nginx
180− url = https://github.com/brandonwamboldt/sublime-nginx
181−[submodule "assets/syntaxes/02_Extra/Apache"]
182− path = assets/syntaxes/02_Extra/Apache
183− url = https://github.com/colinta/ApacheConf.tmLanguage
184−[submodule "assets/syntaxes/02_Extra/Ninja"]
185− path = assets/syntaxes/02_Extra/Ninja
186− url = https://github.com/pope/SublimeNinja.git
187−[submodule "assets/syntaxes/02_Extra/Svelte"]
188− path = assets/syntaxes/02_Extra/Svelte
189− url = https://github.com/corneliusio/svelte-sublime
190−[submodule "assets/themes/Coldark"]
191− path = assets/themes/Coldark
192− url = https://github.com/ArmandPhilippot/coldark-bat.git
193−[submodule "assets/themes/gruvbox"]
194− path = assets/themes/gruvbox
195− url = https://github.com/subnut/gruvbox-tmTheme.git
196− branch = bat-source
197−[submodule "assets/syntaxes/02_Extra/Lean"]
198− path = assets/syntaxes/02_Extra/Lean
199− url = https://github.com/leanprover/vscode-lean.git
200−[submodule "assets/syntaxes/02_Extra/LiveScript"]
201− path = assets/syntaxes/02_Extra/LiveScript
202− url = https://github.com/paulmillr/LiveScript.tmbundle
203−[submodule "assets/syntaxes/02_Extra/Zig"]
204− path = assets/syntaxes/02_Extra/Zig
205− url = https://github.com/ziglang/sublime-zig-language.git
206−[submodule "assets/syntaxes/02_Extra/gnuplot"]
207− path = assets/syntaxes/02_Extra/gnuplot
208− url = https://github.com/hesstobi/sublime_gnuplot
209−[submodule "assets/syntaxes/02_Extra/SystemVerilog"]
210− path = assets/syntaxes/02_Extra/SystemVerilog
211− url = https://github.com/TheClams/SystemVerilog.git
212−[submodule "assets/themes/visual-studio-dark-plus"]
213− path = assets/themes/visual-studio-dark-plus
214− url = https://github.com/vidann1/visual-studio-dark-plus.git
215−[submodule "assets/syntaxes/02_Extra/SublimeEthereum"]
216− path = assets/syntaxes/02_Extra/SublimeEthereum
217− url = https://github.com/davidhq/SublimeEthereum.git
218−[submodule "assets/syntaxes/02_Extra/Groff"]
219− path = assets/syntaxes/02_Extra/Groff
220− url = https://github.com/carsonoid/sublime_man_page_support
221−[submodule "assets/syntaxes/02_Extra/http-request-response"]
222− path = assets/syntaxes/02_Extra/http-request-response
223− url = https://github.com/keith-hall/http-request-response-syntax.git
224−[submodule "assets/syntaxes/02_Extra/LLVM"]
225− path = assets/syntaxes/02_Extra/LLVM
226− url = https://github.com/ioncodes/LLVM.tmBundle
227−[submodule "assets/syntaxes/02_Extra/Slim"]
228− path = assets/syntaxes/02_Extra/Slim
229− url = https://github.com/slim-template/ruby-slim.tmbundle.git
230−[submodule "assets/syntaxes/02_Extra/Racket"]
231− path = assets/syntaxes/02_Extra/Racket
232− url = https://github.com/follesoe/sublime-racket.git
233−[submodule "assets/syntaxes/02_Extra/MediaWiki"]
234− path = assets/syntaxes/02_Extra/MediaWiki
235− url = https://github.com/tosher/Mediawiker.git
236−[submodule "assets/syntaxes/02_Extra/Dart"]
237− path = assets/syntaxes/02_Extra/Dart
238− url = https://github.com/elMuso/Dartlight.git
239−[submodule "assets/syntaxes/02_Extra/SublimeJQ"]
240− path = assets/syntaxes/02_Extra/SublimeJQ
241− url = https://github.com/zogwarg/SublimeJQ.git
242−[submodule "assets/syntaxes/02_Extra/cmd-help"]
243− path = assets/syntaxes/02_Extra/cmd-help
244− url = https://github.com/victor-gp/cmd-help-sublime-syntax.git
245− branch = main
246− shallow = true
.travis.ymlnew file+101
@@ -0,0 +1,101 @@
1+language: rust
2+cache: cargo
3+matrix:
4+ include:
5+ # Stable channel.
6+ - os: linux
7+ rust: stable
8+ env: TARGET=x86_64-unknown-linux-gnu
9+ - os: linux
10+ rust: stable
11+ env:
12+ - TARGET=x86_64-unknown-linux-musl
13+ - CC_x86_64_unknown_linux_musl=/usr/bin/musl-gcc
14+ - os: osx
15+ rust: stable
16+ env: TARGET=x86_64-apple-darwin
17+
18+ # Minimum Rust supported channel.
19+ - os: linux
20+ rust: 1.24.0
21+ env: TARGET=x86_64-unknown-linux-gnu
22+ - os: linux
23+ rust: 1.24.0
24+ env:
25+ - TARGET=x86_64-unknown-linux-musl
26+ - CC_x86_64_unknown_linux_musl=/usr/bin/musl-gcc
27+ - os: osx
28+ rust: 1.24.0
29+ env: TARGET=x86_64-apple-darwin
30+
31+ # Code formatting check
32+ - os: linux
33+ rust: nightly
34+ # skip the global install step
35+ install:
36+ - cargo install --debug --force rustfmt-nightly
37+ script: cargo fmt -- --write-mode=diff
38+
39+addons:
40+ apt:
41+ packages:
42+ # needed for i686-unknown-linux-gnu target
43+ - gcc-multilib
44+ # needed for musl targets
45+ - musl-tools
46+ # needed to build deb packages
47+ - fakeroot
48+
49+env:
50+ global:
51+ # Default target on travis-ci.
52+ # Used as conditional check in the install stage
53+ - HOST=x86_64-unknown-linux-gnu
54+ # Used on the deployment script
55+ - PROJECT_NAME=bat
56+
57+install:
58+ # prevent target re-add error from rustup
59+ - if [[ $TRAVIS_OS_NAME = linux && $HOST != $TARGET ]]; then rustup target add $TARGET; fi
60+
61+script:
62+ # Incorporate TARGET env var to the build and test process
63+ - cargo build --target $TARGET --verbose
64+ - cargo test --target $TARGET --verbose
65+ # Run 'bat' on its own source code and the README
66+ # Piping to 'cat' forces the tty check to fail so that a pager is not used
67+ - cargo run --target $TARGET -- src/main.rs | cat
68+ - cargo run --target $TARGET -- README.md | cat
69+
70+before_deploy:
71+ - bash ci/before_deploy.bash
72+
73+deploy:
74+ provider: releases
75+ # NOTE updating the `api_key.secure`
76+ # - go to: https://github.com/settings/tokens/new
77+ # - generate new token using `public_repo` scope
78+ # - encrypt it using: `travis encrypt API_KEY_HERE`
79+ # - paste the output below
80+ api_key:
81+ secure: "GZL8nYk+/MZGEqejpP0UMMGVmwUEdxiF9CflFIGccu+/tznDyHnHOpyJmbH3M5IKWIxa7xFgqOE8pHuD4oQXt4mzyJGB0KMKKEFLW7ckbTYKya5bw0heKznaqGnS0Yz+vpfqYR25eiPFYCz7mDsGsCzH5QZqt3cdn9MDQGu1D0IaxPjuBNH3T9kBblR0ifBd3Diy0JYhiVcMSI3V1rkel18F1yBHO2GQ95hkWxVgjANQnefq5+zdzbx4ki539ewYENShA8N0w6ULJVY9LmWRWJIp90ggOD3JCH6Nz/fBpYBqwfABO6Dr7Csw7IRm7pM4IVkFZS1taiDYFX9thxZh3UTmI4YYtSTPxH9NGV47kxPipbf4vAXFwW+1VcHKMpBzz+5IVsHnk1Pfx9/GZsXbqXM3PUWCStec36Xtqh5vQapDKEg9khkEs4b1X7/E73gvpRuQl9gbnyufSVWgDsXIWqM+0aDbqQz1FpLmVxz6eij0cB9vR+8kbNoe/CEPHPO9ZllvAHseukOeHPzSBd8rILORXaaGmQausXz2wWgSsffUSYz4705P8joI0zFCfmkHjL+kA1ZUx5SxLCc1ID7CFFZChhAxHoPL7xc21snswwr8QeheERdwvuzKNaerBGZEw8dmMMx98YkjftIj65DDySr2mRZuufBQeQpmMhFyIT4="
82+ # for uploading multiple files
83+ file_glob: true
84+ # NOTE explanation on each env variable
85+ # - PROJECT_NAME: name of the project, set on the `env.global` above
86+ # - TRAVIS_TAG: tag name that the build is being deployed for, usually the version number
87+ # - TARGET: target triple of the build
88+ file:
89+ - $PROJECT_NAME-$TRAVIS_TAG-$TARGET.*
90+ - $PROJECT_NAME*.deb
91+ # don't delete artifacts from previous stage
92+ skip_cleanup: true
93+ on:
94+ # deploy only if we push a tag
95+ tags: true
96+ # deploy only on stable channel that has TARGET env variable sets
97+ condition: $TRAVIS_RUST_VERSION = stable && $TARGET != ""
98+
99+notifications:
100+ email:
101+ on_success: never
CHANGELOG.mddeleted−1020
@@ -1,1020 +0,0 @@
1−# unreleased
2−
3−## Features
4−
5−- Make the default macOS theme depend on Dark Mode. See #2197, #1746 (@Enselic)
6−
7−## Bugfixes
8−
9−## Other
10−
11−- Relaxed glibc requirements on amd64, see #2106 and #2194 (@sharkdp)
12−
13−## Syntaxes
14−
15−## Themes
16−
17−## `bat` as a library
18−
19−
20−# v0.21.0
21−
22−## Features
23−
24−- Correctly render tab stops in `--show-all`, see #2038 (@Synthetica9)
25−- Add a `--style=default` option and make it the default. It is less verbose than `full`, see #2061 (@IsaacHorvath)
26−- Enable BusyBox `less` as pager, see #2162 (@nfisher1226)
27−- File extensions are now matched case-insensitively. See #1854, #2181 (@Enselic)
28−
29−## Bugfixes
30−
31−- Bump `regex` dependency from 1.5.4 to 1.5.5 to fix [CVE-2022-24713](https://blog.rust-lang.org/2022/03/08/cve-2022-24713.html), see #2145, #2139 (@Enselic)
32−- `bat` no longer crashes when encountering files that references missing syntaxes. See #915, #2181 (@Enselic)
33−
34−## Performance
35−
36−- Skip syntax highlighting on long lines (> 16384 chars) to help improve performance. See #2165 (@keith-hall)
37−- Vastly improve startup time by lazy-loading syntaxes via syntect 5.0.0. This makes bat display small files ~75% faster than before. See #951, #2181 (@Enselic)
38−
39−## Other
40−
41−- Include info about custom assets in `--diagnostics` if used. See #2107, #2144 (@Enselic)
42−
43−## Syntaxes
44−
45−- Mapped clang-format config file (.clang-format) to YAML syntax (@TruncatedDinosour)
46−- log syntax: improved handling of escape characters in double quoted strings. See #2123 (@keith-hall)
47−- Associate `/var/spool/mail/*` and `/var/mail/*` with the `Email` syntax. See #2156 (@cyqsimon)
48−- Added cmd-help syntax to scope --help messages. See #2148 (@victor-gp)
49−- Slightly adjust Zig syntax. See #2136 (@Enselic)
50−- Associate `.inf` files with the `INI` syntax. See #2190 (@Enselic)
51−
52−## `bat` as a library
53−
54−- Allow configuration of `show_nonprintable` with `PrettyPrinter`, see #2142
55−- The binary format of syntaxes.bin has been changed due to syntaxes now being lazy-loaded via syntect 5.0.0. See #2181 (@Enselic)
56−- Mark `bat::error::Error` enum as `#[non_exhaustive]` to allow adding new variants without future semver breakage. See #2181 (@Enselic)
57−- Change `Error::SyntectError(syntect::LoadingError)` to `Error::SyntectError(syntect::Error)`. See #2181 (@Enselic)
58−- Add `Error::SyntectLoadingError(syntect::LoadingError)` enum variant. See #2181 (@Enselic)
59−
60−
61−# v0.20.0
62−
63−## Features
64−
65−- New style component `header-filesize` to show size of the displayed file in the header. See #1988 (@mdibaiee)
66−- Use underline for line highlighting on ANSI, see #1730 (@mdibaiee)
67−
68−## Bugfixes
69−
70−- Fix bash completion on bash 3.x and bash-completion 1.x. See #2066 (@joshpencheon)
71−
72−## Syntaxes
73−
74−- `GraphQL`: Add support for interfaces implementing interfaces and consider ampersand an operator. See #2000
75−- Associate `_vimrc` and `_gvimrc` files with the `VimL` syntax. See #2002
76−- Associate `poetry.lock` files with the `TOML` syntax. See #2049
77−- Associate `.mesh`, `.task`, `.rgen`, `.rint`, `.rahit`, `.rchit`, `.rmiss`, and `.rcall` with the `GLSL` syntax. See #2050
78−- Added support for `JQ` syntax, see #2072
79−- Properly associate global git config files rooted in `$XDG_CONFIG_HOME/git/` or `$HOME/.config/git/`. See #2067 (@cyqsimon)
80−
81−## `bat` as a library
82−
83−- Exposed `get_syntax_set` and `get_theme` methods on `HighlightingAssets`. See #2030 (@dandavison)
84−- Added `HeaderFilename` and `HeaderFilesize` to `StyleComponent` enum, and mark it `#[non_exhaustive]`. See #1988 (@mdibaiee)
85−
86−
87−# v0.19.0
88−
89−## Performance
90−
91−- Reduce startup time in loop-through mode (e.g. when redirecting output) by 90%. See #1747 (@Enselic)
92−- Load themes lazily to make bat start 25% faster when disregarding syntax load time. See #1969 (@Enselic)
93−- Python syntax highlighting no longer suffers from abysmal performance in specific scenarios. See #1688 (@keith-hall)
94−- Fix for poor performance when ANSI escape sequences are piped to `bat`, see #1596 (@eth-p)
95−- Fix for incorrect handling of ANSI escape sequences when using `--wrap=never`, see #1596 (@eth-p)
96−- Load custom assets as fast as integrated assets, see #1753 (@Enselic)
97−
98−## Features
99−
100−- Support for `x:-delta` (minus) syntax in line ranges (e.g. `20:-10`). See #1901 (@bojan88)
101−- Support for `--ignored-suffix` argument. See #1892 (@bojan88)
102−- `$BAT_CONFIG_DIR` is now a recognized environment variable. It has precedence over `$XDG_CONFIG_HOME`, see #1727 (@billrisher)
103−- Support for `x:+delta` syntax in line ranges (e.g. `20:+10`). See #1810 (@bojan88)
104−- Add new `--acknowledgements` option that gives credit to theme and syntax definition authors. See #1971 (@Enselic)
105−- Include git hash in `bat -V` and `bat --version` output if present. See #1921 (@Enselic)
106−
107−## Bugfixes
108−
109−- First line not shown in diff context. See #1891 (@divagant-martian)
110−- Do not ignore syntaxes that handle file names with a `*.conf` extension. See #1703 (@cbolgiano)
111−
112−## Other
113−
114−- Add PowerShell completion, see #1826 (@rashil2000)
115−- Minimum supported Rust version (MSRV) bumped to 1.51, see #1994 (@mdibaiee)
116−
117−## Syntaxes
118−
119−- Groff, see #1685 (@scop)
120−- HTTP Requests and Responses, see #1748 (@keith-hall)
121−- LLVM, see #1777 (@ioncodes)
122−- Highlight for `vimrc` and `gvimrc` files, see #1763 (@SuperSandro2000)
123−- Syslog highlighting improvements, see #1793 (@scop)
124−- Added support for `slim` syntax, see #1693 (@mfinelli)
125−- Racket, see #1884 (@jubnzv)
126−- LiveScript, see #1915 (@Enselic)
127−- MediaWiki, see #1925 (@sorairolake)
128−- The `requirements.txt` syntax has been removed due to incompatible license requirements.
129−- Dart, new highlighter, see #1959 (@Ersikan)
130−- SCSS and Sass syntaxes updated, see #1766 (@Enselic)
131−- PowerShell syntax updated, see #1935 (@Enselic)
132−- TypeScript syntax updated, see #1834 (@Enselic)
133−
134−## `bat` as a library
135−
136−- Deprecate `HighlightingAssets::syntaxes()` and `HighlightingAssets::syntax_for_file_name()`. Use `HighlightingAssets::get_syntaxes()` and `HighlightingAssets::get_syntax_for_path()` instead. They return a `Result` which is needed for upcoming lazy-loading work to improve startup performance. They also return which `SyntaxSet` the returned `SyntaxReference` belongs to. See #1747, #1755, #1776, #1862 (@Enselic)
137−- Remove `HighlightingAssets::from_files` and `HighlightingAssets::save_to_cache`. Instead of calling the former and then the latter you now make a single call to `bat::assets::build`. See #1802, #1971 (@Enselic)
138−- Replace the `error::Error(error::ErrorKind, _)` struct and enum with an `error::Error` enum. `Error(ErrorKind::UnknownSyntax, _)` becomes `Error::UnknownSyntax`, etc. Also remove the `error::ResultExt` trait. These changes stem from replacing `error-chain` with `thiserror`. See #1820 (@Enselic)
139−- Add new `MappingTarget` enum variant `MapExtensionToUnknown`. Refer to its documentation for more information. Also mark `MappingTarget` as `#[non_exhaustive]` since more enum variants might be added in the future. See #1703 (@cbolgiano), #2012 (@Enselic)
140−
141−
142−# v0.18.3
143−
144−## Bugfixes
145−
146−- Bump `git2` dependency to fix build with Rust 1.54, see #1761
147−
148−
149−# v0.18.2
150−
151−## Features
152−
153−- Ignore known backup/template filename suffixes when selecting the syntax, see #1687 (@scop)
154−
155−## Bugfixes
156−
157−- Fix for a security vulnerability on Windows. Prior to this release, `bat` would execute programs called `less`/`less.exe` from the current working directory (instead of the one from `PATH`) with priority. An attacker might be able to use this by placing a malicious program in a shared directory where the user would execute `bat`. `bat` users on Windows are advised to upgrade to this version. See #1724 and #1472 (@Ry0taK).
158−
159−## Other
160−
161−- Add bash completion, see #1678 (@scop)
162−- Fix Clippy lints, see #1661 (@mohamed-abdelnour)
163−- Add syntax highlighting test files, see #1213 and #1668 (@mohamed-abdelnour)
164−
165−## Syntaxes
166−
167−- Upgraded Julia syntax to fix a highlighting bug, see #1692
168−- Added support for `dash` syntax, see #1654 (@mohamed-abdelnour)
169−- Added support for `XAML` syntax, see #1590 and #1655 (@mohamed-abdelnour)
170−- Apply `DotENV` syntax also for `.env.default` and `.env.defaults` files, see #1669
171−
172−
173−# v0.18.1
174−
175−## Bugfixes
176−
177−- Mouse support and screen clearing broken for `less` versions with minor version number (581.2), see #1629 and #1639 (@aswild)
178−
179−## Other
180−
181−- `Input::ordinary_file` and `Input::with_name` now accept `Path` rather than `OsStr` see #1571 (@matklad)
182−- The `LESS` environment variable is now included in `bat --diagnostic`, see #1589 (@Enselic)
183−- Increased min. required Rust version to 1.45
184−
185−## Syntaxes
186−
187−- Improved the Syslog syntax highlighting, see #1606 (@keith-hall)
188−- Replaced "Advanced CSV" with a custom CSV syntax definition written especially for `bat`; see #1574 (@keith-hall)
189−- Added SystemVerilog file syntax, see #1580 (@SeanMcLoughlin)
190−- Added Solidity and Vyper syntax, see #1602 (@Ersikan)
191−
192−## New themes
193−
194−- Dark+ VS Code theme, see #1588 and #1598 (@PatriotRossii)
195−
196−
197−
198−# v0.18.0
199−
200−## Features
201−
202−- Use a pager when `bat --list-languages` is called, see #1394 (@stku1985)
203−
204−## Bugfixes
205−
206−- If the last line doesn't end with a newline character, don't add it if `--style=plain`, see #1438 (@Enselic)
207−- Only print themes hint in interactive mode (`bat --list-themes`), see #1439 (@rsteube)
208−- Make ./tests/syntax-tests/regression_test.sh work on recent versions of macOS, see #1443 (@Enselic)
209−- VimL syntax highlighting fix, see #1450 (@esensar)
210−- Print an 'Invalid syntax theme settings' error message if a custom theme is broken, see #614 (@Enselic)
211−- If plain mode is set and wrap is not explicitly opted in, long lines will no be truncated, see #1426
212−- If `PAGER` (but not `BAT_PAGER` or `--pager`) is `more` or `most`, silently use `less` instead to ensure support for colors, see #1063 (@Enselic)
213−- If `PAGER` is `bat`, silently use `less` to prevent recursion. For `BAT_PAGER` or `--pager`, exit with error, see #1413 (@Enselic)
214−- Manpage highlighting fix, see #1511 (@keith-hall)
215−- `BAT_CONFIG_PATH` ignored by `bat` if non-existent, see #1550 (@sharkdp)
216−
217−## Other
218−
219−- Performance improvements, see #1421 (@LovecraftianHorror)
220−- Added a new `--diagnostic` option to collect information for bug reports, see #1459 (@sharkdp)
221−- Modified default theme colors to differentiate between a JSON key and a string value, see #1400 (@keith-hall)
222−- Upped min required Rust version to 1.42
223−
224−## Syntaxes
225−
226−- Added Zig syntax, see #1470 (@paulsmith)
227−- Added Lean syntax, see #1446 (@Julian)
228−- Added `.resource` extension for Robot Framework files, see #1386
229−- Added `gnuplot` syntax, see #1431 (@sharkdp)
230−- Highlight *.pac (Proxy auto-config) files as JavaScript, see #1515 (@sharkdp)
231−
232−## New themes
233−
234−- `ansi` replaces `ansi-dark` and `ansi-light`, see #1104 and #1412 (@mk12). **Breaking change:** users that were previously using one of the `ansi-*` themes should switch to `ansi`.
235−- The Gruvbox theme has been updated, see #1291 (@j0hnmeow). **Breaking change:** users that were previously using `gruvbox` or `gruvbox-white` should update and use `gruvbox-dark`/`gruvbox-light` instead.
236−
237−## `bat` as a library
238−
239−- The following `PrettyPrinter` methods have been removed (they were previously deprecated):
240− - `input_stdin_with_name`
241− - `input_from_bytes_with_name`
242− - `input_from_reader_with_name`
243− - `vcs_modification_markers` (if the `git` feature is not enabled)
244−
245−
246−# v0.17.1
247−
248−## Bugfixes
249−
250−- Running `bat` without arguments fails ("output file is also an input"), see #1396
251−
252−
253−# v0.17.0
254−
255−## Features
256−
257−- Added a new `--style` value, `rule`, which adds a simple horizontal ruled line between files, see #1276 (@tommilligan)
258−- Pass `-S` ("chop long lines") to `less` if `--wrap=never` is set in `bat`, see #1255 (@gahag)
259−
260−## Bugfixes
261−
262−- Detect infinite loop when input and output are the same, see #1193 and #1197 (@niklasmohrin)
263−- Throw an error when `bat` is being used as `pager`, see #1343 (@adrian-rivera)
264−- Bash syntax highlighting not selected for `*.ebuild` and `*.eclass` files, see #1292 (@sharkdp)
265−- Fix `zsh` completion when using `-p`, see #1320 (@xzfc)
266−
267−## Other
268−
269−- Add note to refer to see detailed help with `--help` (and vice versa with `-h`), see #1215 (@henil)
270−- Add a `Contributors` section to `README`, see #1348 (@adrian-rivera)
271−
272−## Syntaxes
273−
274−- Manpage syntax highlighting has been improved, see #1315 (@keith-hall)
275−- Add Svelte file syntax, see #1285 (@kjmph)
276−
277−## New themes
278−
279−- Coldark, see #1329 (@armandphilippot)
280−
281−
282−# v0.16.0
283−
284−## Features
285−
286−- Added support for the `NO_COLOR` environment variable, see #1021 and #1031 (@eth-p)
287−- Added `-P` short flag to disable paging, see #1075 and #1082 (@LordFlashmeow)
288−- Added `--force-colorization`/`-f` flag to provide an alias for forced color and decoration output, see #1141 (@alexanderkarlis)
289−
290−## Bugfixes
291−
292−- Fixed non-printable characters display for redirected output, see #1061 (@gsomix)
293−- Handle file extension conflicts in `--list-languages`, see #1076 and #1135 (@Kienyew)
294−
295−## Other
296−
297−- Switched to "·" (U+00B7) Middle Dot from "•" (U+2022) Bullet for non-printing spaces, see #1056 and #1100 (@LordFlashmeow)
298−- Added zsh shell completion script, see #1136 (@Kienyew)
299−- Improved `--help` text (@sharkdp)
300−- Added custom languages/themes sections to manpage (@eth-p)
301−
302−## Syntaxes
303−
304−- Update AsciiDoc syntax, see #1034 (@rxt1077)
305−- GLSL (@caioalonso)
306−- Add Nginx and Apache config file syntax, see #1137 (@kjmph, @niklasmohrin)
307−- Use `fstab` syntax for `crypttab` files, see #1073 (@sharkdp)
308−- Support syntax highlighting for files in `$XDG_CONFIG_HOME/git/`, see #1191 (@ahmedelgabri)
309−
310−## New themes
311−
312−- Gruvbox, see #1069 (@kyleondy)
313−- base16-256 for [base16-shell](https://github.com/chriskempson/base16-shell) users, see #1111 (@mk12)
314−
315−## `bat` as a library
316−
317−- Add APIs to provide `Input` descriptions with `InputDescription` (@eth-p)
318−- Add function to directly provide `Input`s to `PrettyPrinter` (@eth-p)
319−- **Breaking:** `Input::theme_preview_file` is no longer available. (@eth-p)
320−
321−## Packaging
322−
323−- Removed build dependency on `liquid` (@sharkdp).
324−
325−# v0.15.4
326−
327−## Bugfixes
328−
329−- Added missing Solarized themes, see #1027
330−- Fixed highlighting bug in Haskell source files, see #1026
331−
332−# v0.15.3
333−
334−## Bugfixes
335−
336−- Cannot run `bat` with relative paths, see #1022
337−- bat mishighlights Users that start with digits in SSH config, see #984
338−
339−## New syntaxes
340−
341−- SML, see #1005 (@kopecs)
342−
343−## Other
344−
345−- Some syntaxes and themes have been updated to the latest version
346−
347−# v0.15.2
348−
349−## Bugfixes
350−
351−- Fix syntax detection for files called 'rails', see #1008
352−- Fix potential errors with syntax detection for symlinked files, see #1001
353−- `--map-syntax` doesn't work with names provided through `--file-name` (@eth-p)
354−
355−## Other
356−
357−- Add padding above headers when not using a grid, see #968 and #981 (@pt2121)
358−- bat now prints an error if an invalid syntax is specified via `-l` or `--map-syntax`, see #1004 (@eth-p)
359−
360−## `bat` as a library
361−
362−- `PrettyPrinter::vcs_modification_markers` has been marked deprecated when building without the `git` feature, see #997 and #1020 (@eth-p, @sharkdp)
363−
364−## Packaging
365−
366−- Compilation problems with `onig_sys` on various platforms have been resolved by upgrading to `syntect 4.2`, which includes a new `onig` version that allows to build `onig_sys` without the `bindgen` dependency. This removes the need for `libclang(-dev)` to be installed to compile `bat`. Package maintainers might want to remove `clang` as a build dependency. See #650 for more details.
367−
368−# v0.15.1
369−
370−## Bugfixes
371−
372−- Fix highlighting of Markdown files, see #963 and #977
373−- Fix `base16` theme (was broken since in v0.14), see #972, #934 and #979 (@mk12).
374− Users suffering from #865 ("no color for bat in ssh from a Windows client") can use the `ansi-dark` and `ansi-light` themes from now on.
375−
376−## New syntaxes
377−
378−- Fortran, see #957
379−- Email (@mariozaizar)
380−- QML, see #962 (@pylipp)
381−
382−# v0.15.0
383−
384−## Features
385−
386−- Add a new `--diff`/`-d` option that can be used to only show lines surrounding
387− Git changes, i.e. added, removed or modified lines. The amount of additional
388− context can be controlled with `--diff-context=N`. See #23 and #940
389−
390−## Bugfixes
391−
392−- Error message printed in the middle of the output for another file, see #946
393−- Performance improvements when using custom caches (via `bat cache --build`): the `bat` startup time should now be twice as fast (@lzutao).
394−
395−## Themes
396−
397−- Updated version of the Solarized dark/light themes, see #941
398−
399−## `bat` as a library
400−
401−- There are a few changes in the "low level" API (the `Config` struct has changed and
402− the error handler needs a new `&mut dyn Write` argument). The high-level API is not
403− affected.
404−
405−# v0.14.0
406−
407−## Features
408−
409−- Added a new `--file-name <name>…` option to overwrite the displayed filename(s)
410− in the header. This is useful when piping input into `bat`. See #654 and #892 (@neuronull).
411−- Added a new `--generate-config-file` option to create an initial configuration file
412− at the right place. See #870 (@jmick414)
413−
414−## Bugfixes
415−
416−- Performance problems with C# source code have been fixed, see #677 (@keith-hall)
417−- Performance problems with Makefiles have been fixed, see #750 (@keith-hall)
418−- Fix bug when highlighting Ruby files with unindented heredocs, see #914 (@keith-hall)
419−- A highlighting problem with Rust source code has been fixed, see #924 (@keith-hall)
420−- Windows: short files that do not require paging are displayed and then lost, see #887
421−- `--highlight-line` did not work correctly in combination with `--tabs=0` and `--wrap=never`,
422− see #937
423−
424−## Other
425−
426−- When saving/reading user-provided syntaxes or themes, `bat` will now maintain a
427− `metadata.yaml` file which includes information about the `bat` version which was
428− used to create the cached files. When loading cached files, we now print an error
429− if they have been created with an incompatible version. See #882
430−- Updated `liquid` dependency to 0.20, see #880 (@ignatenkobrain)
431−
432−## `bat` as a library
433−
434−- A completely new "high level" API has been added that is much more convenient
435− to use. See the `examples` folder for the updated code. The older "low level"
436− API is still available (basically everything that is not in the root `bat`
437− module), but has been refactored quite a bit. It is recommended to only use
438− the new "high level" API, if possible. This will be much easier to keep stable.
439− Note that this should still be considered a "beta" release of `bat`-as-a-library.
440− For more details and some screenshots of the example programs, see #936.
441−- Stripped out a lot of binary-only dependencies, see #895 and #899 (@dtolnay)
442−
443− This introduces a `features = ["application"]` which is enabled by default and pulls in
444− everything required by `bat` the application. When depending on bat as a library, downstream
445− `Cargo.toml` should disable this feature to cut out inapplicable heavy dependencies:
446− ``` toml
447− [dependencies]
448− bat = { version = "0.14", default-features = false }
449− ```
450− Other optional functionality has also been put behind features: `paging` and `git` support.
451−- Allow using the library with older syntect, see #896 and #898 (@dtolnay)
452−
453−## New syntaxes
454−
455−- Rego, see #872 (@patrick-east)
456−- Stylo, see #917
457−
458−
459−# v0.13.0
460−
461−## `bat` as a library
462−
463−Beginning with this release, `bat` can be used as a library (#423).
464−
465−This was a huge effort and I want to thank all people who made this possible: @DrSensor, @mitsuhiko, @mre, @eth-p!
466−
467−- Initial attempt in #469 (@mitsuhiko)
468−- Second attempt, complete restructuring of the `bat` crate, see #679 (@DrSensor)
469−- Updates to example, public API, error handling, further refactoring: #693 #873 #875 (@sharkdp)
470−
471−I want to stress that this is the very first release of the library. Things are very likely to change. A lot of things are still missing (including the documentation).
472−
473−That being said, you can start using it! See the example programs in [`examples/`](https://github.com/sharkdp/bat/tree/master/examples).
474−
475−You can see the API documentation here: https://docs.rs/bat/
476−
477−## Features
478−
479−- (**Breaking change**) Glob-based syntax mapping, see #877 and #592. With this change,
480− users need to update their bat config files (`bat --config-file`), if they have any `--map-syntax` settings
481− present.
482−
483− The option now works like this:
484− ```bash
485− --map-syntax <glob-pattern>:<syntax-name>
486− ```
487−
488− For more information, see the `--help` text, the man page or the README.
489−
490− This new feature allows us to properly highlight files like:
491− * `/etc/profile`
492− * `~/.ssh/config`
493−
494−- `--highlight-line` now accepts line ranges, see #809 (@lkalir)
495−- Proper wrapping support for output with wide Unicode characters, see #811 #787 and #815 (@Kogia-sima)
496−- A lot of updates to existing syntaxes via #644 (@benwaffle, @keith-hall)
497−- `BAT_CACHE_PATH` can be used to place cached `bat` assets in a non-standard path, see #829 (@neuronull)
498−- Support combination of multiple styles at the same time, see #857 (@aslpavel)
499−
500−## Bugfixes
501−
502−- Do not pass '--no-init' on newer less versions, see #749 and #786 (@sharkdp)
503−- 'bat cache' still takes precedence over existing files, see #666 (@sharkdp)
504−- `.sc` files should be treated as scala files, see #443 (@benwaffle)
505−- Allow underscores and dashes in page names, see #670 (@LunarLambda)
506−- Keep empty lines empty, see #601 (@mbarbar)
507−- Wrapping does not work when piping, see #758 (@fusillicode, @allevo, @gildo)
508−- Allow for non-unicode filenames, see #225 (@sharkdp)
509−- Empty file without header produces incomplete grid, see #798 (@eth-p)
510−- Files named `build` don't respect shebang lines, see #685 (@sharkdp)
511−
512−## Other
513−
514−- Parametrizable names for man page and shell completion files, see #659 #673 #656 (@eth-p)
515−- Enabled LTO, making `bat` about 10% faster, see #719 (@bolinfest, @sharkdp)
516−- Suggestions non how to configure `bat` for MacOS dark mode, see README (@jerguslejko)
517−- Extended ["Integration with other tools"](https://github.com/sharkdp/bat#integration-with-other-tools) section (@eth-p)
518−- Updated [instrutions on how to use `bat` as a `man`-pager](https://github.com/sharkdp/bat#man), see #652, see #667 (@sharkdp)
519−- Add section concerning file encodings, see #688 and #568 (@sharkdp)
520−- Updated sort order of command-line options in `--help` text and manpage, see #653 and #700 (@hrlmartins)
521−- Updates to the man page syntax, see #718 (@sharkdp)
522−- Japanese documentation updates, see #863 (@k-ta-yamada, @sorairolake and @wt-l00)
523−- Accept "default" as a theme, see #757 (@fvictorio)
524−- Updated Windows installation instructions, see #852 (@sorenbug)
525−- Updated man page, see #573 (@sharkdp)
526−
527−## New syntaxes
528−
529−- Jinja2, see #648 (@Martin819)
530−- SaltStack SLS, see #658 (@Martin819)
531−- `/etc/fstab`, see #696 (@flopp and @eth-p)
532−- `/etc/group` and `/etc/passwd`, see #698 (@argentite)
533−- `/proc/cpuinfo` and `/proc/meminfo`, see #593 (@sharkdp)
534−- Nim, see #542 (@sharkdp)
535−- Vue, see #826 (@chaaaaarlotte)
536−- CoffeScript, see #833 (@sharkdp)
537−
538−## New themes
539−
540−- Dracula, see #687 (@clarfon)
541−- Nord, see #760 (@crabique)
542−- Solarized light and dark, see #768 (@hakamadare)
543−
544−## Packaging
545−
546−- `bat` is now in the official Ubuntu and Debian repositories, see #323 and #705 (@MarcoFalke)
547−- `bat` can now be installed via MacPorts, see #675 (@bn3t)
548−- Install fish completions into 'vendor_completions.d', see #651 (@sharkdp)
549−
550−## Thanks
551−
552−- To @eth-p for joining me as a maintainer! I'm very grateful for all the work you put into
553− managing and responding to issues, improving our deployment, adding PR/issue templates (#837) as
554− well as fixing bugs and implementing new features.
555−
556−# v0.12.1
557−
558−## Bugfixes
559−
560−- Fixes a bug for older Windows versions (*"The procedure entry point `CreateFile2` could not be located"*), see #643 (@rivy)
561−
562−# v0.12.0
563−
564−## Features
565−
566−- Binary file content can now be viewed with `bat -A`, see #623, #640 (@pjsier and @sharkdp)
567−- `bat` can now be used as a man pager. Take a look at the README and #523 for more details.
568−- Add new style component to separate multiple `--line-range`s, see #570 (@eth-p)
569−- Added `-L` as an alias for `--list-languages`
570−
571−## Bugfixes
572−
573−- Output looks unbalanced when using '--style=grid,numbers' without 'header', see #571 (@eth-p)
574−- issues with filenames starting with "cache", see #584
575−- Can't build cache with new theme without creating cache dir, see #576 (@frm)
576−- `--terminal-width -10` is parsed incorrectly, see #611
577−
578−## Other
579−
580−- Added fish completions to DEB package, see #554
581−
582−## New syntaxes
583−
584−- Emacs Org mode, see #36 (@bricewge)
585−- `requirements.txt`
586−- DotENV `.env`
587−- SSH config syntax (`-l ssh_config`), see #582 (@issmirnov)
588−- `/etc/hosts`, see #583 (@issmirnov)
589−- GraphQL, see #625 (@dandavison)
590−- Verilog, see #616
591−- SCSS and Sass, see #637
592−- `strace` syntax, see #599
593−
594−## Packaging
595−
596−- `bat` is now in the official Gentoo repositories, see #588 (@toku-sa-n)
597−- `bat` is now in the official Alpine Linux repositories, see #586 (@5paceToast)
598−- `bat` is in the official Fedora repositories, see #610 (@ignatenkobrain)
599−
600−# v0.11.0
601−
602−## Features
603−
604−- Three new special color themes are available: `ansi-light`, `ansi-dark` and `base16`. These
605− are useful for people that often switch from dark to light themes in their terminal emulator
606− or for people that want the colors to match their terminal theme colors. For more details,
607− see #543 and #490 (@mk12, implementation idea by @trishume)
608−- Hand-written auto completion script for Fish shell, see #524 and #555 (@ev-dev and @eth-p)
609−- The `-p`/`--plain` option can now be used twice (typically `-pp`). The first `-p` switches the
610− `--style` to "plain". The second `-p` disables the pager. See #560 and #552 (@eth-p)
611−
612−## Bugfixes
613−
614−- Do not replace arguments to `less` when using `--pager`, see #509
615−- Binary files will now be indicated by a warning in interactive mode, see #530 #466 #550 (@maxfilov)
616−- Empty files are (once again) printed with a single header line, see #504 and #566 (@reidwagner
617− and @sharkdp)
618−- `--terminal-width=0` is now disallowed, see #559 (@eth-p)
619−- Accidental printing of files named `cache`, see #557
620−
621−## Other
622−
623−- New integration tests, see #500 and #502 (@reidwagner and @sharkdp)
624−- New ["Integration with other tools"](https://github.com/sharkdp/bat#integration-with-other-tools) section in the README.
625−- Migrated to Rust 2018 (@expobrain)
626−
627−## New syntaxes
628−
629−- F# syntax has been updated, see #531 (@stroborobo)
630−- Fish shell, see #548 (@sanga)
631−
632−## Packaging
633−
634−- `bat` is now available on Chocolatey, see #541 (@rasmuskriest)
635−
636−# v0.10.0
637−
638−## Features
639−
640−- Added new `--highlight-line <N>` option, see #453, #346 and #175 (@tskinn and @sharkdp)
641−
642−## Changes
643−
644−- **Change the default configuration directory on macOS** to `~/.config/bat`, see #442 (@lavifb). If you are on macOS, you need to copy your configuration directory from the previous place (`~/Library/Preferences/bat`) to the new place (`~/.config/bat`).
645−- Completely disabled the generation of shell completion files, see #372
646−- Properly set arguments to `less` if `PAGER` environment variable contains something like `less -F` (which is missing the `-R` option), see #430 (@majecty)
647−- Report the name of missing files, see #444 (@ufuji1984)
648−- Don't start pager if file doesn't exist, see #387
649−- Rename `bat cache --init` to `bat cache --build`, see #498
650−- Move the `--config-dir` and `--cache-dir` options from `bat cache` to `bat` and hide them from the help text.
651−
652−## Bugfixes
653−
654−- Blank line at the end of output when using `--style=plain`, see #379
655−- EOF must be sent twice on stdin if no other input is sent, see #477 (@reidwagner)
656−
657−## New syntaxes
658−
659−- Twig (@ahmedelgabri)
660−- `.desktop` files (@jleclanche)
661−- AsciiDoc (@markusthoemmes)
662−- Assembly (x86_64 and ARM)
663−- Log files (@caos21)
664−- Protobuf and ProtobufText (@caos21)
665−- Terraform (@caos21)
666−- Jsonnet (@hfm)
667−- Varlink (@haraldh)
668−
669−## Other
670−
671−- Added Japanese version of README (@sh-tech and @object1037)
672−- Code improvements (@barskern)
673−
674−# v0.9.0
675−
676−## Features
677−
678−- A new `-A`/`--show-all` option has been added to show and highlight non-printable characters (in analogy to GNU `cat`s option):
679−
680− ![](https://camo.githubusercontent.com/c3e769482ef3184f6be6adaa34bdc8d19c378254/68747470733a2f2f692e696d6775722e636f6d2f324b54486859542e706e67)
681−
682− see #395 and #381 for more details.
683−
684−- Added `--pager` option (to configure the pager from the configuration file), see #362 (@majecty)
685−
686−- Added `BAT_CONFIG_PATH` environment variable to set a non-default path for `bat`s configuration file, see #375 (@deg4uss3r)
687−
688−- Allow for multiple occurrences of `--style` to allow for the configuration
689− of styles from the config file, see #367 (@sindreij)
690−
691−- Allow for multiple `--line-range` arguments, see #23
692−
693−- The `--terminal-width` option can now also accept offsets, see #376
694−
695−## Changes
696−
697−- Use of italics is now *disabled by default* (see #389 for details). They can be
698− re-enabled by adding `--italic-text=always` to your configuration file.
699−
700−- The default tab-width has been set to 4.
701−
702−- Added new "Sublime Snazzy" theme.
703−
704−- Shell completions are currently *not* shipped anymore, see #372 for details.
705−
706−## Bugfixes
707−
708−- Avoid endless recursion when `PAGER="bat"`, see #383 (@rodorgas)
709−
710−## Other
711−
712−- `bat` is now available on openSUSE, see #405 (@dmarcoux)
713−
714−- Added section about the new configuration file in the README (@deg4uss3r)
715−
716−- Chinese translation of README (@chinanf-boy)
717−
718−- Re-written tests for `--tabs` (@choznerol)
719−
720−- Speed up integration tests, see #394
721−
722−# v0.8.0
723−
724−## Features
725−
726−- Support for a configuration file with the following simple format:
727−
728− ```bash
729− --tabs=4
730− --theme="Sublime Snazzy"
731−
732− # A line-comment
733− --map-syntax .ignore:.gitignore
734− --map-syntax PKGBUILD:bash
735− --map-syntax Podfile:ruby
736−
737− # Flags and options can also be on a single line:
738− --wrap=never --paging=never
739− ```
740−
741− The configuration file path can be accessed via `bat --config-file`. On Linux,
742− it is stored in `~/.config/bat/config`.
743−
744−- Support for the `BAT_OPTS` environment variable with the same format as specified
745− above (in a single line). This takes precedence over the configuration file.
746−
747− See also #310.
748−
749−- Support for custom syntax mappings via the `-m`/`--max-syntax` option.
750−
751− This allows users to (re)map certain file extensions or file names to an existing syntax:
752−
753− ``` bash
754− bat --map-syntax .config:json ...
755− ```
756−
757− The option can be use multiple times. Note that you can easily make these mappings permanent by using bats new configuration file.
758−
759− See #169
760−
761−- Support pager command-line arguments in `PAGER` and `BAT_PAGER`, see #352 (@Foxboron)
762−
763−- Add support for wildcards in Windows CMD, see #309 (@zxey)
764−
765−- First-line syntax detection for all input types, see #205
766−
767−- Encoding support for UTF-16LE and UTF-16BE, see #285
768−
769−- New syntaxes: Robot framework (@sanga)
770−
771−## Changes
772−
773−- Binary files are now detected and not displayed when the output goes to an interactive terminal, see #205
774−
775−## Bugfixes
776−
777−- JavaDoc comments break syntax highlighting in .java files, see #81
778−
779−- Bat Panics on Haskell Source Code, see #314
780−
781−## Other
782−
783−- Better `-h` and `--help` texts.
784−
785−- Updated documentation on how to configure `bat`s pager
786−
787−- Updated documentation for light backgrounds, see #328 (@russtaylor)
788−
789−- Generate shell completions during build, see #115 (@davideGiovannini)
790−
791−- A lot of new tests have been written
792−
793−- `bat` is now available via [Termux](https://termux.com/), see #341 (@fornwall)
794−
795−- `bat` is now available via [nix](https://nixos.org/nix), see #344 (@mgttlinger)
796−
797−- `bat` is now available via [Docker](https://hub.docker.com/r/danlynn/bat/), see #331 (@danlynn)
798−
799−# v0.7.1
800−
801−## Features
802−
803−- Use the `ansi_colours` package by @mina86 for better true-color approximation on 8 bit color terminals, see #319 and #202.
804−
805−## Bugfixes
806−
807−- Bat Panics on Haskell Source Code, see #314
808−- Disable wrapping when `--style=plain`/`-p` is used, see #289
809−
810−## Other
811−
812−- Added Ansible install instructions (@aeimer)
813−- Added section about Cygwin to the README (@eth-p)
814−
815−# v0.7.0
816−
817−## Features
818−
819−- Tabs are now (optionally) expanded to spaces. This can be controlled with the new
820− `--tabs` command-line option or the `BAT_TABS` environment variable. The
821− new feature also closes two bugs #166 and #184. For more information, see #302 (@eth-p).
822−
823−- Added support for the `BAT_STYLE` environment variable, see #208 (@ms2300)
824−
825−- Added `OneHalf` theme for terminals with a light-gray background, see #256
826−
827−- Added new syntaxes for CSV, JSX in JavaScript and TypeScript, Cabal, Dart,
828− F#, PureScript, Swift, Crystal, PowerShell (Many Thanks to @tobenna and @mimadrid)
829−
830−## Changes
831−
832−- Query `git diff` only when needed, see #303 (@ShikChen)
833−
834−- Disable wrapping when `--plain` is used, see #289 (@eth-p)
835−
836−## Bugfixes
837−
838−- Can read files named `cache`, see #275 (@BK1603)
839−
840−- A lot of bugfixes for Windows, see #252, #264
841−
842−- Detect `less` reliably and in a portable way, see #271 and #290 (@Aankhen)
843−
844−- last decoration line is not formatted properly with `--wrap never`, see #299 (@Rogach)
845−
846−- Do not show file header for directories, see #292
847−
848−## Other
849−
850−- Enabled a new `aarch64` build target, see #258 (@rachitchokshi)
851−
852−- Provide Debian packages for `armhf`, see #280 (@rachitchokshi)
853−
854−- Added README section about "`bat` on Windows" (@Aankhen)
855−
856−- Windows installation via scoop (@meltinglava)
857−
858−# v0.6.1
859−
860−## Bugfixes
861−
862−- Fixed panic when running `bat --list-languages | head`, see #232 (@mchlrhw)
863−- Respect `--color` settings for `--list-themes` and `--list-languages`, see #233
864−- Git modifications now work on Windows
865−
866−## Other
867−
868−- There will be auto-generated Windows releases, starting with this version (@anykao)
869−
870−# v0.6.0
871−
872−## Features
873−
874−- The `--list-themes` option now shows a preview for each highlighting theme (@ms2300)
875−- Added `-p`/`--plain` as an alias for `--style=plain`, see #212 (@ms2300)
876−- Major refactorings, enabling some progress on #150. In non-interactive mode, `bat` will now copy input bytes 1:1.
877−- New languages: Elm, Kotlin, Puppet, TypeScript, see #215 #216 #217 #218
878−- New syntax highlighting theme: zenburn (@colindean)
879−
880−## Changes
881−
882−- New themes in `$BAT_CONFIG_DIR/themes` are now loaded *in addition* to
883− the default themes (they may also override), see #172
884−- The `Default.tmTheme` symlink is not necessary anymore.
885−
886−## Bugfixes
887−
888−* Using `bat cache --init` leads to duplicated syntaxes, see #206
889−
890−## Other
891−
892−* Extended and cleaned-up `--help` text.
893−* Added initial version of a man page, see #52
894−* New README sections: *Development* and *Troubleshooting*, see #220
895−
896−# v0.5.0
897−
898−## Features
899−
900−- Added `--line-range n:m` option to print a range of lines, see #159 (@tskinn)
901−- The syntax highlighting theme can now be controlled by the `BAT_THEME` environment variable, see [README](https://github.com/sharkdp/bat#highlighting-theme) and #177 (@mandx)
902−- The `PAGER` and `BAT_PAGER` environment variables can be used to control the pager that `bat` uses, see #158 and the [new README section](https://github.com/sharkdp/bat#using-a-different-pager)
903−- Added syntax highlighting for Nix, see #180
904−- Added syntax highlighting for AWK (Gert Hulselmans)
905−
906−## Changes
907−
908−- The customization of syntax sets and theme sets is now separated. Syntax definitions are now loaded *in addition* to the ones that are stored in the `bat` binary by default. Please refer to these new sections in the README: [Adding new syntaxes](https://github.com/sharkdp/bat#adding-new-syntaxes--language-definitions), [Adding new themes](https://github.com/sharkdp/bat#adding-new-themes), also see #172
909−- The color for the filename is now the default foreground color. The colors for the grid and the line numbers is now determined from the syntax highlighting theme, which now also works for light backgrounds, see #178.
910−
911−## Bugfixes
912−
913−- Escape Sequences get partially stripped, see #182 (@eth-p)
914−- Use separate Git repository for snapshot testing, see #165 and #161
915−- Markdown breaking on JavaScript, see #183
916−
917−## Other
918−
919−- Binaries for armv7 are now provided, see #196
920−- `bat` is now in the official [Arch package repositories](https://www.archlinux.org/packages/community/x86_64/bat/).
921−- Optimizations in the RGB => 8-bit conversion (@mina86)
922−
923−# v0.4.1
924−
925−(this is just a small bugfix release, see 0.4.0 for all features and changes)
926−
927−## Bugfixes
928−
929−- Fix problem with `cargo test` when `bat` is not checked out in a Git repository, see #161
930−
931−# v0.4.0
932−
933−## Features
934−
935−* Support for line-wrapping, see #54 and #102 (@eth-p)
936−* New and updated `--style` parameter, see #74 and README (@pitkley)
937−* Added `--theme` and `--list-themes` options, see #89 (@rleungx)
938−* Added syntax highlighting for: Julia (@iamed2), Dockerfiles, VimL, CMake, INI, Less
939−* Added a few popular Sublime Text highlighting themes, see #133
940−* Support for bold, italic and underline font styles, see #96
941−* Support for 32bit systems is now available, see #84
942−* Added `-u` and `-n` options, see #134
943−* ANSI color support on Windows 10
944−
945−## Changes
946−
947−* The customization folder for own syntaxes has been renamed from `syntax` to `syntaxes`, see README.
948−* Changed Markdown syntax to the default Sublime Text syntax, see #157
949−* Sorted language listing (@rleungx)
950−* Command line arguments like `--theme` or `--color` can now override themselves.
951−* Improved `--help` text.
952−
953−## Bugfixes
954−
955−- Fixed crash for (really) small terminal sizes, see #117 (@eth-p)
956−- Syntax detection for `.bashrc`, `CMakeLists.txt` etc., see #100
957−- Properly handle lines with invalid UTF-8, see #7 (@BrainMaestro)
958−- Better error handling, see #17 (@rleungx and @sharkdp)
959−- Proper handling of UTF-8 characters in `less`, see #98 (@ghuls)
960−- Build fix on nightly, see #148 (@tathanhdinh)
961−
962−## Other
963−
964−- [Comparison with alternative projects](https://github.com/sharkdp/bat/blob/master/doc/alternatives.md).
965−- New "bat" logo in the README, see #119 (@jraulhernandezi)
966−- Output test cases (@BrainMaestro)
967−- Lots of great refactoring work (@BrainMaestro)
968−
969−# v0.3.0
970−
971−## Features
972−
973−* Automatic paging by integrating with `less`, see #29 (@BrainMaestro)
974−* Added support for reading from standard input, see #2
975−* Added support for writing to non-interactive terminals (pipes, files, ..); new
976− `--color=auto/always/never` option, see #26 (@BrainMaestro)
977−* Added `--list-languages` option to print all available syntaxes, see #69 (@connorkuehl)
978−* New option to specify the syntax via `-l`/`--language`, see #19 (@BrainMaestro)
979−* New option to control the output style (`--style`), see #5 (@nakulcg)
980−* Added syntax highlighting support for TOML files, see #37
981−
982−## Changes
983−
984−* The `init-cache` sub-command has been removed. The cache can now be controlled via
985− `bat cache`. See `bat cache -h` for all available commands.
986−
987−## Bug fixes
988−
989−* Get git repository from file path instead of current directory, see #22 (@nakulcg)
990−* Process substitution can now be used with bat (`bat <(echo a) <(echo b)`), see #80
991−
992−## Thanks
993−
994−I'd like to say a big THANK YOU to all contributors and everyone that has given us
995−some form of feedback.
996−
997−Special thanks go to @BrainMaestro for his huge support with new features, bug reports
998−and code reviews!
999−
1000−# v0.2.3
1001−
1002−- Added a new statically linked version of bat (`..-musl-..`)
1003−
1004−# v0.2.2
1005−
1006−- Remove openssl dependency completely, see #30.
1007−
1008−# v0.2.1
1009−
1010−- Added Elixir syntax, see #25.
1011−- Use libcurl-openssl instead of libcurl-gnutls, see #30.
1012−
1013−# v0.2.0
1014−
1015−- Support for custom syntaxes, add 'Markdown extended' theme
1016−- Bugfix: Git modifications not shown from child folder
1017−
1018−# v0.1.0
1019−
1020−Initial release
CONTRIBUTING.mddeleted−70
@@ -1,70 +0,0 @@
1−# Contributing
2−
3−Thank you for considering to contribute to `bat`!
4−
5−
6−
7−## Add an entry to the changelog
8−
9−If your contribution changes the behavior of `bat` (as opposed to a typo-fix
10−in the documentation), please update the [`CHANGELOG.md`](CHANGELOG.md) file
11−and describe your changes. This makes the release process much easier and
12−therefore helps to get your changes into a new `bat` release faster.
13−
14−The top of the `CHANGELOG` contains a *"unreleased"* section with a few
15−subsections (Features, Bugfixes, …). Please add your entry to the subsection
16−that best describes your change.
17−
18−Entries follow this format:
19−```
20−- Short description of what has been changed, see #123 (@user)
21−```
22−Here, `#123` is the number of the original issue and/or your pull request.
23−Please replace `@user` by your GitHub username.
24−
25−
26−## Development
27−
28−Please check out the [Development](https://github.com/sharkdp/bat#development)
29−section in the README.
30−
31−
32−## Adding a new feature
33−
34−Please consider opening a
35−[feature request ticket](https://github.com/sharkdp/bat/issues/new?assignees=&labels=feature-request&template=feature_request.md)
36−first in order to give us a chance to discuss the feature first.
37−
38−
39−## Adding new syntaxes/languages or themes
40−
41−Before you make a pull request that adds a new syntax or theme, please read
42−the [Customization](https://github.com/sharkdp/bat#customization) section
43−in the README first.
44−
45−If you really think that a particular syntax or theme should be added for all
46−users, please read the corresponding
47−[documentation](https://github.com/sharkdp/bat/blob/master/doc/assets.md)
48−first.
49−
50−
51−## Regression tests
52−
53−You are strongly encouraged to add regression tests. Regression tests are great,
54−not least because they:
55−
56−* ensure that your contribution will never completely stop working,
57−
58−* makes code review easier, because it becomes very clear what the code is
59− supposed to do.
60−
61−For functional changes, you most likely want to add a test to
62−[`tests/integration_tests.rs`](https://github.com/sharkdp/bat/blob/master/tests/integration_tests.rs).
63−Look at existing tests to know how to write a new test. In short, you will
64−invoke the `bat` binary with a certain set of arguments, and then assert on
65−stdout/stderr.
66−
67−To learn how to write regression tests for theme and syntax changes, read the
68−[Syntax
69−tests](https://github.com/sharkdp/bat/blob/master/doc/assets.md#syntax-tests)
70−section in `assets.md`.
Cargo.lock+435−894
@@ -1,1340 +1,881 @@
1−# This file is automatically @generated by Cargo.
2−# It is not intended for manual editing.
3−version = 3
4−
5−[[package]]
6−name = "adler"
7−version = "1.0.2"
8−source = "registry+https://github.com/rust-lang/crates.io-index"
9−checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
10−
111[[package]]
122name = "aho-corasick"
13−version = "0.7.18"
14−source = "registry+https://github.com/rust-lang/crates.io-index"
15−checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
16−dependencies = [
17− "memchr",
18−]
19−
20−[[package]]
21−name = "ansi_colours"
22−version = "1.1.1"
3+version = "0.6.4"
234source = "registry+https://github.com/rust-lang/crates.io-index"
24−checksum = "32678233b67f9056b0c144b39d46dc3218637e8d84ad6038ded339e08b19620d"
255dependencies = [
26− "rgb",
6+ "memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
277]
288
299[[package]]
3010name = "ansi_term"
31−version = "0.12.1"
11+version = "0.9.0"
3212source = "registry+https://github.com/rust-lang/crates.io-index"
33−checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
34−dependencies = [
35− "winapi",
36−]
3713
3814[[package]]
39−name = "assert_cmd"
40−version = "2.0.4"
15+name = "ansi_term"
16+version = "0.11.0"
4117source = "registry+https://github.com/rust-lang/crates.io-index"
42−checksum = "93ae1ddd39efd67689deb1979d80bad3bf7f2b09c6e6117c8d1f2443b5e2f83e"
4318dependencies = [
44− "bstr",
45− "doc-comment",
46− "predicates",
47− "predicates-core",
48− "predicates-tree",
49− "wait-timeout",
19+ "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
5020]
5121
5222[[package]]
5323name = "atty"
54−version = "0.2.14"
24+version = "0.2.8"
5525source = "registry+https://github.com/rust-lang/crates.io-index"
56−checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
5726dependencies = [
58− "hermit-abi",
59− "libc",
60− "winapi",
27+ "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)",
28+ "termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
29+ "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
6130]
6231
6332[[package]]
64−name = "autocfg"
65−version = "1.0.1"
66−source = "registry+https://github.com/rust-lang/crates.io-index"
67−checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
68−
69−[[package]]
70−name = "base64"
71−version = "0.13.0"
72−source = "registry+https://github.com/rust-lang/crates.io-index"
73−checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd"
74−
75−[[package]]
76−name = "bat"
77−version = "0.21.0"
78−dependencies = [
79− "ansi_colours",
80− "ansi_term",
81− "assert_cmd",
82− "atty",
83− "bincode",
84− "bugreport",
85− "bytesize",
86− "clap",
87− "clircle",
88− "console",
89− "content_inspector",
90− "dirs-next",
91− "encoding",
92− "flate2",
93− "git2",
94− "globset",
95− "grep-cli",
96− "nix",
97− "once_cell",
98− "path_abs",
99− "predicates",
100− "regex",
101− "semver",
102− "serde",
103− "serde_yaml",
104− "serial_test",
105− "shell-words",
106− "syntect",
107− "tempfile",
108− "thiserror",
109− "unicode-width",
110− "wait-timeout",
111− "walkdir",
112− "wild",
113−]
114−
115−[[package]]
116−name = "bincode"
117−version = "1.3.3"
33+name = "backtrace"
34+version = "0.3.6"
11835source = "registry+https://github.com/rust-lang/crates.io-index"
119−checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad"
12036dependencies = [
121− "serde",
37+ "backtrace-sys 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
38+ "cfg-if 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
39+ "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)",
40+ "rustc-demangle 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
41+ "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
12242]
12343
12444[[package]]
125−name = "bit-set"
126−version = "0.5.2"
45+name = "backtrace-sys"
46+version = "0.1.16"
12747source = "registry+https://github.com/rust-lang/crates.io-index"
128−checksum = "6e11e16035ea35e4e5997b393eacbf6f63983188f7a2ad25bfb13465f5ad59de"
12948dependencies = [
130− "bit-vec",
49+ "cc 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
50+ "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)",
13151]
13252
13353[[package]]
134−name = "bit-vec"
135−version = "0.6.3"
136−source = "registry+https://github.com/rust-lang/crates.io-index"
137−checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb"
138−
139−[[package]]
140−name = "bitflags"
141−version = "1.3.2"
142−source = "registry+https://github.com/rust-lang/crates.io-index"
143−checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
144−
145−[[package]]
146−name = "bstr"
147−version = "0.2.17"
148−source = "registry+https://github.com/rust-lang/crates.io-index"
149−checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223"
150−dependencies = [
151− "lazy_static",
152− "memchr",
153− "regex-automata",
154−]
155−
156−[[package]]
157−name = "bugreport"
158−version = "0.5.0"
54+name = "base64"
55+version = "0.8.0"
15956source = "registry+https://github.com/rust-lang/crates.io-index"
160−checksum = "535120b8182547808081a66f1f77a64533c780b23da26763e0ee34dfb94f98c9"
16157dependencies = [
162− "git-version",
163− "shell-escape",
164− "sys-info",
58+ "byteorder 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
59+ "safemem 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
16560]
16661
16762[[package]]
168−name = "bytemuck"
169−version = "1.7.3"
170−source = "registry+https://github.com/rust-lang/crates.io-index"
171−checksum = "439989e6b8c38d1b6570a384ef1e49c8848128f5a97f3914baef02920842712f"
172−
173−[[package]]
174−name = "bytesize"
175−version = "1.1.0"
176−source = "registry+https://github.com/rust-lang/crates.io-index"
177−checksum = "6c58ec36aac5066d5ca17df51b3e70279f5670a72102f5752cb7e7c856adfc70"
178−
179−[[package]]
180−name = "cc"
181−version = "1.0.72"
182−source = "registry+https://github.com/rust-lang/crates.io-index"
183−checksum = "22a9137b95ea06864e018375b72adfb7db6e6f68cfc8df5a04d00288050485ee"
63+name = "bat"
64+version = "0.2.3"
18465dependencies = [
185− "jobserver",
66+ "ansi_term 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
67+ "atty 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
68+ "clap 2.31.2 (registry+https://github.com/rust-lang/crates.io-index)",
69+ "console 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
70+ "directories 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
71+ "error-chain 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
72+ "git2 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)",
73+ "lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
74+ "syntect 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
18675]
18776
18877[[package]]
189−name = "cfg-if"
78+name = "bincode"
19079version = "1.0.0"
19180source = "registry+https://github.com/rust-lang/crates.io-index"
192−checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
193−
194−[[package]]
195−name = "clap"
196−version = "2.34.0"
197−source = "registry+https://github.com/rust-lang/crates.io-index"
198−checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c"
199−dependencies = [
200− "ansi_term",
201− "atty",
202− "bitflags",
203− "strsim",
204− "term_size",
205− "textwrap",
206− "unicode-width",
207− "vec_map",
208−]
209−
210−[[package]]
211−name = "clircle"
212−version = "0.3.0"
213−source = "registry+https://github.com/rust-lang/crates.io-index"
214−checksum = "e68bbd985a63de680ab4d1ad77b6306611a8f961b282c8b5ab513e6de934e396"
215−dependencies = [
216− "cfg-if",
217− "libc",
218− "serde",
219− "winapi",
220−]
221−
222−[[package]]
223−name = "console"
224−version = "0.15.0"
225−source = "registry+https://github.com/rust-lang/crates.io-index"
226−checksum = "a28b32d32ca44b70c3e4acd7db1babf555fa026e385fb95f18028f88848b3c31"
22781dependencies = [
228− "encode_unicode",
229− "libc",
230− "once_cell",
231− "regex",
232− "terminal_size",
233− "unicode-width",
234− "winapi",
82+ "byteorder 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
83+ "serde 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)",
23584]
23685
23786[[package]]
238−name = "content_inspector"
239−version = "0.2.4"
87+name = "bitflags"
88+version = "0.9.1"
24089source = "registry+https://github.com/rust-lang/crates.io-index"
241−checksum = "b7bda66e858c683005a53a9a60c69a4aca7eeaa45d124526e389f7aec8e62f38"
242−dependencies = [
243− "memchr",
244−]
24590
24691[[package]]
247−name = "crc32fast"
248−version = "1.3.0"
92+name = "bitflags"
93+version = "1.0.1"
24994source = "registry+https://github.com/rust-lang/crates.io-index"
250−checksum = "738c290dfaea84fc1ca15ad9c168d083b05a714e1efddd8edaab678dc28d2836"
251−dependencies = [
252− "cfg-if",
253−]
25495
25596[[package]]
256−name = "difflib"
257−version = "0.4.0"
97+name = "byteorder"
98+version = "1.2.2"
25899source = "registry+https://github.com/rust-lang/crates.io-index"
259−checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8"
260100
261101[[package]]
262−name = "dirs-next"
263−version = "2.0.0"
102+name = "cc"
103+version = "1.0.9"
264104source = "registry+https://github.com/rust-lang/crates.io-index"
265−checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1"
266−dependencies = [
267− "cfg-if",
268− "dirs-sys-next",
269−]
270105
271106[[package]]
272−name = "dirs-sys-next"
107+name = "cfg-if"
273108version = "0.1.2"
274109source = "registry+https://github.com/rust-lang/crates.io-index"
275−checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d"
276−dependencies = [
277− "libc",
278− "redox_users",
279− "winapi",
280−]
281−
282−[[package]]
283−name = "doc-comment"
284−version = "0.3.3"
285−source = "registry+https://github.com/rust-lang/crates.io-index"
286−checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10"
287−
288−[[package]]
289−name = "either"
290−version = "1.6.1"
291−source = "registry+https://github.com/rust-lang/crates.io-index"
292−checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"
293−
294−[[package]]
295−name = "encode_unicode"
296−version = "0.3.6"
297−source = "registry+https://github.com/rust-lang/crates.io-index"
298−checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"
299110
300111[[package]]
301−name = "encoding"
302−version = "0.2.33"
112+name = "chrono"
113+version = "0.4.1"
303114source = "registry+https://github.com/rust-lang/crates.io-index"
304−checksum = "6b0d943856b990d12d3b55b359144ff341533e516d94098b1d3fc1ac666d36ec"
305115dependencies = [
306− "encoding-index-japanese",
307− "encoding-index-korean",
308− "encoding-index-simpchinese",
309− "encoding-index-singlebyte",
310− "encoding-index-tradchinese",
116+ "num-integer 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)",
117+ "num-traits 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
118+ "time 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)",
311119]
312120
313121[[package]]
314−name = "encoding-index-japanese"
315−version = "1.20141219.5"
122+name = "clap"
123+version = "2.31.2"
316124source = "registry+https://github.com/rust-lang/crates.io-index"
317−checksum = "04e8b2ff42e9a05335dbf8b5c6f7567e5591d0d916ccef4e0b1710d32a0d0c91"
318125dependencies = [
319− "encoding_index_tests",
126+ "ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
127+ "atty 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
128+ "bitflags 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
129+ "strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
130+ "term_size 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
131+ "textwrap 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
132+ "unicode-width 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
320133]
321134
322135[[package]]
323−name = "encoding-index-korean"
324−version = "1.20141219.5"
136+name = "clicolors-control"
137+version = "0.2.0"
325138source = "registry+https://github.com/rust-lang/crates.io-index"
326−checksum = "4dc33fb8e6bcba213fe2f14275f0963fd16f0a02c878e3095ecfdf5bee529d81"
327139dependencies = [
328− "encoding_index_tests",
140+ "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
141+ "lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
142+ "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)",
143+ "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
329144]
330145
331146[[package]]
332−name = "encoding-index-simpchinese"
333−version = "1.20141219.5"
147+name = "cmake"
148+version = "0.1.29"
334149source = "registry+https://github.com/rust-lang/crates.io-index"
335−checksum = "d87a7194909b9118fc707194baa434a4e3b0fb6a5a757c73c3adb07aa25031f7"
336150dependencies = [
337− "encoding_index_tests",
151+ "cc 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
338152]
339153
340154[[package]]
341−name = "encoding-index-singlebyte"
342−version = "1.20141219.5"
155+name = "console"
156+version = "0.6.1"
343157source = "registry+https://github.com/rust-lang/crates.io-index"
344−checksum = "3351d5acffb224af9ca265f435b859c7c01537c0849754d3db3fdf2bfe2ae84a"
345158dependencies = [
346− "encoding_index_tests",
159+ "clicolors-control 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
160+ "lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
161+ "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)",
162+ "parking_lot 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)",
163+ "regex 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
164+ "termios 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
165+ "unicode-width 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
166+ "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
347167]
348168
349169[[package]]
350−name = "encoding-index-tradchinese"
351−version = "1.20141219.5"
170+name = "directories"
171+version = "0.9.0"
352172source = "registry+https://github.com/rust-lang/crates.io-index"
353−checksum = "fd0e20d5688ce3cab59eb3ef3a2083a5c77bf496cb798dc6fcdb75f323890c18"
354173dependencies = [
355− "encoding_index_tests",
174+ "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
356175]
357176
358177[[package]]
359−name = "encoding_index_tests"
360−version = "0.1.4"
178+name = "dtoa"
179+version = "0.4.2"
361180source = "registry+https://github.com/rust-lang/crates.io-index"
362−checksum = "a246d82be1c9d791c5dfde9a2bd045fc3cbba3fa2b11ad558f27d01712f00569"
363181
364182[[package]]
365−name = "fancy-regex"
366−version = "0.7.1"
183+name = "duct"
184+version = "0.10.0"
367185source = "registry+https://github.com/rust-lang/crates.io-index"
368−checksum = "9d6b8560a05112eb52f04b00e5d3790c0dd75d9d980eb8a122fb23b92a623ccf"
369186dependencies = [
370− "bit-set",
371− "regex",
187+ "lazycell 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
188+ "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)",
189+ "os_pipe 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
190+ "shared_child 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
372191]
373192
374193[[package]]
375−name = "fastrand"
376−version = "1.7.0"
194+name = "error-chain"
195+version = "0.11.0"
377196source = "registry+https://github.com/rust-lang/crates.io-index"
378−checksum = "c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf"
379197dependencies = [
380− "instant",
198+ "backtrace 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
381199]
382200
383201[[package]]
384202name = "flate2"
385−version = "1.0.23"
386−source = "registry+https://github.com/rust-lang/crates.io-index"
387−checksum = "b39522e96686d38f4bc984b9198e3a0613264abaebaff2c5c918bfa6b6da09af"
388−dependencies = [
389− "cfg-if",
390− "crc32fast",
391− "libc",
392− "miniz_oxide",
393−]
394−
395−[[package]]
396−name = "float-cmp"
397−version = "0.9.0"
398−source = "registry+https://github.com/rust-lang/crates.io-index"
399−checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4"
400−dependencies = [
401− "num-traits",
402−]
403−
404−[[package]]
405−name = "fnv"
406−version = "1.0.7"
407−source = "registry+https://github.com/rust-lang/crates.io-index"
408−checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
409−
410−[[package]]
411−name = "form_urlencoded"
412203version = "1.0.1"
413204source = "registry+https://github.com/rust-lang/crates.io-index"
414−checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191"
415205dependencies = [
416− "matches",
417− "percent-encoding",
206+ "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)",
207+ "miniz-sys 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
418208]
419209
420210[[package]]
421−name = "getrandom"
422−version = "0.2.3"
211+name = "fnv"
212+version = "1.0.6"
423213source = "registry+https://github.com/rust-lang/crates.io-index"
424−checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753"
425−dependencies = [
426− "cfg-if",
427− "libc",
428− "wasi",
429−]
430214
431215[[package]]
432−name = "git-version"
433−version = "0.3.5"
216+name = "fuchsia-zircon"
217+version = "0.3.3"
434218source = "registry+https://github.com/rust-lang/crates.io-index"
435−checksum = "f6b0decc02f4636b9ccad390dcbe77b722a77efedfa393caf8379a51d5c61899"
436219dependencies = [
437− "git-version-macro",
438− "proc-macro-hack",
220+ "bitflags 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
221+ "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
439222]
440223
441224[[package]]
442−name = "git-version-macro"
443−version = "0.3.5"
225+name = "fuchsia-zircon-sys"
226+version = "0.3.3"
444227source = "registry+https://github.com/rust-lang/crates.io-index"
445−checksum = "fe69f1cbdb6e28af2bac214e943b99ce8a0a06b447d15d3e61161b0423139f3f"
446−dependencies = [
447− "proc-macro-hack",
448− "proc-macro2",
449− "quote",
450− "syn",
451−]
452228
453229[[package]]
454230name = "git2"
455−version = "0.14.2"
456−source = "registry+https://github.com/rust-lang/crates.io-index"
457−checksum = "3826a6e0e2215d7a41c2bfc7c9244123969273f3476b939a226aac0ab56e9e3c"
458−dependencies = [
459− "bitflags",
460− "libc",
461− "libgit2-sys",
462− "log",
463− "url",
464−]
465−
466−[[package]]
467−name = "glob"
468−version = "0.3.0"
469−source = "registry+https://github.com/rust-lang/crates.io-index"
470−checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
471−
472−[[package]]
473−name = "globset"
474−version = "0.4.8"
475−source = "registry+https://github.com/rust-lang/crates.io-index"
476−checksum = "10463d9ff00a2a068db14231982f5132edebad0d7660cd956a1c30292dbcbfbd"
477−dependencies = [
478− "aho-corasick",
479− "bstr",
480− "fnv",
481− "log",
482− "regex",
483−]
484−
485−[[package]]
486−name = "grep-cli"
487−version = "0.1.6"
488−source = "registry+https://github.com/rust-lang/crates.io-index"
489−checksum = "2dd110c34bb4460d0de5062413b773e385cbf8a85a63fc535590110a09e79e8a"
490−dependencies = [
491− "atty",
492− "bstr",
493− "globset",
494− "lazy_static",
495− "log",
496− "regex",
497− "same-file",
498− "termcolor",
499− "winapi-util",
500−]
501−
502−[[package]]
503−name = "hashbrown"
504−version = "0.11.2"
505−source = "registry+https://github.com/rust-lang/crates.io-index"
506−checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e"
507−
508−[[package]]
509−name = "hermit-abi"
510−version = "0.1.19"
231+version = "0.6.11"
511232source = "registry+https://github.com/rust-lang/crates.io-index"
512−checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
513233dependencies = [
514− "libc",
234+ "bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
235+ "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)",
236+ "libgit2-sys 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)",
237+ "url 1.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
515238]
516239
517240[[package]]
518241name = "idna"
519−version = "0.2.3"
520−source = "registry+https://github.com/rust-lang/crates.io-index"
521−checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8"
522−dependencies = [
523− "matches",
524− "unicode-bidi",
525− "unicode-normalization",
526−]
527−
528−[[package]]
529−name = "indexmap"
530−version = "1.7.0"
242+version = "0.1.4"
531243source = "registry+https://github.com/rust-lang/crates.io-index"
532−checksum = "bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5"
533244dependencies = [
534− "autocfg",
535− "hashbrown",
245+ "matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
246+ "unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
247+ "unicode-normalization 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
536248]
537249
538250[[package]]
539−name = "instant"
540−version = "0.1.12"
251+name = "itoa"
252+version = "0.4.1"
541253source = "registry+https://github.com/rust-lang/crates.io-index"
542−checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
543−dependencies = [
544− "cfg-if",
545−]
546254
547255[[package]]
548−name = "itertools"
549−version = "0.10.3"
256+name = "kernel32-sys"
257+version = "0.2.2"
550258source = "registry+https://github.com/rust-lang/crates.io-index"
551−checksum = "a9a9d19fa1e79b6215ff29b9d6880b706147f16e9b1dbb1e4e5947b5b02bc5e3"
552259dependencies = [
553− "either",
260+ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
261+ "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
554262]
555263
556264[[package]]
557−name = "itoa"
558−version = "0.4.8"
559−source = "registry+https://github.com/rust-lang/crates.io-index"
560−checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4"
561−
562−[[package]]
563−name = "itoa"
564−version = "1.0.1"
265+name = "lazy_static"
266+version = "0.2.11"
565267source = "registry+https://github.com/rust-lang/crates.io-index"
566−checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35"
567268
568269[[package]]
569−name = "jobserver"
570−version = "0.1.24"
270+name = "lazy_static"
271+version = "1.0.0"
571272source = "registry+https://github.com/rust-lang/crates.io-index"
572−checksum = "af25a77299a7f711a01975c35a6a424eb6862092cc2d6c72c4ed6cbc56dfc1fa"
573−dependencies = [
574− "libc",
575−]
576273
577274[[package]]
578−name = "lazy_static"
579−version = "1.4.0"
275+name = "lazycell"
276+version = "0.6.0"
580277source = "registry+https://github.com/rust-lang/crates.io-index"
581−checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
582278
583279[[package]]
584280name = "libc"
585−version = "0.2.125"
281+version = "0.2.40"
586282source = "registry+https://github.com/rust-lang/crates.io-index"
587−checksum = "5916d2ae698f6de9bfb891ad7a8d65c09d232dc58cc4ac433c7da3b2fd84bc2b"
588283
589284[[package]]
590285name = "libgit2-sys"
591−version = "0.13.2+1.4.2"
286+version = "0.6.19"
592287source = "registry+https://github.com/rust-lang/crates.io-index"
593−checksum = "3a42de9a51a5c12e00fc0e4ca6bc2ea43582fc6418488e8f615e905d886f258b"
594288dependencies = [
595− "cc",
596− "libc",
597− "libz-sys",
598− "pkg-config",
289+ "cc 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
290+ "cmake 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
291+ "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)",
292+ "libz-sys 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
293+ "pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
599294]
600295
601296[[package]]
602297name = "libz-sys"
603−version = "1.1.3"
298+version = "1.0.18"
604299source = "registry+https://github.com/rust-lang/crates.io-index"
605−checksum = "de5435b8549c16d423ed0c03dbaafe57cf6c3344744f1242520d59c9d8ecec66"
606300dependencies = [
607− "cc",
608− "libc",
609− "pkg-config",
610− "vcpkg",
611−]
612−
613−[[package]]
614−name = "line-wrap"
615−version = "0.1.1"
616−source = "registry+https://github.com/rust-lang/crates.io-index"
617−checksum = "f30344350a2a51da54c1d53be93fade8a237e545dbcc4bdbe635413f2117cab9"
618−dependencies = [
619− "safemem",
301+ "cc 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
302+ "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)",
303+ "pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
304+ "vcpkg 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
620305]
621306
622307[[package]]
623308name = "linked-hash-map"
624−version = "0.5.4"
625−source = "registry+https://github.com/rust-lang/crates.io-index"
626−checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3"
627−
628−[[package]]
629−name = "lock_api"
630−version = "0.4.5"
631−source = "registry+https://github.com/rust-lang/crates.io-index"
632−checksum = "712a4d093c9976e24e7dbca41db895dabcbac38eb5f4045393d17a95bdfb1109"
633−dependencies = [
634− "scopeguard",
635−]
636−
637−[[package]]
638−name = "log"
639−version = "0.4.14"
309+version = "0.5.1"
640310source = "registry+https://github.com/rust-lang/crates.io-index"
641−checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710"
642−dependencies = [
643− "cfg-if",
644−]
645311
646312[[package]]
647313name = "matches"
648−version = "0.1.9"
314+version = "0.1.6"
649315source = "registry+https://github.com/rust-lang/crates.io-index"
650−checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f"
651316
652317[[package]]
653318name = "memchr"
654−version = "2.4.1"
319+version = "2.0.1"
655320source = "registry+https://github.com/rust-lang/crates.io-index"
656−checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a"
321+dependencies = [
322+ "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)",
323+]
657324
658325[[package]]
659−name = "miniz_oxide"
660−version = "0.5.1"
326+name = "miniz-sys"
327+version = "0.1.10"
661328source = "registry+https://github.com/rust-lang/crates.io-index"
662−checksum = "d2b29bd4bc3f33391105ebee3589c19197c4271e3e5a9ec9bfe8127eeff8f082"
663329dependencies = [
664− "adler",
330+ "cc 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
331+ "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)",
665332]
666333
667334[[package]]
668335name = "nix"
669−version = "0.24.1"
336+version = "0.9.0"
670337source = "registry+https://github.com/rust-lang/crates.io-index"
671−checksum = "8f17df307904acd05aa8e32e97bb20f2a0df1728bbc2d771ae8f9a90463441e9"
672338dependencies = [
673− "bitflags",
674− "cfg-if",
675− "libc",
339+ "bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
340+ "cfg-if 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
341+ "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)",
342+ "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
676343]
677344
678345[[package]]
679−name = "normalize-line-endings"
680−version = "0.3.0"
681−source = "registry+https://github.com/rust-lang/crates.io-index"
682−checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be"
683−
684−[[package]]
685−name = "num-traits"
686−version = "0.2.14"
346+name = "num-integer"
347+version = "0.1.36"
687348source = "registry+https://github.com/rust-lang/crates.io-index"
688−checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290"
689349dependencies = [
690− "autocfg",
350+ "num-traits 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
691351]
692352
693353[[package]]
694−name = "once_cell"
695−version = "1.10.0"
354+name = "num-traits"
355+version = "0.2.2"
696356source = "registry+https://github.com/rust-lang/crates.io-index"
697−checksum = "87f3e037eac156d1775da914196f0f37741a274155e34a0b7e427c35d2a2ecb9"
698357
699358[[package]]
700359name = "onig"
701−version = "6.3.1"
360+version = "3.2.2"
702361source = "registry+https://github.com/rust-lang/crates.io-index"
703−checksum = "67ddfe2c93bb389eea6e6d713306880c7f6dcc99a75b659ce145d962c861b225"
704362dependencies = [
705− "bitflags",
706− "lazy_static",
707− "libc",
708− "onig_sys",
363+ "bitflags 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
364+ "lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
365+ "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)",
366+ "onig_sys 68.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
709367]
710368
711369[[package]]
712370name = "onig_sys"
713−version = "69.7.1"
371+version = "68.0.1"
714372source = "registry+https://github.com/rust-lang/crates.io-index"
715−checksum = "5dd3eee045c84695b53b20255bb7317063df090b68e18bfac0abb6c39cf7f33e"
716373dependencies = [
717− "cc",
718− "pkg-config",
374+ "cmake 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
375+ "duct 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
376+ "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)",
377+ "pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
719378]
720379
721380[[package]]
722−name = "parking_lot"
723−version = "0.11.2"
724−source = "registry+https://github.com/rust-lang/crates.io-index"
725−checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99"
726−dependencies = [
727− "instant",
728− "lock_api",
729− "parking_lot_core",
730−]
731−
732−[[package]]
733−name = "parking_lot_core"
734−version = "0.8.5"
381+name = "os_pipe"
382+version = "0.6.0"
735383source = "registry+https://github.com/rust-lang/crates.io-index"
736−checksum = "d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216"
737384dependencies = [
738− "cfg-if",
739− "instant",
740− "libc",
741− "redox_syscall",
742− "smallvec",
743− "winapi",
385+ "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
386+ "nix 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
387+ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
744388]
745389
746390[[package]]
747−name = "path_abs"
748−version = "0.5.1"
391+name = "owning_ref"
392+version = "0.3.3"
749393source = "registry+https://github.com/rust-lang/crates.io-index"
750−checksum = "05ef02f6342ac01d8a93b65f96db53fe68a92a15f41144f97fb00a9e669633c3"
751394dependencies = [
752− "std_prelude",
395+ "stable_deref_trait 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
753396]
754397
755398[[package]]
756−name = "percent-encoding"
757−version = "2.1.0"
758−source = "registry+https://github.com/rust-lang/crates.io-index"
759−checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
760−
761−[[package]]
762−name = "pkg-config"
763−version = "0.3.24"
764−source = "registry+https://github.com/rust-lang/crates.io-index"
765−checksum = "58893f751c9b0412871a09abd62ecd2a00298c6c83befa223ef98c52aef40cbe"
766−
767−[[package]]
768−name = "plist"
769−version = "1.3.1"
399+name = "parking_lot"
400+version = "0.5.4"
770401source = "registry+https://github.com/rust-lang/crates.io-index"
771−checksum = "bd39bc6cdc9355ad1dc5eeedefee696bb35c34caf21768741e81826c0bbd7225"
772402dependencies = [
773− "base64",
774− "indexmap",
775− "line-wrap",
776− "serde",
777− "time",
778− "xml-rs",
403+ "owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
404+ "parking_lot_core 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
779405]
780406
781407[[package]]
782−name = "predicates"
783−version = "2.1.1"
408+name = "parking_lot_core"
409+version = "0.2.13"
784410source = "registry+https://github.com/rust-lang/crates.io-index"
785−checksum = "a5aab5be6e4732b473071984b3164dbbfb7a3674d30ea5ff44410b6bcd960c3c"
786411dependencies = [
787− "difflib",
788− "float-cmp",
789− "itertools",
790− "normalize-line-endings",
791− "predicates-core",
792− "regex",
412+ "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)",
413+ "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
414+ "smallvec 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
415+ "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
793416]
794417
795418[[package]]
796−name = "predicates-core"
797−version = "1.0.2"
419+name = "percent-encoding"
420+version = "1.0.1"
798421source = "registry+https://github.com/rust-lang/crates.io-index"
799−checksum = "57e35a3326b75e49aa85f5dc6ec15b41108cf5aee58eabb1f274dd18b73c2451"
800422
801423[[package]]
802−name = "predicates-tree"
803−version = "1.0.4"
424+name = "pkg-config"
425+version = "0.3.9"
804426source = "registry+https://github.com/rust-lang/crates.io-index"
805−checksum = "338c7be2905b732ae3984a2f40032b5e94fd8f52505b186c7d4d68d193445df7"
806−dependencies = [
807− "predicates-core",
808− "termtree",
809−]
810427
811428[[package]]
812−name = "proc-macro-error"
813−version = "1.0.4"
429+name = "plist"
430+version = "0.2.4"
814431source = "registry+https://github.com/rust-lang/crates.io-index"
815−checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
816432dependencies = [
817− "proc-macro-error-attr",
818− "proc-macro2",
819− "quote",
820− "syn",
821− "version_check",
433+ "base64 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
434+ "byteorder 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
435+ "chrono 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
436+ "serde 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)",
437+ "xml-rs 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
822438]
823439
824440[[package]]
825−name = "proc-macro-error-attr"
826−version = "1.0.4"
441+name = "proc-macro2"
442+version = "0.3.1"
827443source = "registry+https://github.com/rust-lang/crates.io-index"
828−checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
829444dependencies = [
830− "proc-macro2",
831− "quote",
832− "version_check",
445+ "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
833446]
834447
835448[[package]]
836−name = "proc-macro-hack"
837−version = "0.5.19"
838−source = "registry+https://github.com/rust-lang/crates.io-index"
839−checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5"
840−
841−[[package]]
842−name = "proc-macro2"
843−version = "1.0.36"
449+name = "quote"
450+version = "0.5.1"
844451source = "registry+https://github.com/rust-lang/crates.io-index"
845−checksum = "c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029"
846452dependencies = [
847− "unicode-xid",
453+ "proc-macro2 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
848454]
849455
850456[[package]]
851−name = "quote"
852−version = "1.0.14"
457+name = "rand"
458+version = "0.4.2"
853459source = "registry+https://github.com/rust-lang/crates.io-index"
854−checksum = "47aa80447ce4daf1717500037052af176af5d38cc3e571d9ec1c7353fc10c87d"
855460dependencies = [
856− "proc-macro2",
461+ "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
462+ "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)",
463+ "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
857464]
858465
859466[[package]]
860467name = "redox_syscall"
861−version = "0.2.10"
468+version = "0.1.37"
862469source = "registry+https://github.com/rust-lang/crates.io-index"
863−checksum = "8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff"
864−dependencies = [
865− "bitflags",
866−]
867470
868471[[package]]
869−name = "redox_users"
870−version = "0.4.0"
472+name = "redox_termios"
473+version = "0.1.1"
871474source = "registry+https://github.com/rust-lang/crates.io-index"
872−checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64"
873475dependencies = [
874− "getrandom",
875− "redox_syscall",
476+ "redox_syscall 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)",
876477]
877478
878479[[package]]
879480name = "regex"
880−version = "1.5.5"
481+version = "0.2.10"
881482source = "registry+https://github.com/rust-lang/crates.io-index"
882−checksum = "1a11647b6b25ff05a515cb92c365cec08801e83423a235b51e231e1808747286"
883483dependencies = [
884− "aho-corasick",
885− "memchr",
886− "regex-syntax",
484+ "aho-corasick 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)",
485+ "memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
486+ "regex-syntax 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
487+ "thread_local 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
488+ "utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
887489]
888490
889−[[package]]
890−name = "regex-automata"
891−version = "0.1.10"
892−source = "registry+https://github.com/rust-lang/crates.io-index"
893−checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
894−
895491[[package]]
896492name = "regex-syntax"
897−version = "0.6.25"
493+version = "0.4.2"
898494source = "registry+https://github.com/rust-lang/crates.io-index"
899−checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b"
900495
901496[[package]]
902−name = "remove_dir_all"
903−version = "0.5.3"
904−source = "registry+https://github.com/rust-lang/crates.io-index"
905−checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
906−dependencies = [
907− "winapi",
908−]
909−
910−[[package]]
911−name = "rgb"
912−version = "0.8.31"
497+name = "regex-syntax"
498+version = "0.5.5"
913499source = "registry+https://github.com/rust-lang/crates.io-index"
914−checksum = "9a374af9a0e5fdcdd98c1c7b64f05004f9ea2555b6c75f211daa81268a3c50f1"
915500dependencies = [
916− "bytemuck",
501+ "ucd-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
917502]
918503
919504[[package]]
920−name = "rustversion"
921−version = "1.0.6"
922−source = "registry+https://github.com/rust-lang/crates.io-index"
923−checksum = "f2cc38e8fa666e2de3c4aba7edeb5ffc5246c1c2ed0e3d17e560aeeba736b23f"
924−
925−[[package]]
926−name = "ryu"
927−version = "1.0.9"
505+name = "rustc-demangle"
506+version = "0.1.7"
928507source = "registry+https://github.com/rust-lang/crates.io-index"
929−checksum = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f"
930508
931509[[package]]
932510name = "safemem"
933−version = "0.3.3"
511+version = "0.2.0"
934512source = "registry+https://github.com/rust-lang/crates.io-index"
935−checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072"
936513
937514[[package]]
938515name = "same-file"
939−version = "1.0.6"
516+version = "1.0.2"
940517source = "registry+https://github.com/rust-lang/crates.io-index"
941−checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
942518dependencies = [
943− "winapi-util",
519+ "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
944520]
945521
946−[[package]]
947−name = "scopeguard"
948−version = "1.1.0"
949−source = "registry+https://github.com/rust-lang/crates.io-index"
950−checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
951−
952−[[package]]
953−name = "semver"
954−version = "1.0.7"
955−source = "registry+https://github.com/rust-lang/crates.io-index"
956−checksum = "d65bd28f48be7196d222d95b9243287f48d27aca604e08497513019ff0502cc4"
957−
958522[[package]]
959523name = "serde"
960−version = "1.0.136"
524+version = "1.0.37"
961525source = "registry+https://github.com/rust-lang/crates.io-index"
962−checksum = "ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789"
963−dependencies = [
964− "serde_derive",
965−]
966526
967527[[package]]
968528name = "serde_derive"
969−version = "1.0.136"
970−source = "registry+https://github.com/rust-lang/crates.io-index"
971−checksum = "08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9"
972−dependencies = [
973− "proc-macro2",
974− "quote",
975− "syn",
976−]
977−
978−[[package]]
979−name = "serde_json"
980−version = "1.0.74"
529+version = "1.0.37"
981530source = "registry+https://github.com/rust-lang/crates.io-index"
982−checksum = "ee2bb9cd061c5865d345bb02ca49fcef1391741b672b54a0bf7b679badec3142"
983531dependencies = [
984− "itoa 1.0.1",
985− "ryu",
986− "serde",
532+ "proc-macro2 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
533+ "quote 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
534+ "serde_derive_internals 0.23.0 (registry+https://github.com/rust-lang/crates.io-index)",
535+ "syn 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)",
987536]
988537
989538[[package]]
990−name = "serde_yaml"
991−version = "0.8.23"
539+name = "serde_derive_internals"
540+version = "0.23.0"
992541source = "registry+https://github.com/rust-lang/crates.io-index"
993−checksum = "a4a521f2940385c165a24ee286aa8599633d162077a54bdcae2a6fd5a7bfa7a0"
994542dependencies = [
995− "indexmap",
996− "ryu",
997− "serde",
998− "yaml-rust",
543+ "proc-macro2 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
544+ "syn 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)",
999545]
1000546
1001547[[package]]
1002−name = "serial_test"
1003−version = "0.6.0"
548+name = "serde_json"
549+version = "1.0.13"
1004550source = "registry+https://github.com/rust-lang/crates.io-index"
1005−checksum = "e5bcc41d18f7a1d50525d080fd3e953be87c4f9f1a974f3c21798ca00d54ec15"
1006551dependencies = [
1007− "lazy_static",
1008− "parking_lot",
1009− "serial_test_derive",
552+ "dtoa 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
553+ "itoa 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
554+ "num-traits 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
555+ "serde 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)",
1010556]
1011557
1012558[[package]]
1013−name = "serial_test_derive"
1014−version = "0.6.0"
559+name = "shared_child"
560+version = "0.3.2"
1015561source = "registry+https://github.com/rust-lang/crates.io-index"
1016−checksum = "2881bccd7d60fb32dfa3d7b3136385312f8ad75e2674aab2852867a09790cae8"
1017562dependencies = [
1018− "proc-macro-error",
1019− "proc-macro2",
1020− "quote",
1021− "rustversion",
1022− "syn",
563+ "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
564+ "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)",
565+ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
1023566]
1024567
1025−[[package]]
1026−name = "shell-escape"
1027−version = "0.1.5"
1028−source = "registry+https://github.com/rust-lang/crates.io-index"
1029−checksum = "45bb67a18fa91266cc7807181f62f9178a6873bfad7dc788c42e6430db40184f"
1030−
1031−[[package]]
1032−name = "shell-words"
1033−version = "1.1.0"
1034−source = "registry+https://github.com/rust-lang/crates.io-index"
1035−checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde"
1036−
1037568[[package]]
1038569name = "smallvec"
1039−version = "1.7.0"
570+version = "0.6.0"
1040571source = "registry+https://github.com/rust-lang/crates.io-index"
1041−checksum = "1ecab6c735a6bb4139c0caafd0cc3635748bbb3acf4550e8138122099251f309"
1042572
1043573[[package]]
1044−name = "std_prelude"
1045−version = "0.2.12"
574+name = "stable_deref_trait"
575+version = "1.0.0"
1046576source = "registry+https://github.com/rust-lang/crates.io-index"
1047−checksum = "8207e78455ffdf55661170876f88daf85356e4edd54e0a3dbc79586ca1e50cbe"
1048577
1049578[[package]]
1050579name = "strsim"
1051−version = "0.8.0"
580+version = "0.7.0"
1052581source = "registry+https://github.com/rust-lang/crates.io-index"
1053−checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
1054582
1055583[[package]]
1056584name = "syn"
1057−version = "1.0.85"
585+version = "0.13.1"
1058586source = "registry+https://github.com/rust-lang/crates.io-index"
1059−checksum = "a684ac3dcd8913827e18cd09a68384ee66c1de24157e3c556c9ab16d85695fb7"
1060587dependencies = [
1061− "proc-macro2",
1062− "quote",
1063− "unicode-xid",
588+ "proc-macro2 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
589+ "quote 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
590+ "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
1064591]
1065592
1066593[[package]]
1067594name = "syntect"
1068−version = "5.0.0"
595+version = "2.0.1"
1069596source = "registry+https://github.com/rust-lang/crates.io-index"
1070−checksum = "c6c454c27d9d7d9a84c7803aaa3c50cd088d2906fe3c6e42da3209aa623576a8"
1071597dependencies = [
1072− "bincode",
1073− "bitflags",
1074− "fancy-regex",
1075− "flate2",
1076− "fnv",
1077− "lazy_static",
1078− "once_cell",
1079− "onig",
1080− "plist",
1081− "regex-syntax",
1082− "serde",
1083− "serde_derive",
1084− "serde_json",
1085− "thiserror",
1086− "walkdir",
1087− "yaml-rust",
1088−]
1089−
1090−[[package]]
1091−name = "sys-info"
1092−version = "0.9.1"
1093−source = "registry+https://github.com/rust-lang/crates.io-index"
1094−checksum = "0b3a0d0aba8bf96a0e1ddfdc352fc53b3df7f39318c71854910c3c4b024ae52c"
1095−dependencies = [
1096− "cc",
1097− "libc",
1098−]
1099−
1100−[[package]]
1101−name = "tempfile"
1102−version = "3.3.0"
1103−source = "registry+https://github.com/rust-lang/crates.io-index"
1104−checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4"
1105−dependencies = [
1106− "cfg-if",
1107− "fastrand",
1108− "libc",
1109− "redox_syscall",
1110− "remove_dir_all",
1111− "winapi",
598+ "bincode 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
599+ "bitflags 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
600+ "flate2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
601+ "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
602+ "lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
603+ "onig 3.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
604+ "plist 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
605+ "regex-syntax 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
606+ "serde 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)",
607+ "serde_derive 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)",
608+ "serde_json 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)",
609+ "walkdir 2.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
610+ "yaml-rust 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
1112611]
1113612
1114613[[package]]
1115614name = "term_size"
1116−version = "0.3.2"
615+version = "0.3.1"
1117616source = "registry+https://github.com/rust-lang/crates.io-index"
1118−checksum = "1e4129646ca0ed8f45d09b929036bafad5377103edd06e50bf574b353d2b08d9"
1119617dependencies = [
1120− "libc",
1121− "winapi",
618+ "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
619+ "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)",
620+ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
1122621]
1123622
1124623[[package]]
1125−name = "termcolor"
1126−version = "1.1.2"
624+name = "termion"
625+version = "1.5.1"
1127626source = "registry+https://github.com/rust-lang/crates.io-index"
1128−checksum = "2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4"
1129627dependencies = [
1130− "winapi-util",
628+ "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)",
629+ "redox_syscall 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)",
630+ "redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
1131631]
1132632
1133633[[package]]
1134−name = "terminal_size"
1135−version = "0.1.17"
634+name = "termios"
635+version = "0.2.2"
1136636source = "registry+https://github.com/rust-lang/crates.io-index"
1137−checksum = "633c1a546cee861a1a6d0dc69ebeca693bf4296661ba7852b9d21d159e0506df"
1138637dependencies = [
1139− "libc",
1140− "winapi",
638+ "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)",
1141639]
1142640
1143−[[package]]
1144−name = "termtree"
1145−version = "0.2.3"
1146−source = "registry+https://github.com/rust-lang/crates.io-index"
1147−checksum = "13a4ec180a2de59b57434704ccfad967f789b12737738798fa08798cd5824c16"
1148−
1149641[[package]]
1150642name = "textwrap"
1151−version = "0.11.0"
1152−source = "registry+https://github.com/rust-lang/crates.io-index"
1153−checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
1154−dependencies = [
1155− "term_size",
1156− "unicode-width",
1157−]
1158−
1159−[[package]]
1160−name = "thiserror"
1161−version = "1.0.31"
1162−source = "registry+https://github.com/rust-lang/crates.io-index"
1163−checksum = "bd829fe32373d27f76265620b5309d0340cb8550f523c1dda251d6298069069a"
1164−dependencies = [
1165− "thiserror-impl",
1166−]
1167−
1168−[[package]]
1169−name = "thiserror-impl"
1170−version = "1.0.31"
643+version = "0.9.0"
1171644source = "registry+https://github.com/rust-lang/crates.io-index"
1172−checksum = "0396bc89e626244658bef819e22d0cc459e795a5ebe878e6ec336d1674a8d79a"
1173645dependencies = [
1174− "proc-macro2",
1175− "quote",
1176− "syn",
646+ "term_size 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
647+ "unicode-width 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
1177648]
1178649
1179650[[package]]
1180−name = "time"
651+name = "thread_local"
1181652version = "0.3.5"
1182653source = "registry+https://github.com/rust-lang/crates.io-index"
1183−checksum = "41effe7cfa8af36f439fac33861b66b049edc6f9a32331e2312660529c1c24ad"
1184654dependencies = [
1185− "itoa 0.4.8",
1186− "libc",
655+ "lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
656+ "unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
1187657]
1188658
1189659[[package]]
1190−name = "tinyvec"
1191−version = "1.5.1"
660+name = "time"
661+version = "0.1.39"
1192662source = "registry+https://github.com/rust-lang/crates.io-index"
1193−checksum = "2c1c1d5a42b6245520c249549ec267180beaffcc0615401ac8e31853d4b6d8d2"
1194663dependencies = [
1195− "tinyvec_macros",
664+ "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)",
665+ "redox_syscall 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)",
666+ "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
1196667]
1197668
1198669[[package]]
1199−name = "tinyvec_macros"
1200−version = "0.1.0"
670+name = "ucd-util"
671+version = "0.1.1"
1201672source = "registry+https://github.com/rust-lang/crates.io-index"
1202−checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
1203673
1204674[[package]]
1205675name = "unicode-bidi"
1206−version = "0.3.7"
676+version = "0.3.4"
1207677source = "registry+https://github.com/rust-lang/crates.io-index"
1208−checksum = "1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f"
678+dependencies = [
679+ "matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
680+]
1209681
1210682[[package]]
1211683name = "unicode-normalization"
1212−version = "0.1.19"
684+version = "0.1.5"
1213685source = "registry+https://github.com/rust-lang/crates.io-index"
1214−checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9"
1215−dependencies = [
1216− "tinyvec",
1217−]
1218686
1219687[[package]]
1220688name = "unicode-width"
1221−version = "0.1.9"
689+version = "0.1.4"
1222690source = "registry+https://github.com/rust-lang/crates.io-index"
1223−checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973"
1224691
1225692[[package]]
1226693name = "unicode-xid"
1227−version = "0.2.2"
694+version = "0.1.0"
1228695source = "registry+https://github.com/rust-lang/crates.io-index"
1229−checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3"
1230696
1231697[[package]]
1232−name = "url"
1233−version = "2.2.2"
698+name = "unreachable"
699+version = "1.0.0"
1234700source = "registry+https://github.com/rust-lang/crates.io-index"
1235−checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c"
1236701dependencies = [
1237− "form_urlencoded",
1238− "idna",
1239− "matches",
1240− "percent-encoding",
702+ "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
1241703]
1242704
1243705[[package]]
1244−name = "vcpkg"
1245−version = "0.2.15"
706+name = "url"
707+version = "1.7.0"
1246708source = "registry+https://github.com/rust-lang/crates.io-index"
1247−checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
709+dependencies = [
710+ "idna 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
711+ "matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
712+ "percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
713+]
1248714
1249715[[package]]
1250−name = "vec_map"
1251−version = "0.8.2"
716+name = "utf8-ranges"
717+version = "1.0.0"
1252718source = "registry+https://github.com/rust-lang/crates.io-index"
1253−checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
1254719
1255720[[package]]
1256−name = "version_check"
1257−version = "0.9.4"
721+name = "vcpkg"
722+version = "0.2.3"
1258723source = "registry+https://github.com/rust-lang/crates.io-index"
1259−checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
1260724
1261725[[package]]
1262−name = "wait-timeout"
1263−version = "0.2.0"
726+name = "void"
727+version = "1.0.2"
1264728source = "registry+https://github.com/rust-lang/crates.io-index"
1265−checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6"
1266−dependencies = [
1267− "libc",
1268−]
1269729
1270730[[package]]
1271731name = "walkdir"
1272−version = "2.3.2"
732+version = "2.1.4"
1273733source = "registry+https://github.com/rust-lang/crates.io-index"
1274−checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56"
1275734dependencies = [
1276− "same-file",
1277− "winapi",
1278− "winapi-util",
735+ "same-file 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
736+ "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
1279737]
1280738
1281739[[package]]
1282−name = "wasi"
1283−version = "0.10.2+wasi-snapshot-preview1"
740+name = "winapi"
741+version = "0.2.8"
1284742source = "registry+https://github.com/rust-lang/crates.io-index"
1285−checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
1286743
1287744[[package]]
1288−name = "wild"
1289−version = "2.0.4"
745+name = "winapi"
746+version = "0.3.4"
1290747source = "registry+https://github.com/rust-lang/crates.io-index"
1291−checksum = "035793abb854745033f01a07647a79831eba29ec0be377205f2a25b0aa830020"
1292748dependencies = [
1293− "glob",
749+ "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
750+ "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
1294751]
1295752
1296753[[package]]
1297−name = "winapi"
1298−version = "0.3.9"
754+name = "winapi-build"
755+version = "0.1.1"
1299756source = "registry+https://github.com/rust-lang/crates.io-index"
1300−checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
1301−dependencies = [
1302− "winapi-i686-pc-windows-gnu",
1303− "winapi-x86_64-pc-windows-gnu",
1304−]
1305757
1306758[[package]]
1307759name = "winapi-i686-pc-windows-gnu"
1308760version = "0.4.0"
1309761source = "registry+https://github.com/rust-lang/crates.io-index"
1310−checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
1311−
1312−[[package]]
1313−name = "winapi-util"
1314−version = "0.1.5"
1315−source = "registry+https://github.com/rust-lang/crates.io-index"
1316−checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
1317−dependencies = [
1318− "winapi",
1319−]
1320762
1321763[[package]]
1322764name = "winapi-x86_64-pc-windows-gnu"
1323765version = "0.4.0"
1324766source = "registry+https://github.com/rust-lang/crates.io-index"
1325−checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
1326767
1327768[[package]]
1328769name = "xml-rs"
1329−version = "0.8.4"
770+version = "0.7.0"
1330771source = "registry+https://github.com/rust-lang/crates.io-index"
1331−checksum = "d2d7d3948613f75c98fd9328cfdcc45acc4d360655289d0a7d4ec931392200a3"
772+dependencies = [
773+ "bitflags 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
774+]
1332775
1333776[[package]]
1334777name = "yaml-rust"
1335−version = "0.4.5"
778+version = "0.4.0"
1336779source = "registry+https://github.com/rust-lang/crates.io-index"
1337−checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85"
1338780dependencies = [
1339− "linked-hash-map",
1340−]
781+ "linked-hash-map 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
782+]
783+
784+[metadata]
785+"checksum aho-corasick 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "d6531d44de723825aa81398a6415283229725a00fa30713812ab9323faa82fc4"
786+"checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
787+"checksum ansi_term 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "23ac7c30002a5accbf7e8987d0632fa6de155b7c3d39d0067317a391e00a2ef6"
788+"checksum atty 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "af80143d6f7608d746df1520709e5d141c96f240b0e62b0aa41bdfb53374d9d4"
789+"checksum backtrace 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "ebbe525f66f42d207968308ee86bc2dd60aa5fab535b22e616323a173d097d8e"
790+"checksum backtrace-sys 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "44585761d6161b0f57afc49482ab6bd067e4edef48c12a152c237eb0203f7661"
791+"checksum base64 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7c4a342b450b268e1be8036311e2c613d7f8a7ed31214dff1cc3b60852a3168d"
792+"checksum bincode 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bda13183df33055cbb84b847becce220d392df502ebe7a4a78d7021771ed94d0"
793+"checksum bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4efd02e230a02e18f92fc2735f44597385ed02ad8f831e7c1c1156ee5e1ab3a5"
794+"checksum bitflags 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b3c30d3802dfb7281680d6285f2ccdaa8c2d8fee41f93805dba5c4cf50dc23cf"
795+"checksum byteorder 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "73b5bdfe7ee3ad0b99c9801d58807a9dbc9e09196365b0203853b99889ab3c87"
796+"checksum cc 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)" = "2b4911e4bdcb4100c7680e7e854ff38e23f1b34d4d9e079efae3da2801341ffc"
797+"checksum cfg-if 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "d4c819a1287eb618df47cc647173c5c4c66ba19d888a6e50d605672aed3140de"
798+"checksum chrono 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ba5f60682a4c264e7f8d77b82e7788938a76befdf949d4a98026d19099c9d873"
799+"checksum clap 2.31.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f0f16b89cbb9ee36d87483dc939fe9f1e13c05898d56d7b230a0d4dff033a536"
800+"checksum clicolors-control 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1f84dec9bc083ce2503908cd305af98bd363da6f54bf8d4bf0ac14ee749ad5d1"
801+"checksum cmake 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)" = "56d741ea7a69e577f6d06b36b7dff4738f680593dc27a701ffa8506b73ce28bb"
802+"checksum console 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7649ca90478264b9686aac8d269fcb014f14c2bed7c79a7e51b9f6afd4d783eb"
803+"checksum directories 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "52bdea76de17dee3b166076dc4eeaf1d3df65fc094918a16776c2675b79ced50"
804+"checksum dtoa 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "09c3753c3db574d215cba4ea76018483895d7bff25a31b49ba45db21c48e50ab"
805+"checksum duct 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "166298c17c5b4fe5997b962c2f22e887c7c5adc44308eb9103ce5b66af45a423"
806+"checksum error-chain 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ff511d5dc435d703f4971bc399647c9bc38e20cb41452e3b9feb4765419ed3f3"
807+"checksum flate2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9fac2277e84e5e858483756647a9d0aa8d9a2b7cba517fd84325a0aaa69a0909"
808+"checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3"
809+"checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
810+"checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
811+"checksum git2 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)" = "ee5b4bb7cd2a44e6e5ee3a26ba6a9ca10d4ce2771cdc3839bbc54b47b7d1be84"
812+"checksum idna 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "014b298351066f1512874135335d62a789ffe78a9974f94b43ed5621951eaf7d"
813+"checksum itoa 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c069bbec61e1ca5a596166e55dfe4773ff745c3d16b700013bcaff9a6df2c682"
814+"checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
815+"checksum lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "76f033c7ad61445c5b347c7382dd1237847eb1bce590fe50365dcb33d546be73"
816+"checksum lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c8f31047daa365f19be14b47c29df4f7c3b581832407daabe6ae77397619237d"
817+"checksum lazycell 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a6f08839bc70ef4a3fe1d566d5350f519c5912ea86be0df1740a7d247c7fc0ef"
818+"checksum libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)" = "6fd41f331ac7c5b8ac259b8bf82c75c0fb2e469bbf37d2becbba9a6a2221965b"
819+"checksum libgit2-sys 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)" = "6eeae66e7b1c995de45cb4e65c5ab438a96a7b4077e448645d4048dc753ad357"
820+"checksum libz-sys 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)" = "87f737ad6cc6fd6eefe3d9dc5412f1573865bded441300904d2f42269e140f16"
821+"checksum linked-hash-map 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "70fb39025bc7cdd76305867c4eccf2f2dcf6e9a57f5b21a93e1c2d86cd03ec9e"
822+"checksum matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "100aabe6b8ff4e4a7e32c1c13523379802df0772b82466207ac25b013f193376"
823+"checksum memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "796fba70e76612589ed2ce7f45282f5af869e0fdd7cc6199fa1aa1f1d591ba9d"
824+"checksum miniz-sys 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "609ce024854aeb19a0ef7567d348aaa5a746b32fb72e336df7fcc16869d7e2b4"
825+"checksum nix 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a2c5afeb0198ec7be8569d666644b574345aad2e95a53baf3a532da3e0f3fb32"
826+"checksum num-integer 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)" = "f8d26da319fb45674985c78f1d1caf99aa4941f785d384a2ae36d0740bc3e2fe"
827+"checksum num-traits 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dee092fcdf725aee04dd7da1d21debff559237d49ef1cb3e69bcb8ece44c7364"
828+"checksum onig 3.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f5eeb268a4620c74ea5768c6d2ccd492d60a47a8754666b91a46bfc35cd4d1ba"
829+"checksum onig_sys 68.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5c6be7c4f985508684e54f18dd37f71e66f3e1ad9318336a520d7e42f0d3ea8e"
830+"checksum os_pipe 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7f547689aea1f11fac90333d573854a8e3e52a9160df1c42aefa8cd16734a3c0"
831+"checksum owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "cdf84f41639e037b484f93433aa3897863b561ed65c6e59c7073d7c561710f37"
832+"checksum parking_lot 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)" = "9fd9d732f2de194336fb02fe11f9eed13d9e76f13f4315b4d88a14ca411750cd"
833+"checksum parking_lot_core 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "538ef00b7317875071d5e00f603f24d16f0b474c1a5fc0ccb8b454ca72eafa79"
834+"checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831"
835+"checksum pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "3a8b4c6b8165cd1a1cd4b9b120978131389f64bdaf456435caa41e630edba903"
836+"checksum plist 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "c61ac2afed2856590ae79d6f358a24b85ece246d2aa134741a66d589519b7503"
837+"checksum proc-macro2 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "388d7ea47318c5ccdeb9ba6312cee7d3f65dd2804be8580a170fce410d50b786"
838+"checksum quote 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7b0ff51282f28dc1b53fd154298feaa2e77c5ea0dba68e1fd8b03b72fbe13d2a"
839+"checksum rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "eba5f8cb59cc50ed56be8880a5c7b496bfd9bd26394e176bc67884094145c2c5"
840+"checksum redox_syscall 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)" = "0d92eecebad22b767915e4d529f89f28ee96dbbf5a4810d2b844373f136417fd"
841+"checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76"
842+"checksum regex 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)" = "aec3f58d903a7d2a9dc2bf0e41a746f4530e0cab6b615494e058f67a3ef947fb"
843+"checksum regex-syntax 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "8e931c58b93d86f080c734bfd2bce7dd0079ae2331235818133c8be7f422e20e"
844+"checksum regex-syntax 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "bd90079345f4a4c3409214734ae220fd773c6f2e8a543d07370c6c1c369cfbfb"
845+"checksum rustc-demangle 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "11fb43a206a04116ffd7cfcf9bcb941f8eb6cc7ff667272246b0a1c74259a3cb"
846+"checksum safemem 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e27a8b19b835f7aea908818e871f5cc3a5a186550c30773be987e155e8163d8f"
847+"checksum same-file 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "cfb6eded0b06a0b512c8ddbcf04089138c9b4362c2f696f3c3d76039d68f3637"
848+"checksum serde 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)" = "d3bcee660dcde8f52c3765dd9ca5ee36b4bf35470a738eb0bd5a8752b0389645"
849+"checksum serde_derive 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)" = "f1711ab8b208541fa8de00425f6a577d90f27bb60724d2bb5fd911314af9668f"
850+"checksum serde_derive_internals 0.23.0 (registry+https://github.com/rust-lang/crates.io-index)" = "89b340a48245bc03ddba31d0ff1709c118df90edc6adabaca4aac77aea181cce"
851+"checksum serde_json 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)" = "5c508584d9913df116b91505eec55610a2f5b16e9ed793c46e4d0152872b3e74"
852+"checksum shared_child 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bcd5e483b3475af9bc2a35311c2f3bbf0bd98fde91410ab15a0d4ba3c3127b4e"
853+"checksum smallvec 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "44db0ecb22921ef790d17ae13a3f6d15784183ff5f2a01aa32098c7498d2b4b9"
854+"checksum stable_deref_trait 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "15132e0e364248108c5e2c02e3ab539be8d6f5d52a01ca9bbf27ed657316f02b"
855+"checksum strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4f380125926a99e52bc279241539c018323fab05ad6368b56f93d9369ff550"
856+"checksum syn 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)" = "91b52877572087400e83d24b9178488541e3d535259e04ff17a63df1e5ceff59"
857+"checksum syntect 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "eceb461f684c9e8e00f7a50055698af62c76d5b86e4ad50b4311acd5f655d606"
858+"checksum term_size 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9e5b9a66db815dcfd2da92db471106457082577c3c278d4138ab3e3b4e189327"
859+"checksum termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096"
860+"checksum termios 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "d5d9cf598a6d7ce700a4e6a9199da127e6819a61e64b68609683cc9a01b5683a"
861+"checksum textwrap 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c0b59b6b4b44d867f1370ef1bd91bfb262bf07bf0ae65c202ea2fbc16153b693"
862+"checksum thread_local 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "279ef31c19ededf577bfd12dfae728040a21f635b06a24cd670ff510edd38963"
863+"checksum time 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "a15375f1df02096fb3317256ce2cee6a1f42fc84ea5ad5fc8c421cfe40c73098"
864+"checksum ucd-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fd2be2d6639d0f8fe6cdda291ad456e23629558d466e2789d2c3e9892bda285d"
865+"checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5"
866+"checksum unicode-normalization 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "51ccda9ef9efa3f7ef5d91e8f9b83bbe6955f9bf86aec89d5cce2c874625920f"
867+"checksum unicode-width 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "bf3a113775714a22dcb774d8ea3655c53a32debae63a063acc00a91cc586245f"
868+"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
869+"checksum unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56"
870+"checksum url 1.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f808aadd8cfec6ef90e4a14eb46f24511824d1ac596b9682703c87056c8678b7"
871+"checksum utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e55124122"
872+"checksum vcpkg 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7ed0f6789c8a85ca41bbc1c9d175422116a9869bd1cf31bb08e1493ecce60380"
873+"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
874+"checksum walkdir 2.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "63636bd0eb3d00ccb8b9036381b526efac53caf112b7783b730ab3f8e44da369"
875+"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
876+"checksum winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "04e3bd221fcbe8a271359c04f21a76db7d0c6028862d1bb5512d85e1e2eb5bb3"
877+"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
878+"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
879+"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
880+"checksum xml-rs 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3c1cb601d29fe2c2ac60a2b2e5e293994d87a1f6fa9687a31a15270f909be9c2"
881+"checksum yaml-rust 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "57ab38ee1a4a266ed033496cf9af1828d8d6e6c1cfa5f643a2809effcae4d628"
Cargo.toml+14−81
@@ -1,100 +1,33 @@
11[package]
22authors = ["David Peter <mail@david-peter.de>"]
33categories = ["command-line-utilities"]
4−description = "A cat(1) clone with wings."
4+description="A cat(1) clone with wings."
55homepage = "https://github.com/sharkdp/bat"
66license = "MIT/Apache-2.0"
77name = "bat"
8+readme = "README.md"
89repository = "https://github.com/sharkdp/bat"
9−version = "0.21.0"
10−exclude = ["assets/syntaxes/*", "assets/themes/*"]
11−build = "build.rs"
12−edition = '2018'
13−
14−[features]
15−default = ["application"]
16−# Feature required for bat the application. Should be disabled when depending on
17−# bat as a library.
18−application = [
19− "bugreport",
20− "build-assets",
21− "git",
22− "minimal-application",
23−]
24−# Mainly for developers that want to iterate quickly
25−# Be aware that the included features might change in the future
26−minimal-application = [
27− "atty",
28− "clap",
29− "dirs-next",
30− "paging",
31− "regex-onig",
32− "wild",
33−]
34−git = ["git2"] # Support indicating git modifications
35−paging = ["shell-words", "grep-cli"] # Support applying a pager on the output
36−build-assets = ["syntect/yaml-load", "syntect/plist-load", "regex", "walkdir"]
37−
38−# You need to use one of these if you depend on bat as a library:
39−regex-onig = ["syntect/regex-onig"] # Use the "oniguruma" regex engine
40−regex-fancy = ["syntect/regex-fancy"] # Use the rust-only "fancy-regex" engine
10+version = "0.2.3"
4111
4212[dependencies]
43−atty = { version = "0.2.14", optional = true }
44−ansi_term = "^0.12.1"
45−ansi_colours = "^1.1"
46−bincode = "1.0"
47−console = "0.15.0"
48−flate2 = "1.0"
49−once_cell = "1.10"
50−thiserror = "1.0"
51−wild = { version = "2.0", optional = true }
52−content_inspector = "0.2.4"
53−encoding = "0.2"
54−shell-words = { version = "1.1.0", optional = true }
55−unicode-width = "0.1.9"
56−globset = "0.4"
57−serde = { version = "1.0", features = ["derive"] }
58−serde_yaml = "0.8"
59−semver = "1.0"
60−path_abs = { version = "0.5", default-features = false }
61−clircle = "0.3"
62−bugreport = { version = "0.5.0", optional = true }
63−dirs-next = { version = "2.0.0", optional = true }
64−grep-cli = { version = "0.1.6", optional = true }
65−regex = { version = "1.5.5", optional = true }
66−walkdir = { version = "2.0", optional = true }
67−bytesize = { version = "1.1.0" }
13+atty = "0.2.2"
14+ansi_term = "0.9"
15+console = "0.6"
16+error-chain = "0.11"
17+directories = "0.9"
18+lazy_static = "1.0"
6819
6920[dependencies.git2]
70−version = "0.14"
71−optional = true
21+version = "0.6"
7222default-features = false
23+features = []
7324
7425[dependencies.syntect]
75−version = "5.0.0"
26+version = "2"
7627default-features = false
77−features = ["parsing"]
28+features = ["parsing", "yaml-load", "dump-load", "dump-create"]
7829
7930[dependencies.clap]
80−version = "2.34"
81−optional = true
31+version = "2"
8232default-features = false
8333features = ["suggestions", "color", "wrap_help"]
84−
85−[dev-dependencies]
86−assert_cmd = "2.0.4"
87−serial_test = "0.6.0"
88−predicates = "2.1.1"
89−wait-timeout = "0.2.0"
90−tempfile = "3.3.0"
91−
92−[target.'cfg(unix)'.dev-dependencies]
93−nix = { version = "0.24.1", default-features = false, features = ["term"] }
94−
95−[build-dependencies]
96−clap = { version = "2.34", optional = true }
97−
98−[profile.release]
99−lto = true
100−codegen-units = 1
LICENSE-MIT−2
@@ -1,5 +1,3 @@
1−Copyright (c) 2018-2021 bat-developers (https://github.com/sharkdp/bat).
2−
31Permission is hereby granted, free of charge, to any person obtaining a copy
42of this software and associated documentation files (the "Software"), to deal
53in the Software without restriction, including without limitation the rights
NOTICEdeleted−6
@@ -1,6 +0,0 @@
1−Copyright (c) 2018-2021 bat-developers (https://github.com/sharkdp/bat).
2−
3−bat is made available under the terms of either the MIT License or the Apache
4−License 2.0, at your option.
5−
6−See the LICENSE-APACHE and LICENSE-MIT files for license details.
README.md+47−749
@@ -1,36 +1,11 @@
1−<p align="center">
2− <img src="doc/logo-header.svg" alt="bat - a cat clone with wings"><br>
3− <a href="https://github.com/sharkdp/bat/actions?query=workflow%3ACICD"><img src="https://github.com/sharkdp/bat/workflows/CICD/badge.svg" alt="Build Status"></a>
4− <img src="https://img.shields.io/crates/l/bat.svg" alt="license">
5− <a href="https://crates.io/crates/bat"><img src="https://img.shields.io/crates/v/bat.svg?colorB=319e8c" alt="Version info"></a><br>
6− A <i>cat(1)</i> clone with syntax highlighting and Git integration.
7−</p>
8−
9−<p align="center">
10− <a href="#syntax-highlighting">Key Features</a> •
11− <a href="#how-to-use">How To Use</a> •
12− <a href="#installation">Installation</a> •
13− <a href="#customization">Customization</a> •
14− <a href="#project-goals-and-alternatives">Project goals, alternatives</a><br>
15− [English]
16− [<a href="doc/README-zh.md">中文</a>]
17− [<a href="doc/README-ja.md">日本語</a>]
18− [<a href="doc/README-ko.md">한국어</a>]
19− [<a href="doc/README-ru.md">Русский</a>]
20−</p>
21−
22−### Sponsors
23−
24−A special *thank you* goes to our biggest <a href="doc/sponsors.md">sponsors</a>:<br>
25−<a href="https://workos.com/?utm_campaign=github_repo&utm_medium=referral&utm_content=bat&utm_source=github">
26− <img src="doc/sponsors/workos-logo-white-bg.svg" width="200" alt="WorkOS">
27− <br>
28− <strong>Your app, enterprise-ready.</strong>
29− <br>
30− <sub>Start selling to enterprise customers with just a few lines of code.</sub>
31− <br>
32− <sup>Add Single Sign-On (and more) in minutes instead of months.</sup>
33−</a>
1+# bat
2+
3+[![Build Status](https://travis-ci.org/sharkdp/bat.svg?branch=master)](https://travis-ci.org/sharkdp/bat)
4+[![Version info](https://img.shields.io/crates/v/bat.svg)](https://crates.io/crates/bat)
5+
6+A *cat(1)* clone with syntax highlighting and Git integration.
7+
8+## Features
349
3510### Syntax highlighting
3611
@@ -46,759 +21,82 @@ languages:
4621
4722![Git integration example](https://i.imgur.com/2lSW4RE.png)
4823
49−### Show non-printable characters
50−
51−You can use the `-A`/`--show-all` option to show and highlight non-printable
52−characters:
53−
54−![Non-printable character example](https://i.imgur.com/WndGp9H.png)
55−
56−### Automatic paging
57−
58−By default, `bat` pipes its own output to a pager (e.g. `less`) if the output is too large for one screen.
59−If you would rather `bat` work like `cat` all the time (never page output), you can set `--paging=never` as an option, either on the command line or in your configuration file.
60−If you intend to alias `cat` to `bat` in your shell configuration, you can use `alias cat='bat --paging=never'` to preserve the default behavior.
61−
62−#### File concatenation
63−
64−Even with a pager set, you can still use `bat` to concatenate files :wink:.
65−Whenever `bat` detects a non-interactive terminal (i.e. when you pipe into another process or into a file), `bat` will act as a drop-in replacement for `cat` and fall back to printing the plain file contents, regardless of the `--pager` option's value.
66−
67−## How to use
68−
69−Display a single file on the terminal
70−
71−```bash
72−> bat README.md
73−```
74−
75−Display multiple files at once
76−
77−```bash
78−> bat src/*.rs
79−```
80−
81−Read from stdin, determine the syntax automatically (note, highlighting will
82−only work if the syntax can be determined from the first line of the file,
83−usually through a shebang such as `#!/bin/sh`)
84−
85−```bash
86−> curl -s https://sh.rustup.rs | bat
87−```
88−
89−Read from stdin, specify the language explicitly
90−
91−```bash
92−> yaml2json .travis.yml | json_pp | bat -l json
93−```
94−
95−Show and highlight non-printable characters:
96−```bash
97−> bat -A /etc/hosts
98−```
99−
100−Use it as a `cat` replacement:
101−
102−```bash
103−bat > note.md # quickly create a new file
104−
105−bat header.md content.md footer.md > document.md
106−
107−bat -n main.rs # show line numbers (only)
108−
109−bat f - g # output 'f', then stdin, then 'g'.
110−```
111−
112−### Integration with other tools
113−
114−#### `fzf`
115−
116−You can use `bat` as a previewer for [`fzf`](https://github.com/junegunn/fzf). To do this,
117−use `bat`s `--color=always` option to force colorized output. You can also use `--line-range`
118−option to restrict the load times for long files:
119−
120−```bash
121−fzf --preview 'bat --color=always --style=numbers --line-range=:500 {}'
122−```
123−
124−For more information, see [`fzf`'s `README`](https://github.com/junegunn/fzf#preview-window).
125−
126−#### `find` or `fd`
127−
128−You can use the `-exec` option of `find` to preview all search results with `bat`:
129−
130−```bash
131−find … -exec bat {} +
132−```
133−
134−If you happen to use [`fd`](https://github.com/sharkdp/fd), you can use the `-X`/`--exec-batch` option to do the same:
135−
136−```bash
137−fd … -X bat
138−```
139−
140−#### `ripgrep`
141−
142−With [`batgrep`](https://github.com/eth-p/bat-extras/blob/master/doc/batgrep.md), `bat` can be used as the printer for [`ripgrep`](https://github.com/BurntSushi/ripgrep) search results.
143−
144−```bash
145−batgrep needle src/
146−```
147−
148−#### `tail -f`
149−
150−`bat` can be combined with `tail -f` to continuously monitor a given file with syntax highlighting.
151−
152−```bash
153−tail -f /var/log/pacman.log | bat --paging=never -l log
154−```
155−
156−Note that we have to switch off paging in order for this to work. We have also specified the syntax
157−explicitly (`-l log`), as it can not be auto-detected in this case.
158−
159−#### `git`
160−
161−You can combine `bat` with `git show` to view an older version of a given file with proper syntax
162−highlighting:
163−
164−```bash
165−git show v0.6.0:src/main.rs | bat -l rs
166−```
167−
168−#### `git diff`
169−
170−You can combine `bat` with `git diff` to view lines around code changes with proper syntax
171−highlighting:
172−```bash
173−batdiff() {
174− git diff --name-only --relative --diff-filter=d | xargs bat --diff
175−}
176−```
177−If you prefer to use this as a separate tool, check out `batdiff` in [`bat-extras`](https://github.com/eth-p/bat-extras).
178−
179−If you are looking for more support for git and diff operations, check out [`delta`](https://github.com/dandavison/delta).
180−
181−#### `xclip`
182−
183−The line numbers and Git modification markers in the output of `bat` can make it hard to copy
184−the contents of a file. To prevent this, you can call `bat` with the `-p`/`--plain` option or
185−simply pipe the output into `xclip`:
186−```bash
187−bat main.cpp | xclip
188−```
189−`bat` will detect that the output is being redirected and print the plain file contents.
190−
191−#### `man`
192−
193−`bat` can be used as a colorizing pager for `man`, by setting the
194−`MANPAGER` environment variable:
195−
196−```bash
197−export MANPAGER="sh -c 'col -bx | bat -l man -p'"
198−man 2 select
199−```
200−(replace `bat` with `batcat` if you are on Debian or Ubuntu)
201−
202−It might also be necessary to set `MANROFFOPT="-c"` if you experience
203−formatting problems.
204−
205−If you prefer to have this bundled in a new command, you can also use [`batman`](https://github.com/eth-p/bat-extras/blob/master/doc/batman.md).
206−
207−Note that the [Manpage syntax](assets/syntaxes/02_Extra/Manpage.sublime-syntax) is developed in this repository and still needs some work.
208−
209−Also, note that this will [not work](https://github.com/sharkdp/bat/issues/1145) with Mandocs `man` implementation.
210−
211−#### `prettier` / `shfmt` / `rustfmt`
212−
213−The [`prettybat`](https://github.com/eth-p/bat-extras/blob/master/doc/prettybat.md) script is a wrapper that will format code and print it with `bat`.
214−
215−#### Highlighting `--help` messages
216−
217−You can use `bat` to colorize help text: `$ cp --help | bat -plhelp`
218−
219−You can also use a wrapper around this:
220−
221−```bash
222−# in your .bashrc/.zshrc/*rc
223−alias bathelp='bat --plain --language=help'
224−help() {
225− "$@" --help 2>&1 | bathelp
226−}
227−```
228−
229−Then you can do `$ help cp` or `$ help git commit`.
230−
231−Please report any issues with the help syntax in [this repository](https://github.com/victor-gp/cmd-help-sublime-syntax).
232−
233−
23424## Installation
23525
236−[![Packaging status](https://repology.org/badge/vertical-allrepos/bat-cat.svg)](https://repology.org/project/bat-cat/versions)
237−
238−### On Ubuntu (using `apt`)
239−*... and other Debian-based Linux distributions.*
240−
241−`bat` is available on [Ubuntu since 20.04 ("Focal")](https://packages.ubuntu.com/search?keywords=bat&exact=1) and [Debian since August 2021 (Debian 11 - "Bullseye")](https://packages.debian.org/bullseye/bat).
242−
243−If your Ubuntu/Debian installation is new enough you can simply run:
244−
245−```bash
246−sudo apt install bat
247−```
248−
249−**Important**: If you install `bat` this way, please note that the executable may be installed as `batcat` instead of `bat` (due to [a name
250−clash with another package](https://github.com/sharkdp/bat/issues/982)). You can set up a `bat -> batcat` symlink or alias to prevent any issues that may come up because of this and to be consistent with other distributions:
251−``` bash
252−mkdir -p ~/.local/bin
253−ln -s /usr/bin/batcat ~/.local/bin/bat
254−```
255−
256−### On Ubuntu (using most recent `.deb` packages)
257−*... and other Debian-based Linux distributions.*
258−
259−If the package has not yet been promoted to your Ubuntu/Debian installation, or you want
260−the most recent release of `bat`, download the latest `.deb` package from the
261−[release page](https://github.com/sharkdp/bat/releases) and install it via:
262−
263−```bash
264−sudo dpkg -i bat_0.18.3_amd64.deb # adapt version number and architecture
265−```
266−
267−### On Alpine Linux
268−
269−You can install [the `bat` package](https://pkgs.alpinelinux.org/packages?name=bat)
270−from the official sources, provided you have the appropriate repository enabled:
271−
272−```bash
273−apk add bat
274−```
275−
276−### On Arch Linux
277−
278−You can install [the `bat` package](https://www.archlinux.org/packages/community/x86_64/bat/)
279−from the official sources:
280−
281−```bash
282−pacman -S bat
283−```
284−
285−### On Fedora
286−
287−You can install [the `bat` package](https://koji.fedoraproject.org/koji/packageinfo?packageID=27506) from the official [Fedora Modular](https://docs.fedoraproject.org/en-US/modularity/using-modules/) repository.
288−
289−```bash
290−dnf install bat
291−```
292−
293−### On Funtoo Linux
294−
295−You can install [the `bat` package](https://github.com/funtoo/dev-kit/tree/1.4-release/sys-apps/bat) from dev-kit.
296−
297−```bash
298−emerge sys-apps/bat
299−```
300−
301−### On Gentoo Linux
302−
303−You can install [the `bat` package](https://packages.gentoo.org/packages/sys-apps/bat)
304−from the official sources:
305−
306−```bash
307−emerge sys-apps/bat
308−```
309−
310−### On Void Linux
311−
312−You can install `bat` via xbps-install:
313−```bash
314−xbps-install -S bat
315−```
316−
317−### On Termux
318−
319−You can install `bat` via pkg:
320−```bash
321−pkg install bat
322−```
323−
324−### On FreeBSD
325−
326−You can install a precompiled [`bat` package](https://www.freshports.org/textproc/bat) with pkg:
327−
328−```bash
329−pkg install bat
330−```
331−
332−or build it on your own from the FreeBSD ports:
333−
334−```bash
335−cd /usr/ports/textproc/bat
336−make install
337−```
338−
339−### On OpenBSD
340−
341−You can install `bat` package using [`pkg_add(1)`](https://man.openbsd.org/pkg_add.1):
342−
343−```bash
344−pkg_add bat
345−```
346−
347−### Via nix
348−
349−You can install `bat` using the [nix package manager](https://nixos.org/nix):
350−
351−```bash
352−nix-env -i bat
353−```
354−
355−### On openSUSE
356−
357−You can install `bat` with zypper:
358−
359−```bash
360−zypper install bat
361−```
362−
363−### Via snap package
364−
365−There is currently no recommended snap package available.
366−Existing packages may be available, but are not officially supported and may contain [issues](https://github.com/sharkdp/bat/issues/1519).
367−
368−### On macOS (or Linux) via Homebrew
369−
370−You can install `bat` with [Homebrew on MacOS](https://formulae.brew.sh/formula/bat) or [Homebrew on Linux](https://formulae.brew.sh/formula-linux/bat):
371−
372−```bash
373−brew install bat
374−```
375−
376−### On macOS via MacPorts
377−
378−Or install `bat` with [MacPorts](https://ports.macports.org/port/bat/summary):
379−
380−```bash
381−port install bat
382−```
383−
384−### On Windows
385−
386−There are a few options to install `bat` on Windows. Once you have installed `bat`,
387−take a look at the ["Using `bat` on Windows"](#using-bat-on-windows) section.
388−
389−#### Prerequisites
390−
391−You will need to install the [Visual C++ Redistributable](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads) package.
26+### From binaries
39227
393−#### With Chocolatey
28+Check out the [Release page](https://github.com/sharkdp/bat/releases) for
29+binary builds and Debian packages.
39430
395−You can install `bat` via [Chocolatey](https://chocolatey.org/packages/Bat):
396−```bash
397−choco install bat
398−```
31+#### Arch Linux
39932
400−#### With Scoop
33+On Arch Linux, you can install
34+[the AUR package](https://aur.archlinux.org/packages/bat/) via yaourt, or
35+manually:
40136
402−You can install `bat` via [scoop](https://scoop.sh/):
40337```bash
404−scoop install bat
38+git clone https://aur.archlinux.org/bat.git
39+cd bat
40+makepkg -si
40541```
40642
407−#### From prebuilt binaries:
408−
409−You can download prebuilt binaries from the [Release page](https://github.com/sharkdp/bat/releases),
410−
411−You will need to install the [Visual C++ Redistributable](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads) package.
412−
413−### From binaries
414−
415−Check out the [Release page](https://github.com/sharkdp/bat/releases) for
416−prebuilt versions of `bat` for many different architectures. Statically-linked
417−binaries are also available: look for archives with `musl` in the file name.
418−
41943### From source
42044
421−If you want to build `bat` from source, you need Rust 1.51 or
45+If you want to build to compile `bat` from source, you need Rust 1.24 or
42246higher. You can then use `cargo` to build everything:
42347
424−```bash
425−cargo install --locked bat
48+``` bash
49+cargo install bat
42650```
42751
428−Note that additional files like the man page or shell completion
429−files can not be installed in this way. They will be generated by `cargo` and should be available in the cargo target folder (under `build`).
52+On macOS, you might have to install `cmake` (`brew install cmake`) in order for
53+some dependencies to be built.
43054
43155## Customization
43256
433−### Highlighting theme
434−
435−Use `bat --list-themes` to get a list of all available themes for syntax
436−highlighting. To select the `TwoDark` theme, call `bat` with the
437−`--theme=TwoDark` option or set the `BAT_THEME` environment variable to
438−`TwoDark`. Use `export BAT_THEME="TwoDark"` in your shell's startup file to
439−make the change permanent. Alternatively, use `bat`s
440−[configuration file](https://github.com/sharkdp/bat#configuration-file).
441−
442−If you want to preview the different themes on a custom file, you can use
443−the following command (you need [`fzf`](https://github.com/junegunn/fzf) for this):
444−```bash
445−bat --list-themes | fzf --preview="bat --theme={} --color=always /path/to/file"
446−```
447−
448−`bat` looks good on a dark background by default. However, if your terminal uses a
449−light background, some themes like `GitHub` or `OneHalfLight` will work better for you.
450−You can also use a custom theme by following the
451−['Adding new themes' section below](https://github.com/sharkdp/bat#adding-new-themes).
452−
453−### 8-bit themes
454−
455−`bat` has three themes that always use [8-bit colors](https://en.wikipedia.org/wiki/ANSI_escape_code#Colors),
456−even when truecolor support is available:
457−
458−- `ansi` looks decent on any terminal. It uses 3-bit colors: black, red, green,
459− yellow, blue, magenta, cyan, and white.
460−- `base16` is designed for [base16](https://github.com/chriskempson/base16) terminal themes. It uses
461− 4-bit colors (3-bit colors plus bright variants) in accordance with the
462− [base16 styling guidelines](https://github.com/chriskempson/base16/blob/master/styling.md).
463−- `base16-256` is designed for [base16-shell](https://github.com/chriskempson/base16-shell).
464− It replaces certain bright colors with 8-bit colors from 16 to 21. **Do not** use this simply
465− because you have a 256-color terminal but are not using base16-shell.
466−
467−Although these themes are more restricted, they have three advantages over truecolor themes. They:
468−
469−- Enjoy maximum compatibility. Some terminal utilities do not support more than 3-bit colors.
470−- Adapt to terminal theme changes. Even for already printed output.
471−- Visually harmonize better with other terminal software.
472−
473−### Output style
474−
475−You can use the `--style` option to control the appearance of `bat`s output.
476−You can use `--style=numbers,changes`, for example, to show only Git changes
477−and line numbers but no grid and no file header. Set the `BAT_STYLE` environment
478−variable to make these changes permanent or use `bat`s
479−[configuration file](https://github.com/sharkdp/bat#configuration-file).
480−
481−### Adding new syntaxes / language definitions
482−
483−Should you find that a particular syntax is not available within `bat`, you can follow these
484−instructions to easily add new syntaxes to your current `bat` installation.
485−
48657`bat` uses the excellent [`syntect`](https://github.com/trishume/syntect/)
48758library for syntax highlighting. `syntect` can read any
48859[Sublime Text `.sublime-syntax` file](https://www.sublimetext.com/docs/3/syntax.html)
48960and theme.
49061
491−A good resource for finding Sublime Syntax packages is [Package Control](https://packagecontrol.io/). Once you found a
492−syntax:
493−
494−1. Create a folder with syntax definition files:
495−
496− ```bash
497− mkdir -p "$(bat --config-dir)/syntaxes"
498− cd "$(bat --config-dir)/syntaxes"
499−
500− # Put new '.sublime-syntax' language definition files
501− # in this folder (or its subdirectories), for example:
502− git clone https://github.com/tellnobody1/sublime-purescript-syntax
503− ```
504−
505−2. Now use the following command to parse these files into a binary cache:
506−
507− ```bash
508− bat cache --build
509− ```
510−
511−3. Finally, use `bat --list-languages` to check if the new languages are available.
512−
513− If you ever want to go back to the default settings, call:
514−
515− ```bash
516− bat cache --clear
517− ```
518−
519−4. If you think that a specific syntax should be included in `bat` by default, please
520− consider opening a "syntax request" ticket after reading the policies and
521− instructions [here](doc/assets.md): [Open Syntax Request](https://github.com/sharkdp/bat/issues/new?labels=syntax-request&template=syntax_request.md).
522−
523−### Adding new themes
524−
525−This works very similar to how we add new syntax definitions.
526−
527−First, create a folder with the new syntax highlighting themes:
528−```bash
529−mkdir -p "$(bat --config-dir)/themes"
530−cd "$(bat --config-dir)/themes"
531−
532−# Download a theme in '.tmTheme' format, for example:
533−git clone https://github.com/greggb/sublime-snazzy
534−
535−# Update the binary cache
536−bat cache --build
537−```
538−
539−Finally, use `bat --list-themes` to check if the new themes are available.
540−
541−### Adding or changing file type associations
542−
543−You can add new (or change existing) file name patterns using the `--map-syntax`
544−command line option. The option takes an argument of the form `pattern:syntax` where
545−`pattern` is a glob pattern that is matched against the file name and
546−the absolute file path. The `syntax` part is the full name of a supported language
547−(use `bat --list-languages` for an overview).
548−
549−**Note:** You probably want to use this option as [an entry in `bat`'s configuration file](#configuration-file)
550−for persistence instead of passing it on the command line as a one-off. Generally
551−you'd just use `-l` if you want to manually specify a language for a file.
552−
553−Example: To use "INI" syntax highlighting for all files with a `.conf` file extension, use
554−```bash
555−--map-syntax='*.conf:INI'
556−```
557−
558−Example: To open all files called `.ignore` (exact match) with the "Git Ignore" syntax, use:
559−```bash
560−--map-syntax='.ignore:Git Ignore'
561−```
562−
563−Example: To open all `.conf` files in subfolders of `/etc/apache2` with the "Apache Conf"
564−syntax, use (this mapping is already built in):
565−```bash
566−--map-syntax='/etc/apache2/**/*.conf:Apache Conf'
567−```
568−
569−### Using a different pager
570−
571−`bat` uses the pager that is specified in the `PAGER` environment variable. If this variable is not
572−set, `less` is used by default. If you want to use a different pager, you can either modify the
573−`PAGER` variable or set the `BAT_PAGER` environment variable to override what is specified in
574−`PAGER`.
575−
576−**Note**: If `PAGER` is `more` or `most`, `bat` will silently use `less` instead to ensure support for colors.
577−
578−If you want to pass command-line arguments to the pager, you can also set them via the
579−`PAGER`/`BAT_PAGER` variables:
580−
581−```bash
582−export BAT_PAGER="less -RF"
583−```
584−
585−Instead of using environment variables, you can also use `bat`s [configuration file](https://github.com/sharkdp/bat#configuration-file) to configure the pager (`--pager` option).
586−
587−**Note**: By default, if the pager is set to `less` (and no command-line options are specified),
588−`bat` will pass the following command line options to the pager: `-R`/`--RAW-CONTROL-CHARS`,
589−`-F`/`--quit-if-one-screen` and `-X`/`--no-init`. The last option (`-X`) is only used for `less`
590−versions older than 530.
591−
592−The `-R` option is needed to interpret ANSI colors correctly. The second option (`-F`) instructs
593−less to exit immediately if the output size is smaller than the vertical size of the terminal.
594−This is convenient for small files because you do not have to press `q` to quit the pager. The
595−third option (`-X`) is needed to fix a bug with the `--quit-if-one-screen` feature in old versions
596−of `less`. Unfortunately, it also breaks mouse-wheel support in `less`.
597−
598−If you want to enable mouse-wheel scrolling on older versions of `less`, you can pass just `-R` (as
599−in the example above, this will disable the quit-if-one-screen feature). For less 530 or newer,
600−it should work out of the box.
601−
602−### Indentation
603−
604−`bat` expands tabs to 4 spaces by itself, not relying on the pager. To change this, simply add the
605−`--tabs` argument with the number of spaces you want to be displayed.
606−
607−**Note**: Defining tab stops for the pager (via the `--pager` argument by `bat`, or via the `LESS`
608−environment variable for `less`) won't be taken into account because the pager will already get
609−expanded spaces instead of tabs. This behaviour is added to avoid indentation issues caused by the
610−sidebar. Calling `bat` with `--tabs=0` will override it and let tabs be consumed by the pager.
611−
612−### Dark mode
62+To build your own language-set and theme, follow these steps:
61363
614−If you make use of the dark mode feature in macOS, you might want to configure `bat` to use a different
615−theme based on the OS theme. The following snippet uses the `default` theme when in the _dark mode_
616−and the `GitHub` theme when in the _light mode_.
64+Create a folder with a syntax highlighting theme:
61765
618−```bash
619−alias cat="bat --theme=\$(defaults read -globalDomain AppleInterfaceStyle &> /dev/null && echo default || echo GitHub)"
620−```
621−
622−
623−## Configuration file
624−
625−`bat` can also be customized with a configuration file. The location of the file is dependent
626−on your operating system. To get the default path for your system, call
627−```bash
628−bat --config-file
629−```
630−
631−Alternatively, you can use the `BAT_CONFIG_PATH` environment variable to point `bat` to a
632−non-default location of the configuration file:
633−```bash
634−export BAT_CONFIG_PATH="/path/to/bat.conf"
635−```
636−
637−A default configuration file can be created with the `--generate-config-file` option.
638−```bash
639−bat --generate-config-file
640−```
641−
642−### Format
643−
644−The configuration file is a simple list of command line arguments. Use `bat --help` to see a full list of possible options and values. In addition, you can add comments by prepending a line with the `#` character.
645−
646−Example configuration file:
647−```bash
648−# Set the theme to "TwoDark"
649−--theme="TwoDark"
66+``` bash
67+BAT_CONFIG_DIR="$(bat cache --config-dir)"
65068
651−# Show line numbers, Git modifications and file header (but no grid)
652−--style="numbers,changes,header"
69+mkdir -p "$BAT_CONFIG_DIR/themes"
70+cd "$BAT_CONFIG_DIR/themes"
65371
654−# Use italic text on the terminal (not supported on all terminals)
655−--italic-text=always
72+# Download a theme, for example:
73+git clone https://github.com/jonschlinkert/sublime-monokai-extended
65674
657−# Use C++ syntax for Arduino .ino files
658−--map-syntax "*.ino:C++"
75+# Create a 'Default.tmTheme' link
76+ln -s "sublime-monokai-extended/Monokai Extended.tmTheme" Default.tmTheme
65977```
66078
661−## Using `bat` on Windows
662−
663−`bat` mostly works out-of-the-box on Windows, but a few features may need extra configuration.
664−
665−### Prerequisites
79+Create a folder with language definition files:
66680
667−You will need to install the [Visual C++ Redistributable](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads) package.
668−
669−### Paging
670−
671−Windows only includes a very limited pager in the form of `more`. You can download a Windows binary
672−for `less` [from its homepage](http://www.greenwoodsoftware.com/less/download.html) or [through
673−Chocolatey](https://chocolatey.org/packages/Less). To use it, place the binary in a directory in
674−your `PATH` or [define an environment variable](#using-a-different-pager). The [Chocolatey package](#on-windows) installs `less` automatically.
675−
676−### Colors
677−
678−Windows 10 natively supports colors in both `conhost.exe` (Command Prompt) and PowerShell since
679−[v1511](https://en.wikipedia.org/wiki/Windows_10_version_history#Version_1511_(November_Update)), as
680−well as in newer versions of bash. On earlier versions of Windows, you can use
681−[Cmder](http://cmder.net/), which includes [ConEmu](https://conemu.github.io/).
682−
683−**Note:** The Git and MSYS versions of `less` do not correctly interpret colors on Windows. If you
684−don’t have any other pagers installed, you can disable paging entirely by passing `--paging=never`
685−or by setting `BAT_PAGER` to an empty string.
686−
687−### Cygwin
688−
689−`bat` on Windows does not natively support Cygwin's unix-style paths (`/cygdrive/*`). When passed an absolute cygwin path as an argument, `bat` will encounter the following error: `The system cannot find the path specified. (os error 3)`
690−
691−This can be solved by creating a wrapper or adding the following function to your `.bash_profile` file:
81+``` bash
82+mkdir -p "$BAT_CONFIG_DIR/syntax"
83+cd "$BAT_CONFIG_DIR/syntax"
69284
693−```bash
694−bat() {
695− local index
696− local args=("$@")
697− for index in $(seq 0 ${#args[@]}) ; do
698− case "${args[index]}" in
699− -*) continue;;
700− *) [ -e "${args[index]}" ] && args[index]="$(cygpath --windows "${args[index]}")";;
701− esac
702− done
703− command bat "${args[@]}"
704−}
85+# Download some language definition files, for example:
86+git clone https://github.com/sublimehq/Packages/
87+rm -rf Packages/Markdown
88+git clone https://github.com/jonschlinkert/sublime-markdown-extended
70589```
70690
707−## Troubleshooting
91+Finally, use the following command to parse all these files into a binary
92+cache:
70893
709−### Garbled output
710−
711−If an input file contains color codes or other ANSI escape sequences or control characters, `bat` will have problems
712−performing syntax highlighting and text wrapping, and thus the output can become garbled.
713−When displaying such files it is recommended to disable both syntax highlighting and wrapping by
714−passing the `--color=never --wrap=never` options to `bat`.
715−
716−### Terminals & colors
717−
718−`bat` handles terminals *with* and *without* truecolor support. However, the colors in most syntax
719−highlighting themes are not optimized for 8-bit colors. It is therefore strongly recommended
720−that you use a terminal with 24-bit truecolor support (`terminator`, `konsole`, `iTerm2`, ...),
721−or use one of the basic [8-bit themes](#8-bit-themes) designed for a restricted set of colors.
722−See [this article](https://gist.github.com/XVilka/8346728) for more details and a full list of
723−terminals with truecolor support.
724−
725−Make sure that your truecolor terminal sets the `COLORTERM` variable to either `truecolor` or
726−`24bit`. Otherwise, `bat` will not be able to determine whether or not 24-bit escape sequences
727−are supported (and fall back to 8-bit colors).
728−
729−### Line numbers and grid are hardly visible
730−
731−Please try a different theme (see `bat --list-themes` for a list). The `OneHalfDark` and
732−`OneHalfLight` themes provide grid and line colors that are brighter.
733−
734−### File encodings
735−
736−`bat` natively supports UTF-8 as well as UTF-16. For every other file encoding, you may need to
737−convert to UTF-8 first because the encodings can typically not be auto-detected. You can `iconv`
738−to do so.
739−Example: if you have a PHP file in Latin-1 (ISO-8859-1) encoding, you can call:
74094``` bash
741−iconv -f ISO-8859-1 -t UTF-8 my-file.php | bat
95+bat cache --init
74296```
743−Note: you might have to use the `-l`/`--language` option if the syntax can not be auto-detected
744−by `bat`.
74597
746−## Development
747−
748−```bash
749−# Recursive clone to retrieve all submodules
750−git clone --recursive https://github.com/sharkdp/bat
98+If you ever want to go back to the default settings, call:
75199
752−# Build (debug version)
753−cd bat
754−cargo build --bins
755−
756−# Run unit tests and integration tests
757−cargo test
758−
759−# Install (release version)
760−cargo install --path . --locked
761−
762−# Build a bat binary with modified syntaxes and themes
763−bash assets/create.sh
764−cargo install --path . --locked --force
100+``` bash
101+bat cache --clear
765102```
766−
767−If you want to build an application that uses `bat`s pretty-printing
768−features as a library, check out the [the API documentation](https://docs.rs/bat/).
769−Note that you have to use either `regex-onig` or `regex-fancy` as a feature
770−when you depend on `bat` as a library.
771−
772−## Contributing
773−
774−Take a look at the [`CONTRIBUTING.md`](CONTRIBUTING.md) guide.
775−
776−## Maintainers
777−
778−- [sharkdp](https://github.com/sharkdp)
779−- [eth-p](https://github.com/eth-p)
780−- [keith-hall](https://github.com/keith-hall)
781−- [Enselic](https://github.com/Enselic)
782−
783−## Security vulnerabilities
784−
785−Please contact [David Peter](https://david-peter.de/) via email if you want to report a vulnerability in `bat`.
786−
787−## Project goals and alternatives
788−
789−`bat` tries to achieve the following goals:
790−
791−- Provide beautiful, advanced syntax highlighting
792−- Integrate with Git to show file modifications
793−- Be a drop-in replacement for (POSIX) `cat`
794−- Offer a user-friendly command-line interface
795−
796−There are a lot of alternatives, if you are looking for similar programs. See
797−[this document](doc/alternatives.md) for a comparison.
798−
799−## License
800−Copyright (c) 2018-2021 [bat-developers](https://github.com/sharkdp/bat).
801−
802−`bat` is made available under the terms of either the MIT License or the Apache License 2.0, at your option.
803−
804−See the [LICENSE-APACHE](LICENSE-APACHE) and [LICENSE-MIT](LICENSE-MIT) files for license details.
assets/.gitattributesdeleted−1
@@ -1 +0,0 @@
1−* linguist-vendored
assets/.ignoredeleted−2
@@ -1,2 +0,0 @@
1−syntaxes/*
2−themes/*
assets/acknowledgements.bindeleted

Binary file not shown.

assets/completions/_bat.ps1.indeleted−92
@@ -1,92 +0,0 @@
1−
2−using namespace System.Management.Automation
3−using namespace System.Management.Automation.Language
4−
5−Register-ArgumentCompleter -Native -CommandName '{{PROJECT_EXECUTABLE}}' -ScriptBlock {
6− param($wordToComplete, $commandAst, $cursorPosition)
7−
8− $commandElements = $commandAst.CommandElements
9− $command = @(
10− '{{PROJECT_EXECUTABLE}}'
11− for ($i = 1; $i -lt $commandElements.Count; $i++) {
12− $element = $commandElements[$i]
13− if ($element -isnot [StringConstantExpressionAst] -or
14− $element.StringConstantType -ne [StringConstantType]::BareWord -or
15− $element.Value.StartsWith('-')) {
16− break
17− }
18− $element.Value
19− }) -join ';'
20−
21− $completions = @(switch ($command) {
22− '{{PROJECT_EXECUTABLE}}' {
23− [CompletionResult]::new('-l', 'l', [CompletionResultType]::ParameterName, 'Set the language for syntax highlighting.')
24− [CompletionResult]::new('--language', 'language', [CompletionResultType]::ParameterName, 'Set the language for syntax highlighting.')
25− [CompletionResult]::new('-H', 'H', [CompletionResultType]::ParameterName, 'Highlight lines N through M.')
26− [CompletionResult]::new('--highlight-line', 'highlight-line', [CompletionResultType]::ParameterName, 'Highlight lines N through M.')
27− [CompletionResult]::new('--file-name', 'file-name', [CompletionResultType]::ParameterName, 'Specify the name to display for a file.')
28− [CompletionResult]::new('--diff-context', 'diff-context', [CompletionResultType]::ParameterName, 'diff-context')
29− [CompletionResult]::new('--tabs', 'tabs', [CompletionResultType]::ParameterName, 'Set the tab width to T spaces.')
30− [CompletionResult]::new('--wrap', 'wrap', [CompletionResultType]::ParameterName, 'Specify the text-wrapping mode (*auto*, never, character).')
31− [CompletionResult]::new('--terminal-width', 'terminal-width', [CompletionResultType]::ParameterName, 'Explicitly set the width of the terminal instead of determining it automatically. If prefixed with ''+'' or ''-'', the value will be treated as an offset to the actual terminal width. See also: ''--wrap''.')
32− [CompletionResult]::new('--color', 'color', [CompletionResultType]::ParameterName, 'When to use colors (*auto*, never, always).')
33− [CompletionResult]::new('--italic-text', 'italic-text', [CompletionResultType]::ParameterName, 'Use italics in output (always, *never*)')
34− [CompletionResult]::new('--decorations', 'decorations', [CompletionResultType]::ParameterName, 'When to show the decorations (*auto*, never, always).')
35− [CompletionResult]::new('--paging', 'paging', [CompletionResultType]::ParameterName, 'Specify when to use the pager, or use `-P` to disable (*auto*, never, always).')
36− [CompletionResult]::new('--pager', 'pager', [CompletionResultType]::ParameterName, 'Determine which pager to use.')
37− [CompletionResult]::new('-m', 'm', [CompletionResultType]::ParameterName, 'Use the specified syntax for files matching the glob pattern (''*.cpp:C++'').')
38− [CompletionResult]::new('--map-syntax', 'map-syntax', [CompletionResultType]::ParameterName, 'Use the specified syntax for files matching the glob pattern (''*.cpp:C++'').')
39− [CompletionResult]::new('--theme', 'theme', [CompletionResultType]::ParameterName, 'Set the color theme for syntax highlighting.')
40− [CompletionResult]::new('--style', 'style', [CompletionResultType]::ParameterName, 'Comma-separated list of style elements to display (*default*, auto, full, plain, changes, header, header-filename, header-filesize, grid, rule, numbers, snip).')
41− [CompletionResult]::new('-r', 'r', [CompletionResultType]::ParameterName, 'Only print the lines from N to M.')
42− [CompletionResult]::new('--line-range', 'line-range', [CompletionResultType]::ParameterName, 'Only print the lines from N to M.')
43− [CompletionResult]::new('-A', 'A', [CompletionResultType]::ParameterName, 'Show non-printable characters (space, tab, newline, ..).')
44− [CompletionResult]::new('--show-all', 'show-all', [CompletionResultType]::ParameterName, 'Show non-printable characters (space, tab, newline, ..).')
45− [CompletionResult]::new('-p', 'p', [CompletionResultType]::ParameterName, 'Show plain style (alias for ''--style=plain'').')
46− [CompletionResult]::new('--plain', 'plain', [CompletionResultType]::ParameterName, 'Show plain style (alias for ''--style=plain'').')
47− [CompletionResult]::new('-d', 'd', [CompletionResultType]::ParameterName, 'Only show lines that have been added/removed/modified.')
48− [CompletionResult]::new('--diff', 'diff', [CompletionResultType]::ParameterName, 'Only show lines that have been added/removed/modified.')
49− [CompletionResult]::new('-n', 'n', [CompletionResultType]::ParameterName, 'Show line numbers (alias for ''--style=numbers'').')
50− [CompletionResult]::new('--number', 'number', [CompletionResultType]::ParameterName, 'Show line numbers (alias for ''--style=numbers'').')
51− [CompletionResult]::new('-f', 'f', [CompletionResultType]::ParameterName, 'f')
52− [CompletionResult]::new('--force-colorization', 'force-colorization', [CompletionResultType]::ParameterName, 'force-colorization')
53− [CompletionResult]::new('-P', 'P', [CompletionResultType]::ParameterName, 'Alias for ''--paging=never''')
54− [CompletionResult]::new('--no-paging', 'no-paging', [CompletionResultType]::ParameterName, 'Alias for ''--paging=never''')
55− [CompletionResult]::new('--list-themes', 'list-themes', [CompletionResultType]::ParameterName, 'Display all supported highlighting themes.')
56− [CompletionResult]::new('-L', 'L', [CompletionResultType]::ParameterName, 'Display all supported languages.')
57− [CompletionResult]::new('--list-languages', 'list-languages', [CompletionResultType]::ParameterName, 'Display all supported languages.')
58− [CompletionResult]::new('-u', 'u', [CompletionResultType]::ParameterName, 'u')
59− [CompletionResult]::new('--unbuffered', 'unbuffered', [CompletionResultType]::ParameterName, 'unbuffered')
60− [CompletionResult]::new('--no-config', 'no-config', [CompletionResultType]::ParameterName, 'Do not use the configuration file')
61− [CompletionResult]::new('--no-custom-assets', 'no-custom-assets', [CompletionResultType]::ParameterName, 'Do not load custom assets')
62− [CompletionResult]::new('--config-file', 'config-file', [CompletionResultType]::ParameterName, 'Show path to the configuration file.')
63− [CompletionResult]::new('--generate-config-file', 'generate-config-file', [CompletionResultType]::ParameterName, 'Generates a default configuration file.')
64− [CompletionResult]::new('--config-dir', 'config-dir', [CompletionResultType]::ParameterName, 'Show bat''s configuration directory.')
65− [CompletionResult]::new('--cache-dir', 'cache-dir', [CompletionResultType]::ParameterName, 'Show bat''s cache directory.')
66− [CompletionResult]::new('--diagnostic', 'diagnostic', [CompletionResultType]::ParameterName, 'Show diagnostic information for bug reports.')
67− [CompletionResult]::new('-h', 'h', [CompletionResultType]::ParameterName, 'Print this help message.')
68− [CompletionResult]::new('--help', 'help', [CompletionResultType]::ParameterName, 'Print this help message.')
69− [CompletionResult]::new('-V', 'V', [CompletionResultType]::ParameterName, 'Show version information.')
70− [CompletionResult]::new('--version', 'version', [CompletionResultType]::ParameterName, 'Show version information.')
71− [CompletionResult]::new('cache', 'cache', [CompletionResultType]::ParameterValue, 'Modify the syntax-definition and theme cache')
72− break
73− }
74− '{{PROJECT_EXECUTABLE}};cache' {
75− [CompletionResult]::new('--source', 'source', [CompletionResultType]::ParameterName, 'Use a different directory to load syntaxes and themes from.')
76− [CompletionResult]::new('--target', 'target', [CompletionResultType]::ParameterName, 'Use a different directory to store the cached syntax and theme set.')
77− [CompletionResult]::new('-b', 'b', [CompletionResultType]::ParameterName, 'Initialize (or update) the syntax/theme cache.')
78− [CompletionResult]::new('--build', 'build', [CompletionResultType]::ParameterName, 'Initialize (or update) the syntax/theme cache.')
79− [CompletionResult]::new('-c', 'c', [CompletionResultType]::ParameterName, 'Remove the cached syntax definitions and themes.')
80− [CompletionResult]::new('--clear', 'clear', [CompletionResultType]::ParameterName, 'Remove the cached syntax definitions and themes.')
81− [CompletionResult]::new('--blank', 'blank', [CompletionResultType]::ParameterName, 'Create completely new syntax and theme sets (instead of appending to the default sets).')
82− [CompletionResult]::new('-h', 'h', [CompletionResultType]::ParameterName, 'Prints help information')
83− [CompletionResult]::new('--help', 'help', [CompletionResultType]::ParameterName, 'Prints help information')
84− [CompletionResult]::new('-V', 'V', [CompletionResultType]::ParameterName, 'Prints version information')
85− [CompletionResult]::new('--version', 'version', [CompletionResultType]::ParameterName, 'Prints version information')
86− break
87− }
88− })
89−
90− $completions.Where{ $_.CompletionText -like "$wordToComplete*" } |
91− Sort-Object -Property ListItemText
92−}
assets/completions/bat.bash.indeleted−101
@@ -1,101 +0,0 @@
1−# shellcheck disable=SC2207
2−
3−# Requires https://github.com/scop/bash-completion
4−
5−# Macs have bash3 for which the bash-completion package doesn't include
6−# _init_completion. This is a minimal version of that function.
7−__bat_init_completion()
8−{
9− COMPREPLY=()
10− _get_comp_words_by_ref "$@" cur prev words cword
11−}
12−
13−_bat() {
14− local cur prev words cword split=false
15− if declare -F _init_completion >/dev/null 2>&1; then
16− _init_completion -s || return 0
17− else
18− __bat_init_completion -n "=" || return 0
19− _split_longopt && split=true
20− fi
21−
22− if [[ ${words[1]-} == cache ]]; then
23− case $prev in
24− --source | --target)
25− _filedir -d
26− return 0
27− ;;
28− esac
29− COMPREPLY=($(compgen -W "
30− --build --clear --source --target --blank --help
31− " -- "$cur"))
32− return 0
33− fi
34−
35− case $prev in
36− -l | --language)
37− local IFS=$'\n'
38− COMPREPLY=($(compgen -W "$(
39− "$1" --list-languages | while IFS=: read -r lang _; do
40− printf "%s\n" "$lang"
41− done
42− )" -- "$cur"))
43− compopt -o filenames # for escaping
44− return 0
45− ;;
46− -H | --highlight-line | --diff-context | --tabs | --terminal-width | \
47− -m | --map-syntax | --style | --line-range | -h | --help | -V | \
48− --version | --diagnostic | --config-file | --config-dir | \
49− --cache-dir | --generate-config-file)
50− # argument required but no completion available, or option
51− # causes an exit
52− return 0
53− ;;
54− --file-name)
55− _filedir
56− return 0
57− ;;
58− --wrap)
59− COMPREPLY=($(compgen -W "auto never character" -- "$cur"))
60− return 0
61− ;;
62− --color | --decorations | --paging)
63− COMPREPLY=($(compgen -W "auto never always" -- "$cur"))
64− return 0
65− ;;
66− --italic-text)
67− COMPREPLY=($(compgen -W "always never" -- "$cur"))
68− return 0
69− ;;
70− --pager)
71− COMPREPLY=($(compgen -c -- "$cur"))
72− return 0
73− ;;
74− --theme)
75− local IFS=$'\n'
76− COMPREPLY=($(compgen -W "$("$1" --list-themes)" -- "$cur"))
77− compopt -o filenames # for escaping
78− return 0
79− ;;
80− esac
81−
82− $split && return 0
83−
84− if [[ $cur == -* ]]; then
85− COMPREPLY=($(compgen -W "
86− --show-all --plain --language --highlight-line
87− --file-name --diff --diff-context --tabs --wrap
88− --terminal-width --number --color --italic-text
89− --decorations --paging --pager --map-syntax --theme
90− --list-themes --style --line-range --list-languages
91− --help --version --force-colorization --unbuffered
92− --diagnostic --config-file --config-dir --cache-dir
93− --generate-config-file
94− " -- "$cur"))
95− return 0
96− fi
97−
98− _filedir
99− ((cword == 1)) && COMPREPLY+=($(compgen -W cache -- "$cur"))
100−
101−} && complete -F _bat {{PROJECT_EXECUTABLE}}
assets/completions/bat.fish.indeleted−78
@@ -1,78 +0,0 @@
1−# Fish Shell Completions
2−# Place or symlink to $XDG_CONFIG_HOME/fish/completions/{{PROJECT_EXECUTABLE}}.fish ($XDG_CONFIG_HOME is usually set to ~/.config)
3−
4−# Helper function:
5−function __{{PROJECT_EXECUTABLE}}_autocomplete_languages --description "A helper function used by "(status filename)
6− {{PROJECT_EXECUTABLE}} --list-languages | awk -F':' '
7− {
8− lang=$1
9− split($2, exts, ",")
10−
11− for (i in exts) {
12− ext=exts[i]
13− if (ext !~ /[A-Z].*/ && ext !~ /^\..*rc$/) {
14− print ext"\t"lang
15− }
16− }
17− }
18− ' | sort
19−end
20−
21−# Completions:
22−
23−complete -c {{PROJECT_EXECUTABLE}} -l color -xka "auto never always" -d "Specify when to use colored output (default: auto)" -n "not __fish_seen_subcommand_from cache"
24−
25−complete -c {{PROJECT_EXECUTABLE}} -l config-dir -d "Display location of '{{PROJECT_EXECUTABLE}}' configuration directory" -n "not __fish_seen_subcommand_from cache"
26−
27−complete -c {{PROJECT_EXECUTABLE}} -l config-file -d "Display location of '{{PROJECT_EXECUTABLE}}' configuration file" -n "not __fish_seen_subcommand_from cache"
28−
29−complete -c {{PROJECT_EXECUTABLE}} -l decorations -xka "auto never always" -d "Specify when to use the decorations specified with '--style' (default: auto)" -n "not __fish_seen_subcommand_from cache"
30−
31−complete -c {{PROJECT_EXECUTABLE}} -s h -l help -d "Print help message" -n "not __fish_seen_subcommand_from cache"
32−
33−complete -c {{PROJECT_EXECUTABLE}} -s H -l highlight-line -x -d "<N> Highlight the N-th line with a different background color" -n "not __fish_seen_subcommand_from cache"
34−
35−complete -c {{PROJECT_EXECUTABLE}} -l italic-text -xka "always never" -d "Specify when to use ANSI sequences for italic text (default: never)" -n "not __fish_seen_subcommand_from cache"
36−
37−complete -c {{PROJECT_EXECUTABLE}} -s l -l language -d "Set the language for syntax highlighting" -n "not __fish_seen_subcommand_from cache" -xa "(__{{PROJECT_EXECUTABLE}}_autocomplete_languages)"
38−
39−complete -c {{PROJECT_EXECUTABLE}} -s r -l line-range -x -d "<N:M> Only print the specified range of lines for each file" -n "not __fish_seen_subcommand_from cache"
40−
41−complete -c {{PROJECT_EXECUTABLE}} -l list-languages -d "Display list of supported languages for syntax highlighting" -n "not __fish_seen_subcommand_from cache"
42−
43−complete -c {{PROJECT_EXECUTABLE}} -l list-themes -d "Display a list of supported themes for syntax highlighting" -n "not __fish_seen_subcommand_from cache"
44−
45−complete -c {{PROJECT_EXECUTABLE}} -s m -l map-syntax -x -d "<from:to> Map a file extension or file name to an existing syntax" -n "not __fish_seen_subcommand_from cache"
46−
47−complete -c {{PROJECT_EXECUTABLE}} -s n -l number -d "Only show line numbers, no other decorations. Alias for '--style=numbers'" -n "not __fish_seen_subcommand_from cache"
48−
49−complete -c {{PROJECT_EXECUTABLE}} -l pager -x -d "<command> Specify which pager program to use (default: less)" -n "not __fish_seen_subcommand_from cache"
50−
51−complete -c {{PROJECT_EXECUTABLE}} -l paging -xka "auto never always" -d "Specify when to use the pager (default: auto)" -n "not __fish_seen_subcommand_from cache"
52−
53−complete -c {{PROJECT_EXECUTABLE}} -s p -l plain -d "Only show plain style, no decorations. Alias for '--style=plain'" -n "not __fish_seen_subcommand_from cache"
54−
55−complete -c {{PROJECT_EXECUTABLE}} -s P -d "Disable paging. Alias for '--paging=never'" -n "not __fish_seen_subcommand_from cache"
56−
57−complete -c {{PROJECT_EXECUTABLE}} -s A -l show-all -d "Show non-printable characters like space/tab/newline" -n "not __fish_seen_subcommand_from cache"
58−
59−complete -c {{PROJECT_EXECUTABLE}} -l style -xka "default auto full plain changes header header-filename header-filesize grid rule numbers snip" -d "Comma-separated list of style elements or presets to display with file contents" -n "not __fish_seen_subcommand_from cache"
60−
61−complete -c {{PROJECT_EXECUTABLE}} -l tabs -x -d "<T> Set the tab width to T spaces (width of 0 passes tabs through directly)" -n "not __fish_seen_subcommand_from cache"
62−
63−complete -c {{PROJECT_EXECUTABLE}} -l terminal-width -x -d "<width> Explicitly set terminal width; Prefix with '+' or '-' to offset (default width is auto determined)" -n "not __fish_seen_subcommand_from cache"
64−
65−complete -c {{PROJECT_EXECUTABLE}} -l theme -xka "({{PROJECT_EXECUTABLE}} --list-themes | cat)" -d "Set the theme for syntax highlighting" -n "not __fish_seen_subcommand_from cache"
66−
67−complete -c {{PROJECT_EXECUTABLE}} -s u -l unbuffered -d "POSIX-compliant unbuffered output. Option is ignored" -n "not __fish_seen_subcommand_from cache"
68−
69−complete -c {{PROJECT_EXECUTABLE}} -s V -l version -d "Show version information" -n "not __fish_seen_subcommand_from cache"
70−
71−complete -c {{PROJECT_EXECUTABLE}} -l wrap -xka "auto never character" -d "<mode> Specify the text-wrapping mode (default: auto)" -n "not __fish_seen_subcommand_from cache"
72−
73−# Sub-command 'cache' completions
74−complete -c {{PROJECT_EXECUTABLE}} -a "cache" -d "Modify the syntax/language definition cache" -n "not __fish_seen_subcommand_from cache"
75−
76−complete -c {{PROJECT_EXECUTABLE}} -l build -f -d "Parse syntaxes/language definitions into cache" -n "__fish_seen_subcommand_from cache"
77−
78−complete -c {{PROJECT_EXECUTABLE}} -l clear -f -d "Reset syntaxes/language definitions to default settings" -n "__fish_seen_subcommand_from cache"
assets/completions/bat.zsh.indeleted−99
@@ -1,99 +0,0 @@
1−#compdef {{PROJECT_EXECUTABLE}}
2−
3−local context state state_descr line
4−typeset -A opt_args
5−
6−(( $+functions[_{{PROJECT_EXECUTABLE}}_cache_subcommand] )) ||
7−_{{PROJECT_EXECUTABLE}}_cache_subcommand() {
8− local -a args
9− args=(
10− '(-b --build -c --clear)'{-b,--build}'[Initialize or update the syntax/theme cache]'
11− '(-b --build -c --clear)'{-c,--clear}'[Remove the cached syntax definitions and themes]'
12− '(--source)'--source='[Use a different directory to load syntaxes and themes from]:directory:_files -/'
13− '(--target)'--target='[Use a different directory to store the cached syntax and theme set]:directory:_files -/'
14− '(--blank)'--blank'[Create completely new syntax and theme sets]'
15− '(: -)'{-h,--help}'[Prints help information]'
16− '*: :'
17− )
18−
19− _arguments -S -s $args
20−}
21−
22−(( $+functions[_{{PROJECT_EXECUTABLE}}_main] )) ||
23−_{{PROJECT_EXECUTABLE}}_main() {
24− local -a args
25− args=(
26− '(-A --show-all)'{-A,--show-all}'[Show non-printable characters (space, tab, newline, ..)]'
27− '*'{-p,--plain}'[Show plain style (alias for `--style=plain`), repeat twice to disable disable automatic paging (alias for `--paging=never`)]'
28− '(-l --language)'{-l+,--language=}'[Set the language for syntax highlighting]:<language>:->language'
29− '(-H --highlight-line)'{-H,--highlight-line}'[Highlight lines N through M]:<N\:M>...'
30− '(--file-name)'--file-name'[Specify the name to display for a file]:<name>...:_files'
31− '(-d --diff)'--diff'[Only show lines that have been added/removed/modified]'
32− '(--diff-context)'--diff-context'[Include N lines of context around added/removed/modified lines when using `--diff`]:<N> (lines):()'
33− '(--tabs)'--tabs'[Set the tab width to T spaces]:<T> (tab width):()'
34− '(--wrap)'--wrap='[Specify the text-wrapping mode]:<when>:(auto never character)'
35− '(--terminal-width)'--terminal-width'[Explicitly set the width of the terminal instead of determining it automatically]:<width>'
36− '(-n --number)'{-n,--number}'[Show line numbers]'
37− '(--color)'--color='[When to use colors]:<when>:(auto never always)'
38− '(--italic-text)'--italic-text='[Use italics in output]:<when>:(always never)'
39− '(--decorations)'--decorations='[When to show the decorations]:<when>:(auto never always)'
40− '(--paging)'--paging='[Specify when to use the pager]:<when>:(auto never always)'
41− '(-m --map-syntax)'{-m+,--map-syntax=}'[Use the specified syntax for files matching the glob pattern]:<glob\:syntax>...'
42− '(--theme)'--theme='[Set the color theme for syntax highlighting]:<theme>:->theme'
43− '(: --list-themes --list-languages -L)'--list-themes'[Display all supported highlighting themes]'
44− '(--style)'--style='[Comma-separated list of style elements to display]:<components>:->style'
45− '(-r --line-range)'{-r+,--line-range=}'[Only print the lines from N to M]:<N\:M>...'
46− '(: --list-themes --list-languages -L)'{-L,--list-languages}'[Display all supported languages]'
47− '(: --no-config)'--no-config'[Do not use the configuration file]'
48− '(: --no-custom-assets)'--no-custom-assets'[Do not load custom assets]'
49− '(: --config-dir)'--config-dir'[Show bat'"'"'s configuration directory]'
50− '(: --config-file)'--config-file'[Show path to the configuration file]'
51− '(: --generate-config-file)'--generate-config-file'[Generates a default configuration file]'
52− '(: --cache-dir)'--cache-dir'[Show bat'"'"'s cache directory]'
53− '(: -)'{-h,--help}'[Print this help message]'
54− '(: -)'{-V,--version}'[Show version information]'
55− '*: :_files'
56− )
57−
58− _arguments -S -s $args
59−
60− case "$state" in
61− language)
62− local IFS=$'\n'
63− local -a languages
64− languages=( $({{PROJECT_EXECUTABLE}} --list-languages | awk -F':|,' '{ for (i = 1; i <= NF; ++i) printf("%s:%s\n", $i, $1) }') )
65−
66− _describe 'language' languages
67− ;;
68−
69− theme)
70− local IFS=$'\n'
71− local -a themes
72− themes=( $({{PROJECT_EXECUTABLE}} --list-themes | sort) )
73−
74− _values 'theme' $themes
75− ;;
76−
77− style)
78− _values -s , 'style' default auto full plain changes header header-filename header-filesize grid rule numbers snip
79− ;;
80− esac
81−}
82−
83−# first positional argument
84−if (( ${#words} == 2 )); then
85− local -a subcommands
86− subcommands=('cache:Modify the syntax-definition and theme cache')
87− _describe subcommand subcommands
88− _{{PROJECT_EXECUTABLE}}_main
89−else
90− case $words[2] in
91− cache)
92− _{{PROJECT_EXECUTABLE}}_cache_subcommand
93− ;;
94−
95− *)
96− _{{PROJECT_EXECUTABLE}}_main
97− ;;
98− esac
99−fi
assets/create.shmode 100755 → 100644+26−59
@@ -1,69 +1,36 @@
1−#!/usr/bin/env bash
2−set -euo pipefail
1+set -e
32
4−ASSET_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
5−REPO_DIR="$ASSET_DIR/.."
3+THEME_FOLDER="$HOME/.config/bat/themes"
4+SYNTAX_FOLDER="$HOME/.config/bat/syntax"
65
7−# Ensure submodules are initialized.
8−update_submodules() {
9− local submodule
10− local submodule_prompt=unspecified
11− local submodule_path
12−
13− {
14− while { read -r submodule && read -r submodule_path; } <&3; do
15− if ! [[ -d "${REPO_DIR}/.git/modules/${submodule}" ]] && [[ -d "${REPO_DIR}/${submodule_path}" ]]; then
16− if [[ "$submodule_prompt" = "unspecified" ]]; then
17− echo "One or more submodules were found to be uninitialized."
18− printf "Initialize and update them? [Y/n] "
19− read -r submodule_prompt
20− fi
21−
22− case "$submodule_prompt" in
23− y|yes|'') {
24− git -C "$REPO_DIR" submodule update --init "$submodule_path"
25− };;
26− n|no) {
27− return
28− };;
29− *) {
30− echo "Unknown answer. Not updating submodules."
31− };;
32− esac
33− fi
34− done
35− } 3< <(git config --file "${REPO_DIR}/.gitmodules" --null --get-regexp path | xargs -0 printf "%s\n" | sed 's/^submodule.//;s/.path$//')
36−}
37−
38−if [ -t 0 ]; then
39− update_submodules
6+if [ ! -e "$THEME_FOLDER" ]; then
7+ mkdir -p "$THEME_FOLDER"
8+ (
9+ cd "$THEME_FOLDER"
10+ git clone https://github.com/jonschlinkert/sublime-monokai-extended
11+ ln -s "sublime-monokai-extended/Monokai Extended.tmTheme" Default.tmTheme
12+ )
4013fi
4114
42−# Always remove the local cache to avoid any confusion
43−bat cache --clear
15+if [ ! -e "$SYNTAX_FOLDER" ]; then
16+ mkdir -p "$SYNTAX_FOLDER"
17+ (
18+ cd "$SYNTAX_FOLDER"
19+ git clone https://github.com/sublimehq/Packages/
4420
45−# TODO:
46−# - Remove the JavaDoc patch once https://github.com/trishume/syntect/issues/222 has been fixed
47−# - Remove the C# patch once https://github.com/sublimehq/Packages/pull/2331 has been merged
21+ # Patch JavaScript syntax
22+ sed -i -e 's/{{identifier_break}}+/{{identifier_break}}/' Packages/JavaScript/JavaScript.sublime-syntax
4823
49−# Apply patches
50−(
51− cd "$ASSET_DIR"
52− for patch in patches/*.patch; do
53− patch --strip=0 < "$patch"
54− done
55−)
24+ # Use extended Markdown syntax
25+ rm -rf Packages/Markdown
26+ git clone https://github.com/jonschlinkert/sublime-markdown-extended
5627
57−reverse_patches() {
58− (
59− cd "$ASSET_DIR"
60− for patch in patches/*.patch; do
61− patch --strip=0 --reverse <"$patch"
62− done
28+ # Add additional sxntax definitions
29+ git clone https://github.com/princemaple/elixir-sublime-syntax/
30+ git clone https://github.com/sharkdp/sublime_toml_highlighting
6331 )
64−}
32+fi
6533
66−# Make sure to always reverse patches, even if the `bat cache` command fails or aborts
67−trap reverse_patches EXIT
34+bat init-cache
6835
69−bat cache --build --blank --acknowledgements --source="$ASSET_DIR" --target="$ASSET_DIR"
36+cp "$HOME/.cache/bat"/* .
assets/manual/bat.1.indeleted−238
@@ -1,238 +0,0 @@
1−.TH {{PROJECT_EXECUTABLE_UPPERCASE}} "1"
2−.SH NAME
3−{{PROJECT_EXECUTABLE}} \- a cat(1) clone with syntax highlighting and Git integration.
4−.SH "USAGE"
5−.IP "{{PROJECT_EXECUTABLE}} [OPTIONS] [FILE]..."
6−.IP "{{PROJECT_EXECUTABLE}} cache [CACHE-OPTIONS] [--build|--clear]
7−.SH DESCRIPTION
8−{{PROJECT_EXECUTABLE}} prints the syntax-highlighted content of a collection of FILEs to the
9−terminal. If no FILE is specified, or when FILE is '-', it reads from standard input.
10−
11−{{PROJECT_EXECUTABLE}} supports a large number of programming and markup languages.
12−It also communicates with git(1) to show modifications with respect to the git index.
13−{{PROJECT_EXECUTABLE}} automatically pipes its output through a pager (by default: less).
14−
15−Whenever the output of {{PROJECT_EXECUTABLE}} goes to a non-interactive terminal, i.e. when the
16−output is piped into another process or into a file, {{PROJECT_EXECUTABLE}} will act as a drop-in
17−replacement for cat(1) and fall back to printing the plain file contents.
18−
19−.SH "OPTIONS"
20−General remarks: Command-line options like '-l'/'--language' that take values can be specified as
21−either '--language value', '--language=value', '-l value' or '-lvalue'.
22−.HP
23−\fB\-A\fR, \fB\-\-show\-all\fR
24−.IP
25−Show non\-printable characters like space, tab or newline. Use '\-\-tabs' to
26−control the width of the tab\-placeholders.
27−.HP
28−\fB\-p\fR, \fB\-\-plain\fR
29−.IP
30−Only show plain style, no decorations. This is an alias for
31−\&'\-\-style=plain'. When '\-p' is used twice ('\-pp'), it also disables
32−automatic paging (alias for '\-\-style=plain \fB\-\-pager\fR=\fI\,never\/\fR').
33−.HP
34−\fB\-l\fR, \fB\-\-language\fR <language>
35−.IP
36−Explicitly set the language for syntax highlighting. The language can be
37−specified as a name (like 'C++' or 'LaTeX') or possible file extension
38−(like 'cpp', 'hpp' or 'md'). Use '\-\-list\-languages' to show all supported
39−language names and file extensions.
40−.HP
41−\fB\-H\fR, \fB\-\-highlight\-line\fR <N:M>...
42−.IP
43−Highlight the specified line ranges with a different background color. For example:
44−.RS
45−.IP "\-\-highlight\-line 40"
46−highlights line 40
47−.IP "\-\-highlight\-line 30:40"
48−highlights lines 30 to 40
49−.IP "\-\-highlight\-line :40"
50−highlights lines 1 to 40
51−.IP "\-\-highlight\-line 40:"
52−highlights lines 40 to the end of the file
53−.IP "\-\-highlight\-line 30:+10"
54−highlights lines 30 to 40
55−.RE
56−.HP
57−\fB\-\-file\-name\fR <name>...
58−.IP
59−Specify the name to display for a file. Useful when piping data to {{PROJECT_EXECUTABLE}} from STDIN when {{PROJECT_EXECUTABLE}} does not otherwise know the filename. Note that the provided file name is also used for syntax detection.
60−.HP
61−\fB\-d\fR, \fB\-\-diff\fR
62−.IP
63−Only show lines that have been added/removed/modified with respect to the Git index. Use '\-\-diff\-context=N' to control how much context you want to see.
64−.HP
65−\fB\-\-diff\-context\fR <N>...
66−.IP
67−Include N lines of context around added/removed/modified lines when using '\-\-diff'.
68−.HP
69−\fB\-\-tabs\fR <T>
70−.IP
71−Set the tab width to T spaces. Use a width of 0 to pass tabs through directly
72−.HP
73−\fB\-\-wrap\fR <mode>
74−.IP
75−Specify the text\-wrapping mode (*auto*, never, character). The '\-\-terminal\-width' option
76−can be used in addition to control the output width.
77−.HP
78−\fB\-\-terminal\-width\fR <width>
79−.IP
80−Explicitly set the width of the terminal instead of determining it automatically. If
81−prefixed with '+' or '\-', the value will be treated as an offset to the actual terminal
82−width. See also: '\-\-wrap'.
83−.HP
84−\fB\-n\fR, \fB\-\-number\fR
85−.IP
86−Only show line numbers, no other decorations. This is an alias for '\-\-style=numbers'
87−.HP
88−\fB\-\-color\fR <when>
89−.IP
90−Specify when to use colored output. The automatic mode only enables colors if an
91−interactive terminal is detected. Possible values: *auto*, never, always.
92−.HP
93−\fB\-\-italic\-text\fR <when>
94−.IP
95−Specify when to use ANSI sequences for italic text in the output. Possible values:
96−always, *never*.
97−.HP
98−\fB\-\-decorations\fR <when>
99−.IP
100−Specify when to use the decorations that have been specified via '\-\-style'. The
101−automatic mode only enables decorations if an interactive terminal is detected. Possible
102−values: *auto*, never, always.
103−.HP
104−\fB\-f\fR, \fB\-\-force\-colorization\fR
105−.IP
106−Alias for '--decorations=always --color=always'. This is useful \
107−if the output of {{PROJECT_EXECUTABLE}} is piped to another program, but you want \
108−to keep the colorization/decorations.
109−.HP
110−\fB\-\-paging\fR <when>
111−.IP
112−Specify when to use the pager. To disable the pager, use \&'\-\-paging=never' or its alias,
113−\fB-P\fR. To disable the pager permanently, set BAT_PAGER to an empty string. To control
114−which pager is used, see the '\-\-pager' option. Possible values: *auto*, never, always.
115−.HP
116−\fB\-\-pager\fR <command>
117−.IP
118−Determine which pager is used. This option will override the PAGER and BAT_PAGER
119−environment variables. The default pager is 'less'. To control when the pager is used, see
120−the '\-\-paging' option. Example: '\-\-pager "less \fB\-RF\fR"'.
121−
122−Note: By default, if the pager is set to 'less' (and no command-line options are specified), 'bat' will pass the following command line options to the pager: '-R'/'--RAW-CONTROL-CHARS', '-F'/'--quit-if-one-screen' and '-X'/'--no-init'. The last option ('-X') is only used for 'less' versions older than 530. The '-R' option is needed to interpret ANSI colors correctly. The second option ('-F') instructs less to exit immediately if the output size is smaller than the vertical size of the terminal. This is convenient for small files because you do not have to press 'q' to quit the pager. The third option ('-X') is needed to fix a bug with the '--quit-if-one-screen' feature in old versions of 'less'. Unfortunately, it also breaks mouse-wheel support in 'less'. If you want to enable mouse-wheel scrolling on older versions of 'less', you can pass just '-R' (as in the example above, this will disable the quit-if-one-screen feature). For less 530 or newer, it should work out of the box.
123−.HP
124−\fB\-m\fR, \fB\-\-map\-syntax\fR <glob-pattern:syntax-name>...
125−.IP
126−Map a glob pattern to an existing syntax name. The glob pattern is matched on the full
127−path and the filename. For example, to highlight *.build files with the Python syntax,
128−use -m '*.build:Python'. To highlight files named '.myignore' with the Git Ignore
129−syntax, use -m '.myignore:Git Ignore'.
130−Note that the right-hand side is the *name* of the syntax, not a file extension.
131−.HP
132−\fB\-\-theme\fR <theme>
133−.IP
134−Set the theme for syntax highlighting. Use '\-\-list\-themes' to see all available themes.
135−To set a default theme, add the '\-\-theme="..."' option to the configuration file or
136−export the BAT_THEME environment variable (e.g.: export BAT_THEME="...").
137−.HP
138−\fB\-\-list\-themes\fR
139−.IP
140−Display a list of supported themes for syntax highlighting.
141−.HP
142−\fB\-\-style\fR <style\-components>
143−.IP
144−Configure which elements (line numbers, file headers, grid borders, Git modifications,
145−\&..) to display in addition to the file contents. The argument is a comma\-separated list
146−of components to display (e.g. 'numbers,changes,grid') or a pre\-defined style ('full').
147−To set a default style, add the '\-\-style=".."' option to the configuration file or
148−export the BAT_STYLE environment variable (e.g.: export BAT_STYLE=".."). Possible
149−values: *default*, full, auto, plain, changes, header, header-filename, header-filesize, grid,
150−rule, numbers, snip.
151−.HP
152−\fB\-r\fR, \fB\-\-line\-range\fR <N:M>...
153−.IP
154−Only print the specified range of lines for each file. For example:
155−.RS
156−.IP "\-\-line\-range 30:40"
157−prints lines 30 to 40
158−.IP "\-\-line\-range :40"
159−prints lines 1 to 40
160−.IP "\-\-line\-range 40:"
161−prints lines 40 to the end of the file
162−.IP "\-\-line\-range 30:+10"
163−prints lines 30 to 40
164−.RE
165−.HP
166−\fB\-L\fR, \fB\-\-list\-languages\fR
167−.IP
168−Display a list of supported languages for syntax highlighting.
169−.HP
170−\fB\-u\fR, \fB\-\-unbuffered\fR
171−.IP
172−This option exists for POSIX\-compliance reasons ('u' is for 'unbuffered'). The output is
173−always unbuffered \- this option is simply ignored.
174−.HP
175−\fB\-h\fR, \fB\-\-help\fR
176−.IP
177−Print this help message.
178−.HP
179−\fB\-V\fR, \fB\-\-version\fR
180−.IP
181−Show version information.
182−.SH "POSITIONAL ARGUMENTS"
183−.HP
184−\fB<FILE>...\fR
185−.IP
186−Files to print and concatenate. Use a dash ('\-') or no argument at all to read from
187−standard input.
188−.SH "SUBCOMMANDS"
189−.HP
190−\fBcache\fR - Modify the syntax\-definition and theme cache.
191−.SH "FILES"
192−{{PROJECT_EXECUTABLE}} can also be customized with a configuration file. The location of the file
193−is dependent on your operating system. To get the default path for your system, call:
194−
195−\fB{{PROJECT_EXECUTABLE}} --config-file\fR
196−
197−Alternatively, you can use the BAT_CONFIG_PATH environment variable to point {{PROJECT_EXECUTABLE}} to a non-default
198−location of the configuration file.
199−
200−To generate a default configuration file, call:
201−
202−\fB{{PROJECT_EXECUTABLE}} --generate-config-file\fR
203−.SH "ADDING CUSTOM LANGUAGES"
204−{{PROJECT_EXECUTABLE}} supports Sublime Text \fB.sublime-syntax\fR language files, and can be
205−customized to add additional languages to your local installation. To do this, add the \fB.sublime-syntax\fR language
206−files to `\fB$({{PROJECT_EXECUTABLE}} --config-dir)/syntaxes\fR` and run `\fB{{PROJECT_EXECUTABLE}} cache --build\fR`.
207−
208−\fBExample:\fR
209−
210−.RS 0.5i
211−mkdir -p "$({{PROJECT_EXECUTABLE}} --config-dir)/syntaxes"
212−.br
213−cd "$({{PROJECT_EXECUTABLE}} --config-dir)/syntaxes"
214−
215−# Put new '.sublime-syntax' language definition files
216−.br
217−# in this folder (or its subdirectories), for example:
218−.br
219−git clone https://github.com/tellnobody1/sublime-purescript-syntax
220−
221−# And then build the cache.
222−.br
223−{{PROJECT_EXECUTABLE}} cache --build
224−.RE
225−
226−Once the cache is built, the new language will be visible in `\fB{{PROJECT_EXECUTABLE}} --list-languages\fR`.
227−.br
228−If you ever want to remove the custom languages, you can clear the cache with `\fB{{PROJECT_EXECUTABLE}} cache --clear\fR`.
229−
230−.SH "ADDING CUSTOM THEMES"
231−Similarly to custom languages, {{PROJECT_EXECUTABLE}} supports Sublime Text \fB.tmTheme\fR themes.
232−These can be installed to `\fB$({{PROJECT_EXECUTABLE}} --config-dir)/themes\fR`, and are added to the cache with
233−`\fB{{PROJECT_EXECUTABLE}} cache --build`.
234−.SH "MORE INFORMATION"
235−
236−For more information and up-to-date documentation, visit the {{PROJECT_EXECUTABLE}} repo:
237−.br
238−\fBhttps://github.com/sharkdp/bat\fR
assets/patches/C#.sublime-syntax.patchdeleted−13
@@ -1,13 +0,0 @@
1−diff --git syntaxes/01_Packages/C#/C#.sublime-syntax syntaxes/01_Packages/C#/C#.sublime-syntax
2−index ed494f8b..01b710e8 100644
3−--- syntaxes/01_Packages/C#/C#.sublime-syntax
4−+++ syntaxes/01_Packages/C#/C#.sublime-syntax
5−@@ -1312,7 +1312,7 @@ contexts:
6− 2: punctuation.separator.cs
7− 3: punctuation.section.brackets.end.cs
8− 4: keyword.operator.pointer.cs
9−- - match: \((?=(?:[^,)(]*|\([^\)]*\))*,)
10−+ - match: \((?=(?:[^,)(]|\([^\)]*\))*,)
11− scope: punctuation.section.group.begin.cs
12− push:
13− - meta_scope: meta.group.tuple.cs
assets/patches/Groff.sublime-syntax.patchdeleted−16
@@ -1,16 +0,0 @@
1−diff --git syntaxes/02_Extra/Groff/Man Page/Man Page.sublime-syntax syntaxes/02_Extra/Groff/Man Page/Man Page.sublime-syntax
2−index 57834af..6648664 100644
3−--- syntaxes/02_Extra/Groff/Man Page/Man Page.sublime-syntax
4−+++ syntaxes/02_Extra/Groff/Man Page/Man Page.sublime-syntax
5−@@ -4,9 +4,9 @@
6− # - man-pages(7)
7− # - groff(7)
8− ---
9−-name: Man Page (groff/troff)
10−+name: Groff/troff
11− scope: text.groff
12−-file_extensions: [man, groff, troff, '1', '2', '3', '4', '5', '6', '7']
13−+file_extensions: [groff, troff, '1', '2', '3', '4', '5', '6', '7', '8', '9']
14−
15− contexts:
16− main:
assets/patches/JavaDoc.sublime-syntax.patchdeleted−13
@@ -1,13 +0,0 @@
1−diff --git syntaxes/01_Packages/Java/JavaDoc.sublime-syntax syntaxes/01_Packages/Java/JavaDoc.sublime-syntax
2−index 422a6a9..40a741e 100644
3−--- syntaxes/01_Packages/Java/JavaDoc.sublime-syntax
4−+++ syntaxes/01_Packages/Java/JavaDoc.sublime-syntax
5−@@ -13,7 +13,7 @@ variables:
6− contexts:
7− prototype:
8− # https://docs.oracle.com/javase/7/docs/technotes/tools/windows/javadoc.html#leadingasterisks
9−- - match: ^\s*(\*)\s*(?!\s*@)
10−+ - match: ^\s*(\*)(?!/)\s*(?!\s*@)
11− captures:
12− 1: punctuation.definition.comment.javadoc
13−
assets/patches/Makefile.sublime-syntax.patchdeleted−81
@@ -1,81 +0,0 @@
1−diff --git syntaxes/01_Packages/Makefile/Makefile.sublime-syntax syntaxes/01_Packages/Makefile/Makefile.sublime-syntax
2−index 3cc3a97e..0c7a3f24 100644
3−--- syntaxes/01_Packages/Makefile/Makefile.sublime-syntax
4−+++ syntaxes/01_Packages/Makefile/Makefile.sublime-syntax
5−@@ -44,64 +44,50 @@ variables:
6− # variable substitutions anywhere. We try to remedy this by hacking in a
7− # regex that matches up to four levels of nested parentheses, and ignores
8− # whatever's inside the parentheses.
9−- nps: '[^()]*'
10−- open: '(?:\('
11−- close: '\))?' # ignore this invalid.illegal
12−+ nps_unnested: '[^()]*'
13−+ nps: '[^()]*(?=[()])'
14−+ open: '(?:{{nps}}\('
15−+ close: '\){{nps_unnested}})?' # ignore this invalid.illegal
16− just_eat: | # WARNING: INSANITY FOLLOWS!
17−- (?x) # ignore whitespace in this regex
18−- {{nps}} # level 0
19−+ (?x)(?: # ignore whitespace in this regex
20− {{open}} # start level 1 __
21−- {{nps}} # level 1 _______ /*_>-<
22− {{open}} # start level 2 ___/ _____ \__/ /
23−- {{nps}} # level 2 <____/ \____/
24− {{open}} # start level 3 is like snek... (by Valerie Haecky)
25−- {{nps}} # level 3
26− {{open}} # start level 4
27− {{nps}} # level 4
28− {{close}} # end level 4
29−- {{nps}} # level 3
30− {{close}} # end level 3
31−- {{nps}} # level 2
32− {{open}} # start level 3
33−- {{nps}} # level 3
34− {{open}} # start level 4
35− {{nps}} # level 4
36− {{close}} # end level 4
37−- {{nps}} # level 3
38− {{close}} # end level 3
39−- {{nps}} # level 2
40−+ {{nps}}
41− {{close}} # end level 2
42−- {{nps}} # level 1
43− {{open}} # start level 2
44−- {{nps}} # level 2
45− {{open}} # start level 3
46−- {{nps}} # level 3
47− {{open}} # start level 4
48− {{nps}} # level 4
49− {{close}} # end level 4
50−- {{nps}} # level 3
51−+ {{nps}}
52− {{close}} # end level 3
53−- {{nps}} # level 2
54− {{open}} # start level 3
55−- {{nps}} # level 3
56− {{open}} # start level 4
57− {{nps}} # level 4
58− {{close}} # end level 4
59−- {{nps}} # level 3
60−+ {{nps}}
61− {{close}} # end level 3
62−- {{nps}} # level 2
63− {{open}} # start level 3
64−- {{nps}} # level 3
65− {{open}} # start level 4
66− {{nps}} # level 4
67− {{close}} # end level 4
68−- {{nps}} # level 3
69−+ {{nps}}
70− {{close}} # end level 3
71−- {{nps}} # level 2
72−+ {{nps}}
73− {{close}} # end level 2
74−- {{nps}} # level 1
75−+ {{nps}}
76− {{close}} # end level 1
77−- {{nps}} # level 0
78−+ |{{nps_unnested}})
79− rule_lookahead: '{{just_eat}}{{ruleassign}}{{just_eat}}'
80−
81− var_lookahead_base: '{{just_eat}}({{varassign}}|{{shellassign}}){{just_eat}}'
assets/patches/Markdown.sublime-syntax.patchdeleted−177
@@ -1,177 +0,0 @@
1−diff --git syntaxes/01_Packages/Markdown/Markdown.sublime-syntax syntaxes/01_Packages/Markdown/Markdown.sublime-syntax
2−index 19dc685d..44440c7f 100644
3−--- syntaxes/01_Packages/Markdown/Markdown.sublime-syntax
4−+++ syntaxes/01_Packages/Markdown/Markdown.sublime-syntax
5−@@ -24,7 +24,6 @@ variables:
6− )
7− [ \t]*$ # followed by any number of tabs or spaces, followed by the end of the line
8− )
9−- setext_escape: ^(?=\s{0,3}(?:---+|===+)\s*$)
10− block_quote: (?:[ ]{,3}>(?:.|$)) # between 0 and 3 spaces, followed by a greater than sign, followed by any character or the end of the line
11− atx_heading: (?:[#]{1,6}\s*) # between 1 and 6 hashes, followed by any amount of whitespace
12− indented_code_block: (?:[ ]{4}|\t) # 4 spaces or a tab
13−@@ -277,69 +276,40 @@ contexts:
14− 8: markup.underline.link.markdown
15− push: [link-ref-def, after-link-title, link-title]
16− - match: '^(?=\S)(?![=-]{3,}\s*$)'
17−- branch_point: heading2-branch
18−- branch:
19−- - not-heading2
20−- - heading2
21−-
22−- not-paragraph:
23−- - match: |-
24−- (?x) # pop out of this context when one of the following conditions are met:
25−- ^(?:
26−- \s*$ # the line is blank (or only contains whitespace)
27−- | (?=
28−- {{block_quote}} # a block quote begins the line
29−- | [ ]{,3}[*+-][ ] # an unordered list item begins the line
30−- | [ ]{,3}1[.][ ] # an ordered list item with number "1" begins the line
31−- | \# # an ATX heading begins the line
32−- | [ ]{,3}<( # all types of HTML blocks except type 7 may interrupt a paragraph
33−- {{html_tag_block_end_at_close_tag}} # 1
34−- | !-- # 2
35−- | \? # 3
36−- | ![A-Z] # 4
37−- | !\[CDATA\[ # 5
38−- | {{html_tag_block_end_at_blank_line}} # 6
39−+ push:
40−+ - meta_scope: meta.paragraph.markdown
41−+ - match: |-
42−+ (?x) # pop out of this context when one of the following conditions are met:
43−+ ^(?:
44−+ \s*$ # the line is blank (or only contains whitespace)
45−+ | (?=
46−+ {{block_quote}} # a block quote begins the line
47−+ | [ ]{,3}[*+-][ ] # an unordered list item begins the line
48−+ | [ ]{,3}1[.][ ] # an ordered list item with number "1" begins the line
49−+ | \# # an ATX heading begins the line
50−+ | [ ]{,3}<( # all types of HTML blocks except type 7 may interrupt a paragraph
51−+ {{html_tag_block_end_at_close_tag}} # 1
52−+ | !-- # 2
53−+ | \? # 3
54−+ | ![A-Z] # 4
55−+ | !\[CDATA\[ # 5
56−+ | {{html_tag_block_end_at_blank_line}} # 6
57−+ )
58− )
59− )
60−- )
61−- pop: true
62−-
63−- not-heading2:
64−- - include: not-paragraph
65−- - match: (?=\S)
66−- branch_point: heading1-branch
67−- branch:
68−- - paragraph
69−- - heading1
70−- - match: ''
71−- pop: true
72−-
73−- paragraph:
74−- - meta_scope: meta.paragraph.markdown
75−- - match: ^\s{0,3}===+\s*$
76−- fail: heading1-branch
77−- - match: ^\s{0,3}---+\s*$
78−- fail: heading2-branch
79−- - include: not-paragraph
80−- - include: inline-bold-italic-linebreak
81−- - include: scope:text.html.basic
82−-
83−- heading1:
84−- - meta_scope: markup.heading.1.markdown
85−- - include: inline-bold-italic-linebreak
86−- - match: '^[ \t]{0,3}(={3,})(?=[ \t]*$)'
87−- captures:
88−- 1: markup.heading.1.setext.markdown punctuation.definition.heading.setext.markdown
89−- pop: true
90−-
91−- heading2:
92−- - meta_scope: markup.heading.2.markdown
93−- - include: inline-bold-italic-linebreak
94−- - match: '^[ \t]{0,3}(-{3,})(?=[ \t]*$)'
95−- captures:
96−- 1: markup.heading.2.setext.markdown punctuation.definition.heading.setext.markdown
97−- pop: true
98−-
99−+ pop: true
100−+ - include: inline-bold-italic-linebreak
101−+ - include: scope:text.html.basic
102−+ - match: '^(={3,})(?=[ \t]*$)'
103−+ scope: markup.heading.1.setext.markdown
104−+ captures:
105−+ 1: punctuation.definition.heading.setext.markdown
106−+ pop: true
107−+ - match: '^(-{3,})(?=[ \t]*$)'
108−+ scope: markup.heading.2.setext.markdown
109−+ captures:
110−+ 1: punctuation.definition.heading.setext.markdown
111−+ pop: true
112− link-ref-def:
113− - meta_scope: meta.link.reference.def.markdown
114− - match: ''
115−@@ -430,8 +400,6 @@ contexts:
116− push:
117− - meta_scope: markup.bold.markdown
118− - meta_content_scope: markup.italic.markdown
119−- - match: '{{setext_escape}}'
120−- pop: true
121− - match: |-
122− (?x)
123− [ \t]*\*{4,} # if there are more than 3 its not applicable to be bold or italic
124−@@ -446,8 +414,6 @@ contexts:
125− scope: punctuation.definition.bold.end.markdown
126− set:
127− - meta_content_scope: markup.italic.markdown
128−- - match: '{{setext_escape}}'
129−- pop: true
130− - match: |-
131− (?x)
132− [ \t]*\*{3,} # if there are more than 3 its not applicable to be bold or italic
133−@@ -463,8 +429,6 @@ contexts:
134− scope: punctuation.definition.italic.end.markdown
135− set:
136− - meta_content_scope: markup.bold.markdown
137−- - match: '{{setext_escape}}'
138−- pop: true
139− - match: |-
140− (?x)
141− [ \t]*\*{3,} # if there are more than 3 its not applicable to be bold or italic
142−@@ -727,8 +691,6 @@ contexts:
143− scope: punctuation.definition.italic.begin.markdown
144− push:
145− - meta_scope: markup.italic.markdown
146−- - match: '{{setext_escape}}'
147−- pop: true
148− - match: |-
149− (?x)
150− [ \t]*\*{4,} # if there are more than 3 its not applicable to be bold or italic
151−@@ -745,8 +707,6 @@ contexts:
152− scope: punctuation.definition.italic.begin.markdown
153− push:
154− - meta_scope: markup.italic.markdown
155−- - match: '{{setext_escape}}'
156−- pop: true
157− - match: |-
158− (?x)
159− [ \t]*_{4,} # if there are more than 3 its not applicable to be bold or italic
160−@@ -773,8 +733,6 @@ contexts:
161− - include: bold-italic-trailing
162− bold-italic-trailing:
163− - include: scope:text.html.basic
164−- - match: '{{setext_escape}}'
165−- pop: true
166− - match: ^\s*$\n?
167− scope: invalid.illegal.non-terminated.bold-italic.markdown
168− pop: true
169−@@ -1152,7 +1110,7 @@ contexts:
170− - match: |-
171− (?x)
172− {{fenced_code_block_start}}
173−- ((?i:rust))
174−+ ((?i:rust|rs))
175− {{fenced_code_block_trailing_infostring_characters}}
176− captures:
177− 0: meta.code-fence.definition.begin.rust.markdown-gfm
assets/patches/MediaWiki.sublime-syntax.patchdeleted−13
@@ -1,13 +0,0 @@
1−diff --git syntaxes/02_Extra/MediaWiki/MediawikiNG.sublime-syntax syntaxes/02_Extra/MediaWiki/MediawikiNG.sublime-syntax
2−index f542c9e..8eaf020 100644
3−--- syntaxes/02_Extra/MediaWiki/MediawikiNG.sublime-syntax
4−+++ syntaxes/02_Extra/MediaWiki/MediawikiNG.sublime-syntax
5−@@ -1,7 +1,7 @@
6− %YAML 1.2
7− ---
8− # http://www.sublimetext.com/docs/3/syntax.html
9−-name: Mediawiki NG
10−+name: MediaWiki
11− file_extensions: [mediawiki, wikipedia, wiki]
12− scope: text.html.mediawiki
13−
assets/patches/Monokai-Extended.tmTheme.patchdeleted−36
@@ -1,36 +0,0 @@
1−diff --git themes/sublime-monokai-extended/Monokai\ Extended.tmTheme themes/sublime-monokai-extended/Monokai\ Extended.tmTheme
2−index 9c2aa3e..180cbbf 100644
3−--- themes/sublime-monokai-extended/Monokai Extended.tmTheme
4−+++ themes/sublime-monokai-extended/Monokai Extended.tmTheme
5−@@ -810,11 +810,11 @@
6− <key>name</key>
7− <string>JSON String</string>
8− <key>scope</key>
9−- <string>meta.structure.dictionary.json string.quoted.double.json</string>
10−+ <string>meta.mapping.key.json string.quoted.double.json, punctuation.separator.sequence.csv</string>
11− <key>settings</key>
12− <dict>
13− <key>foreground</key>
14−- <string>#cfcfc2</string>
15−+ <string>#fd971f</string>
16− </dict>
17− </dict>
18− <dict>
19−@@ -1027,7 +1027,7 @@
20− <key>name</key>
21− <string>Invalid</string>
22− <key>scope</key>
23−- <string>invalid</string>
24−+ <string>invalid, markup.error</string>
25− <key>settings</key>
26− <dict>
27− <key>background</key>
28−@@ -1042,7 +1042,7 @@
29− <key>name</key>
30− <string>Invalid deprecated</string>
31− <key>scope</key>
32−- <string>invalid.deprecated</string>
33−+ <string>invalid.deprecated, markup.warning</string>
34− <key>settings</key>
35− <dict>
36− <key>background</key>
assets/patches/Python.sublime-syntax.patchdeleted−15
@@ -1,15 +0,0 @@
1−diff --git syntaxes/01_Packages/Python/Python.sublime-syntax syntaxes/01_Packages/Python/Python.sublime-syntax
2−index 2acd86d8..86257f7b 100644
3−--- syntaxes/01_Packages/Python/Python.sublime-syntax
4−+++ syntaxes/01_Packages/Python/Python.sublime-syntax
5−@@ -988,10 +988,6 @@ contexts:
6− - match: \}
7− scope: punctuation.section.mapping-or-set.end.python
8− set: after-expression
9−- - match: (?={{simple_expression}}:|\s*\*\*)
10−- set: inside-dictionary
11−- - match: (?={{simple_expression}}[,}]|\s*\*)
12−- set: inside-set
13− - match: ','
14− scope: punctuation.separator.set.python
15− set: inside-set
assets/patches/Rust.sublime-syntax.patchdeleted−13
@@ -1,13 +0,0 @@
1−diff --git syntaxes/01_Packages/Rust/Rust.sublime-syntax syntaxes/01_Packages/Rust/Rust.sublime-syntax
2−index 3c354486..24727a4e 100644
3−--- syntaxes/01_Packages/Rust/Rust.sublime-syntax
4−+++ syntaxes/01_Packages/Rust/Rust.sublime-syntax
5−@@ -907,6 +907,8 @@ contexts:
6− - include: type-any-identifier
7− - match: ':'
8− scope: punctuation.separator.rust
9−+ - match: (?=;)
10−+ pop: true
11−
12− fn-body:
13− - meta_scope: meta.function.rust
assets/patches/ShellScript.sublime-syntax.patchdeleted−20
@@ -1,20 +0,0 @@
1−diff --git syntaxes/01_Packages/ShellScript/Bash.sublime-syntax syntaxes/01_Packages/ShellScript/Bash.sublime-syntax
2−index e973e319..07c170a7 100644
3−--- syntaxes/01_Packages/ShellScript/Bash.sublime-syntax
4−+++ syntaxes/01_Packages/ShellScript/Bash.sublime-syntax
5−@@ -30,12 +30,12 @@ file_extensions:
6− - .zshenv
7− - .zshrc
8− - PKGBUILD # https://jlk.fjfi.cvut.cz/arch/manpages/man/PKGBUILD.5
9−- - .ebuild
10−- - .eclass
11−+ - ebuild
12−+ - eclass
13−
14− first_line_match: |
15− (?x)
16−- ^\#! .* \b(bash|zsh|sh|tcsh|ash)\b
17−+ ^\#! .* \b(bash|zsh|sh|tcsh|ash|dash)\b
18− | ^\# \s* -\*- [^*]* mode: \s* shell-script [^*]* -\*-
19−
20− #-------------------------------------------------------------------------------
assets/patches/XML.sublime-syntax.patchdeleted−12
@@ -1,12 +0,0 @@
1−diff --git syntaxes/01_Packages/XML/XML.sublime-syntax syntaxes/01_Packages/XML/XML.sublime-syntax
2−index ad7d9c87..af4a00f0 100644
3−--- syntaxes/01_Packages/XML/XML.sublime-syntax
4−+++ syntaxes/01_Packages/XML/XML.sublime-syntax
5−@@ -12,6 +12,7 @@ file_extensions:
6− - rss
7− - opml
8− - svg
9−+ - xaml
10− first_line_match: |-
11− (?x:
12− ^(?:
assets/syntax_setnew file

Binary file not shown.

assets/syntaxes.bindeleted

Binary file not shown.

assets/syntaxes/01_Packagesdeleted−1

Submodule changed.

assets/syntaxes/02_Extra/AWKdeleted−1

Submodule changed.

assets/syntaxes/02_Extra/Apachedeleted−1

Submodule changed.

assets/syntaxes/02_Extra/Apache.sublime-syntaxdeleted−221
@@ -1,221 +0,0 @@
1−%YAML 1.2
2−---
3−# http://www.sublimetext.com/docs/3/syntax.html
4−name: Apache Conf
5−file_extensions:
6− - envvars
7− - htaccess
8− - HTACCESS
9− - htgroups
10− - HTGROUPS
11− - htpasswd
12− - HTPASSWD
13− - .htaccess
14− - .HTACCESS
15− - .htgroups
16− - .HTGROUPS
17− - .htpasswd
18− - .HTPASSWD
19−scope: source.apacheconf
20−contexts:
21− main:
22− - match: ^(\s)*(#).*$\n?
23− scope: comment.line.hash.ini
24− captures:
25− 1: punctuation.definition.comment.apacheconf
26− - match: (<)(Proxy|ProxyMatch|IfVersion|Directory|DirectoryMatch|Files|FilesMatch|IfDefine|IfModule|Limit|LimitExcept|Location|LocationMatch|VirtualHost|Macro|If|Else|ElseIf)(\s(.+?))?(>)
27− captures:
28− 1: punctuation.definition.tag.apacheconf
29− 2: entity.tag.apacheconf
30− 4: string.value.apacheconf
31− 5: punctuation.definition.tag.apacheconf
32− - match: (</)(Proxy|ProxyMatch|IfVersion|Directory|DirectoryMatch|Files|FilesMatch|IfDefine|IfModule|Limit|LimitExcept|Location|LocationMatch|VirtualHost|Macro|If|Else|ElseIf)(>)
33− captures:
34− 1: punctuation.definition.tag.apacheconf
35− 2: entity.tag.apacheconf
36− 3: punctuation.definition.tag.apacheconf
37− - match: (?<=(Rewrite(Rule|Cond)))\s+(.+?)\s+(.+?)($|\s)
38− captures:
39− 3: string.regexp.apacheconf
40− 4: string.replacement.apacheconf
41− - match: (?<=RedirectMatch)(\s+(\d\d\d|permanent|temp|seeother|gone))?\s+(.+?)\s+((.+?)($|\s))?
42− captures:
43− 2: entity.status.apacheconf
44− 3: string.regexp.apacheconf
45− 5: string.path.apacheconf
46− - match: (?<=Redirect)(\s+(\d\d\d|permanent|temp|seeother|gone))?\s+(.+?)\s+((.+?)($|\s))?
47− captures:
48− 2: entity.status.apacheconf
49− 3: string.path.apacheconf
50− 5: string.path.apacheconf
51− - match: (?<=ScriptAliasMatch|AliasMatch)\s+(.+?)\s+((.+?)\s)?
52− captures:
53− 1: string.regexp.apacheconf
54− 3: string.path.apacheconf
55− - match: (?<=RedirectPermanent|RedirectTemp|ScriptAlias|Alias)\s+(.+?)\s+((.+?)($|\s))?
56− captures:
57− 1: string.path.apacheconf
58− 3: string.path.apacheconf
59− - match: \b(AcceptPathInfo|AccessFileName|AddDefaultCharset|AddOutputFilterByType|AllowEncodedSlashes|AllowOverride|AuthName|AuthType|CGIMapExtension|ContentDigest|DefaultType|Define|DocumentRoot|EnableMMAP|EnableSendfile|ErrorDocument|ErrorLog|FileETag|ForceType|HostnameLookups|IdentityCheck|Include(Optional)?|KeepAlive|KeepAliveTimeout|LimitInternalRecursion|LimitRequestBody|LimitRequestFields|LimitRequestFieldSize|LimitRequestLine|LimitXMLRequestBody|LogLevel|MaxKeepAliveRequests|Mutex|NameVirtualHost|Options|Require|RLimitCPU|RLimitMEM|RLimitNPROC|Satisfy|ScriptInterpreterSource|ServerAdmin|ServerAlias|ServerName|ServerPath|ServerRoot|ServerSignature|ServerTokens|SetHandler|SetInputFilter|SetOutputFilter|Time(O|o)ut|TraceEnable|UseCanonicalName|Use|ErrorLogFormat|GlobalLog|PHPIniDir|SSLHonorCipherOrder|SSLCompression|SSLUseStapling|SSLStapling\w+|SSLCARevocationCheck|SSLSRPVerifierFile|SSLSessionTickets|RequestReadTimeout|ProxyHTML\w+|MaxRanges)\b
60− captures:
61− 1: keyword.core.apacheconf
62− - match: \b(AcceptMutex|AssignUserID|BS2000Account|ChildPerUserID|CoreDumpDirectory|EnableExceptionHook|Group|Listen|ListenBacklog|LockFile|MaxClients|MaxConnectionsPerChild|MaxMemFree|MaxRequestsPerChild|MaxRequestsPerThread|MaxRequestWorkers|MaxSpareServers|MaxSpareThreads|MaxThreads|MaxThreadsPerChild|MinSpareServers|MinSpareThreads|NumServers|PidFile|ReceiveBufferSize|ScoreBoardFile|SendBufferSize|ServerLimit|StartServers|StartThreads|ThreadLimit|ThreadsPerChild|ThreadStackSize|User|Win32DisableAcceptEx)\b
63− captures:
64− 1: keyword.mpm.apacheconf
65− - match: \b(Allow|Deny|Order)\b
66− captures:
67− 1: keyword.access.apacheconf
68− - match: \b(Action|Script)\b
69− captures:
70− 1: keyword.actions.apacheconf
71− - match: \b(Alias|AliasMatch|Redirect|RedirectMatch|RedirectPermanent|RedirectTemp|ScriptAlias|ScriptAliasMatch)\b
72− captures:
73− 1: keyword.alias.apacheconf
74− - match: \b(AuthAuthoritative|AuthGroupFile|AuthUserFile|AuthBasicProvider|AuthBasicFake|AuthBasicAuthoritative|AuthBasicUseDigestAlgorithm)\b
75− captures:
76− 1: keyword.auth.apacheconf
77− - match: \b(Anonymous|Anonymous_Authoritative|Anonymous_LogEmail|Anonymous_MustGiveEmail|Anonymous_NoUserID|Anonymous_VerifyEmail)\b
78− captures:
79− 1: keyword.auth_anon.apacheconf
80− - match: \b(AuthDBMAuthoritative|AuthDBMGroupFile|AuthDBMType|AuthDBMUserFile)\b
81− captures:
82− 1: keyword.auth_dbm.apacheconf
83− - match: \b(AuthDigestAlgorithm|AuthDigestDomain|AuthDigestFile|AuthDigestGroupFile|AuthDigestNcCheck|AuthDigestNonceFormat|AuthDigestNonceLifetime|AuthDigestQop|AuthDigestShmemSize|AuthDigestProvider)\b
84− captures:
85− 1: keyword.auth_digest.apacheconf
86− - match: \b(AuthLDAPAuthoritative|AuthLDAPBindDN|AuthLDAPBindPassword|AuthLDAPCharsetConfig|AuthLDAPCompareDNOnServer|AuthLDAPDereferenceAliases|AuthLDAPEnabled|AuthLDAPFrontPageHack|AuthLDAPGroupAttribute|AuthLDAPGroupAttributeIsDN|AuthLDAPRemoteUserIsDN|AuthLDAPUrl)\b
87− captures:
88− 1: keyword.auth_ldap.apacheconf
89− - match: \b(AddAlt|AddAltByEncoding|AddAltByType|AddDescription|AddIcon|AddIconByEncoding|AddIconByType|DefaultIcon|HeaderName|IndexIgnore|IndexOptions|IndexOrderDefault|IndexStyleSheet|IndexHeadInsert|ReadmeName)\b
90− captures:
91− 1: keyword.autoindex.apacheconf
92− - match: \b(BalancerMember|BalancerGrowth|BalancerPersist|BalancerInherit)\b
93− captures:
94− 1: keyword.filter.apacheconf
95− - match: \b(CacheDefaultExpire|CacheDisable|CacheEnable|CacheForceCompletion|CacheIgnoreCacheControl|CacheIgnoreHeaders|CacheIgnoreNoLastMod|CacheLastModifiedFactor|CacheMaxExpire)\b
96− captures:
97− 1: keyword.cache.apacheconf
98− - match: \b(MetaDir|MetaFiles|MetaSuffix)\b
99− captures:
100− 1: keyword.cern_meta.apacheconf
101− - match: \b(ScriptLog|ScriptLogBuffer|ScriptLogLength)\b
102− captures:
103− 1: keyword.cgi.apacheconf
104− - match: \b(ScriptLog|ScriptLogBuffer|ScriptLogLength|ScriptSock)\b
105− captures:
106− 1: keyword.cgid.apacheconf
107− - match: \b(CharsetDefault|CharsetOptions|CharsetSourceEnc)\b
108− captures:
109− 1: keyword.charset_lite.apacheconf
110− - match: \b(Dav|DavDepthInfinity|DavMinTimeout|DavLockDB)\b
111− captures:
112− 1: keyword.dav.apacheconf
113− - match: \b(DeflateBufferSize|DeflateCompressionLevel|DeflateFilterNote|DeflateMemLevel|DeflateWindowSize)\b
114− captures:
115− 1: keyword.deflate.apacheconf
116− - match: \b(DirectoryIndex|DirectorySlash|FallbackResource)\b
117− captures:
118− 1: keyword.dir.apacheconf
119− - match: \b(CacheDirLength|CacheDirLevels|CacheExpiryCheck|CacheGcClean|CacheGcDaily|CacheGcInterval|CacheGcMemUsage|CacheGcUnused|CacheMaxFileSize|CacheMinFileSize|CacheRoot|CacheSize|CacheTimeMargin)\b
120− captures:
121− 1: keyword.disk_cache.apacheconf
122− - match: \b(DumpIOInput|DumpIOOutput)\b
123− captures:
124− 1: keyword.dumpio.apacheconf
125− - match: \b(PassEnv|SetEnv|UnsetEnv)\b
126− captures:
127− 1: keyword.env.apacheconf
128− - match: \b(ExpiresActive|ExpiresByType|ExpiresDefault)\b
129− captures:
130− 1: keyword.expires.apacheconf
131− - match: \b(ExtFilterDefine|ExtFilterOptions)\b
132− captures:
133− 1: keyword.ext_filter.apacheconf
134− - match: \b(CacheFile|MMapFile)\b
135− captures:
136− 1: keyword.file_cache.apacheconf
137− - match: \b(AddOutputFilterByType|FilterChain|FilterDeclare|FilterProtocol|FilterProvider|FilterTrace)\b
138− captures:
139− 1: keyword.filter.apacheconf
140− - match: \b(Header|RequestHeader)\b
141− captures:
142− 1: keyword.headers.apacheconf
143− - match: \b(ImapBase|ImapDefault|ImapMenu)\b
144− captures:
145− 1: keyword.imap.apacheconf
146− - match: \b(SSIEndTag|SSIErrorMsg|SSIStartTag|SSITimeFormat|SSIUndefinedEcho|XBitHack)\b
147− captures:
148− 1: keyword.include.apacheconf
149− - match: \b(ISAPIAppendLogToErrors|ISAPIAppendLogToQuery|ISAPICacheFile|ISAPIFakeAsync|ISAPILogNotSupported|ISAPIReadAheadBuffer)\b
150− captures:
151− 1: keyword.isapi.apacheconf
152− - match: \b(LDAPCacheEntries|LDAPCacheTTL|LDAPConnectionTimeout|LDAPOpCacheEntries|LDAPOpCacheTTL|LDAPSharedCacheFile|LDAPSharedCacheSize|LDAPTrustedCA|LDAPTrustedCAType)\b
153− captures:
154− 1: keyword.ldap.apacheconf
155− - match: \b(BufferedLogs|CookieLog|CustomLog|LogFormat|TransferLog|ForensicLog)\b
156− captures:
157− 1: keyword.log.apacheconf
158− - match: \b(MCacheMaxObjectCount|MCacheMaxObjectSize|MCacheMaxStreamingBuffer|MCacheMinObjectSize|MCacheRemovalAlgorithm|MCacheSize)\b
159− captures:
160− 1: keyword.mem_cache.apacheconf
161− - match: \b(AddCharset|AddEncoding|AddHandler|AddInputFilter|AddLanguage|AddOutputFilter|AddType|DefaultLanguage|ModMimeUsePathInfo|MultiviewsMatch|RemoveCharset|RemoveEncoding|RemoveHandler|RemoveInputFilter|RemoveLanguage|RemoveOutputFilter|RemoveType|TypesConfig)\b
162− captures:
163− 1: keyword.mime.apacheconf
164− - match: \b(ProtocolEcho|Example|AddModuleInfo|MimeMagicFile|CheckSpelling|ExtendedStatus|SuexecUserGroup|UserDir)\b
165− captures:
166− 1: keyword.misc.apacheconf
167− - match: \b(CacheNegotiatedDocs|ForceLanguagePriority|LanguagePriority)\b
168− captures:
169− 1: keyword.negotiation.apacheconf
170− - match: \b(NWSSLTrustedCerts|NWSSLUpgradeable|SecureListen)\b
171− captures:
172− 1: keyword.nw_ssl.apacheconf
173− - match: \b(AllowCONNECT|NoProxy|ProxyBadHeader|ProxyBlock|ProxyDomain|ProxyErrorOverride|ProxyFtpDirCharset|ProxyIOBufferSize|ProxyMaxForwards|ProxyPass|ProxyPassMatch|ProxyPassReverse|ProxyPreserveHost|ProxyReceiveBufferSize|ProxyRemote|ProxyRemoteMatch|ProxyRequests|ProxyTimeout|ProxyVia)\b
174− captures:
175− 1: keyword.proxy.apacheconf
176− - match: \b(RewriteBase|RewriteCond|RewriteEngine|RewriteLock|RewriteLog|RewriteLogLevel|RewriteMap|RewriteOptions|RewriteRule)\b
177− captures:
178− 1: keyword.rewrite.apacheconf
179− - match: \b(BrowserMatch|BrowserMatchNoCase|SetEnvIf|SetEnvIfNoCase)\b
180− captures:
181− 1: keyword.setenvif.apacheconf
182− - match: \b(LoadFile|LoadModule)\b
183− captures:
184− 1: keyword.so.apacheconf
185− - match: \b(SSLCACertificateFile|SSLCACertificatePath|SSLCARevocationFile|SSLCARevocationPath|SSLCertificateChainFile|SSLCertificateFile|SSLCertificateKeyFile|SSLCipherSuite|SSLEngine|SSLMutex|SSLOptions|SSLPassPhraseDialog|SSLProtocol|SSLProxyCACertificateFile|SSLProxyCACertificatePath|SSLProxyCARevocationFile|SSLProxyCARevocationPath|SSLProxyCipherSuite|SSLProxyEngine|SSLProxyMachineCertificateFile|SSLProxyMachineCertificatePath|SSLProxyProtocol|SSLProxyVerify|SSLProxyVerifyDepth|SSLRandomSeed|SSLRequire|SSLRequireSSL|SSLSessionCache|SSLSessionCacheTimeout|SSLUserName|SSLVerifyClient|SSLVerifyDepth|SSLInsecureRenegotiation|SSLOpenSSLConfCmd)\b
186− captures:
187− 1: keyword.ssl.apacheconf
188− - match: \b(Substitute|SubstituteInheritBefore|SubstituteMaxLineLength)\b
189− captures:
190− 1: keyword.substitute.apacheconf
191− - match: \b(CookieDomain|CookieExpires|CookieName|CookieStyle|CookieTracking)\b
192− captures:
193− 1: keyword.usertrack.apacheconf
194− - match: \b(VirtualDocumentRoot|VirtualDocumentRootIP|VirtualScriptAlias|VirtualScriptAliasIP)\b
195− captures:
196− 1: keyword.vhost_alias.apacheconf
197− - match: \b(php_value|php_flag|php_admin_value|php_admin_flag)\b(\s+(.+?)(\s+(".+?"|.+?))?)?\s
198− captures:
199− 1: keyword.php.apacheconf
200− 3: entity.property.apacheconf
201− 5: string.value.apacheconf
202− - match: '(%\{)((HTTP_USER_AGENT|HTTP_REFERER|HTTP_COOKIE|HTTP_FORWARDED|HTTP_HOST|HTTP_PROXY_CONNECTION|HTTP_ACCEPT|REMOTE_ADDR|REMOTE_HOST|REMOTE_PORT|REMOTE_USER|REMOTE_IDENT|REQUEST_METHOD|SCRIPT_FILENAME|PATH_INFO|QUERY_STRING|AUTH_TYPE|DOCUMENT_ROOT|SERVER_ADMIN|SERVER_NAME|SERVER_ADDR|SERVER_PORT|SERVER_PROTOCOL|SERVER_SOFTWARE|TIME_YEAR|TIME_MON|TIME_DAY|TIME_HOUR|TIME_MIN|TIME_SEC|TIME_WDAY|TIME|API_VERSION|THE_REQUEST|REQUEST_URI|REQUEST_FILENAME|IS_SUBREQ|HTTPS)|(.*?))(\})'
203− captures:
204− 1: punctuation.variable.apacheconf
205− 3: variable.env.apacheconf
206− 4: variable.misc.apacheconf
207− 5: punctuation.variable.apacheconf
208− - match: \b((text|image|application|video|audio)/.+?)\s
209− captures:
210− 1: entity.mime-type.apacheconf
211− - match: \b(?i)(export|from|unset|set|on|off)\b
212− captures:
213− 1: entity.helper.apacheconf
214− - match: \b(\d+)\b
215− captures:
216− 1: constant.numeric.integer.decimal.apacheconf
217− - match: '\s(\[)(.*?)(\])\s'
218− captures:
219− 1: punctuation.definition.flag.apacheconf
220− 2: string.flag.apacheconf
221− 3: punctuation.definition.flag.apacheconf
assets/syntaxes/02_Extra/AsciiDocdeleted−1

Submodule changed.

assets/syntaxes/02_Extra/AsciiDoc.sublime-syntaxdeleted−997
@@ -1,997 +0,0 @@
1−%YAML 1.2
2−---
3−# http://www.sublimetext.com/docs/3/syntax.html
4−name: AsciiDoc (Asciidoctor)
5−file_extensions:
6− - adoc
7− - ad
8− - asciidoc
9−scope: text.asciidoc
10−contexts:
11− main:
12− - include: lists
13− - include: blocks
14− - include: section_titles
15− - include: lines
16− - include: inline
17− - include: characters
18− attribute_entry:
19− - match: |-
20− (?x)
21− ^(:) # opening delimiter
22− (!)? # bang symbol (unset attribute)
23− ([A-Za-z0-9_][A-Za-z0-9_-]*) # attribute name
24− (!)? # bang symbol (unset attribute)
25− (:) # closing delimiter
26− (?:\s+|(?=$))
27− comment: |
28− An attribute entry.
29−
30− Examples:
31− :my-attribute: value
32− :sectnums!:
33− :!sectnums:
34− captures:
35− 1: punctuation.definition.attributeentry.attrname.begin.asciidoc
36− 2: punctuation.definition.attributeentry.unset.asciidoc
37− 3: support.variable.attribute.asciidoc
38− 4: punctuation.definition.attributeentry.unset.asciidoc
39− 5: punctuation.definition.attributeentry.attrname.end.asciidoc
40− push:
41− - meta_scope: meta.attributeentry.asciidoc
42− - meta_content_scope: meta.attributeentry.value.asciidoc
43− - match: $\n?
44− pop: true
45− - include: characters
46− attribute_list_line:
47− - match: '^(\[)[^\[\]]*(\])\s*$\n?'
48− comment: "Attribute list as paragraph: single brackets. No need for special treatment of escape; follows literal block, section template as being a more general regex."
49− scope: support.variable.attributelist.asciidoc
50− captures:
51− 1: punctuation.definition.attributelistline.begin.asciidoc
52− 2: punctuation.definition.attributelistline.end.asciidoc
53− attribute_reference:
54− - match: "({)([A-Za-z0-9_][A-Za-z0-9_-]*)(})"
55− comment: |
56− Examples:
57− {my-attribute}
58− scope: variable.other
59− captures:
60− 1: constant.character.attributes.reference.begin.asciidoc
61− 2: support.variable.attribute.asciidoc
62− 3: constant.character.attributes.reference.end.asciidoc
63− biblio_anchor:
64− - match: '(?<!\[)(\[\[\[).*?(\]\]\])(?!\])'
65− comment: |
66− Bibliography anchor
67−
68− Examples:
69− [[[Lorem ipsum]]]
70− scope: storage.type.reference.biblioanchor.asciidoc
71− captures:
72− 1: punctuation.definition.biblioanchor.begin.asciidoc
73− 2: punctuation.definition.biblioanchor.end.asciidoc
74− block_admonition_label:
75− - match: ^(NOTE|TIP|IMPORTANT|WARNING|CAUTION):(?=\s+)
76− comment: |
77− Label of an admonition block.
78−
79− Examples:
80− NOTE: This is a admonition block.
81− WARNING: Be aware of them!
82− scope: support.constant.admonitionword.asciidoc
83− block_comment:
84− - match: '^(/{4,})\s*$\n?'
85− comment: |
86− Examples:
87− ////
88− A multi-line comment.
89− Notice it's a delimited block.
90− ////
91− captures:
92− 0: punctuation.definition.comment.begin.asciidoc
93− push:
94− - meta_scope: comment.block.asciidoc
95− - meta_content_scope: meta.block.comment.content.asciidoc
96− - match: ^\1\s*$\n?
97− captures:
98− 0: punctuation.definition.comment.end.asciidoc
99− pop: true
100− - include: macro
101− block_example:
102− - match: '^(={4,})\s*$\n?'
103− comment: |
104− Examples:
105− ====
106− Lorem ipsum.
107− ====
108−
109− Note: Might need to add more includes, but these are the ones that arise in
110− practice for me.
111− captures:
112− 0: constant.delimiter.example.begin.asciidoc
113− push:
114− - meta_scope: string.unquoted.block.example.asciidoc
115− - meta_content_scope: meta.block.example.content.asciidoc
116− - match: ^\1\s*$\n?
117− captures:
118− 0: constant.delimiter.example.end.asciidoc
119− pop: true
120− - include: lists
121− - include: block_listing
122− - include: lines
123− - include: inline
124− - include: characters
125− block_id:
126− - match: '^(\[\[)([^\[].*)(\]\])\s*$\n?'
127− comment: |
128− A block id (i.e. anchor).
129−
130− Examples:
131− [[myid]]
132− Lorem ipsum dolor.
133− scope: meta.tag.blockid.asciidoc
134− captures:
135− 1: punctuation.definition.blockid.begin.asciidoc
136− 2: markup.underline.blockid.id.asciidoc
137− 3: punctuation.definition.blockid.end.asciidoc
138− block_listing:
139− - match: '^(\-{4,})\s*$\n?'
140− comment: |
141− Examples:
142− ----
143− Lorem ipsum.
144− ----
145− captures:
146− 0: constant.delimiter.listing.begin.asciidoc
147− push:
148− - meta_scope: meta.embedded.block.listing.asciidoc
149− - meta_content_scope: source.block.listing.content.asciidoc
150− - match: ^\1\s*$\n?
151− captures:
152− 0: constant.delimiter.listing.end.asciidoc
153− pop: true
154− - include: inline_callout
155− block_literal:
156− - match: '^(\.{4,})\s*$\n?'
157− comment: |
158− Examples:
159− ....
160− Lorem ipsum.
161− ....
162− captures:
163− 0: constant.delimiter.block.literal.begin.asciidoc
164− push:
165− - meta_scope: string.literal.block.delimited.asciidoc
166− - meta_content_scope: meta.block.literal.content.asciidoc
167− - match: ^\1\s*$\n?
168− captures:
169− 0: constant.delimiter.block.literal.end.asciidoc
170− pop: true
171− - include: inline_callout
172− block_open:
173− - match: ^\-\-\s*$\n?
174− comment: |
175− Examples:
176− --
177− Lorem ipsum
178− --
179− Note: Might need to check on these includes.
180− captures:
181− 0: constant.delimiter.block.open.begin.asciidoc
182− push:
183− - meta_scope: meta.block.open.asciidoc
184− - meta_content_scope: meta.block.open.content.asciidoc
185− - match: ^\-\-\s*$\n?
186− captures:
187− 0: constant.delimiter.block.open.end.asciidoc
188− pop: true
189− - include: lists
190− - include: block_comment
191− - include: block_listing
192− - include: block_pass
193− - include: lines
194− - include: inline
195− - include: characters
196− block_page_break:
197− - match: '^<{3,}$\n?'
198− comment: |
199− A page break.
200−
201− Examples:
202− <<<
203− <<<<<
204− scope: meta.separator.pagebreak.asciidoc
205− block_pass:
206− - match: '^(\+{4,})\s*$\n?'
207− captures:
208− 0: constant.delimiter.block.passthrough.begin.asciidoc
209− push:
210− - meta_scope: meta.embedded.block.passthrough.asciidoc
211− - meta_content_scope: text.xml.block.passthrough.content.asciidoc
212− - match: ^\1\s*$\n?
213− captures:
214− 0: constant.delimiter.block.passthrough.end.asciidoc
215− pop: true
216− - include: scope:text.xml
217− block_quote:
218− - match: '^(_{4,})\s*$\n?'
219− comment: |
220− Examples:
221− ____
222− Lorem ipsum
223− ____
224−
225− Note: Might need to add more includes, but these are the ones that arise for me in practice.
226− captures:
227− 0: constant.delimiter.block.quote.begin.asciidoc
228− push:
229− - meta_scope: markup.quote.block.asciidoc
230− - meta_content_scope: meta.block.quote.content.asciidoc
231− - match: ^\1\s*$\n?
232− captures:
233− 0: constant.delimiter.block.quote.end.asciidoc
234− pop: true
235− - include: lines
236− - include: inline
237− - include: characters
238− block_sidebar:
239− - match: '^(\*{4,})\s*$\n?'
240− comment: |
241− Examples:
242− ****
243− Lorem ipsum
244− ****
245−
246− Note: Might need to add more includes, but these are the ones that arise
247− for me in practice.
248− captures:
249− 0: constant.delimiter.block.sidebar.begin.asciidoc
250− push:
251− - meta_scope: string.quoted.block.sidebar.asciidoc
252− - meta_content_scope: meta.block.sidebar.content.asciidoc
253− - match: ^\1\s*$\n?
254− captures:
255− 0: constant.delimiter.block.sidebar.end.asciidoc
256− pop: true
257− - include: lists
258− - include: block_comment
259− - include: block_listing
260− - include: lines
261− - include: inline
262− - include: characters
263− block_source_fenced:
264− - match: ^(```)(\w+)?\s*$\n?
265− comment: |
266− Fenced code block (ala Markdown)
267−
268− Examples:
269− ```rb
270− puts 'Hello world!'
271− ```
272− captures:
273− 0: constant.delimiter.listing.begin.asciidoc
274− push:
275− - meta_scope: meta.embedded.block.listing.asciidoc
276− - meta_content_scope: source.block.listing.content.asciidoc
277− - match: ^\1\s*$\n?
278− captures:
279− 0: constant.delimiter.listing.end.asciidoc
280− pop: true
281− - include: inline_callout
282− block_thematic_break:
283− - match: '^''{3,}$\n?'
284− comment: |
285− A thematic break (aka horizontal rule).
286−
287− Examples:
288− '''
289− ''''''
290− scope: meta.separator.ruler.asciidoc
291− block_title:
292− - match: ^(\.)\w.*$\n?
293− comment: |
294− Title of a block.
295−
296− Examples:
297− .My title
298− Lorem ipsum dolor.
299− scope: markup.heading.block.asciidoc
300− captures:
301− 1: punctuation.definition.blockheading.asciidoc
302− blocks:
303− - include: block_literal
304− - include: block_comment
305− - include: block_listing
306− - include: block_source_fenced
307− - include: block_sidebar
308− - include: block_pass
309− - include: block_quote
310− - include: block_example
311− - include: block_open
312− characters:
313− - include: attribute_reference
314− - include: entity_number
315− - include: entity_name
316− - include: escape
317− - include: replacement
318− - include: macro_pass
319− - include: macro
320− - include: xref
321− - include: biblio_anchor
322− - include: indexterm_triple
323− - include: indexterm_double
324− colist_item_marker:
325− - match: ^(\s*((<)\d+?(>)))\s+(?=\S)
326− comment: |
327− Marker of a callout list item.
328−
329− Examples:
330− <1> a callout
331− <42> another callout
332− scope: markup.list.numbered.callout.asciidoc
333− captures:
334− 1: string.unquoted.list.callout.asciidoc
335− 2: constant.numeric.callout.asciidoc
336− 3: punctuation.definition.calloutlistnumber.begin.asciidoc
337− 4: punctuation.definition.calloutlistnumber.end.asciidoc
338− dlist_item_label:
339− - match: '^\s*(?=.*:{2,4}(?:\s|$))'
340− comment: |
341− Label of a definition (labeled) list item.
342−
343− Examples:
344− Label level 1:: lorem ipsum
345− Label level 2::: dolor sit amet
346− Label level 3:::: consectetur
347− Label level 1::
348− lorem ipsum
349− Another label :: lorem ipsum
350− Last::label:: dolor sit amet
351−
352− Note: This rule is not strictly correct, because Asciidoctor allows
353− double colon followed by a space inside a label, i.e. it matches the
354− *last* double colon, not the first. I don't know how to do that
355− *effectively.
356− push:
357− - meta_scope: markup.list.labeled.asciidoc
358− - meta_content_scope: meta.list.label.asciidoc
359− - match: '(:{2,4})(?:\s|$\n?)'
360− captures:
361− 1: constant.labeledlist.separator.asciidoc
362− pop: true
363− - include: inline
364− - include: characters
365− emphasis:
366− - match: |-
367− (?x)
368− (\[[^\]]*?\])? # might be preceded by an attributes list
369− (?<=^|\W)(?<!\\|}) # must be preceded by nonword character, and not by escape or } (attribute)
370− (_)(?=\S) # delimiter underscore that must be followed by a nonspace character
371− comment: |
372− Emphasized (italic) text (constrained variant).
373−
374− Examples:
375− _Lorem ipsum_ dolor
376− [red]_Lorem ipsum_ dolor
377− captures:
378− 1: support.variable.attributelist.asciidoc
379− 2: punctuation.definition.italic.single.begin.asciidoc
380− push:
381− - meta_scope: markup.italic.single.asciidoc
382− - meta_content_scope: meta.italicinner.single.asciidoc
383− - match: |-
384− (?x)
385− (?<=\S)(_) # delimiter underscore that must be preceded by a nonspace character
386− (?!\w) # ...and followed by a nonword character
387− captures:
388− 1: punctuation.definition.italic.single.end.asciidoc
389− pop: true
390− - include: strong_double
391− - include: monospaced_double
392− - include: mark_double
393− - include: strong
394− - include: monospaced
395− - include: mark
396− - include: superscript
397− - include: subscript
398− - include: characters
399− emphasis_double:
400− - match: |-
401− (?x)
402− (\[[^\]]*?\])? # might start with attribute list
403− (?<!\\) # must not be preceded by escape
404− (__)
405− comment: |
406− Emphasized (italic) text (unconstrained variant).
407−
408− Examples:
409− Lo__re__m __ipsum dolor__.
410− Lo[red]__re__m
411− captures:
412− 1: support.variable.attributelist.asciidoc
413− 2: punctuation.definition.italic.double.begin.asciidoc
414− push:
415− - meta_scope: markup.italic.double.asciidoc
416− - meta_content_scope: meta.italicinner.double.asciidoc
417− - match: __
418− captures:
419− 0: punctuation.definition.italic.double.end.asciidoc
420− pop: true
421− - include: strong_double
422− - include: monospaced_double
423− - include: mark_double
424− - include: strong
425− - include: monospaced
426− - include: mark
427− - include: superscript
428− - include: subscript
429− - include: characters
430− entity_name:
431− - match: '(?<!\\)&([a-zA-Z][a-zA-Z0-9]*);'
432− comment: |
433− Character entity reference
434−
435− Examples:
436− &nbsp;
437− &sup2;
438− scope: constant.character.entity.xml.asciidoc
439− entity_number:
440− - match: '(?<!\\)&#(x?[0-9a-fA-f]{2,4});'
441− comment: |
442− Numeric character reference
443−
444− Examples:
445− &#x278a;
446− &#182;
447− scope: constant.character.entity.asciidoc
448− escape:
449− - match: '\\(?=[-`*_#+.!(){}\[\]\\>:])'
450− comment: |
451− List of special characters that may be escaped.
452−
453− Note: I do not really know if this is a good list, adopted wholesale from
454− original bundle.
455− scope: constant.character.escape.asciidoc
456− indexterm_double:
457− - match: '(?<!\()(\({2})([^\(\s].*?)(\){2})(?!\))'
458− comment: |
459− Double parenthesis indexterm.
460−
461− Examples:
462− ((Arthur))
463− scope: variable.other.indexterm.double.asciidoc
464− captures:
465− 1: constant.character.indexterm.double.begin.asciidoc
466− 3: constant.character.indexterm.double.end.asciidoc
467− indexterm_triple:
468− - match: '(?<!\()(\({3})([^\(].*?)(\){3})(?!\))'
469− comment: |
470− Triple parenthesis indexterm.
471−
472− Examples:
473− (((Sword, Broadsword, Excalibur)))
474− scope: variable.other.indexterm.triple.asciidoc
475− captures:
476− 1: constant.character.indexterm.triple.begin.asciidoc
477− 3: constant.character.indexterm.triple.end.asciidoc
478− inline:
479− - include: passthrough
480− - include: strong_double
481− - include: emphasis_double
482− - include: monospaced_double
483− - include: mark_double
484− - include: strong
485− - include: emphasis
486− - include: monospaced
487− - include: mark
488− - include: superscript
489− - include: subscript
490− inline_break:
491− - match: (?<=\s)\+$\n?
492− comment: |
493− Line hard break with a plus sign (+).
494−
495− Examples:
496− Rubies are red, +
497− Topazes are blue.
498− scope: constant.linebreak.asciidoc
499− inline_callout:
500− - match: (?<!\\)(<)\d+(>)
501− comment: |
502− Callout label
503−
504− Examples:
505− <1>
506− <42>
507− scope: constant.other.callout.asciidoc
508− captures:
509− 1: punctuation.definition.callout.begin.asciidoc
510− 2: punctuation.definition.callout.end.asciidoc
511− inline_comment:
512− - match: '^(//)([^/\n].*|)$\n?'
513− comment: |
514− Inline comment.
515−
516− Examples:
517− // This is just a comment!
518− scope: comment.line.double-slash.asciidoc
519− captures:
520− 1: punctuation.definition.comment.line.asciidoc
521− 2: meta.line.comment.content.asciidoc
522− lines:
523− - include: inline_comment
524− - include: list_continuation
525− - include: inline_break
526− - include: block_page_break
527− - include: block_thematic_break
528− - include: block_title
529− - include: block_id
530− - include: section_template
531− - include: attribute_list_line
532− - include: attribute_entry
533− list_continuation:
534− - match: ^\+\s*$\n?
535− scope: constant.listcontinuation.asciidoc
536− lists:
537− - include: block_admonition_label
538− - include: ulist_item_marker
539− - include: olist_item_marker
540− - include: dlist_item_label
541− - include: colist_item_marker
542− macro:
543− - match: |-
544− (?x)
545− (?:
546− ((?:https?|mailto|ftp|file) # specify separately so we can mark them as links that TextMate opens
547− ?:{1} # inline only
548− \S*) # (others such as image are partial URLs and/or TextMate cannot handle them)
549− |
550− (([a-zA-Z0-9][a-zA-Z0-9_]*)
551− (:{1,2})
552− (\S*))
553− )
554− (?:(\[)([^\]]*)(\]))
555− comment: |
556− Note: There are other macro notations, but I match only those that end in
557− square brackets.
558− scope: meta.macro.asciidoc
559− captures:
560− 1: markup.underline.link.macro.asciidoc
561− 3: keyword.control.name.macro.asciidoc
562− 4: constant.character.separator.macro.asciidoc
563− 5: markup.underline.target.macro.asciidoc
564− 6: constant.character.attributes.macro.begin.asciidoc
565− 7: variable.parameter.attributes.macro.asciidoc
566− 8: constant.character.attributes.macro.end.asciidoc
567− macro_pass:
568− - match: |-
569− (?x)
570− (pass)
571− (:{1,2})
572− (\S*)
573− (\[)(?=[^\]]*\])
574− comment: |
575− Passthrough macro
576−
577− Examples:
578− pass:[Lorem ipsum]
579− pass::[Lorem ipsum]
580− captures:
581− 1: keyword.control.name.macro.pass.asciidoc
582− 2: constant.character.separator.macro.asciidoc
583− 3: markup.underline.target.macro.asciidoc
584− 4: constant.character.attributes.macro.begin.asciidoc
585− push:
586− - meta_scope: meta.macro.pass.asciidoc
587− - meta_content_scope: variable.parameter.attributes.macro.pass.asciidoc
588− - match: '\]'
589− captures:
590− 0: constant.character.attributes.macro.end.asciidoc
591− pop: true
592− - include: scope:text.xml
593− mark:
594− - match: |-
595− (?x)
596− (\[[^\]]*?\])? # might start with attribute list (darned well better or why are we here)
597− (?<=^|\W)(?<!\\|}) # must be preceded by nonword character, and not by escape or } (attribute)
598− (\#)(?=\S) # delimiter hash that must be followed by a nonspace character
599− comment: |
600− Marked text (constrained variant).
601−
602− Examples:
603− #Lorem ipsum# dolor
604− [red]#Lorem ipsum# dolor
605− captures:
606− 1: support.variable.attributelist.asciidoc
607− 2: punctuation.definition.string.unquoted.single.begin.asciidoc
608− push:
609− - meta_scope: string.other.unquoted.single.asciidoc
610− - meta_content_scope: string.unquoted.unquotedinner.single.asciidoc
611− - match: |-
612− (?x)
613− (?<=\S)(\#) # delimiter hash that must be preceded by a nonspace character
614− (?!\w) # ...and followed by a nonword character
615− captures:
616− 1: punctuation.definition.string.unquoted.single.end.asciidoc
617− pop: true
618− - include: strong_double
619− - include: emphasis_double
620− - include: monospaced_double
621− - include: strong
622− - include: emphasis
623− - include: monospaced
624− - include: superscript
625− - include: subscript
626− - include: characters
627− mark_double:
628− - match: |-
629− (?x)
630− (\[[^\]]*?\])? # might start with an attribute list (indeed, that is its purpose)
631− (?<!\\) # must not be preceded by escape
632− (\#\#)
633− comment: |
634− Marked text (unconstrained variant).
635−
636− Examples:
637− Lo##re##m ##ipsum dolor##.
638− Lo[red]##re##m
639− captures:
640− 1: support.variable.attributelist.asciidoc
641− 2: punctuation.definition.string.unquoted.double.begin.asciidoc
642− push:
643− - meta_scope: string.other.unquoted.double.asciidoc
644− - meta_content_scope: string.unquoted.unquotedinner.double.asciidoc
645− - match: '\#\#'
646− captures:
647− 0: punctuation.definition.string.unquoted.double.end.asciidoc
648− pop: true
649− - include: strong_double
650− - include: emphasis_double
651− - include: monospaced_double
652− - include: strong
653− - include: emphasis
654− - include: monospaced
655− - include: superscript
656− - include: subscript
657− - include: characters
658− monospaced:
659− - match: |-
660− (?x)
661− (\[[^\]]*?\])? # might start with attributes list
662− (?<=^|\W)(?<!\\|}) # must be preceded by nonword character, and not by escape or } (attribute)
663− (`)(?=\S) # delimiter backtick that must be followed by a nonspace character
664− comment: |
665− Monospaced text (constrained variant).
666−
667− Examples:
668− `Lorem ipsum` dolor
669− [red]`Lorem ipsum` dolor
670− captures:
671− 1: support.variable.attributelist.asciidoc
672− 2: punctuation.definition.literal.single.begin.asciidoc
673− push:
674− - meta_scope: string.other.literal.single.asciidoc
675− - meta_content_scope: meta.literalinner.single.asciidoc
676− - match: |-
677− (?x)
678− (?<=\S)(`) # delimiter backtick that must be preceded by a nonspace character
679− (?!\w) # ...and followed by a nonword character
680− captures:
681− 1: punctuation.definition.literal.single.end.asciidoc
682− pop: true
683− - include: strong_double
684− - include: emphasis_double
685− - include: mark_double
686− - include: strong
687− - include: emphasis
688− - include: mark
689− - include: superscript
690− - include: subscript
691− - include: characters
692− monospaced_double:
693− - match: |-
694− (?x)
695− (\[[^\]]*?\])? # might start with attribute list
696− (?<!\\) # must not be preceded by escape
697− (``)
698− comment: |
699− Monospaced text (unconstrained variant).
700−
701− Examples:
702− Lo``re``m ``ipsum dolor``.
703− Lo[red]``re``m
704− captures:
705− 1: support.variable.attributelist.asciidoc
706− 2: punctuation.definition.literal.double.begin.asciidoc
707− push:
708− - meta_scope: string.other.literal.double.asciidoc
709− - meta_content_scope: meta.literalinner.double.asciidoc
710− - match: "``"
711− captures:
712− 0: punctuation.definition.literal.double.end.asciidoc
713− pop: true
714− - include: strong_double
715− - include: emphasis_double
716− - include: mark_double
717− - include: strong
718− - include: emphasis
719− - include: mark
720− - include: superscript
721− - include: subscript
722− - include: characters
723− olist_item_marker:
724− - match: '^(\s*(\.{1,5}))\s+(?=\S)'
725− comment: |
726− Marker of an ordered (numbered) list item.
727−
728− Examples:
729− . level 1
730− .. level 2
731− ... level 3
732− .... level 4
733− ..... level 5
734−
735− Note: The space distinguishes it from a block title.
736− scope: markup.list.numbered.dotted.asciidoc
737− captures:
738− 1: string.unquoted.list.dotted.asciidoc
739− 2: constant.numeric.list.dot.asciidoc
740− passthrough:
741− - match: (\+\+\+|\$\$)
742− comment: |
743− Inline triple-plus and double dolar passthrough.
744−
745− Examples:
746− Lo+++re++++m +++ipsum dolor+++.
747− Lo$$re$$m $$ipsum dolor$$.
748−
749− Note: Must be dead first among the inlines, so as to take priority.
750− captures:
751− 1: constant.character.passthru.begin.asciidoc
752− push:
753− - meta_scope: meta.passthru.inline.asciidoc
754− - meta_content_scope: variable.parameter.passthruinner.asciidoc
755− - match: \1
756− captures:
757− 0: constant.character.passthru.end.asciidoc
758− pop: true
759− replacement:
760− - match: |-
761− (?x)
762− (?<!\\) # must not be escaped
763− (
764− \(C\)
765− | \(TM\)
766− | \(R\)
767− | ((?<!\-)\-\-(?!\-)) # exactly two, and even this may not rule out all that I want to
768− | ((?<!\.)\.\.\.(?!\.)) # exactly three
769− | \->
770− | <\-
771− | =>
772− | <=
773− )
774− scope: constant.character.replacement.asciidoc
775− section_template:
776− - match: |-
777− (?x)^
778− (\[) # in square brackets
779− (template\s*=\s*)?(")? # might start with template-equals and might have template name in quotes
780− (
781− sect\d|abstract|preface|colophon|dedication|glossary|bibliography|synopsis|appendix|index # fixed list of known templates
782− )
783− (".*(\])|(\])) # either close the quote (and perhaps go on) and close the bracket, or close the bracket immediately
784− \s*$\n?
785− comment: fixed list of known template names
786− scope: variable.parameter.sectiontemplate.asciidoc
787− captures:
788− 1: punctuation.definition.sectiontemplate.begin.asciidoc
789− 4: meta.tag.sectiontemplate.asciidoc
790− 6: punctuation.definition.sectiontemplate.end.asciidoc
791− 7: punctuation.definition.sectiontemplate.end.asciidoc
792− section_titles:
793− - include: title_level_5
794− - include: title_level_4
795− - include: title_level_3
796− - include: title_level_2
797− - include: title_level_1
798− - include: title_level_0
799− strong:
800− - match: |-
801− (?x)
802− (\[[^\]]*?\])? # might start with an attributes list
803− (?<=^|\W)(?<!\\|}) # must be preceded by nonword character, and not by escape or } (attribute)
804− (\*)(?=\S) # delimiter star that must be followed by a nonspace character
805− comment: |
806− Strong (bold) text (constrained variant).
807−
808− Examples:
809− *Lorem ipsum* dolor
810− [red]*Lorem ipsum* dolor
811− captures:
812− 1: support.variable.attributelist.asciidoc
813− 2: punctuation.definition.bold.single.begin.asciidoc
814− push:
815− - meta_scope: markup.bold.single.asciidoc
816− - meta_content_scope: meta.boldinner.single.asciidoc
817− - match: |-
818− (?x)
819− (?<=\S)(\*) # delimiter star that must be preceded by a nonspace character
820− (?!\w) # ...and followed by a nonword character
821− captures:
822− 1: punctuation.definition.bold.single.end.asciidoc
823− pop: true
824− - include: emphasis_double
825− - include: monospaced_double
826− - include: mark_double
827− - include: emphasis
828− - include: monospaced
829− - include: mark
830− - include: superscript
831− - include: subscript
832− - include: characters
833− strong_double:
834− - match: |-
835− (?x)
836− (\[[^\]]*?\])? # might start with an attribute list
837− (?<!\\) # must not be preceded by escape
838− (\*\*)
839− comment: |
840− Strong (bold) text (unconstrained variant).
841−
842− Examples:
843− Lo**re**m **ipsum dolor**.
844− Lo[red]**re**m
845− captures:
846− 1: support.variable.attributelist.asciidoc
847− 2: punctuation.definition.bold.double.begin.asciidoc
848− push:
849− - meta_scope: markup.bold.double.asciidoc
850− - meta_content_scope: meta.boldinner.double.asciidoc
851− - match: \*\*
852− captures:
853− 0: punctuation.definition.bold.double.end.asciidoc
854− pop: true
855− - include: emphasis_double
856− - include: monospaced_double
857− - include: mark_double
858− - include: emphasis
859− - include: monospaced
860− - include: mark
861− - include: superscript
862− - include: subscript
863− - include: characters
864− subscript:
865− - match: |-
866− (?x)
867− (\[[^\]]*?\])? # might start with attribute list
868− (?<!\\) # must not be preceded by escape
869− (~)
870− comment: |
871− Subscript text.
872−
873− Examples:
874− E=mc^2^
875− E=mc[red]^2^
876− captures:
877− 1: support.variable.attributelist.asciidoc
878− 2: punctuation.definition.string.subscript.begin.asciidoc
879− push:
880− - meta_scope: string.other.subscript.asciidoc
881− - meta_content_scope: meta.subscriptinner.asciidoc
882− - match: '~' # this tilda a problem if unquoted
883− captures:
884− 0: punctuation.definition.string.subscript.end.asciidoc
885− pop: true
886− - include: strong_double
887− - include: emphasis_double
888− - include: monospaced_double
889− - include: mark_double
890− - include: strong
891− - include: emphasis
892− - include: monospaced
893− - include: mark
894− - include: superscript
895− - include: characters
896− superscript:
897− - match: |-
898− (?x)
899− (\[[^\]]*?\])? # might start with attribute list
900− (?<!\\) # no preceding escape
901− (\^)
902− comment: |
903− Superscript text.
904−
905− Examples:
906− H~2~O
907− H[red]~2~O
908− captures:
909− 1: support.variable.attributelist.asciidoc
910− 2: punctuation.definition.string.superscript.begin.asciidoc
911− push:
912− - meta_scope: string.other.superscript.asciidoc
913− - meta_content_scope: meta.superscriptinner.asciidoc
914− - match: ^
915− captures:
916− 0: punctuation.definition.string.superscript.end.asciidoc
917− pop: true
918− - include: strong_double
919− - include: emphasis_double
920− - include: monospaced_double
921− - include: mark_double
922− - include: strong
923− - include: emphasis
924− - include: monospaced
925− - include: mark
926− - include: subscript
927− - include: characters
928− title_level_0:
929− - match: ^(=) (\w.*)$\n?
930− scope: markup.heading.level.0.asciidoc
931− captures:
932− 1: punctuation.definition.heading.asciidoc
933− 2: entity.name.section.asciidoc
934− title_level_1:
935− - match: ^(==) (\w.*)$\n?
936− scope: markup.heading.level.1.asciidoc
937− captures:
938− 1: punctuation.definition.heading.asciidoc
939− 2: entity.name.section.asciidoc
940− title_level_2:
941− - match: ^(===) (\w.*)$\n?
942− scope: markup.heading.level.2.asciidoc
943− captures:
944− 1: punctuation.definition.heading.asciidoc
945− 2: entity.name.section.asciidoc
946− title_level_3:
947− - match: ^(====) (\w.*)$\n?
948− scope: markup.heading.level.3.asciidoc
949− captures:
950− 1: punctuation.definition.heading.asciidoc
951− 2: entity.name.section.asciidoc
952− title_level_4:
953− - match: ^(=====) (\w.*)$\n?
954− scope: markup.heading.level.4.asciidoc
955− captures:
956− 1: punctuation.definition.heading.asciidoc
957− 2: entity.name.section.asciidoc
958− title_level_5:
959− - match: ^(======) (\w.*)$\n?
960− scope: markup.heading.level.5.asciidoc
961− captures:
962− 1: punctuation.definition.heading.asciidoc
963− 2: entity.name.section.asciidoc
964− ulist_item_marker:
965− - match: '^(\s*(\-|\*{1,5}))\s+(?=\S)'
966− comment: |
967− Marker of an unordered (bullet) list item.
968−
969− Examples:
970− * level 1
971− ** level 2
972− *** level 3
973− **** level 4
974− ***** level 5
975− - level 1
976− -- level 2
977− --- level 3
978− ---- level 4
979− ----- level 5
980− scope: markup.list.bulleted.asciidoc
981− captures:
982− 1: string.unquoted.list.bullet.asciidoc
983− 2: constant.numeric.list.bullet.asciidoc
984− xref:
985− - match: '(?<!<)(<<)([^,]*?)((,\s*)(.*?))?(>>)(?!<)'
986− comment: |
987− Internal cross-reference
988−
989− Examples:
990− <<lorem>>
991− <<lorem, see here>>
992− scope: meta.xref.asciidoc
993− captures:
994− 1: constant.character.xref.begin.asciidoc
995− 2: markup.underline.term.xref.asciidoc
996− 5: variable.parameter.xref.asciidoc
997− 6: constant.character.xref.end.asciidoc
assets/syntaxes/02_Extra/Assembly (ARM)deleted−1

Submodule changed.

assets/syntaxes/02_Extra/Assembly (ARM).sublime-syntaxdeleted−172
@@ -1,172 +0,0 @@
1−%YAML 1.2
2−---
3−# http://www.sublimetext.com/docs/3/syntax.html
4−name: ARM Assembly
5−file_extensions:
6− - s
7− - S
8−scope: source.asm.arm
9−contexts:
10− main:
11− - match: "@.*$"
12− scope: comment.line
13− - match: //.*$
14− scope: comment.line
15− - match: ;.*$
16− scope: comment.line
17− - match: ^\s*\#\s*if\s+0\b
18− push:
19− - meta_scope: comment.preprocessor
20− - match: ^\s*\#\s*endif\b
21− pop: true
22− - match: /\*
23− push:
24− - meta_scope: comment.block
25− - match: \*/
26− pop: true
27− - match: |-
28− (?x)
29− ^\s*\#\s*(define)\s+ # define
30− ((?<id>[a-zA-Z_][a-zA-Z0-9_]*)) # macro name
31− (?: # and optionally:
32− (\() # an open parenthesis
33− (
34− \s* \g<id> \s* # first argument
35− ((,) \s* \g<id> \s*)* # additional arguments
36− (?:\.\.\.)? # varargs ellipsis?
37− )
38− (\)) # a close parenthesis
39− )?
40− captures:
41− 1: keyword.control.import.define.c
42− 2: entity.name.function.preprocessor.c
43− 4: punctuation.definition.parameters.c
44− 5: variable.parameter.preprocessor.c
45− 7: punctuation.separator.parameters.c
46− 8: punctuation.definition.parameters.c
47− push:
48− - meta_scope: meta.preprocessor.macro.c
49− - match: (?=(?://|/\*))|$
50− pop: true
51− - match: (?>\\\s*\n)
52− scope: punctuation.separator.continuation.c
53− - include: $top_level_main
54− - match: ^\s*#\s*(error|warning)\b
55− captures:
56− 1: keyword.control.import.error.c
57− push:
58− - meta_scope: meta.preprocessor.diagnostic.c
59− - match: $
60− captures:
61− 1: keyword.control.import.error.c
62− pop: true
63− - match: (?>\\\s*\n)
64− scope: punctuation.separator.continuation.c
65− - match: ^\s*#\s*(include|import)\b\s+
66− captures:
67− 1: keyword.control.import.include.c
68− push:
69− - meta_scope: meta.preprocessor.c.include
70− - match: (?=(?://|/\*))|$
71− captures:
72− 1: keyword.control.import.include.c
73− pop: true
74− - match: (?>\\\s*\n)
75− scope: punctuation.separator.continuation.c
76− - match: '"'
77− captures:
78− 0: punctuation.definition.string.begin.c
79− push:
80− - meta_scope: string.quoted.double.include.c
81− - match: '"'
82− captures:
83− 0: punctuation.definition.string.end.c
84− pop: true
85− - match: <
86− captures:
87− 0: punctuation.definition.string.begin.c
88− push:
89− - meta_scope: string.quoted.other.lt-gt.include.c
90− - match: ">"
91− captures:
92− 0: punctuation.definition.string.end.c
93− pop: true
94− - match: '((?i)([xw][0-9]|[xw]1[0-9]||[xw]2[0-9]|[wx]30|wzr|xzr|wsp|fpsr|fpcr|[rcp]1[0-5]|[rcp][0-9]|a[1-4]|v[1-8]|sl|sb|fp|ip|sp|lr|(c|s)psr(_c)?|pc|[sd]3[0-1]|[sd][12][0-9]|[sd][0-9]|fpsid|fpscr|fpexc|q3[0-1]|q2[0-9]|q1[0-9]|q[0-9]|APSR_nzcv|sy)!?(?-i))?\b'
95− scope: storage.other.register
96− - match: \.(?i)(globl|global|macro|endm|purgem|if|elseif|else|endif|section|text|arm|align|balign|irp|rept|endr|req|unreq|error|short|func|endfunc|hidden|type|fpu|arch|code|altmacro|object_arch|word|int|string)(?-i)\b
97− scope: keyword.control.directive
98− - match: armv(2a?|3m?|4t?|5t?e?6(j|t2|zk?|-m)?|7v?e?(-(a|r|m))?|8-a(\+crc)?)
99− scope: keyword.control.arch.arm
100− - match: ^\s*#\s*(define|defined|elif|else|if|ifdef|ifndef|line|pragma|undef|endif)\b
101− captures:
102− 1: keyword.control.import.c
103− push:
104− - meta_scope: meta.preprocessor.c
105− - match: (?=(?://|/\*))|$
106− captures:
107− 1: keyword.control.import.c
108− pop: true
109− - match: (?>\\\s*\n)
110− scope: punctuation.separator.continuation.c
111− - match: |-
112− (?x)\b((?i)
113− (
114− (bf(c|i)|(u|s)bfx|(u|s)xta?(h|b)?) |
115− (v(add|cvt|sub|mov|trn|cmp|div|qdmulh|mrs|mul|ld1|qadd|qshrun|st[1234]|addw|mull|mlal|rshrn|swp|qmovun)|qmovun)(\.([isup]?8|[isupf]?16|[isuf]?32|[isu]?64))* |
116− (and|m(rs|sr)|eor|sub|rsb|add|adc|sbc|rsc|tst|teq|cmp|cmn|orr|mov|bic|mvn |
117− (neg) |
118− (lsr|lsl|ror|asr) # shift ops either pseudo ops or actual shifts
119− )s? |
120− (mul|mla|mull|smlabb) |
121− (mov(w|t)) |
122− rev(8|16)? |
123− (pld|adr|adrl|vswp)
124− )
125− (ne|eq|cs|hs|cc|lo|mi|pl|vs|vc|hi|ls|lt|le|gt|ge|al)?(?-i))?\b
126− scope: support.function.mnemonic.arithmetic
127− - match: |-
128− (?x)\b((?i)(
129− swi|svc|wfi|
130− dmb | clrex | dsb | isb |
131− v(ldr|str|push|pop) |
132− (push|pop) |
133− (st|ld)(
134− p |
135− r(ex|s?(h|b)|d)? |
136− m(
137− (f|e)(d|a) |
138− (d|i)(b|a)
139− )?
140− ) |
141− b(l|x|lx|lr|r)? |
142− (i|e)?ret|
143− b\.(eq|ne|hs|cs|lo|cc|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al|nv)+ |
144− (c|t)?bn?z|
145− )+(ne|eq|cs|hs|cc|lo|mi|pl|vs|vc|hi|ls|lt|le|gt|ge|al)?(?-i))\b
146− scope: support.function.mnemonic.memory
147− - match: '\b((?i)(def(b|w|s)|equ|(include|get)(\s+([a-zA-Z_]+[0-9a-zA-Z_]*|[0-9]+[a-zA-Z_]+[0-9a-zA-Z_]*?)\.s)?)?(?-i))\b'
148− scope: meta.preprocessor.c.include
149− - match: \b((?i)(align)(?-i))?\b
150− scope: storage.type.c.memaccess
151− - match: \s+\".+\"
152− scope: string
153− - match: \b((?i)nop(ne|eq|cs|hs|cc|lo|mi|pl|vs|vc|hi|ls|lt|le|gt|ge|al)?(?-i))?\b
154− scope: comment.nop
155− - match: '\s\['
156− push:
157− - meta_scope: storage.type.c.memaccess
158− - match: '\]'
159− pop: true
160− - match: (?>\\\s*\n)
161− scope: punctuation.separator.continuation.c
162− - include: $top_level_main
163− - match: (\b|\s+)\=\b
164− scope: keyword.control.evaluation
165− - match: '(\b|\s+)(\#)?-?(0x|&)[0-9a-fA-F_]+\b'
166− scope: constant.numeric.hex
167− - match: '(\b|\s+)\#-?[0-9a-zA-Z_]+\b'
168− scope: constant.numeric.literal
169− - match: '(\b|\s+)[0-9]+\b'
170− scope: constant.numeric.dec
171− - match: '\b([a-zA-Z_]+[0-9a-zA-Z_]*|[0-9]+[a-zA-Z_]+[0-9a-zA-Z_]*)\b'
172− scope: meta.function.source.arm.label
assets/syntaxes/02_Extra/Assembly (x86_64).sublime-syntaxdeleted−1367
@@ -1,1367 +0,0 @@
1−%YAML 1.2
2−---
3−file_extensions: [yasm, nasm, asm, inc, mac]
4−scope: source.asm.x86_64
5−
6−variables:
7− num_bin: '(?:[01][01_]*)'
8− num_oct: '(?:[0-7][0-7_]*)'
9− num_dec: '(?:[0-9][0-9_]*)'
10− num_hex: '(?:[[:xdigit:]][[:xdigit:]_]*)'
11− num_bin_exp: '(?:p[+-]?{{num_dec}})'
12− num_dec_exp: '(?:e[+-]?{{num_dec}})'
13− identifier_body: '(?:[[:alnum:]_$#@~.?]*)'
14− valid_identifier: '(?:[[:alpha:]_?]{{identifier_body}})'
15−
16−contexts:
17− prototype:
18− - include: comments
19−
20− line-continuation:
21− - match: '(\\)$\n'
22− captures:
23− 1: punctuation.separator.continuation.asm.x86_64
24− - match: '\\(\s+?)$'
25− captures:
26− 1: invalid.illegal.space-after-continuation.asm.x86_64
27− line-ending:
28− - match: '$\n'
29− pop: true
30− pop:
31− - match: '(?=.|$)'
32− pop: true
33− pop-if-not-whitespace:
34− - match: '(?=\S)'
35− set: pop
36−
37− main:
38− - include: comments
39− - include: prefixes
40− - include: data-types
41− - include: registers
42− - include: mnemonics
43− - include: strings
44− - include: numbers
45− - include: operators
46− - include: support
47− - include: directives
48− - include: entities
49− - include: structs
50− - include: preprocessor
51− - include: labels
52−
53− numbers:
54− - include: floating-point
55− - include: integers
56− floating-point:
57− # binary
58− - match: '(?i)\b0[by]{{num_bin}}\.(?:{{num_bin}}?{{num_bin_exp}}?\b)?'
59− scope: constant.numeric.binary.floating-point.asm.x86_64
60− - match: '(?i)\b0[by]{{num_bin}}{{num_bin_exp}}\b'
61− scope: constant.numeric.binary.floating-point.asm.x86_64
62− # octal
63− - match: '(?i)\b0[oq]{{num_oct}}\.(?:{{num_oct}}?{{num_bin_exp}}?\b)?'
64− scope: constant.numeric.octal.floating-point.asm.x86_64
65− - match: '(?i)\b0[oq]{{num_oct}}{{num_bin_exp}}\b'
66− scope: constant.numeric.octal.floating-point.asm.x86_64
67− # decimal
68− - match: '(?i)\b(?:0[dt])?{{num_dec}}\.(?:{{num_dec}}?{{num_dec_exp}}?\b)?'
69− scope: constant.numeric.decimal.floating-point.asm.x86_64
70− - match: '(?i)\b{{num_dec}}{{num_dec_exp}}\b'
71− scope: constant.numeric.decimal.floating-point.asm.x86_64
72− #- match: '(?i)\.{{num_dec}}{{num_dec_exp}}?\b'
73− # scope: invalid.illegal.constant.numeric.decimal.floating-point.asm.x86_64
74− - match: '(?i)\b{{num_dec}}p{{num_dec}}?\b'
75− scope: constant.numeric.decimal.packed-bcd.asm.x86_64
76− # hex
77− - match: '(?i)\b0[xh]{{num_hex}}\.(?:{{num_hex}}?{{num_bin_exp}}?\b)?'
78− scope: constant.numeric.hex.floating-point.asm.x86_64
79− - match: '(?i)\b0[xh]{{num_hex}}{{num_bin_exp}}\b'
80− scope: constant.numeric.hex.floating-point.asm.x86_64
81− - match: '(?i)\$[0-9]\_?{{num_hex}}?\.(?:{{num_hex}}?{{num_bin_exp}}?\b)?'
82− scope: constant.numeric.hex.floating-point.asm.x86_64
83− - match: '(?i)\$[0-9]\_?{{num_hex}}{{num_bin_exp}}\b'
84− scope: constant.numeric.hex.floating-point.asm.x86_64
85− integers:
86− - match: '(?i)\b(?:(?:0[by]{{num_bin}})|(?:{{num_bin}}[by]))\b'
87− scope: constant.numeric.binary.asm.x86_64
88− - match: '(?i)\b(?:(?:0[oq]{{num_oct}})|(?:{{num_oct}}[oq]))\b'
89− scope: constant.numeric.octal.asm.x86_64
90− - match: '(?i)\b(?:(?:0[dt]{{num_dec}})|(?:{{num_dec}}[dt]?))\b'
91− scope: constant.numeric.decimal.asm.x86_64
92− - match: '(?i)(?:\$[0-9]\_?{{num_hex}}?)\b'
93− scope: constant.numeric.hex.asm.x86_64
94− - match: '(?i)\b(?:(?:0[xh]{{num_hex}})|(?:{{num_hex}}[hxHX]))\b'
95− scope: constant.numeric.hex.asm.x86_64
96−
97− labels:
98− # http://www.nasm.us/doc/nasmdoc3.html#section-3.9
99− - match: '(\.\.@)({{valid_identifier}})(?:(\:)?|\b)'
100− captures:
101− 1: punctuation.separator.asm.x86_64 storage.modifier.asm.x86_64
102− 2: entity.name.constant.special.asm.x86_64
103− 3: punctuation.separator.asm.x86_64
104− - match: '(?:(\.)?|\b)({{valid_identifier}})(?:(\:)?|\b)'
105− captures:
106− 1: punctuation.separator.asm.x86_64 storage.modifier.asm.x86_64
107− 2: entity.name.constant.asm.x86_64
108− 3: punctuation.separator.asm.x86_64
109− - match: '(\.)([0-9]+{{identifier_body}})(?:(\:)?|\b)'
110− captures:
111− 1: punctuation.separator.asm.x86_64 storage.modifier.asm.x86_64
112− 2: entity.name.constant.asm.x86_64
113− 3: punctuation.separator.asm.x86_64
114− - match: '(?:(\.)?|\b)([0-9$@~]{{identifier_body}})(?:(\:)?|\b)'
115− captures:
116− 1: punctuation.separator.asm.x86_64 storage.modifier.asm.x86_64
117− 2: invalid.illegal.entity.name.constant.asm.x86_64
118− 3: punctuation.separator.asm.x86_64
119− - match: '((%)(\d+))'
120− captures:
121− 1: invalid.illegal.meta.preprocessor.asm.x86_64
122− #1: meta.preprocessor.asm.x86_64
123− 2: punctuation.definition.variable.preprocessor.asm.x86_64 keyword.control.preprocessor.asm.x86_64
124− 3: variable.other.preprocessor.asm.x86_64
125− - match: '((%%)({{valid_identifier}})(?:(\:)?|\b))'
126− captures:
127− 1: invalid.illegal.meta.preprocessor.asm.x86_64
128− 2: punctuation.definition.keyword.preprocessor.asm.x86_64 keyword.control.preprocessor.asm.x86_64
129− 3: entity.name.constant.special.asm.x86_64
130− 4: punctuation.separator.asm.x86_64
131−
132− data-types:
133− # Initialized & uninitialized data: http://www.nasm.us/doc/nasmdoc3.html#section-3.2.1
134− - match: '(?i)\b(?:s?byte|(?:[doqtyz]|dq|s[dq]?)?word|(?:d|res)[bdoqtwyz]|ddq)\b'
135− scope: storage.type.asm.x86_64
136− - match: '(?i)\b(?:incbin|equ|times)\b'
137− scope: support.function.asm.x86_64
138−
139− prefixes:
140− - match: '(?i)\b(?:strict|nosplit|near|far|abs|rel)\b'
141− scope: storage.modifier.asm.x86_64
142− - match: '(?i)\b(?:[ao](?:16|32|64))\b'
143− scope: storage.modifier.prefix.asm.x86_64
144− - match: '(?i)\b(?:rep(?:n?[ez])?|lock|xacquire|xrelease|(?:no)?bnd)\b'
145− scope: storage.modifier.prefix.asm.x86_64
146− - match: '{(vex[23]|evex)}'
147− captures:
148− 1: storage.modifier.prefix.vex.asm.x86_64
149− - match: '{(k[1-7])}'
150− captures:
151− 1: storage.modifier.opmask.asm.x86_64
152− - match: '{(1to(?:8|16))}'
153− captures:
154− 1: storage.modifier.precision.asm.x86_64
155− - match: '{(z|(?:r[nudz]-)?sae)}'
156− captures:
157− 1: storage.modifier.rounding.asm.x86_64
158−
159− support:
160− # http://www.nasm.us/doc/nasmdoc7.html#section-7.4.6
161− - match: '\.\.(?:start|imagebase|tlvp|got(?:pc(?:rel)?|(?:tp)?off)?|plt|sym|tlsie)\b'
162− scope: support.constant.asm.x86_64
163− - match: '\b__(?:utf(?:(?:16|32)(?:[lb]e)?)|float(?:8|16|32|64|80[me]|128[lh])|Infinity|[QS]?NaN)__\b'
164− scope: support.function.asm.x86_64
165− # http://www.nasm.us/doc/nasmdoc4.html#section-4.11
166− - match: '\b__NASM_(?:MAJOR|(?:SUB)?MINOR|SNAPSHOT|VER(?:SION_ID)?)__\b'
167− scope: support.function.asm.x86_64
168− - match: '\b___NASM_PATCHLEVEL__\b'
169− scope: support.function.asm.x86_64
170− - match: '\b__(?:FILE|LINE|BITS|OUTPUT_FORMAT)__\b'
171− scope: support.function.asm.x86_64
172− - match: '\b__(?:(?:UTC_)?(?:DATE|TIME)(?:_NUM)?|POSIX_TIME)__\b'
173− scope: support.function.asm.x86_64
174− - match: '\b__USE_(?:ALTREG|SMARTALIGN|FP|IFUNC)__\b'
175− scope: support.function.asm.x86_64
176− - match: '\b__PASS__\b'
177− scope: invalid.deprecated.support.constant.altreg.asm.x86_64
178− - match: '(?i)\balignmode\b'
179− scope: support.function.smartalign.asm.x86_64
180− push:
181− - include: line-continuation
182− - include: line-ending
183− - match: '\b(?:generic|nop|k7|k8|p6)\b'
184− scope: support.constant.smartalign.asm.x86_64
185− pop: true
186− - match: '\w+'
187− scope: invalid.illegal.constant.smartalign.asm.x86_64
188− pop: true
189− - match: '\b__ALIGNMODE__\b'
190− scope: support.constant.smartalign.asm.x86_64
191− - match: '\b(?:Inf|[QS]?NaN)\b'
192− scope: support.constant.fp.asm.x86_64
193− - match: '\b(?:float(?:8|16|32|64|80[me]|128[lh]))\b'
194− scope: support.function.fp.asm.x86_64
195− - match: '(?i)\bilog2(?:[ewfc]|[fc]w)?\b'
196− scope: support.function.ifunc.asm.x86_64
197−
198− directives:
199− - match: '(?i)\b(?:ideal|jumps|p[345]86|end)\b'
200− scope: invalid.deprecated.tasm.asm.x86_64
201− - match: '(?i)\b(?:bits|use(?:16|32|64)|org|uppercase|safeseh|osabi)\b'
202− scope: support.function.directive.asm.x86_64
203− - match: '(?i)\b(default)(?:\s+(rel|abs|(?:no)?bnd))?\b'
204− captures:
205− 1: support.function.directive.asm.x86_64
206− 2: support.constant.directive.asm.x86_64
207− - match: '(?i)\b(?:section|segment)\b'
208− scope: support.function.directive.asm.x86_64
209− push: [section-parameters, section-name]
210− - match: '(?i)\bgroup\b'
211− scope: support.function.directive.asm.x86_64
212− push: section-name
213− - match: '\b(?:__SECT__|__NASMDEFSEG|_?_GLOBAL_OFFSET_TABLE_)\b'
214− scope: support.constant.directive.asm.x86_64
215− - match: '(?i)\b(?:absolute|common)\b'
216− scope: support.function.directive.asm.x86_64
217− - match: '(?i)\b(?:subsections_via_symbols|no_dead_strip)\b'
218− scope: support.function.directive.macho.asm.x86_64
219− - match: '(?i)import\b'
220− scope: support.function.directive.asm.x86_64
221− push:
222− - match: '{{valid_identifier}}'
223− scope: entity.name.function.asm.x86_64
224− set:
225− - match: '{{valid_identifier}}'
226− scope: meta.path.asm.x86_64 string.unquoted.asm.x86_64
227− set:
228− - match: '{{valid_identifier}}'
229− scope: variable.function.asm.x86_64
230− set:
231− - include: comments
232− - match: '{{valid_identifier}}'
233− scope: invalid.illegal.asm.x86_64
234− - include: line-continuation
235− - include: pop-if-not-whitespace
236− - include: line-ending
237− - include: line-continuation
238− - include: pop-if-not-whitespace
239− - include: line-ending
240− - include: line-continuation
241− - include: pop-if-not-whitespace
242− - include: line-ending
243− - include: line-continuation
244− - include: pop-if-not-whitespace
245− - include: line-ending
246− - match: '(?i)export\b'
247− scope: support.function.directive.asm.x86_64
248− push:
249− - match: '{{valid_identifier}}'
250− scope: entity.name.constant.asm.x86_64
251− set:
252− - match: '{{valid_identifier}}'
253− scope: variable.function.asm.x86_64
254− set: export-parameters
255− - include: line-continuation
256− - include: pop-if-not-whitespace
257− - include: line-ending
258− - include: line-continuation
259− - include: pop-if-not-whitespace
260− - include: line-ending
261− - match: '(?i)global\b'
262− scope: support.function.directive.asm.x86_64
263− push:
264− - match: '(?<=\:)(?:function|data|export)\b'
265− scope: storage.type.directive.asm.x86_64
266− - match: '\b(?:default|internal|hidden|protected|proc|data)\b'
267− scope: storage.modifier.directive.asm.x86_64 variable.parameter.directive.asm.x86_64
268− - include: line-continuation
269− - include: line-ending
270− - include: preprocessor-macro-parameter
271− - include: main
272− - match: '(?i)extern\b'
273− scope: support.function.directive.asm.x86_64
274− push:
275− - match: '(?<=\:)(?:import)\b'
276− scope: storage.type.directive.asm.x86_64
277− - match: '\b(?:proc|data)\b'
278− scope: storage.modifier.directive.asm.x86_64 variable.parameter.directive.asm.x86_64
279− - include: line-continuation
280− - include: line-ending
281− - include: preprocessor-macro-parameter
282− - include: main
283− - match: '(?i)library\b'
284− scope: support.function.directive.asm.x86_64
285− push:
286− - match: '{{valid_identifier}}'
287− scope: meta.path.asm.x86_64 string.unquoted.asm.x86_64
288− pop: true
289− - include: line-continuation
290− - include: line-ending
291− - include: pop-if-not-whitespace
292− - match: '(?i)module\b'
293− scope: support.function.directive.asm.x86_64
294− push:
295− - match: '\$?{{valid_identifier}}'
296− scope: entity.name.namespace.asm.x86_64
297− pop: true
298− - include: line-continuation
299− - include: line-ending
300− - include: pop-if-not-whitespace
301− - match: '(?i)\bcpu\b'
302− scope: support.function.directive.asm.x86_64
303− push:
304− - match: '(?i)\b(?:(?:80|[1-6])86|pentium|ppro|p[234]|katmai|willamette|prescott|(?:x|ia)64)\b'
305− scope: support.constant.directive.asm.x86_64
306− pop: true
307− - include: line-continuation
308− - include: pop-if-not-whitespace
309− - include: line-ending
310− - include: main
311− - match: '(?i)\bfloat\b'
312− scope: support.function.directive.asm.x86_64
313− push:
314− - match: '(?i)\b(?:(?:no)?daz|near|up|down|zero|default)\b'
315− scope: support.constant.directive.asm.x86_64
316− pop: true
317− - include: line-continuation
318− - include: pop-if-not-whitespace
319− - include: line-ending
320− - include: main
321− - match: '(?i)(\[)\s*(warning)\b'
322− captures:
323− 2: support.function.directive.asm.x86_64
324− push:
325− - match: '(?i)([+\-*])|(error)\s*(=)\s*'
326− captures:
327− 1: keyword.control.warning.asm.x86_64
328− 2: support.constant.directive.warning.asm.x86_64
329− 3: keyword.operator.assignment.asm.x86_64
330− push:
331− - match: '(?i)\b(other|macro-(?:params|selfref|defaults)|orphan-labels|number-overflow|gnu-elf-extensions|float-(?:overflow|denorm|underflow|toolong)|user|lock|hle|bnd|zext-reloc|ptr|(?:bad|unknown|not-my)-pragma|unknown-warning|all)(?=\]|\s)'
332− scope: support.constant.directive.warning.asm.x86_64
333− pop: true
334− - match: '\S+(?=\])'
335− scope: invalid.illegal.support.constant.directive.warning.asm.x86_64
336− pop: true
337− - match: '\S+'
338− scope: invalid.illegal.support.constant.directive.warning.asm.x86_64
339− pop: true
340− - match: '(?i)\b(?:all|error)\b'
341− scope: support.constant.directive.warning.asm.x86_64
342− - match: ']'
343− pop: true
344− - include: line-continuation
345− - include: line-ending
346− - match: '(?i)(\[)\s*(map)\b'
347− captures:
348− 2: support.function.directive.asm.x86_64
349− push:
350− - match: '(?i)\b(?:all|brief|sections|segments|symbols)\b'
351− scope: support.constant.directive.map.asm.x86_64
352− - match: '(?i)\b(?:std(?:out|err))\b'
353− scope: meta.path.asm.x86_64 support.constant.directive.map.asm.x86_64
354− - match: '{{valid_identifier}}'
355− scope: meta.path.asm.x86_64 string.unquoted.asm.x86_64
356− - match: ']'
357− pop: true
358− - include: line-continuation
359− - include: line-ending
360− section-parameters:
361− - match: '='
362− scope: keyword.operator.assignment.asm.x86_64
363− - match: '(?i)\b(?:(?:v)?start|align|absolute)\b'
364− scope: variable.parameter.directive.asm.x86_64
365− - match: '(?i)\b(?:(?:prog|no)bits|private|public|common|stack|code|text|data|bss|rdata|info)\b'
366− scope: storage.modifier.directive.asm.x86_64 variable.parameter.directive.asm.x86_64
367− - match: '(?i)\b(?:mixed|zerofill|no_dead_strip|live_support|strip_static_syms)\b'
368− scope: storage.modifier.directive.asm.x86_64 variable.parameter.directive.macho.asm.x86_64
369− - match: '(?i)\b(?:(?:no)?(?:alloc|exec|write)|tls)\b'
370− scope: storage.modifier.directive.asm.x86_64 variable.parameter.directive.elf.asm.x86_64
371− - match: '(?i)\b(?:(?:v)?follows)\b'
372− scope: variable.parameter.directive.asm.x86_64
373− push:
374− - match: '='
375− scope: keyword.operator.assignment.asm.x86_64
376− set: [pop, section-name]
377− - include: line-continuation
378− - include: line-ending
379− - match: '(?i)\b(?:class|overlay)\b'
380− scope: variable.parameter.directive.asm.x86_64
381− push:
382− - match: '='
383− scope: keyword.operator.assignment.asm.x86_64
384− - match: '{{valid_identifier}}'
385− scope: entity.name.class.asm.x86_64 string.unquoted.asm.x86_64
386− pop: true
387− - include: line-continuation
388− - include: line-ending
389− - include: line-continuation
390− - include: line-ending
391− - include: main
392− section-name:
393− - match: '(?:\.|\b)(?:text|bss|(?:[rpx]|ro)?data|code)\b'
394− scope: entity.name.section.asm.x86_64 string.unquoted.asm.x86_64 support.constant.section.asm.x86_64
395− pop: true
396− - match: '\b__(?:text|const|data|bss|TEXT|CONST|DATA|BSS)\b'
397− scope: entity.name.section.asm.x86_64 string.unquoted.asm.x86_64 support.constant.section.macho.asm.x86_64
398− pop: true
399− - match: '(?:\.)(?:[lt](?:data|bss)|lrodata|comment)\b'
400− scope: entity.name.section.asm.x86_64 string.unquoted.asm.x86_64 support.constant.section.elf.asm.x86_64
401− pop: true
402− - match: '(?:\.|\b){{valid_identifier}}\b'
403− scope: entity.name.section.asm.x86_64 string.unquoted.asm.x86_64
404− pop: true
405− - match: '(?=`|''|")'
406− set:
407− - meta_scope: entity.name.section.asm.x86_64
408− - include: strings
409− - include: pop
410− - include: line-continuation
411− - include: pop-if-not-whitespace
412− - include: line-ending
413− export-parameters:
414− - match: '='
415− scope: keyword.operator.assignment.asm.x86_64
416− - match: '(?i)\b(?:resident|nodata)\b'
417− scope: storage.modifier.directive.asm.x86_64 variable.parameter.directive.asm.x86_64
418− - match: '(?i)\b(?:parm)\b'
419− scope: variable.parameter.directive.asm.x86_64
420− - include: primitive-directive-end
421− - include: line-continuation
422− - include: line-ending
423− - include: main
424−
425− operators:
426− - match: '[+\-*/]'
427− scope: keyword.operator.arithmetic.asm.x86_64
428− - match: '(%%|%)[[:space:]]'
429− captures:
430− 1: keyword.operator.arithmetic.asm.x86_64
431− - match: '[|&^~!]|<<|>>'
432− scope: keyword.operator.bitwise.asm.x86_64
433− - match: '(?i)\b(seg|wrt)\b'
434− scope: keyword.operator.word.asm.x86_64
435− - match: ','
436− scope: operator.separator.asm.x86_64
437−
438− structs:
439− - match: '(?i)\bstruc\b'
440− scope: support.function.asm.x86_64 meta.struct.asm.x86_64
441− push:
442− - meta_content_scope: meta.struct.asm.x86_64.1
443− - match: '{{valid_identifier}}'
444− scope: entity.name.struct.asm.x86_64
445− set:
446− - meta_scope: meta.struct.asm.x86_64
447− - match: '(?i)\bendstruc\b'
448− scope: support.function.asm.x86_64 meta.struct.asm.x86_64
449− pop: true
450− - include: main
451− - match: '\w'
452− scope: invalid.illegal.entity.name.struct.asm.x86_64
453− - match: '(?i)\bendstruc\b'
454− scope: invalid.illegal.support.function.asm.x86_64 meta.struct.asm.x86_64
455− - match: '(?i)\bistruc\b'
456− scope: support.function.asm.x86_64 meta.struct.asm.x86_64
457− push:
458− - meta_content_scope: meta.struct.asm.x86_64.1
459− - match: '{{valid_identifier}}'
460− scope: variable.other.asm.x86_64
461− set:
462− - meta_scope: meta.struct.asm.x86_64
463− - match: '(?i)\bat\b'
464− scope: support.function.asm.x86_64 meta.struct.asm.x86_64
465− - match: '(?i)\biend\b'
466− scope: support.function.asm.x86_64 meta.struct.asm.x86_64
467− pop: true
468− - include: main
469− - match: '\w'
470− scope: invalid.illegal.variable.struct.asm.x86_64
471− - match: '(?i)\biend\b'
472− scope: invalid.illegal.support.function.asm.x86_64 meta.struct.asm.x86_64
473− - match: '(?i)\balignb?\b'
474− scope: support.function.asm.x86_64
475− - match: '(?i)\b(sectalign)\s+(on|off)?'
476− captures:
477− 1: support.function.asm.x86_64
478− 2: support.constant.asm.x86_64
479−
480− entities:
481− - match: '\$@feat\.00\b'
482− scope: variable.language.sseh.asm.x86_64
483− - match: '(\$)(?:\w+)\b'
484− scope: variable.other.asm.x86_64
485− captures:
486− 1: punctuation.definition.variable.asm.x86_64
487− - match: '\${3,}'
488− scope: invalid.illegal.variable.language.asm.x86_64
489− - match: '\$'
490− scope: variable.language.asm.x86_64
491−
492− comments:
493− - match: (?:(;)|(?:^|\s)(#)\s).*$
494− scope: comment.line.asm.x86_64
495− captures:
496− 1: punctuation.definition.comment.asm.x86_64
497− 2: punctuation.definition.comment.asm.x86_64
498− - match: /\*
499− scope: punctuation.definition.comment.asm.x86_64
500− push:
501− - meta_scope: comment.block.asm.x86_64
502− - match: \*/
503− scope: punctuation.definition.comment.asm.x86_64
504− pop: true
505−
506− preprocessor: # http://www.nasm.us/doc/nasmdoc4.html
507− - include: preprocessor-macro-multiline
508− - include: preprocessor-macro-define
509− - include: preprocessor-macro-indirection
510− - include: preprocessor-conditions
511− - include: preprocessor-other
512− # single-line macro
513− preprocessor-macro-define:
514− - match: '^\s*((%)x?i?define)\b'
515− captures:
516− 1: meta.preprocessor.macro.asm.x86_64 keyword.control.import.preprocessor.asm.x86_64
517− 2: punctuation.definition.keyword.preprocessor.asm.x86_64
518− push:
519− - meta_content_scope: meta.preprocessor.macro.asm.x86_64
520− - include: preprocessor-comments
521− - match: '(?:{{valid_identifier}})(?=\()'
522− scope: entity.name.function.preprocessor.asm.x86_64
523− set:
524− - match: '\('
525− scope: punctuation.section.group.begin.asm.x86_64
526− set: preprocessor-macro-params
527− - match: '{{valid_identifier}}'
528− scope: entity.name.constant.preprocessor.asm.x86_64
529− set: preprocessor-macro-definition
530− - include: line-continuation
531− - include: pop-if-not-whitespace
532− - include: line-ending
533− - match: '^\s*((%)(?:include|depend))\b'
534− captures:
535− 1: meta.preprocessor.asm.x86_64 keyword.control.import.preprocessor.asm.x86_64
536− 2: punctuation.definition.keyword.preprocessor.asm.x86_64
537− push: preprocessor-macro-definition
538− - match: '^\s*((%)use)\b'
539− captures:
540− 1: meta.preprocessor.asm.x86_64 keyword.control.import.preprocessor.asm.x86_64
541− 2: punctuation.definition.keyword.preprocessor.asm.x86_64
542− push:
543− - meta_content_scope: meta.preprocessor.macro.asm.x86_64 string.unquoted.asm.x86_64
544− - include: strings
545− - include: line-ending
546− - include: preprocessor-macro-indirection
547− - match: '^\s*((%)(?:assign|i?deftok|strcat|strlen|substr|pathsearch|push|pop|repl|line|clear))\b'
548− captures:
549− 1: meta.preprocessor.asm.x86_64 keyword.control.preprocessor.asm.x86_64
550− 2: punctuation.definition.keyword.preprocessor.asm.x86_64
551− push:
552− - meta_content_scope: meta.preprocessor.macro.asm.x86_64
553− - include: preprocessor-macro-indirection
554− - include: preprocessor-conditions-constant
555− - match: '^\s*((%)(?:arg|local))\b'
556− captures:
557− 1: meta.preprocessor.asm.x86_64 keyword.control.preprocessor.asm.x86_64
558− 2: punctuation.definition.keyword.preprocessor.asm.x86_64
559− push:
560− - meta_content_scope: meta.preprocessor.macro.asm.x86_64
561− - match: '({{valid_identifier}})(\:)(?=\w+)'
562− captures:
563− 1: meta.preprocessor.asm.x86_64 variable.parameter.macro.asm.x86_64
564− 2: punctuation.separator.asm.x86_64
565− - match: '\,'
566− scope: punctuation.separator.asm.x86_64
567− - include: data-types
568− - match: '\w+\b'
569− scope: invalid.illegal.storage.type.asm.x86_64
570− - include: line-continuation
571− - include: line-ending
572− - match: '^\s*((%)stacksize)\b'
573− captures:
574− 1: meta.preprocessor.asm.x86_64 keyword.control.preprocessor.asm.x86_64
575− 2: punctuation.definition.keyword.preprocessor.asm.x86_64
576− push:
577− - meta_content_scope: meta.preprocessor.macro.asm.x86_64
578− - match: '\b(flat(?:64)?|large|small)\b'
579− scope: support.constant.macro.asm.x86_64
580− - match: '\w+\b'
581− scope: invalid.illegal.storage.type.asm.x86_64
582− - include: line-continuation
583− - include: line-ending
584− - match: '^\s*((%)i?defstr)\s+(?:({{valid_identifier}})|(%%)({{valid_identifier}}))\b'
585− captures:
586− 1: meta.preprocessor.macro.asm.x86_64 keyword.control.import.preprocessor.assign.asm.x86_64
587− 2: punctuation.definition.keyword.preprocessor.asm.x86_64
588− 3: entity.name.constant.preprocessor.asm.x86_64
589− 4: punctuation.definition.keyword.preprocessor.asm.x86_64 keyword.control.preprocessor.asm.x86_64
590− 5: entity.name.constant.special.asm.x86_64
591− push:
592− - meta_content_scope: meta.preprocessor.macro.asm.x86_64 string.unquoted.asm.x86_64
593− - include: preprocessor-macro-indirection
594− - include: line-ending
595− - match: '^\s*((%)(?:warning|error|fatal|pragma))(?=\s|$)'
596− captures:
597− 1: meta.preprocessor.macro.asm.x86_64 keyword.control.preprocessor.assign.asm.x86_64
598− 2: punctuation.definition.keyword.preprocessor.asm.x86_64
599− 3: entity.name.constant.preprocessor.asm.x86_64
600− push:
601− - meta_content_scope: meta.preprocessor.macro.asm.x86_64 string.unquoted.asm.x86_64
602− - include: strings
603− - include: preprocessor-macro-indirection
604− - include: line-ending
605− preprocessor-macro-params-illegal:
606− - meta_scope: invalid.illegal.asm.x86_64
607− - include: preprocessor-macro-params
608− preprocessor-macro-params:
609− - meta_scope: meta.preprocessor.macro.parameters.asm.x86_64 meta.group.asm.x86_64
610− - match: '{{valid_identifier}}'
611− scope: variable.parameter.asm.x86_64
612− - match: '\)'
613− scope: punctuation.section.group.end.asm.x86_64
614− set: preprocessor-macro-definition
615− - match: ','
616− scope: punctuation.separator.asm.x86_64
617− push:
618− - match: '{{valid_identifier}}'
619− scope: variable.parameter.asm.x86_64
620− pop: true
621− - include: line-continuation
622− - include: preprocessor-comments
623− - match: '\.\.\.'
624− scope: keyword.operator.variadic.asm.x86_64
625− - match: '(?=\))'
626− pop: true
627− - match: '(/\*).*(\*/)'
628− scope: comment.block.asm.x86_64
629− captures:
630− 1: punctuation.definition.comment.asm.x86_64
631− 2: punctuation.definition.comment.asm.x86_64
632− - match: '\S+'
633− scope: invalid.illegal.unexpected-character.asm.x86_64
634− - include: line-continuation
635− - include: preprocessor-comments
636− - match: '\.\.\.'
637− scope: keyword.operator.variadic.asm.x86_64
638− - match: '(/\*).*(\*/)'
639− scope: comment.block.asm.x86_64
640− captures:
641− 1: punctuation.definition.comment.asm.x86_64
642− 2: punctuation.definition.comment.asm.x86_64
643− - match: '$\n'
644− scope: invalid.illegal.unexpected-end-of-line.asm.x86_64
645− preprocessor-macro-definition:
646− - meta_content_scope: meta.preprocessor.macro.asm.x86_64
647− - include: preprocessor-comments
648− - include: line-continuation
649− - include: line-ending
650− - include: main
651− preprocessor-macro-indirection:
652− - match: '((%)(\[))'
653− captures:
654− 1: meta.preprocessor.macro.asm.x86_64 keyword.control.preprocessor.asm.x86_64
655− 2: punctuation.definition.keyword.preprocessor.asm.x86_64
656− 3: meta.brackets.asm.x86_64 punctuation.section.brackets.begin.asm.x86_64
657− push:
658− - meta_scope: meta.brackets.asm.x86_64 meta.preprocessor.macro.asm.x86_64
659− - include: line-continuation
660− - include: line-ending
661− - include: main
662− - match: '\]'
663− scope: punctuation.section.brackets.end.asm.x86_64 keyword.control.preprocessor.asm.x86_64
664− pop: true
665− - match: '((%)\+)\s+'
666− captures:
667− 1: meta.preprocessor.asm.x86_64 keyword.operator.preprocessor.asm.x86_64
668− 2: punctuation.definition.keyword.preprocessor.asm.x86_64
669− - match: '((%)(\?\??))'
670− captures:
671− 1: meta.preprocessor.asm.x86_64 keyword.operator.preprocessor.asm.x86_64
672− 2: punctuation.definition.keyword.preprocessor.asm.x86_64
673− 3: variable.language.preprocessor.asm.x86_64
674− - match: '((%\$+)({{valid_identifier}})(?:(\:)?|\b))'
675− captures:
676− 1: meta.preprocessor.asm.x86_64
677− 2: punctuation.definition.keyword.preprocessor.asm.x86_64 keyword.control.preprocessor.asm.x86_64
678− 3: entity.name.constant.special.asm.x86_64
679− 4: punctuation.separator.asm.x86_64
680− - match: '((%)(\!))'
681− captures:
682− 1: meta.preprocessor.asm.x86_64 keyword.operator.preprocessor.asm.x86_64
683− 2: punctuation.definition.keyword.preprocessor.asm.x86_64
684− 3: punctuation.definition.variable.asm.x86_64
685− push:
686− - meta_content_scope: meta.preprocessor.asm.x86_64 keyword.operator.preprocessor.asm.x86_64 variable.parameter.preprocessor.environment.asm.x86_64
687− - match: '{{valid_identifier}}'
688− scope: variable.parameter.preprocessor.environment.unquoted.asm.x86_64
689− pop: true
690− - match: '(?=`|''|")'
691− set:
692− - meta_scope: variable.parameter.preprocessor.environment.quoted.asm.x86_64
693− - include: strings
694− - include: pop
695− - include: pop
696− preprocessor-conditions: # also see preprocessor-macro-conditions-multiline
697− - match: '^\s*((%)ifn?(?:idni?|id|num|str|token|empty|env)?)\b'
698− captures:
699− 1: meta.preprocessor.asm.x86_64 keyword.control.preprocessor.asm.x86_64
700− 2: punctuation.definition.keyword.preprocessor.asm.x86_64
701− push: preprocessor-conditions-content-block
702− - match: '^\s*((%)ifn?(?:def|ctx))\b'
703− captures:
704− 1: meta.preprocessor.asm.x86_64 keyword.control.preprocessor.asm.x86_64
705− 2: punctuation.definition.keyword.preprocessor.asm.x86_64
706− push: [preprocessor-conditions-content-block, preprocessor-conditions-constant]
707− - match: '^\s*((%)rep)\b'
708− captures:
709− 1: meta.preprocessor.asm.x86_64 keyword.control.preprocessor.asm.x86_64
710− 2: punctuation.definition.keyword.preprocessor.asm.x86_64
711− push: preprocessor-conditions-content-block
712− - match: '^\s*((%)ifn?macro)\b'
713− captures:
714− 1: meta.preprocessor.asm.x86_64 keyword.control.preprocessor.asm.x86_64
715− 2: punctuation.definition.keyword.preprocessor.asm.x86_64
716− push: [preprocessor-conditions-content-block, preprocessor-macro-arguments-signature]
717− - include: preprocessor-conditions-parity
718− preprocessor-conditions-constant:
719− - meta_content_scope: meta.preprocessor.asm.x86_64
720− - match: '(?:{{valid_identifier}})(?=\()'
721− scope: entity.name.constant.preprocessor.asm.x86_64
722− set:
723− - match: '\('
724− scope: punctuation.section.group.begin.asm.x86_64
725− set: preprocessor-macro-params-illegal
726− - match: '{{valid_identifier}}\b'
727− scope: meta.preprocessor.asm.x86_64 entity.name.constant.preprocessor.asm.x86_64
728− pop: true
729− - include: line-continuation
730− - include: pop-if-not-whitespace
731− - include: line-ending
732− - include: main
733− preprocessor-conditions-content-block:
734− - meta_content_scope: meta.block.preprocessor.asm.x86_64
735− - include: preprocessor-conditions-content-block-common
736− - include: main
737− preprocessor-conditions-content-block-common:
738− - match: '^\s*((%)(?:elifn?(?:idni?|id|num|str|token|empty|env)?|else|exitrep))\b'
739− captures:
740− 1: meta.preprocessor.asm.x86_64 keyword.control.preprocessor.asm.x86_64
741− 2: punctuation.definition.keyword.preprocessor.asm.x86_64
742− - match: '^\s*((%)(?:elifn?(?:def|ctx)))\b'
743− captures:
744− 1: meta.preprocessor.asm.x86_64 keyword.control.preprocessor.asm.x86_64
745− 2: punctuation.definition.keyword.preprocessor.asm.x86_64
746− push: preprocessor-conditions-constant
747− - match: '^\s*((%)elifn?macro)\b'
748− captures:
749− 1: meta.preprocessor.asm.x86_64 keyword.control.preprocessor.asm.x86_64
750− 2: punctuation.definition.keyword.preprocessor.asm.x86_64
751− push: preprocessor-macro-arguments-signature
752− - match: '^\s*((%)(?:end(?:if|rep)))\b'
753− captures:
754− 1: meta.preprocessor.asm.x86_64 keyword.control.preprocessor.asm.x86_64
755− 2: punctuation.definition.keyword.preprocessor.asm.x86_64
756− pop: true
757− preprocessor-conditions-parity:
758− - match: '^\s*((%)(?:elifn?(?:macro|def|ctx|idni?|id|num|str|token|empty|env)?|else|(?:end(?:if|rep))|exitrep))\b'
759− captures:
760− 1: invalid.illegal.meta.preprocessor.asm.x86_64 keyword.control.preprocessor.asm.x86_64
761− 2: punctuation.definition.keyword.preprocessor.asm.x86_64
762− preprocessor-other:
763− - include: preprocessor-macro-indirection
764− - match: '^\s*((%)undef)\b'
765− captures:
766− 1: meta.preprocessor.asm.x86_64 keyword.control.preprocessor.asm.x86_64
767− 2: punctuation.definition.keyword.preprocessor.asm.x86_64
768− push:
769− - meta_scope: meta.preprocessor.asm.x86_64
770− - include: line-continuation
771− - include: line-ending
772− - include: preprocessor-comments
773− - match: '{{valid_identifier}}'
774− scope: entity.name.constant.preprocessor.asm.x86_64
775− pop: true
776− - match: '^\s*((%)unmacro)\b'
777− captures:
778− 1: meta.preprocessor.asm.x86_64 keyword.control.import.asm.x86_64
779− 2: punctuation.definition.keyword.preprocessor.asm.x86_64
780− push: preprocessor-macro-arguments-signature
781− preprocessor-macro-arguments-signature:
782− - meta_scope: meta.preprocessor.asm.x86_64
783− - include: preprocessor-comments
784− - match: '({{valid_identifier}})(?:\s+(?:(\d+(?:(-)(?:\d+|\*))?)(\+)?(\.nolist\b)?))'
785− captures:
786− 1: entity.name.function.preprocessor.asm.x86_64
787− 2: variable.parameter.preprocessor.asm.x86_64
788− 3: keyword.operator.preprocessor.range.asm.x86_64
789− 4: storage.modifier.preprocessor.greedy.asm.x86_64
790− 5: storage.modifier.preprocessor.listing.asm.x86_64
791− pop: true
792− - include: line-continuation
793− - include: pop-if-not-whitespace
794− - include: line-ending
795− # multi-line macro
796− preprocessor-macro-multiline:
797− - match: '^\s*((%)i?macro)\b'
798− captures:
799− 1: meta.preprocessor.macro.asm.x86_64 keyword.control.import.define.asm.x86_64
800− 2: punctuation.definition.keyword.preprocessor.asm.x86_64
801− push:
802− - meta_content_scope: meta.preprocessor.macro.asm.x86_64
803− - include: preprocessor-comments
804− - match: '(?:{{valid_identifier}})(?=\()'
805− scope: entity.name.constant.preprocessor.asm.x86_64
806− set:
807− - meta_content_scope: invalid.illegal.asm.x86_64
808− - match: '\('
809− scope: punctuation.section.group.begin.asm.x86_64
810− set: preprocessor-macro-params-illegal
811− - match: '({{valid_identifier}})(?:\s+(?:(\d+(?:(-)(?:\d+|\*))?)(\+)?(\.nolist\b)?))'
812− captures:
813− 1: entity.name.function.preprocessor.asm.x86_64
814− 2: variable.parameter.preprocessor.asm.x86_64
815− 3: keyword.operator.preprocessor.range.asm.x86_64
816− 4: storage.modifier.preprocessor.greedy.asm.x86_64
817− 5: storage.modifier.preprocessor.listing.asm.x86_64
818− set: preprocessor-macro-definition-multiline-with-parameters
819− - match: '^\s*((%)endmacro)\b'
820− captures:
821− 1: invalid.illegal.meta.preprocessor.asm.x86_64 keyword.control.import.asm.x86_64
822− 2: punctuation.definition.keyword.preprocessor.asm.x86_64
823− preprocessor-macro-parameter:
824− - match: '((%)(\-?\d+))'
825− captures:
826− 1: meta.preprocessor.asm.x86_64
827− 2: punctuation.definition.variable.preprocessor.asm.x86_64 keyword.control.preprocessor.asm.x86_64
828− 3: variable.other.preprocessor.asm.x86_64
829− preprocessor-macro-definition-multiline-with-parameters:
830− - meta_content_scope: meta.preprocessor.macro.asm.x86_64
831− - include: preprocessor-comments
832− - include: preprocessor-macro-parameter
833− - include: preprocessor-macro-indirection
834− - include: preprocessor-macro-conditions-multiline
835− - include: preprocessor-macro-definition-multiline
836− preprocessor-macro-definition-multiline:
837− - meta_content_scope: meta.preprocessor.macro.asm.x86_64
838− - include: preprocessor-comments
839− - match: '^\s*((%)endmacro)\b'
840− captures:
841− 1: meta.preprocessor.asm.x86_64 keyword.control.import.asm.x86_64
842− 2: punctuation.definition.keyword.preprocessor.asm.x86_64
843− pop: true
844− - match: '((%%)({{valid_identifier}})(?:(\:)?|\b))'
845− captures:
846− 1: meta.preprocessor.asm.x86_64
847− 2: punctuation.definition.keyword.preprocessor.asm.x86_64 keyword.control.preprocessor.asm.x86_64
848− 3: entity.name.constant.special.asm.x86_64
849− 4: punctuation.separator.asm.x86_64
850− - match: '((%)({))'
851− captures:
852− 1: meta.preprocessor.macro.asm.x86_64 keyword.control.preprocessor.asm.x86_64
853− 2: punctuation.definition.keyword.preprocessor.asm.x86_64
854− 3: meta.braces.asm.x86_64 punctuation.section.braces.begin.asm.x86_64
855− push:
856− - meta_scope: meta.braces.asm.x86_64 meta.preprocessor.macro.asm.x86_64
857− - include: preprocessor-macro-indirection
858− - match: ':'
859− scope: punctuation.separator.asm.x86_64
860− - match: '}'
861− scope: punctuation.section.braces.end.asm.x86_64 keyword.control.preprocessor.asm.x86_64
862− pop: true
863− - match: '^\s*((%)(?:rotate))\b'
864− captures:
865− 1: meta.preprocessor.asm.x86_64 keyword.operator.word.asm.x86_64
866− 2: punctuation.definition.keyword.preprocessor.asm.x86_64
867− - match: '^\s*((%)(?:include|depend))\b'
868− captures:
869− 1: meta.preprocessor.asm.x86_64 keyword.control.import.preprocessor.asm.x86_64
870− 2: punctuation.definition.keyword.preprocessor.asm.x86_64
871− set: preprocessor-macro-definition-multiline-with-parameters
872− - match: '^\s*((%)(?:pathsearch))\b'
873− captures:
874− 1: meta.preprocessor.asm.x86_64 keyword.control.preprocessor.asm.x86_64
875− 2: punctuation.definition.keyword.preprocessor.asm.x86_64
876− set: [preprocessor-macro-definition-multiline-with-parameters, preprocessor-conditions-constant]
877− - match: '^\s*((%)x?i?define)\b'
878− captures:
879− 1: meta.preprocessor.macro.asm.x86_64 keyword.control.import.preprocessor.asm.x86_64
880− 2: punctuation.definition.keyword.preprocessor.asm.x86_64
881− push:
882− - meta_content_scope: meta.preprocessor.macro.asm.x86_64
883− - include: preprocessor-comments
884− - match: '(?:{{valid_identifier}})(?=\()'
885− scope: entity.name.function.preprocessor.asm.x86_64
886− set:
887− - match: '\('
888− scope: punctuation.section.group.begin.asm.x86_64
889− set: preprocessor-macro-params
890− - match: '{{valid_identifier}}'
891− scope: entity.name.constant.preprocessor.asm.x86_64
892− set: preprocessor-macro-definition-inside-multiline
893− - include: line-continuation
894− - include: pop-if-not-whitespace
895− - include: line-ending
896−
897− - include: preprocessor-macro-indirection
898− - include: preprocessor-conditions
899− - include: main
900− preprocessor-macro-conditions-multiline: # also see preprocessor-conditions
901− - match: '^\s*((%)ifn?(?:idni?|id|num|str|token|empty|env)?)\b'
902− captures:
903− 1: meta.preprocessor.asm.x86_64 keyword.control.preprocessor.asm.x86_64
904− 2: punctuation.definition.keyword.preprocessor.asm.x86_64
905− push: preprocessor-conditions-content-block-multiline
906− - match: '^\s*((%)ifn?(?:def|ctx))\b'
907− captures:
908− 1: meta.preprocessor.asm.x86_64 keyword.control.preprocessor.asm.x86_64
909− 2: punctuation.definition.keyword.preprocessor.asm.x86_64
910− push: [preprocessor-conditions-content-block-multiline, preprocessor-conditions-constant]
911− - match: '^\s*((%)rep)\b'
912− captures:
913− 1: meta.preprocessor.asm.x86_64 keyword.control.preprocessor.asm.x86_64
914− 2: punctuation.definition.keyword.preprocessor.asm.x86_64
915− push: preprocessor-conditions-content-block-multiline
916− - match: '^\s*((%)ifn?macro)\b'
917− captures:
918− 1: meta.preprocessor.asm.x86_64 keyword.control.preprocessor.asm.x86_64
919− 2: punctuation.definition.keyword.preprocessor.asm.x86_64
920− push: [preprocessor-macro-arguments-signature, preprocessor-conditions-content-block-multiline]
921− - include: preprocessor-conditions-parity
922− preprocessor-conditions-content-block-multiline:
923− - meta_content_scope: meta.block.preprocessor.asm.x86_64
924− - include: preprocessor-conditions-content-block-common
925− - include: preprocessor-macro-definition-multiline-with-parameters
926− preprocessor-macro-definition-inside-multiline:
927− - meta_content_scope: meta.preprocessor.macro.asm.x86_64
928− - include: preprocessor-macro-parameter
929− - include: preprocessor-macro-definition
930−
931− strings: # Character strings: http://www.nasm.us/doc/nasmdoc3.html#section-3.4.2
932− - match: '`'
933− scope: punctuation.definition.string.begin.asm.x86_64
934− push: string-backquote
935− - match: ''''
936− scope: punctuation.definition.string.begin.asm.x86_64
937− push: string-single
938− - match: '"'
939− scope: punctuation.definition.string.begin.asm.x86_64
940− push: string-double
941− string-content:
942− - match: '\\u[[:xdigit:]]{4}'
943− scope: constant.character.escape.asm.x86_64
944− - match: '\\U[[:xdigit:]]{8}'
945− scope: constant.character.escape.asm.x86_64
946− - match: '\\x[[:xdigit:]]{1,2}'
947− scope: constant.character.escape.asm.x86_64
948− - match: '\\[0-7]{1,3}'
949− scope: constant.character.escape.asm.x86_64
950− - match: '\\[''"`\\?abtnvfre]'
951− scope: constant.character.escape.asm.x86_64
952− - match: '\\.'
953− scope: invalid.illegal.constant.character.escape.asm.x86_64
954− string-backquote:
955− - meta_scope: string.quoted.other.asm.x86_64
956− - meta_include_prototype: false
957− - include: string-content
958− - match: '`'
959− scope: punctuation.definition.string.end
960− pop: true
961− string-single:
962− - meta_scope: string.quoted.single.asm.x86_64
963− - meta_include_prototype: false
964− - match: ''''
965− scope: punctuation.definition.string.end
966− pop: true
967− string-double:
968− - meta_scope: string.quoted.double.asm.x86_64
969− - meta_include_prototype: false
970− - match: '"'
971− scope: punctuation.definition.string.end
972− pop: true
973−
974− registers:
975− - match: '(?i)\b(?:[abcd][hl]|[er]?[abcd]x|[er]?(?:di|si|bp|sp)|dil|sil|bpl|spl|r(?:8|9|1[0-5])[bdlw]?)\b'
976− scope: constant.language.register.general-purpose.asm.x86_64
977− - match: '(?i)\b(?:[cdefgs]s)\b'
978− scope: constant.language.register.segment.asm.x86_64
979− - match: '(?i)\b(?:[er]?flags)\b'
980− scope: constant.language.register.flags.asm.x86_64
981− - match: '(?i)\b(?:[er]?ip)\b'
982− scope: constant.language.register.instruction-pointer.asm.x86_64
983− - match: '(?i)\b(?:cr[02-4])\b'
984− scope: constant.language.register.control.asm.x86_64
985− - match: '(?i)\b(?:(?:mm|st|fpr)[0-7])\b'
986− scope: constant.language.register.mmx.asm.x86_64
987− - match: '(?i)\b(?:[xy]mm(?:[0-9]|1[0-5])|mxcsr)\b'
988− scope: constant.language.register.sse_avx.asm.x86_64
989− - match: '(?i)\b(?:zmm(?:[12]?[0-9]|30|31))\b'
990− scope: constant.language.register.avx512.asm.x86_64
991− - match: '(?i)\b(?:bnd(?:[0-3]|cfg[su]|status))\b'
992− scope: constant.language.register.memory-protection.asm.x86_64
993− - match: '(?i)\b(?:(?:[gil]dt)r?|tr)\b'
994− scope: constant.language.register.system-table-pointer.asm.x86_64
995− - match: '(?i)\b(?:dr[0-367])\b'
996− scope: constant.language.register.debug.asm.x86_64
997− - match: '(?i)\b(?:cr8|dr(?:[89]|1[0-5])|efer|tpr|syscfg)\b'
998− scope: constant.language.register.amd.asm.x86_64
999− - match: '(?i)\b(?:db[0-367]|t[67]|tr[3-7]|st)\b'
1000− scope: invalid.deprecated.constant.language.register.asm.x86_64
1001− - match: '(?i)\b[xy]mm(?:1[6-9]|2[0-9]|3[01])\b'
1002− scope: invalid.deprecated.constant.language.register.asm.x86_64
1003−
1004− mnemonics: # see valid.asm for references
1005− - include: mnemonics-general-purpose
1006− - include: mnemonics-fpu
1007− - include: mnemonics-mmx
1008− - include: mnemonics-sse
1009− - include: mnemonics-sse2
1010− - include: mnemonics-sse3
1011− - include: mnemonics-sse4
1012− - include: mnemonics-aesni
1013− - include: mnemonics-avx
1014− - include: mnemonics-avx2
1015− - include: mnemonics-tsx
1016− - include: mnemonics-system
1017− - include: mnemonics-64bit
1018− - include: mnemonics-vmx
1019− - include: mnemonics-smx
1020− - include: mnemonics-intel-isa-sgx
1021− - include: mnemonics-intel-isa-mpx
1022− - include: mnemonics-intel-isa-sha
1023− - include: mnemonics-supplemental-amd
1024− - include: mnemonics-supplemental-cyrix
1025− - include: mnemonics-supplemental-via
1026− - include: mnemonics-undocumented
1027− - include: mnemonics-future-intel
1028− - include: mnemonics-pseudo-ops
1029− #- include: mnemonics-invalid
1030− mnemonics-general-purpose:
1031− - match: '(?i)\b(?:mov(?:[sz]x)?|cmov(?:n?[abceglopsz]|n?[abgl]e|p[eo]))\b'
1032− scope: keyword.operator.word.mnemonic.general-purpose.data-transfer.mov
1033− - match: '(?i)\b(xchg|bswap|xadd|cmpxchg(8b)?)\b'
1034− scope: keyword.operator.word.mnemonic.general-purpose.data-transfer.xchg
1035− - match: '(?i)\b((push|pop)(ad?)?|cwde?|cdq|cbw)\b'
1036− scope: keyword.operator.word.mnemonic.general-purpose.data-transfer.other
1037− - match: '(?i)\b(adcx?|adox|add|sub|sbb|i?mul|i?div|inc|dec|neg|cmp)\b'
1038− scope: keyword.operator.word.mnemonic.general-purpose.binary-arithmetic
1039− - match: '(?i)\b(daa|das|aaa|aas|aam|aad)\b'
1040− scope: keyword.operator.word.mnemonic.general-purpose.decimal-arithmetic
1041− - match: '(?i)\b(and|x?or|not)\b'
1042− scope: keyword.operator.word.mnemonic.general-purpose.logical
1043− - match: '(?i)\b(s[ah][rl]|sh[rl]d|r[co][rl])\b'
1044− scope: keyword.operator.word.mnemonic.general-purpose.rotate
1045− - match: '(?i)\b(set(n?[abceglopsz]|n?[abgl]e|p[eo]))\b'
1046− scope: keyword.operator.word.mnemonic.general-purpose.bit-and-byte.set
1047− - match: '(?i)\b(bt[crs]?|bs[fr]|test|crc32|popcnt)\b'
1048− scope: keyword.operator.word.mnemonic.general-purpose.bit-and-byte.other
1049− - match: '(?i)\b(jmp|jn?[abceglopsz]|jn?[abgl]e|jp[eo]|j[er]?cxz)\b'
1050− scope: keyword.operator.word.mnemonic.general-purpose.control-transfer.jmp
1051− - match: '(?i)\b(loop(n?[ez])?|call|ret|iret[dq]?|into?|bound|enter|leave)\b'
1052− scope: keyword.operator.word.mnemonic.general-purpose.control-transfer.other
1053− - match: '(?i)\b((mov|cmp|sca|lod|sto)(s[bdw]?)|rep(n?[ez])?)\b'
1054− scope: keyword.operator.word.mnemonic.general-purpose.strings
1055− - match: '(?i)\b((in|out)(s[bdw]?)?)\b'
1056− scope: keyword.operator.word.mnemonic.general-purpose.io
1057− - match: '(?i)\b((st|cl)[cdi]|cmc|[ls]ahf|(push|pop)f[dq]?)\b'
1058− scope: keyword.operator.word.mnemonic.general-purpose.flag-control
1059− - match: '(?i)\b(l[defgs]s)\b'
1060− scope: keyword.operator.word.mnemonic.general-purpose.segment-registers
1061− - match: '(?i)\b(lea|nop|ud2|xlatb?|cpuid|movbe)\b'
1062− scope: keyword.operator.word.mnemonic.general-purpose.misc
1063− - match: '(?i)\b(rdrand|rdseed)\b'
1064− scope: keyword.operator.word.mnemonic.general-purpose.rng
1065− - match: '(?i)\b(andn|bextr|bls(i|r|msk)|bzhi|pdep|pext|[lt]zcnt|(mul|ror|sar|shl|shr)x)\b'
1066− scope: keyword.operator.word.mnemonic.general-purpose.bmi
1067− mnemonics-fpu:
1068− - match: '(?i)\b(fcmov(n?([beu]|be)))\b'
1069− scope: keyword.operator.word.mnemonic.fpu.data-transfer.mov
1070− - match: '(?i)\b(f(i?(ld|stp?)|b(ld|stp)|xch))\b'
1071− scope: keyword.operator.word.mnemonic.fpu.data-transfer.other
1072− - match: '(?i)\b(f((add|div|mul|sub)p?|i(add|div|mul|sub)|(div|sub)rp?|i(div|sub)r))\b'
1073− scope: keyword.operator.word.mnemonic.fpu.basic-arithmetic.basic
1074− - match: '(?i)\b(f(prem1?|abs|chs|rndint|scale|sqrt|xtract))\b'
1075− scope: keyword.operator.word.mnemonic.fpu.basic-arithmetic.other
1076− - match: '(?i)\b(f(u?com[ip]?p?|icomp?|tst|xam))\b'
1077− scope: keyword.operator.word.mnemonic.fpu.comparison
1078− - match: '(?i)\b(f(sin|cos|sincos|pa?tan|2xm1|yl2x(p1)?))\b'
1079− scope: keyword.operator.word.mnemonic.fpu.transcendental
1080− - match: '(?i)\b(fld(1|z|pi|l2[et]|l[ng]2))\b'
1081− scope: keyword.operator.word.mnemonic.fpu.load-constants
1082− - match: '(?i)\b(f((inc|dec)stp|free|n?(init|clex|st[cs]w|stenv|save)|ld(cw|env)|rstor|nop)|f?wait)\b'
1083− scope: keyword.operator.word.mnemonic.fpu.control-management
1084− - match: '(?i)\b(fx(save|rstor)(64)?)\b'
1085− scope: keyword.operator.word.mnemonic.fpu.state-management
1086− mnemonics-mmx:
1087− - match: '(?i)\b(mov[dq])\b'
1088− scope: keyword.operator.word.mnemonic.mmx.data-transfer
1089− - match: '(?i)\b(pack(ssdw|[su]swb)|punpck[hl](bw|dq|wd))\b'
1090− scope: keyword.operator.word.mnemonic.mmx.conversion
1091− - match: '(?i)\b(p(((add|sub)(d|(u?s)?[bw]))|maddwd|mul[lh]w))\b'
1092− scope: keyword.operator.word.mnemonic.mmx.packed-arithmetic
1093− - match: '(?i)\b(pcmp((eq|gt)[bdw]))\b'
1094− scope: keyword.operator.word.mnemonic.mmx.comparison
1095− - match: '(?i)\b(pandn?|px?or)\b'
1096− scope: keyword.operator.word.mnemonic.mmx.logical
1097− - match: '(?i)\b(ps([rl]l[dwq]|raw|rad))\b'
1098− scope: keyword.operator.word.mnemonic.mmx.shift-and-rotate
1099− - match: '(?i)\b(emms)\b'
1100− scope: keyword.operator.word.mnemonic.mmx.state-management
1101− mnemonics-sse:
1102− - match: '(?i)\b(mov(([ahlu]|hl|lh|msk)ps|ss))\b'
1103− scope: keyword.operator.word.mnemonic.sse.data-transfer
1104− - match: '(?i)\b((add|div|max|min|mul|rcp|r?sqrt|sub)[ps]s)\b'
1105− scope: keyword.operator.word.mnemonic.sse.packed-arithmetic
1106− - match: '(?i)\b(cmp[ps]s|u?comiss)\b'
1107− scope: keyword.operator.word.mnemonic.sse.comparison
1108− - match: '(?i)\b((andn?|x?or)ps)\b'
1109− scope: keyword.operator.word.mnemonic.sse.logical
1110− - match: '(?i)\b((shuf|unpck[hl])ps)\b'
1111− scope: keyword.operator.word.mnemonic.sse.shuffle-and-unpack
1112− - match: '(?i)\b(cvt(pi2ps|si2ss|ps2pi|tps2pi|ss2si|tss2si))\b'
1113− scope: keyword.operator.word.mnemonic.sse.conversion
1114− - match: '(?i)\b((ld|st)mxcsr)\b'
1115− scope: keyword.operator.word.mnemonic.sse.state-management
1116− - match: '(?i)\b(p(avg[bw]|extrw|insrw|(max|min)(sw|ub)|sadbw|shufw|mulhuw|movmskb))\b'
1117− scope: keyword.operator.word.mnemonic.sse.simd-integer
1118− - match: '(?i)\b(maskmovq|movntps|sfence)\b'
1119− scope: keyword.operator.word.mnemonic.sse.cacheability-control
1120− - match: '(?i)\b(prefetch(nta|t[0-2]|w(t1)?))\b'
1121− scope: keyword.operator.word.mnemonic.sse.prefetch
1122− mnemonics-sse2:
1123− - match: '(?i)\b(mov([auhl]|msk)pd)\b'
1124− scope: keyword.operator.word.mnemonic.sse2.data-transfer
1125− - match: '(?i)\b((add|div|max|min|mul|sub|sqrt)[ps]d)\b'
1126− scope: keyword.operator.word.mnemonic.sse2.packed-arithmetic
1127− - match: '(?i)\b((andn?|x?or)pd)\b'
1128− scope: keyword.operator.word.mnemonic.sse2.logical
1129− - match: '(?i)\b((cmpp|u?comis)d)\b'
1130− scope: keyword.operator.word.mnemonic.sse2.compare
1131− - match: '(?i)\b((shuf|unpck[hl])pd)\b'
1132− scope: keyword.operator.word.mnemonic.sse2.shuffle-and-unpack
1133− - match: '(?i)\b(cvt(dq2pd|pi2pd|ps2pd|pd2ps|si2sd|sd2ss|ss2sd|t?(pd2dq|pd2pi|sd2si)))\b'
1134− scope: keyword.operator.word.mnemonic.sse2.conversion
1135− - match: '(?i)\b(cvt(dq2ps|ps2dq|tps2dq))\b'
1136− scope: keyword.operator.word.mnemonic.sse2.packed-floating-point
1137− - match: '(?i)\b(mov(dq[au]|q2dq|dq2q))\b'
1138− scope: keyword.operator.word.mnemonic.sse2.simd-integer.mov
1139− - match: '(?i)\b(p((add|sub|(s[lr]l|mulu|unpck[hl]q)d)q|shuf(d|[hl]w)))\b'
1140− scope: keyword.operator.word.mnemonic.sse2.simd-integer.other
1141− - match: '(?i)\b(clflush|[lm]fence|pause|maskmovdqu|movnt(dq|i|pd))\b'
1142− scope: keyword.operator.word.mnemonic.sse2.cacheability-control
1143− mnemonics-sse3:
1144− - match: '(?i)\b(fisttp|lddqu|(addsub|h(add|sub))p[sd]|mov(sh|sl|d)dup|monitor|mwait)\b'
1145− scope: keyword.operator.word.mnemonic.sse3
1146− - match: '(?i)\b(ph(add|sub)(s?w|d))\b'
1147− scope: keyword.operator.word.mnemonic.sse3.supplimental.horizontal-packed-arithmetic
1148− - match: '(?i)\b(p((abs|sign)[bdw]|maddubsw|mulhrsw|shufb|alignr))\b'
1149− scope: keyword.operator.word.mnemonic.sse3.supplimental.other
1150− mnemonics-sse4:
1151− - match: '(?i)\b(pmul(ld|dq)|dpp[ds])\b'
1152− scope: keyword.operator.word.mnemonic.sse4.1.arithmetic
1153− - match: '(?i)\b(movntdqa)\b'
1154− scope: keyword.operator.word.mnemonic.sse4.1.load-hint
1155− - match: '(?i)\b(blendv?p[ds]|pblend(vb|w))\b'
1156− scope: keyword.operator.word.mnemonic.sse4.1.packed-blending
1157− - match: '(?i)\b(p(min|max)(u[dw]|s[bd]))\b'
1158− scope: keyword.operator.word.mnemonic.sse4.1.packed-integer
1159− - match: '(?i)\b(round[ps][sd])\b'
1160− scope: keyword.operator.word.mnemonic.sse4.1.packed-floating-point
1161− - match: '(?i)\b((extract|insert)ps|p((ins|ext)(r[bdq])))\b'
1162− scope: keyword.operator.word.mnemonic.sse4.1.insertion-and-extraction
1163− - match: '(?i)\b(pmov([sz]x(b[dqw]|dq|wd|wq)))\b'
1164− scope: keyword.operator.word.mnemonic.sse4.1.conversion
1165− - match: '(?i)\b(mpsadbw|phminposuw|ptest|pcmpeqq|packusdw)\b'
1166− scope: keyword.operator.word.mnemonic.sse4.1.other
1167− - match: '(?i)\b(pcmp([ei]str[im]|gtq))\b'
1168− scope: keyword.operator.word.mnemonic.sse4.2
1169− mnemonics-aesni:
1170− - match: '(?i)\b(aes((dec|enc)(last)?|imc|keygenassist)|pclmulqdq)\b'
1171− scope: keyword.operator.word.mnemonic.aesni
1172− mnemonics-avx:
1173− - match: '(?i)\b(v((test|permil|maskmov)p[ds]|zero(all|upper)|(perm2|insert|extract|broadcast)f128|broadcasts[ds]))\b'
1174− scope: keyword.operator.word.mnemonic.avx
1175− - match: '(?i)\b(vaes((dec|enc)(last)?|imc|keygenassist)|vpclmulqdq)\b'
1176− scope: keyword.operator.word.mnemonic.avx.promoted.aes
1177− - match: '(?i)\b(v((cmp[ps]|u?comis)[ds]|pcmp([ei]str[im]|(eq|gt)[bdqw])))\b'
1178− scope: keyword.operator.word.mnemonic.avx.promoted.comparison
1179− - match: '(?i)\b(v(cvt(dq2pd|dq2ps|pd2ps|ps2pd|sd2ss|si2sd|si2ss|ss2sd|t?(pd2dq|ps2dq|sd2si|ss2si))))\b'
1180− scope: keyword.operator.word.mnemonic.avx.promoted.conversion
1181− - match: '(?i)\b(vh((add|sub)p[ds])|vph((add|sub)([dw]|sw)|minposuw))\b'
1182− scope: keyword.operator.word.mnemonic.avx.promoted.horizontal-packed-arithmetic
1183− - match: '(?i)\b(v((andn?|x?or)p[ds]))\b'
1184− scope: keyword.operator.word.mnemonic.avx.promoted.logical
1185− - match: '(?i)\b(v(mov(([ahl]|msk|nt|u)p[ds]|(hl|lh)ps|s([ds]|[hl]dup)|q)))\b'
1186− scope: keyword.operator.word.mnemonic.avx.promoted.mov
1187− - match: '(?i)\b(v((add|div|mul|sub|max|min|round|sqrt)[ps][ds]|(addsub|dp)p[ds]|(rcp|rsqrt)[ps]s))\b'
1188− scope: keyword.operator.word.mnemonic.avx.promoted.packed-arithmetic
1189− - match: '(?i)\b(v(pack[su]s(dw|wb)|punpck[hl](bw|dq|wd|qdq)|unpck[hl]p[ds]))\b'
1190− scope: keyword.operator.word.mnemonic.avx.promoted.packed-conversion
1191− - match: '(?i)\b(vp(shuf([bd]|[hl]w))|vshufp[ds])\b'
1192− scope: keyword.operator.word.mnemonic.avx.promoted.packed-shuffle
1193− - match: '(?i)\b(vp((abs|sign|(max|min)[su])[bdw]|(add|sub)([bdqw]|u?s[bw])|avg[bw]|extr[bdqw]|madd(wd|ubsw)|mul(hu?w|hrsw|l[dw]|u?dq)|sadbw))\b'
1194− scope: keyword.operator.word.mnemonic.avx.promoted.supplemental.arithmetic
1195− - match: '(?i)\b(vp(andn?|x?or))\b'
1196− scope: keyword.operator.word.mnemonic.avx.promoted.supplemental.logical
1197− - match: '(?i)\b(vpblend(vb|w))\b'
1198− scope: keyword.operator.word.mnemonic.avx.promoted.supplemental.blending
1199− - match: '(?i)\b(vpmov(mskb|[sz]x(b[dqw]|w[dq]|dq)))\b'
1200− scope: keyword.operator.word.mnemonic.avx.promoted.supplemental.mov
1201− - match: '(?i)\b(vp(insr[bdqw]|sll(dq|[dqw])|srl(dq)))\b'
1202− scope: keyword.operator.word.mnemonic.avx.promoted.simd-integer
1203− - match: '(?i)\b(vp(sra[dwq]|srl[dqw]))\b'
1204− scope: keyword.operator.word.mnemonic.avx.promoted.shift-and-rotate
1205− - match: '(?i)\b(vblendv?p[ds])\b'
1206− scope: keyword.operator.word.mnemonic.avx.promoted.packed-blending
1207− - match: '(?i)\b(vp(test|alignr))\b'
1208− scope: keyword.operator.word.mnemonic.avx.promoted.packed-other
1209− - match: '(?i)\b(vmov(d(dup|qa|qu)?))\b'
1210− scope: keyword.operator.word.mnemonic.avx.promoted.simd-integer.mov
1211− - match: '(?i)\b(v((extract|insert)ps|lddqu|(ld|st)mxcsr|mpsadbw))\b'
1212− scope: keyword.operator.word.mnemonic.avx.promoted.other
1213− - match: '(?i)\b(v(maskmovdqu|movntdqa?))\b'
1214− scope: keyword.operator.word.mnemonic.avx.promoted.cacheability-control
1215− - match: '(?i)\b(vcvt(ph2ps|ps2ph))\b'
1216− scope: keyword.operator.word.mnemonic.16-bit-floating-point-conversion
1217− - match: '(?i)\b(vfn?m((add|sub)(132|213|231)[ps][ds])|vfm((addsub|subadd)(132|213|231)p[ds]))\b'
1218− scope: keyword.operator.word.mnemonic.fma
1219− mnemonics-avx2:
1220− - match: '(?i)\b(v((broadcast|extract|insert|perm2)i128|pmaskmov[dq]|perm([dsq]|p[sd])))\b'
1221− scope: keyword.operator.word.mnemonic.avx2.promoted.simd
1222− - match: '(?i)\b(vpbroadcast[bdqw])\b'
1223− scope: keyword.operator.word.mnemonic.avx2.promoted.packed
1224− - match: '(?i)\b(vp(blendd|s[lr]lv[dq]|sravd))\b'
1225− scope: keyword.operator.word.mnemonic.avx2.blend
1226− - match: '(?i)\b(vp?gather[dq][dq]|vgather([dq]|dq)p[ds])\b'
1227− scope: keyword.operator.word.mnemonic.avx2.gather
1228− mnemonics-tsx:
1229− - match: '(?i)\b(x(abort|acquire|release|begin|end|test))\b'
1230− scope: keyword.operator.word.mnemonic.tsx
1231− mnemonics-system:
1232− - match: '(?i)\b((cl|st)ac|[ls]([gli]dt|tr|msw)|clts|arpl|lar|lsl|ver[rw]|inv(d|lpg|pcid)|wbinvd)\b'
1233− scope: keyword.operator.word.mnemonic.system
1234− - match: '(?i)\b(lock|hlt|rsm|(rd|wr)(msr|pkru|[fg]sbase)|rd(pmc|tscp?)|sys(enter|exit))\b'
1235− scope: keyword.operator.word.mnemonic.system
1236− - match: '(?i)\b(x((save(c|opt|s)?|rstors?)(64)?|[gs]etbv))\b'
1237− scope: keyword.operator.word.mnemonic.system
1238− mnemonics-64bit:
1239− - match: '(?i)\b(cdqe|cqo|(cmp|lod|mov|sto)sq|cmpxchg16b|mov(ntq|sxd)|scasq|swapgs|sys(call|ret))\b'
1240− scope: keyword.operator.word.mnemonic.64-bit-mode
1241− mnemonics-vmx:
1242− - match: '(?i)\b(vm(ptr(ld|st)|clear|read|write|launch|resume|xo(ff|n)|call|func)|inv(ept|vpid))\b'
1243− scope: keyword.operator.word.mnemonic.vmx
1244− mnemonics-smx:
1245− - match: '(?i)\b(getsec)\b'
1246− scope: keyword.operator.word.mnemonic.smx.getsec
1247− - match: '(?i)\b(capabilities|enteraccs|exitac|senter|sexit|parameters|smctrl|wakeup)\b'
1248− scope: support.constant
1249− mnemonics-intel-isa-sgx:
1250− - match: '(?i)\be(add|block|create|dbg(rd|wr)|extend|init|ld[bu]|pa|remove|track|wb)\b'
1251− scope: keyword.operator.word.mnemonic.sgx1.supervisor
1252− - match: '(?i)\be(enter|exit|getkey|report|resume)\b'
1253− scope: keyword.operator.word.mnemonic.sgx1.user
1254− - match: '(?i)\be(aug|mod(pr|t))\b'
1255− scope: keyword.operator.word.mnemonic.sgx2.supervisor
1256− - match: '(?i)\be(accept(copy)?|modpe)\b'
1257− scope: keyword.operator.word.mnemonic.sgx2.user
1258− mnemonics-intel-isa-mpx:
1259− - match: '(?i)\b(bnd(mk|c[lnu]|mov|ldx|stx))\b'
1260− scope: keyword.operator.word.mnemonic.mpx
1261− mnemonics-intel-isa-sha:
1262− - match: '(?i)\b(sha(1rnds4|256rnds2|1nexte|(1|256)msg[12]))\b'
1263− scope: keyword.operator.word.mnemonic.sha
1264− mnemonics-supplemental-amd:
1265− - match: '(?i)\b(bl([cs](fill|ic?|msk)|cs)|t1mskc|tzmsk)\b'
1266− scope: keyword.operator.word.mnemonic.supplemental.amd.general-purpose
1267− - match: '(?i)\b(clgi|int3|invlpga|iretw|skinit|stgi|vm(load|mcall|run|save)|monitorx|mwaitx)\b'
1268− scope: keyword.operator.word.mnemonic.supplemental.amd.system
1269− - match: '(?i)\b([ls]lwpcb|lwp(ins|val))\b'
1270− scope: keyword.operator.word.mnemonic.supplemental.amd.profiling
1271− - match: '(?i)\b(movnts[ds])\b'
1272− scope: keyword.operator.word.mnemonic.supplemental.amd.memory-management
1273− - match: '(?i)\b(prefetch|clzero)\b'
1274− scope: keyword.operator.word.mnemonic.supplemental.amd.cache-management
1275− - match: '(?i)\b((extr|insert)q)\b'
1276− scope: keyword.operator.word.mnemonic.supplemental.amd.sse4.a
1277− - match: '(?i)\b(vfn?m((add|sub)[ps][ds])|vfm((addsub|subadd)p[ds]))\b'
1278− scope: keyword.operator.word.mnemonic.supplemental.amd.fma4
1279− - match: '(?i)\b(vp(cmov|(comu?|rot|sh[al])[bdqw]|mac(s?s(d(d|q[hl])|w[dw]))|madcss?wd|perm))\b'
1280− scope: keyword.operator.word.mnemonic.supplemental.amd.xop.simd
1281− - match: '(?i)\b(vph(addu?(b[dqw]|w[dq]|dq)|sub(bw|dq|wd)))\b'
1282− scope: keyword.operator.word.mnemonic.supplemental.amd.xop.simd-horizontal
1283− - match: '(?i)\b(vfrcz[ps][ds]|vpermil2p[ds])\b'
1284− scope: keyword.operator.word.mnemonic.supplemental.amd.xop.other
1285− - match: '(?i)\b(femms)\b'
1286− scope: keyword.operator.word.mnemonic.supplemental.amd.3dnow
1287− - match: '(?i)\b(p(avgusb|(f2i|i2f)[dw]|mulhrw|swapd)|pf((p?n)?acc|add|max|min|mul|rcp(it[12])?|rsqit1|rsqrt|subr?))\b'
1288− scope: keyword.operator.word.mnemonic.supplemental.amd.3dnow.simd
1289− - match: '(?i)\b(pfcmp(eq|ge|gt))\b'
1290− scope: keyword.operator.word.mnemonic.supplemental.amd.3dnow.comparison
1291− mnemonics-supplemental-cyrix:
1292− - match: '(?i)\b((sv|rs)dc|(wr|rd)shr|paddsiw)\b'
1293− scope: keyword.operator.word.mnemonic.supplemental.cyrix
1294− mnemonics-supplemental-via:
1295− - match: '(?i)\b(montmul)\b'
1296− scope: keyword.operator.word.mnemonic.supplemental.via
1297− - match: '(?i)\b(x(store(rng)?|crypt(ecb|cbc|ctr|cfb|ofb)|sha(1|256)))\b'
1298− scope: keyword.operator.word.mnemonic.supplemental.via.padlock
1299− mnemonics-undocumented:
1300− - match: '(?i)\b(ret[nf]|icebp|int1|int03|smi|ud1)\b'
1301− scope: keyword.operator.word.mnemonic.undocumented
1302− mnemonics-future-intel:
1303− - include: mnemonics-future-intel-avx512
1304− - include: mnemonics-future-intel-opmask
1305− - include: mnemonics-future-intel-cet
1306− - include: mnemonics-future-intel-other
1307− mnemonics-future-intel-avx512:
1308− - match: '(?i)\b(vblendm(pd|ps)|vpblendm[bdqw])\b'
1309− scope: keyword.operator.word.mnemonic.avx512.blend
1310− - match: '(?i)\b(vbroadcast[fi](32x[248]|64x[24])|v(extract|insert)[fi](32x[48]|64x[24])|vshuf[fi](32x4|64x2)|vpbroadcastm(b2q|w2d))\b'
1311− scope: keyword.operator.word.mnemonic.avx512.bits-mov
1312− - match: '(?i)\b(v(compress|expand)p[ds]|vp(compress|expand|conflict)[dq])\b'
1313− scope: keyword.operator.word.mnemonic.avx512.compress
1314− - match: '(?i)\b(vcvt(t?p[sd]2(udq|u?qq)|(udq|u?qq)2p[ds]|t?s[ds]2usi|usi2s[ds]))\b'
1315− scope: keyword.operator.word.mnemonic.avx512.conversion
1316− - match: '(?i)\b(v(fixupimm|fpclass|get(exp|mant)|range|(rcp|rsqrt)(14|28)|reduce|rndscale|scalef)([ps][ds]))\b'
1317− scope: keyword.operator.word.mnemonic.avx512.math
1318− - match: '(?i)\b(v(exp2p[ds]|(scatter|(gather|scatter)pf[01])[dq]p[ds]))\b'
1319− scope: keyword.operator.word.mnemonic.avx512.math
1320− - match: '(?i)\b(vmovdq(a(32|64)|u(8|16|32|64)))\b'
1321− scope: keyword.operator.word.mnemonic.avx512.simd-integer
1322− - match: '(?i)\b(vp(andn?|x?or)[dq])\b'
1323− scope: keyword.operator.word.mnemonic.avx512.logical
1324− - match: '(?i)\b(vpcmpu?[dqw])\b'
1325− scope: keyword.operator.word.mnemonic.avx512.packed-comparison
1326− - match: '(?i)\b(vp(absq|(lzcnt|ternlog)[dq]|madd52[lh]uq|(max|min)[su]q|mullq))\b'
1327− scope: keyword.operator.word.mnemonic.avx512.packed-math
1328− - match: '(?i)\b(vpmov(m2[bdqw]|[bdqw]2m|(u?s)?([qd][bw]|qd|wb)))\b'
1329− scope: keyword.operator.word.mnemonic.avx512.packed-mov
1330− - match: '(?i)\b(vp(ro[rl]v?[dq]|scatter[dq][dq]))\b'
1331− scope: keyword.operator.word.mnemonic.avx512.packed-shift
1332− - match: '(?i)\b(vptestn?m[bdqw])\b'
1333− scope: keyword.operator.word.mnemonic.avx512.packed-test
1334− - match: '(?i)\b(vperm([bdw]|[it]2([bdwq]|p[ds])))\b'
1335− scope: keyword.operator.word.mnemonic.avx512.permutations
1336− - match: '(?i)\b(valign[dq]|vdbpsadbw|vpmultishiftqb|vpsrav[dqw])\b'
1337− scope: keyword.operator.word.mnemonic.avx512.other
1338− mnemonics-future-intel-opmask:
1339− - match: '(?i)\b(k(add|andn?|(xn?)?or|mov|not|(or)?test|shift[lr])[bdqw]|kunpck(bw|wd|dq))\b'
1340− scope: keyword.operator.word.mnemonic.opmask
1341− mnemonics-future-intel-cet:
1342− - match: '(?i)\b((inc|save|rstor)ssp|wru?ss|(set|clr)ssbsy|endbranch|endbr(32|64))\b'
1343− scope: keyword.operator.word.mnemonic.cet
1344− mnemonics-future-intel-other:
1345− - match: '(?i)\b(clflushopt|clwb|pcommit)\b'
1346− scope: keyword.operator.word.mnemonic.other
1347− mnemonics-pseudo-ops:
1348− - match: '(?i)\b(cmp(n?(eq|lt|le)|(un)?ord)[ps][ds])\b'
1349− scope: keyword.pseudo-mnemonic.sse2.compare
1350− - match: '(?i)\b(v?pclmul([hl]q[hl]q|[hl]qh)dq)\b'
1351− scope: keyword.pseudo-mnemonic.avx.promoted.aes
1352− - match: '(?i)\b(vcmp(eq(_(os|uq|us))?|neq(_(oq|os|us))?|[gl][et](_oq)?|n[gl][et](_uq)?|(un)?ord(_s)?|false(_os)?|true(_us)?)[ps][ds])\b'
1353− scope: keyword.pseudo-mnemonic.avx.promoted.comparison
1354− - match: '(?i)\b(vpcom(n?eq|[gl][et]|false|true)(b|uw))\b'
1355− scope: keyword.pseudo-mnemonic.supplemental.amd.xop.simd
1356− mnemonics-invalid:
1357− - include: mnemonics-invalid-amd-sse5
1358− mnemonics-invalid-amd-sse5:
1359− - match: '(?i)\b(com[ps][ds]|pcomu?[bdqw])\b'
1360− scope: invalid.keyword.operator.word.mnemonic.sse5.comparison
1361− - match: '(?i)\b(cvtp(h2ps|s2ph)|frcz[ps][ds])\b'
1362− scope: invalid.keyword.operator.word.mnemonic.sse5.conversion
1363− - match: '(?i)\b(fn?m((add|sub)[ps][ds])|ph(addu?(b[dqw]|w[dq]|dq)|sub(bw|dq|wd))|pma(css?(d(d|q[hl])|w[dw])|dcss?wd))\b'
1364− scope: invalid.keyword.operator.word.mnemonic.sse5.packed-arithmetic
1365− - match: '(?i)\b(pcmov|permp[ds]|pperm|prot[bdqw]|psh[al][bdqw])\b'
1366− scope: invalid.keyword.operator.word.mnemonic.sse5.simd-integer
1367−...
assets/syntaxes/02_Extra/CMakedeleted−1

Submodule changed.

assets/syntaxes/02_Extra/CSV.sublime-syntaxdeleted−78
@@ -1,78 +0,0 @@
1−%YAML 1.2
2−---
3−# See http://www.sublimetext.com/docs/3/syntax.html
4−name: Comma Separated Values
5−file_extensions:
6− - csv
7− - tsv
8−scope: text.csv
9−variables:
10− field_separator: (?:[,;\t])
11− record_separator: (?:$\n?)
12−contexts:
13− prototype:
14− - match: (?={{record_separator}})
15− pop: true
16− fields:
17− - match: ''
18− push:
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/Cabal.sublime-syntaxdeleted−47
@@ -1,47 +0,0 @@
1−%YAML 1.2
2−---
3−# http://www.sublimetext.com/docs/3/syntax.html
4−name: Cabal
5−file_extensions:
6− - cabal
7−scope: source.cabal
8−contexts:
9− main:
10− - match: ^(\s*)(exposed-modules):$
11− captures:
12− 2: constant.other.cabal
13− push:
14− - meta_scope: exposed.modules.cabal
15− - match: ^(?!\1\s)
16− pop: true
17− - include: module_name
18− - match: ^(\s*)(build-depends):$
19− captures:
20− 2: constant.other.cabal
21− push:
22− - meta_scope: exposed.modules.cabal
23− - match: ^(?!\1\s)
24− pop: true
25− - match: "([<>=]+)|([&|]+)"
26− scope: keyword.operator.haskell
27− - match: ((\d+|\*)\.)*(\d+|\*)
28− scope: constant.numeric.haskell
29− - match: '([\w\-]+)'
30− scope: support.function.haskell
31− - match: '^\s*([a-zA-Z_-]+)(:)\s+'
32− scope: entity.cabal
33− captures:
34− 1: constant.other.cabal
35− 2: punctuation.entity.cabal
36− - match: '^(?i)(executable|library|test-suite|benchmark|flag|source-repository|custom-setup)\s+([^\s,]+)\s*$'
37− scope: entity.cabal
38− captures:
39− 1: keyword.entity.cabal
40− 2: string.cabal
41− - match: ^(?i)library\s*$
42− scope: keyword.entity.cabal
43− - match: "--.*$"
44− scope: comment.cabal
45− module_name:
46− - match: '([A-Z][A-Za-z_''0-9]*)(\.[A-Z][A-Za-z_''0-9]*)*'
47− scope: storage.module.haskell
assets/syntaxes/02_Extra/CoffeeScriptdeleted−1

Submodule changed.

assets/syntaxes/02_Extra/CoffeeScript.sublime-syntaxdeleted−271
@@ -1,271 +0,0 @@
1−%YAML 1.2
2−---
3−# http://www.sublimetext.com/docs/3/syntax.html
4−name: CoffeeScript
5−comment: "CoffeeScript Syntax: version 1"
6−file_extensions:
7− - coffee
8− - Cakefile
9− - coffee.erb
10− - cson
11−first_line_match: ^#!.*\bcoffee
12−scope: source.coffee
13−contexts:
14− main:
15− - match: '(\([^()]*?\))\s*([=-]>)'
16− comment: "match stuff like: a -> …"
17− scope: meta.inline.function.coffee
18− captures:
19− 1: variable.parameter.function.coffee
20− 2: storage.type.function.coffee
21− - match: (new)\s+(\w+(?:\.\w*)*)
22− scope: meta.class.instance.constructor
23− captures:
24− 1: keyword.operator.new.coffee
25− 2: support.class.coffee
26− - match: "'''"
27− captures:
28− 0: punctuation.definition.string.begin.coffee
29− push:
30− - meta_scope: string.quoted.heredoc.coffee
31− - match: "'''"
32− captures:
33− 0: punctuation.definition.string.end.coffee
34− pop: true
35− - match: '"""'
36− captures:
37− 0: punctuation.definition.string.begin.coffee
38− push:
39− - meta_scope: string.quoted.double.heredoc.coffee
40− - match: '"""'
41− captures:
42− 0: punctuation.definition.string.end.coffee
43− pop: true
44− - match: \\.
45− scope: constant.character.escape.coffee
46− - include: interpolated_coffee
47− - match: "`"
48− captures:
49− 0: punctuation.definition.string.begin.coffee
50− push:
51− - meta_scope: string.quoted.script.coffee
52− - match: "`"
53− captures:
54− 0: punctuation.definition.string.end.coffee
55− pop: true
56− - match: '\\(x\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)'
57− scope: constant.character.escape.coffee
58− - match: (?<!#)###(?!#)
59− captures:
60− 0: punctuation.definition.comment.coffee
61− push:
62− - meta_scope: comment.block.coffee
63− - match: '###(?:[ \t]*\n)'
64− captures:
65− 0: punctuation.definition.comment.coffee
66− pop: true
67− - match: '@\w*'
68− scope: storage.type.annotation.coffeescript
69− - match: '(#)(?!\{).*$\n?'
70− scope: comment.line.number-sign.coffee
71− captures:
72− 1: punctuation.definition.comment.coffee
73− - match: "/{3}"
74− push:
75− - meta_scope: string.regexp.coffee
76− - match: "/{3}[imgy]{0,4}"
77− pop: true
78− - include: interpolated_coffee
79− - include: embedded_comment
80− - match: '/(?![\s=/*+{}?]).*?[^\\]/[igmy]{0,4}(?![a-zA-Z0-9])'
81− scope: string.regexp.coffee
82− - match: |-
83− (?x)
84− \b(?<![\.\$])(
85− break|by|catch|continue|else|finally|for|in|of|if|return|switch|
86− then|throw|try|unless|when|while|until|loop|do|(?<=for)\s+own
87− )(?!\s*:)\b
88− scope: keyword.control.coffee
89− - match: |-
90− (?x)
91− and=|or=|!|%|&|\^|\*|\/|(\-)?\-(?!>)|\+\+|\+|~|==|=(?!>)|!=|<=|>=|<<=|>>=|
92− >>>=|<>|<|>|!|&&|\.\.(\.)?|\?|\||\|\||\:|\*=|(?<!\()/=|%=|\+=|\-=|&=|
93− \^=|\b(?<![\.\$])(instanceof|new|delete|typeof|and|or|is|isnt|not|super)\b
94− scope: keyword.operator.coffee
95− - match: '([a-zA-Z\$_](\w|\$|\.)*\s*(?!\::)((:)|(=[^=]))(?!(\s*\(.*\))?\s*((=|-)>)))'
96− scope: variable.assignment.coffee
97− captures:
98− 1: variable.assignment.coffee
99− 4: punctuation.separator.key-value
100− 5: keyword.operator.coffee
101− - match: '(?<=\s|^)([\[\{])(?=.*?[\]\}]\s+[:=])'
102− captures:
103− 0: keyword.operator.coffee
104− push:
105− - meta_scope: meta.variable.assignment.destructured.coffee
106− - match: '([\]\}]\s*[:=])'
107− captures:
108− 0: keyword.operator.coffee
109− pop: true
110− - include: variable_name
111− - include: instance_variable
112− - include: single_quoted_string
113− - include: double_quoted_string
114− - include: numeric
115− - match: |-
116− (?x)
117− (\s*)
118− (?=[a-zA-Z\$_])
119− (
120− [a-zA-Z\$_](\w|\$|:|\.)*\s*
121− (?=[:=](\s*\(.*\))?\s*([=-]>))
122− )
123− scope: meta.function.coffee
124− captures:
125− 2: entity.name.function.coffee
126− 3: entity.name.function.coffee
127− 4: variable.parameter.function.coffee
128− 5: storage.type.function.coffee
129− - match: ^\s*(describe|it|app\.(get|post|put|all|del|delete))
130− comment: Show well-known functions from Express and Mocha in Go To Symbol view
131− push:
132− - meta_scope: meta.function.symbols.coffee
133− - match: $
134− pop: true
135− - include: main
136− - match: "[=-]>"
137− scope: storage.type.function.coffee
138− - match: '\b(?<!\.)(true|on|yes)(?!\s*[:=])\b'
139− scope: constant.language.boolean.true.coffee
140− - match: '\b(?<!\.)(false|off|no)(?!\s*[:=])\b'
141− scope: constant.language.boolean.false.coffee
142− - match: '\b(?<!\.)null(?!\s*[:=])\b'
143− scope: constant.language.null.coffee
144− - match: '\b(?<!\.)(this|extends)(?!\s*[:=])\b'
145− scope: variable.language.coffee
146− - match: '(class\b)\s+(@?[a-zA-Z\$_][\w\.]*)?(?:\s+(extends)\s+(@?[a-zA-Z\$\._][\w\.]*))?'
147− scope: meta.class.coffee
148− captures:
149− 1: storage.type.class.coffee
150− 2: entity.name.type.class.coffee
151− 3: keyword.control.inheritance.coffee
152− 4: entity.other.inherited-class.coffee
153− - match: \b(debugger|\\)\b
154− scope: keyword.other.coffee
155− - match: |-
156− (?x)\b(
157− Array|ArrayBuffer|Blob|Boolean|Date|document|event|Function|
158− Int(8|16|32|64)Array|Math|Map|Number|
159− Object|Proxy|RegExp|Set|String|WeakMap|
160− window|Uint(8|16|32|64)Array|XMLHttpRequest
161− )\b
162− scope: support.class.coffee
163− - match: ((?<=console\.)(debug|warn|info|log|error|time|timeEnd|assert))\b
164− scope: support.function.console.coffee
165− - match: |-
166− (?x)\b(
167− decodeURI(Component)?|encodeURI(Component)?|eval|parse(Float|Int)|require
168− )\b
169− scope: support.function.coffee
170− - match: |-
171− (?x)((?<=\.)(
172− apply|call|concat|every|filter|forEach|from|hasOwnProperty|indexOf|
173− isPrototypeOf|join|lastIndexOf|map|of|pop|propertyIsEnumerable|push|
174− reduce(Right)?|reverse|shift|slice|some|sort|splice|to(Locale)?String|
175− unshift|valueOf
176− ))\b
177− scope: support.function.method.array.coffee
178− - match: |-
179− (?x)((?<=Array\.)(
180− isArray
181− ))\b
182− scope: support.function.static.array.coffee
183− - match: |-
184− (?x)((?<=Object\.)(
185− create|definePropert(ies|y)|freeze|getOwnProperty(Descriptors?|Names)|
186− getProperty(Descriptor|Names)|getPrototypeOf|is(Extensible|Frozen|Sealed)?|
187− isnt|keys|preventExtensions|seal
188− ))\b
189− scope: support.function.static.object.coffee
190− - match: |-
191− (?x)((?<=Math\.)(
192− abs|acos|acosh|asin|asinh|atan|atan2|atanh|ceil|cos|cosh|exp|expm1|floor|
193− hypot|log|log10|log1p|log2|max|min|pow|random|round|sign|sin|sinh|sqrt|
194− tan|tanh|trunc
195− ))\b
196− scope: support.function.static.math.coffee
197− - match: |-
198− (?x)((?<=Number\.)(
199− is(Finite|Integer|NaN)|toInteger
200− ))\b
201− scope: support.function.static.number.coffee
202− - match: \b(Infinity|NaN|undefined)\b
203− scope: constant.language.coffee
204− - match: \;
205− scope: punctuation.terminator.statement.coffee
206− - match: ',[ |\t]*'
207− scope: meta.delimiter.object.comma.coffee
208− - match: \.
209− scope: meta.delimiter.method.period.coffee
210− - match: '\{|\}'
211− scope: meta.brace.curly.coffee
212− - match: \(|\)
213− scope: meta.brace.round.coffee
214− - match: '\[|\]\s*'
215− scope: meta.brace.square.coffee
216− - include: instance_variable
217− - include: single_quoted_string
218− - include: double_quoted_string
219− - include: numeric
220− double_quoted_string:
221− - match: '"'
222− captures:
223− 0: punctuation.definition.string.begin.coffee
224− push:
225− - meta_scope: string.quoted.double.coffee
226− - match: '"'
227− captures:
228− 0: punctuation.definition.string.end.coffee
229− pop: true
230− - match: '\\(x\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)'
231− scope: constant.character.escape.coffee
232− - include: interpolated_coffee
233− embedded_comment:
234− - match: (?<!\\)(#).*$\n?
235− scope: comment.line.number-sign.coffee
236− captures:
237− 1: punctuation.definition.comment.coffee
238− instance_variable:
239− - match: '(@)([a-zA-Z_\$]\w*)?'
240− scope: variable.other.readwrite.instance.coffee
241− interpolated_coffee:
242− - match: '\#\{'
243− captures:
244− 0: punctuation.section.embedded.coffee
245− push:
246− - meta_scope: source.coffee.embedded.source
247− - match: '\}'
248− captures:
249− 0: punctuation.section.embedded.coffee
250− pop: true
251− - include: main
252− numeric:
253− - match: '(?<!\$)\b((0([box])[0-9a-fA-F]+)|([0-9]+(\.[0-9]+)?(e[+\-]?[0-9]+)?))\b'
254− scope: constant.numeric.coffee
255− single_quoted_string:
256− - match: "'"
257− captures:
258− 0: punctuation.definition.string.begin.coffee
259− push:
260− - meta_scope: string.quoted.single.coffee
261− - match: "'"
262− captures:
263− 0: punctuation.definition.string.end.coffee
264− pop: true
265− - match: '\\(x\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)'
266− scope: constant.character.escape.coffee
267− variable_name:
268− - match: '([a-zA-Z\$_]\w*(\.\w+)*)'
269− scope: variable.assignment.coffee
270− captures:
271− 1: variable.assignment.coffee
assets/syntaxes/02_Extra/CpuInfo.sublime-syntaxdeleted−14
@@ -1,14 +0,0 @@
1−%YAML 1.2
2−---
3−# http://www.sublimetext.com/docs/3/syntax.html
4−name: CpuInfo
5−file_extensions:
6− - cpuinfo
7−scope: source.cpuinfo
8−
9−contexts:
10− main:
11− - match: '^([^:]+)\w*:\w*(.*)$'
12− captures:
13− 1: keyword.other.cpuinfo-key
14− 2: string.other.cpuinfo-value
assets/syntaxes/02_Extra/Crystaldeleted−1

Submodule changed.

assets/syntaxes/02_Extra/Crystal.sublime-syntaxdeleted−1037
@@ -1,1037 +0,0 @@
1−%YAML 1.2
2−---
3−# http://www.sublimetext.com/docs/3/syntax.html
4−name: Crystal
5−comment: |
6− TODO: unresolved issues
7−
8− text:
9− "p << end
10− print me!
11− end"
12− symptoms:
13− not recognized as a heredoc
14− solution:
15− there is no way to distinguish perfectly between the << operator and the start
16− of a heredoc. Currently, we require assignment to recognize a heredoc. More
17− refinement is possible.
18− • Heredocs with indented terminators (<<-) are always distinguishable, however.
19− • Nested heredocs are not really supportable at present
20−
21− text:
22− print <<-'THERE'
23− This is single quoted.
24− The above used #{Time.now}
25− THERE
26− symtoms:
27− From Programming Ruby p306; should be a non-interpolated heredoc.
28−
29− text:
30− "a\332a"
31− symptoms:
32− '\332' is not recognized as slash3.. which should be octal 332.
33− solution:
34− plain regexp.. should be easy.
35−
36− text:
37− val?(a):p(b)
38− val?'a':'b'
39− symptoms:
40− ':p' is recognized as a symbol.. its 2 things ':' and 'p'.
41− :'b' has same problem.
42− solution:
43− ternary operator rule, precedence stuff, symbol rule.
44− but also consider 'a.b?(:c)' ??
45−file_extensions:
46− - cr
47−first_line_match: ^#!/.*\bcrystal
48−scope: source.crystal
49−contexts:
50− main:
51− - match: |-
52− (?x)
53− ^
54− \s*
55− (abstract)?
56− \s*
57− (class|struct|union)
58− \s+
59− (
60− (
61− [.A-Z_:\x{80}-\x{10FFFF}][.\w:\x{80}-\x{10FFFF}]*
62− (\(([,\s.a-zA-Z0-9_:\x{80}-\x{10FFFF}]+)\))?
63− (
64− \s*(<)\s*
65− [.:A-Z\x{80}-\x{10FFFF}][.:\w\x{80}-\x{10FFFF}]*
66− (\(([.a-zA-Z0-9_:]+\s,)\))?
67− )?
68− )|(
69− (<<)
70− \s*
71− [.A-Z0-9_:\x{80}-\x{10FFFF}]+
72− )
73− )
74− scope: meta.class.crystal
75− captures:
76− 1: keyword.control.class.crystal
77− 2: keyword.control.class.crystal
78− 3: entity.name.type.class.crystal
79− 5: punctuation.separator.crystal
80− 6: support.class.other.type-param.crystal
81− 7: entity.other.inherited-class.crystal
82− 8: punctuation.separator.crystal
83− 9: punctuation.separator.crystal
84− 10: support.class.other.type-param.crystal
85− 11: punctuation.definition.variable.crystal
86− - match: '^\s*(module)\s+(([A-Z\x{80}-\x{10FFFF}][\w\x{80}-\x{10FFFF}]*(::))?([A-Z\x{80}-\x{10FFFF}][\w\x{80}-\x{10FFFF}]*(::))?([A-Z\x{80}-\x{10FFFF}][\w\x{80}-\x{10FFFF}]*(::))*[A-Z\x{80}-\x{10FFFF}][\w\x{80}-\x{10FFFF}]*)'
87− scope: meta.module.crystal
88− captures:
89− 1: keyword.control.module.crystal
90− 2: entity.name.type.module.crystal
91− 3: entity.other.inherited-class.module.first.crystal
92− 4: punctuation.separator.inheritance.crystal
93− 5: entity.other.inherited-class.module.second.crystal
94− 6: punctuation.separator.inheritance.crystal
95− 7: entity.other.inherited-class.module.third.crystal
96− 8: punctuation.separator.inheritance.crystal
97− - match: '^\s*(lib)\s+(([A-Z]\w*(::))?([A-Z]\w*(::))?([A-Z]\w*(::))*[A-Z]\w*)'
98− scope: meta.lib.crystal
99− captures:
100− 1: keyword.control.lib.crystal
101− 2: entity.name.type.lib.crystal
102− 3: entity.other.inherited-class.lib.first.crystal
103− 4: punctuation.separator.inheritance.crystal
104− 5: entity.other.inherited-class.lib.second.crystal
105− 6: punctuation.separator.inheritance.crystal
106− 7: entity.other.inherited-class.lib.third.crystal
107− 8: punctuation.separator.inheritance.crystal
108− - match: (?<!\.)\belse(\s)+if\b
109− comment: else if is a common mistake carried over from other languages. it works if you put in a second end, but it’s never what you want.
110− scope: invalid.deprecated.crystal
111− - match: '(?<!\.)\b(BEGIN|alias|as|begin|case|select|abstract|class|END|ensure|for|fun|if|ifdef|in|lib|module|of|out|private|protected|rescue|struct|with|union|enum|macro|then|unless|until|while)\b(?![?!])|(?<!\.)\btype\b\s*(?=[A-Z])'
112− comment: everything being a reserved word, not a value and needing a 'end' is a..
113− scope: keyword.control.primary.crystal
114− - match: '(?<!\.)\b(when|else|elsif)\b(?![?!])'
115− comment: everything being a reserved word, not a value and needing a 'end' is a..
116− scope: keyword.control.secondary.crystal
117− - match: '(?<!\.)\b(end)\b(?![?!])'
118− comment: Give the end keyword an additional scope
119− scope: keyword.control.secondary.end.crystal
120− - match: (?<!\.)\bdo\b\s*
121− comment: contextual smart pair support for block parameters
122− scope: keyword.control.start-block.crystal
123− - match: '(?<=\{)(\s+)'
124− comment: contextual smart pair support
125− scope: meta.syntax.crystal.start-block
126− - match: (?<!\.)\b(and|not|or)\b
127− comment: as above, just doesn't need a 'end' and does a logic operation
128− scope: keyword.operator.logical.crystal
129− - match: '(?<!\.)\b(alias|alias_method|break|next|pointerof|typeof|sizeof|instance_sizeof|return|super|yield|uninitialized|forall)\b(?![?!])'
130− comment: just as above but being not a logical operation
131− scope: keyword.control.pseudo-method.crystal
132− - match: '\b(nil|true|false)\b(?![?!])'
133− scope: constant.language.crystal
134− - match: '\b(__(DIR|FILE|LINE|END_LINE)__|self)\b(?![?!])|self[?]'
135− scope: variable.language.crystal
136− - match: '\b(initialize|new|loop|include|extend|raise|getter|setter|property|class_getter|class_setter|class_property|describe|context|it|with|delegate|def_hash|def_equals|def_equals_and_hash|forward_missing_to|record|assert_responds_to|spawn|annotation|verbatim)\b[!?]?'
137− comment: everything being a method but having a special function is a..
138− scope: keyword.control.special-method.crystal
139− - match: \b(require)\b
140− captures:
141− 1: keyword.control.special-method.crystal
142− push:
143− - meta_scope: meta.require.crystal
144− - match: $|(?=#)
145− captures:
146− 1: keyword.control.special-method.crystal
147− pop: true
148− - include: main
149− - match: '(@)[a-zA-Z_\x{80}-\x{10FFFF}][\w\x{80}-\x{10FFFF}]*[?!=]?'
150− scope: variable.other.readwrite.instance.crystal
151− captures:
152− 1: punctuation.definition.variable.crystal
153− - match: '(@@)[a-zA-Z_\x{80}-\x{10FFFF}][\w\x{80}-\x{10FFFF}]*[?!=]?'
154− scope: variable.other.readwrite.class.crystal
155− captures:
156− 1: punctuation.definition.variable.crystal
157− - match: '(\$)[a-zA-Z_]\w*'
158− scope: variable.other.readwrite.global.crystal
159− captures:
160− 1: punctuation.definition.variable.crystal
161− - match: '(\$)(!|@|&|`|''|\+|\d+|~|=|/|\\|,|;|\.|<|>|_|\*|\$|\?|:|"|-[0adFiIlpv])'
162− scope: variable.other.readwrite.global.pre-defined.crystal
163− captures:
164− 1: punctuation.definition.variable.crystal
165− - match: '\b(ENV)\['
166− captures:
167− 1: variable.other.constant.crystal
168− push:
169− - meta_scope: meta.environment-variable.crystal
170− - match: '\]'
171− pop: true
172− - include: main
173− - match: '\b[A-Z\x{80}-\x{10FFFF}][\w\x{80}-\x{10FFFF}]*'
174− scope: support.class.crystal
175− - match: '\b[A-Z\x{80}-\x{10FFFF}][\w\x{80}-\x{10FFFF}]*\b'
176− scope: variable.other.constant.crystal
177− - match: |-
178− (?x)
179− (?=def\b) # an optimization to help Oniguruma fail fast
180− (?<=^|\s)(def)\s+ # the def keyword
181− ( (?>[a-zA-Z_\x{80}-\x{10FFFF}][\x{80}-\x{10FFFF}\w]*(?>\.|::))? # a method name prefix
182− (?>[a-zA-Z_\x{80}-\x{10FFFF}][\x{80}-\x{10FFFF}\w]*(?>[?!]|=(?!>))? # the method name
183− |===?|>[>=]?|<=>|<[<=]?|[%&`/\|]|\*\*?|=?~|[-+]@?|\[\](?:=|\?)?) ) # …or an operator method
184− \s*(\() # the openning parenthesis for arguments
185− comment: the method pattern comes from the symbol pattern, see there for a explaination
186− captures:
187− 1: keyword.control.def.crystal
188− 2: entity.name.function.crystal
189− 3: punctuation.definition.parameters.crystal
190− push:
191− - meta_scope: meta.function.method.with-arguments.crystal
192− - meta_content_scope: variable.parameter.function.crystal
193− - match: \)
194− captures:
195− 0: punctuation.definition.parameters.crystal
196− pop: true
197− - include: main
198− - match: |-
199− (?x)
200− (?=def\b) # an optimization to help Oniguruma fail fast
201− (?<=^|\s)(def)\s+ # the def keyword
202− ( (?>[a-zA-Z_\x{80}-\x{10FFFF}][\w\x{80}-\x{10FFFF}]*(?>\.|::))? # a method name prefix
203− (?>[a-zA-Z_\x{80}-\x{10FFFF}][\w\x{80}-\x{10FFFF}]*(?>[?!]|=(?!>))? # the method name
204− |===?|>[>=]?|<=>|<[<=]?|[%&`/\|]|\*\*?|=?~|[-+]@?|\[\](?:=|\?)?) ) # …or an operator method
205− [ \t] # the space separating the arguments
206− (?=[ \t]*[^\s#;]) # make sure arguments and not a comment follow
207− comment: same as the previous rule, but without parentheses around the arguments
208− captures:
209− 1: keyword.control.def.crystal
210− 2: entity.name.function.crystal
211− push:
212− - meta_scope: meta.function.method.with-arguments.crystal
213− - meta_content_scope: variable.parameter.function.crystal
214− - match: $
215− pop: true
216− - include: main
217− - match: |-
218− (?x)
219− (?=def\b) # an optimization to help Oniguruma fail fast
220− (?<=^|\s)(def)\b # the def keyword
221− ( \s+ # an optional group of whitespace followed by…
222− ( (?>[a-zA-Z_\x{80}-\x{10FFFF}][\w\x{80}-\x{10FFFF}]*(?>\.|::))? # a method name prefix
223− (?>[a-zA-Z_\x{80}-\x{10FFFF}][\w\x{80}-\x{10FFFF}]*(?>[?!]|=(?!>))? # the method name
224− |===?|>[>=]?|<=>|<[<=]?|[%&`/\|]|\*\*?|=?~|[-+]@?|\[\](?:=|\?)?) ) )? # …or an operator method
225− comment: the optional name is just to catch the def also without a method-name
226− scope: meta.function.method.without-arguments.crystal
227− captures:
228− 1: keyword.control.def.crystal
229− 3: entity.name.function.crystal
230− - match: '\b(0[xX]\h(?>_?\h)*|\d(?>_?\d)*(\.(?![^[:space:][:digit:]])(?>_?\d)*)?([eE][-+]?\d(?>_?\d)*)?|0[bB][01]+|0o[0-7]+)(_?(u8|u16|u32|u64|i8|i16|i32|i64|f32|f64))?\b'
231− scope: constant.numeric.crystal
232− - match: ":'"
233− captures:
234− 0: punctuation.definition.constant.crystal
235− push:
236− - meta_scope: constant.other.symbol.single-quoted.crystal
237− - match: "'"
238− captures:
239− 0: punctuation.definition.constant.crystal
240− pop: true
241− - match: '\\[''\\]'
242− scope: constant.character.escape.crystal
243− - match: ':"'
244− captures:
245− 0: punctuation.definition.constant.crystal
246− push:
247− - meta_scope: constant.other.symbol.double-quoted.crystal
248− - match: '"'
249− captures:
250− 0: punctuation.definition.constant.crystal
251− pop: true
252− - include: interpolated_crystal
253− - include: escaped_char
254− - match: /=
255− comment: Needs higher precidence than regular expressions.
256− scope: keyword.operator.assignment.augmented.crystal
257− - match: "'"
258− comment: single quoted string (does not allow interpolation)
259− captures:
260− 0: punctuation.definition.string.begin.crystal
261− push:
262− - meta_scope: string.quoted.single.crystal
263− - match: "'"
264− captures:
265− 0: punctuation.definition.string.end.crystal
266− pop: true
267− - match: \\'|\\\\
268− scope: constant.character.escape.crystal
269− - match: '"'
270− comment: double quoted string (allows for interpolation)
271− captures:
272− 0: punctuation.definition.string.begin.crystal
273− push:
274− - meta_scope: string.quoted.double.crystal
275− - match: '"'
276− captures:
277− 0: punctuation.definition.string.end.crystal
278− pop: true
279− - include: interpolated_crystal
280− - include: escaped_char
281− - match: "`"
282− comment: execute string (allows for interpolation)
283− captures:
284− 0: punctuation.definition.string.begin.crystal
285− push:
286− - meta_scope: string.interpolated.crystal
287− - match: "`"
288− captures:
289− 0: punctuation.definition.string.end.crystal
290− pop: true
291− - include: interpolated_crystal
292− - include: escaped_char
293− - match: '%x\{'
294− comment: execute string (allow for interpolation)
295− captures:
296− 0: punctuation.definition.string.begin.crystal
297− push:
298− - meta_scope: string.interpolated.crystal
299− - match: '\}'
300− captures:
301− 0: punctuation.definition.string.end.crystal
302− pop: true
303− - include: interpolated_crystal
304− - include: escaped_char
305− - include: nest_curly_i
306− - match: '%x\['
307− comment: execute string (allow for interpolation)
308− captures:
309− 0: punctuation.definition.string.begin.crystal
310− push:
311− - meta_scope: string.interpolated.crystal
312− - match: '\]'
313− captures:
314− 0: punctuation.definition.string.end.crystal
315− pop: true
316− - include: interpolated_crystal
317− - include: escaped_char
318− - include: nest_brackets_i
319− - match: '%x\<'
320− comment: execute string (allow for interpolation)
321− captures:
322− 0: punctuation.definition.string.begin.crystal
323− push:
324− - meta_scope: string.interpolated.crystal
325− - match: \>
326− captures:
327− 0: punctuation.definition.string.end.crystal
328− pop: true
329− - include: interpolated_crystal
330− - include: escaped_char
331− - include: nest_ltgt_i
332− - match: '%x\('
333− comment: execute string (allow for interpolation)
334− captures:
335− 0: punctuation.definition.string.begin.crystal
336− push:
337− - meta_scope: string.interpolated.crystal
338− - match: \)
339− captures:
340− 0: punctuation.definition.string.end.crystal
341− pop: true
342− - include: interpolated_crystal
343− - include: escaped_char
344− - include: nest_parens_i
345− - match: '%x([^\w])'
346− comment: execute string (allow for interpolation)
347− captures:
348− 0: punctuation.definition.string.begin.crystal
349− push:
350− - meta_scope: string.interpolated.crystal
351− - match: \1
352− captures:
353− 0: punctuation.definition.string.end.crystal
354− pop: true
355− - include: interpolated_crystal
356− - include: escaped_char
357− - match: |-
358− (?x)
359− (?:
360− ^ # beginning of line
361− | (?<= # or look-behind on:
362− [=>~(?:\[,|&;]
363− | [\s;]if\s # keywords
364− | [\s;]elsif\s
365− | [\s;]while\s
366− | [\s;]unless\s
367− | [\s;]when\s
368− | [\s;]assert_match\s
369− | [\s;]or\s # boolean opperators
370− | [\s;]and\s
371− | [\s;]not\s
372− | [\s.]index\s # methods
373− | [\s.]scan\s
374− | [\s.]sub\s
375− | [\s.]sub!\s
376− | [\s.]gsub\s
377− | [\s.]gsub!\s
378− | [\s.]match\s
379− )
380− | (?<= # or a look-behind with line anchor:
381− ^when\s # duplication necessary due to limits of regex
382− | ^if\s
383− | ^elsif\s
384− | ^while\s
385− | ^unless\s
386− )
387− )
388− \s*((/))(?![*+{}?])
389− comment: |
390− regular expressions (normal)
391− we only start a regexp if the character before it (excluding whitespace)
392− is what we think is before a regexp
393− captures:
394− 1: string.regexp.classic.crystal
395− 2: punctuation.definition.string.crystal
396− push:
397− - meta_content_scope: string.regexp.classic.crystal
398− - match: "((/[eimnosux]*))"
399− captures:
400− 1: string.regexp.classic.crystal
401− 2: punctuation.definition.string.crystal
402− pop: true
403− - include: regex_sub
404− - match: '%r\{'
405− comment: regular expressions (literal)
406− captures:
407− 0: punctuation.definition.string.begin.crystal
408− push:
409− - meta_scope: string.regexp.mod-r.crystal
410− - match: '\}[eimnosux]*'
411− captures:
412− 0: punctuation.definition.string.end.crystal
413− pop: true
414− - include: regex_sub
415− - include: nest_curly_r
416− - match: '%r\['
417− comment: regular expressions (literal)
418− captures:
419− 0: punctuation.definition.string.begin.crystal
420− push:
421− - meta_scope: string.regexp.mod-r.crystal
422− - match: '\][eimnosux]*'
423− captures:
424− 0: punctuation.definition.string.end.crystal
425− pop: true
426− - include: regex_sub
427− - include: nest_brackets_r
428− - match: '%r\('
429− comment: regular expressions (literal)
430− captures:
431− 0: punctuation.definition.string.begin.crystal
432− push:
433− - meta_scope: string.regexp.mod-r.crystal
434− - match: '\)[eimnosux]*'
435− captures:
436− 0: punctuation.definition.string.end.crystal
437− pop: true
438− - include: regex_sub
439− - include: nest_parens_r
440− - match: '%r\<'
441− comment: regular expressions (literal)
442− captures:
443− 0: punctuation.definition.string.begin.crystal
444− push:
445− - meta_scope: string.regexp.mod-r.crystal
446− - match: '\>[eimnosux]*'
447− captures:
448− 0: punctuation.definition.string.end.crystal
449− pop: true
450− - include: regex_sub
451− - include: nest_ltgt_r
452− - match: '%r([^\w])'
453− comment: regular expressions (literal)
454− captures:
455− 0: punctuation.definition.string.begin.crystal
456− push:
457− - meta_scope: string.regexp.mod-r.crystal
458− - match: '\1[eimnosux]*'
459− captures:
460− 0: punctuation.definition.string.end.crystal
461− pop: true
462− - include: regex_sub
463− - match: '%[QWSR]?\('
464− comment: literal capable of interpolation ()
465− captures:
466− 0: punctuation.definition.string.begin.crystal
467− push:
468− - meta_scope: string.quoted.other.literal.upper.crystal
469− - match: \)
470− captures:
471− 0: punctuation.definition.string.end.crystal
472− pop: true
473− - include: interpolated_crystal
474− - include: escaped_char
475− - include: nest_parens_i
476− - match: '%[QWSR]?\['
477− comment: "literal capable of interpolation []"
478− captures:
479− 0: punctuation.definition.string.begin.crystal
480− push:
481− - meta_scope: string.quoted.other.literal.upper.crystal
482− - match: '\]'
483− captures:
484− 0: punctuation.definition.string.end.crystal
485− pop: true
486− - include: interpolated_crystal
487− - include: escaped_char
488− - include: nest_brackets_i
489− - match: '%[QWSR]?\<'
490− comment: literal capable of interpolation <>
491− captures:
492− 0: punctuation.definition.string.begin.crystal
493− push:
494− - meta_scope: string.quoted.other.literal.upper.crystal
495− - match: \>
496− captures:
497− 0: punctuation.definition.string.end.crystal
498− pop: true
499− - include: interpolated_crystal
500− - include: escaped_char
501− - include: nest_ltgt_i
502− - match: '%[QWSR]?\{'
503− comment: "literal capable of interpolation -- {}"
504− captures:
505− 0: punctuation.definition.string.begin.crystal
506− push:
507− - meta_scope: string.quoted.double.crystal.mod
508− - match: '\}'
509− captures:
510− 0: punctuation.definition.string.end.crystal
511− pop: true
512− - include: interpolated_crystal
513− - include: escaped_char
514− - include: nest_curly_i
515− - match: '%[QWSR]([^\w])'
516− comment: literal capable of interpolation -- wildcard
517− captures:
518− 0: punctuation.definition.string.begin.crystal
519− push:
520− - meta_scope: string.quoted.other.literal.upper.crystal
521− - match: \1
522− captures:
523− 0: punctuation.definition.string.end.crystal
524− pop: true
525− - include: interpolated_crystal
526− - include: escaped_char
527− - match: '%[qws]\('
528− comment: literal incapable of interpolation -- ()
529− captures:
530− 0: punctuation.definition.string.begin.crystal
531− push:
532− - meta_scope: string.quoted.other.literal.lower.crystal
533− - match: \)
534− captures:
535− 0: punctuation.definition.string.end.crystal
536− pop: true
537− - match: \\\)|\\\\
538− scope: constant.character.escape.crystal
539− - include: nest_parens
540− - match: '%[qws]\<'
541− comment: literal incapable of interpolation -- <>
542− captures:
543− 0: punctuation.definition.string.begin.crystal
544− push:
545− - meta_scope: string.quoted.other.literal.lower.crystal
546− - match: \>
547− captures:
548− 0: punctuation.definition.string.end.crystal
549− pop: true
550− - match: \\\>|\\\\
551− scope: constant.character.escape.crystal
552− - include: nest_ltgt
553− - match: '%[qws]\['
554− comment: "literal incapable of interpolation -- []"
555− captures:
556− 0: punctuation.definition.string.begin.crystal
557− push:
558− - meta_scope: string.quoted.other.literal.lower.crystal
559− - match: '\]'
560− captures:
561− 0: punctuation.definition.string.end.crystal
562− pop: true
563− - match: '\\\]|\\\\'
564− scope: constant.character.escape.crystal
565− - include: nest_brackets
566− - match: '%[qws]\{'
567− comment: "literal incapable of interpolation -- {}"
568− captures:
569− 0: punctuation.definition.string.begin.crystal
570− push:
571− - meta_scope: string.quoted.other.literal.lower.crystal
572− - match: '\}'
573− captures:
574− 0: punctuation.definition.string.end.crystal
575− pop: true
576− - match: '\\\}|\\\\'
577− scope: constant.character.escape.crystal
578− - include: nest_curly
579− - match: '%[qws]([^\w])'
580− comment: literal incapable of interpolation -- wildcard
581− captures:
582− 0: punctuation.definition.string.begin.crystal
583− push:
584− - meta_scope: string.quoted.other.literal.lower.crystal
585− - match: \1
586− captures:
587− 0: punctuation.definition.string.end.crystal
588− pop: true
589− - match: \\.
590− comment: Cant be named because its not neccesarily an escape.
591− - match: '(?<!:)(:)(?>[a-zA-Z_\x{80}-\x{10FFFF}][\w\x{80}-\x{10FFFF}]*(?>[?!]|=(?![>=]))?|===?|>[>=]?|<[<=]?|<=>|[%&`/\|]|\*\*?|=?~|[-+]@?|\[\](?:=|\?)?|@@?[a-zA-Z_\x{80}-\x{10FFFF}][\w\x{80}-\x{10FFFF}]*|!=?(?![?!]))'
592− comment: symbols
593− scope: constant.other.symbol.crystal
594− captures:
595− 1: punctuation.definition.constant.crystal
596− - match: '(?>[a-zA-Z_\x{80}-\x{10FFFF}][\w\x{80}-\x{10FFFF}]*(?>[?!])?)(:)(?!:)'
597− comment: symbols
598− scope: constant.other.symbol.crystal.19syntax
599− captures:
600− 1: punctuation.definition.constant.crystal
601− - match: '(?:^[ \t]+)?(#).*$\n?'
602− scope: comment.line.number-sign.crystal
603− captures:
604− 1: punctuation.definition.comment.crystal
605− - match: ^__END__\n
606− comment: __END__ marker
607− captures:
608− 0: string.unquoted.program-block.crystal
609− push:
610− - meta_content_scope: text.plain
611− - match: (?=not)impossible
612− captures:
613− 0: string.unquoted.program-block.crystal
614− pop: true
615− - match: (?=<?xml|<(?i:html\b)|!DOCTYPE (?i:html\b))
616− push:
617− - meta_scope: text.html.embedded.crystal
618− - match: (?=not)impossible
619− pop: true
620− - include: scope:text.html.basic
621− - match: '(?><<-("?)((?:[_\w]+_|)HTML)\b\1)'
622− comment: heredoc with embedded HTML and indented terminator
623− captures:
624− 0: punctuation.definition.string.begin.crystal
625− push:
626− - meta_scope: string.unquoted.embedded.html.crystal
627− - meta_content_scope: text.html.embedded.crystal
628− - match: \s*\2$
629− captures:
630− 0: punctuation.definition.string.end.crystal
631− pop: true
632− - include: heredoc
633− - include: scope:text.html.basic
634− - include: interpolated_crystal
635− - include: escaped_char
636− - match: '(?><<-("?)((?:[_\w]+_|)SQL)\b\1)'
637− comment: heredoc with embedded SQL and indented terminator
638− captures:
639− 0: punctuation.definition.string.begin.crystal
640− push:
641− - meta_scope: string.unquoted.embedded.sql.crystal
642− - meta_content_scope: text.sql.embedded.crystal
643− - match: \s*\2$
644− captures:
645− 0: punctuation.definition.string.end.crystal
646− pop: true
647− - include: heredoc
648− - include: scope:source.sql
649− - include: interpolated_crystal
650− - include: escaped_char
651− - match: '(?><<-("?)((?:[_\w]+_|)CSS)\b\1)'
652− comment: heredoc with embedded css and intented terminator
653− captures:
654− 0: punctuation.definition.string.begin.crystal
655− push:
656− - meta_scope: string.unquoted.embedded.css.crystal
657− - meta_content_scope: text.css.embedded.crystal
658− - match: \s*\2$
659− captures:
660− 0: punctuation.definition.string.end.crystal
661− pop: true
662− - include: heredoc
663− - include: scope:source.css
664− - include: interpolated_crystal
665− - include: escaped_char
666− - match: '(?><<-("?)((?:[_\w]+_|)CPP)\b\1)'
667− comment: heredoc with embedded c++ and intented terminator
668− captures:
669− 0: punctuation.definition.string.begin.crystal
670− push:
671− - meta_scope: string.unquoted.embedded.cplusplus.crystal
672− - meta_content_scope: text.c++.embedded.crystal
673− - match: \s*\2$
674− captures:
675− 0: punctuation.definition.string.end.crystal
676− pop: true
677− - include: heredoc
678− - include: scope:source.c++
679− - include: interpolated_crystal
680− - include: escaped_char
681− - match: '(?><<-("?)((?:[_\w]+_|)C)\b\1)'
682− comment: heredoc with embedded c++ and intented terminator
683− captures:
684− 0: punctuation.definition.string.begin.crystal
685− push:
686− - meta_scope: string.unquoted.embedded.c.crystal
687− - meta_content_scope: text.c.embedded.crystal
688− - match: \s*\2$
689− captures:
690− 0: punctuation.definition.string.end.crystal
691− pop: true
692− - include: heredoc
693− - include: scope:source.c
694− - include: interpolated_crystal
695− - include: escaped_char
696− - match: '(?><<-("?)((?:[_\w]+_|)(?:JS|JAVASCRIPT))\b\1)'
697− comment: heredoc with embedded javascript and intented terminator
698− captures:
699− 0: punctuation.definition.string.begin.crystal
700− push:
701− - meta_scope: string.unquoted.embedded.js.crystal
702− - meta_content_scope: text.js.embedded.crystal
703− - match: \s*\2$
704− captures:
705− 0: punctuation.definition.string.end.crystal
706− pop: true
707− - include: heredoc
708− - include: scope:text.html.basic
709− - include: scope:source.js
710− - include: interpolated_crystal
711− - include: escaped_char
712− - match: '(?><<-("?)((?:[_\w]+_|)JQUERY)\b\1)'
713− comment: heredoc with embedded javascript and intented terminator
714− captures:
715− 0: punctuation.definition.string.begin.crystal
716− push:
717− - meta_scope: string.unquoted.embedded.js.crystal
718− - meta_content_scope: text.js.embedded.crystal
719− - match: \s*\2$
720− captures:
721− 0: punctuation.definition.string.end.crystal
722− pop: true
723− - include: heredoc
724− - include: scope:source.js
725− - include: interpolated_crystal
726− - include: escaped_char
727− - match: '(?><<-("?)((?:[_\w]+_|)(?:SH|SHELL))\b\1)'
728− comment: heredoc with embedded shell and intented terminator
729− captures:
730− 0: punctuation.definition.string.begin.crystal
731− push:
732− - meta_scope: string.unquoted.embedded.shell.crystal
733− - meta_content_scope: text.shell.embedded.crystal
734− - match: \s*\2$
735− captures:
736− 0: punctuation.definition.string.end.crystal
737− pop: true
738− - include: heredoc
739− - include: scope:source.shell
740− - include: interpolated_crystal
741− - include: escaped_char
742− - match: '(?><<-("?)((?:[_\w]+_|)RUBY)\b\1)'
743− comment: heredoc with embedded crystal and intented terminator
744− captures:
745− 0: punctuation.definition.string.begin.crystal
746− push:
747− - meta_scope: string.unquoted.embedded.crystal.crystal
748− - meta_content_scope: text.crystal.embedded.crystal
749− - match: \s*\2$
750− captures:
751− 0: punctuation.definition.string.end.crystal
752− pop: true
753− - include: heredoc
754− - include: scope:source.crystal
755− - include: interpolated_crystal
756− - include: escaped_char
757− - match: (?>\=\s*<<(\w+))
758− captures:
759− 0: punctuation.definition.string.begin.crystal
760− push:
761− - meta_scope: string.unquoted.heredoc.crystal
762− - match: ^\1$
763− captures:
764− 0: punctuation.definition.string.end.crystal
765− pop: true
766− - include: heredoc
767− - include: interpolated_crystal
768− - include: escaped_char
769− - match: (?><<-(\w+))
770− comment: heredoc with indented terminator
771− captures:
772− 0: punctuation.definition.string.begin.crystal
773− push:
774− - meta_scope: string.unquoted.heredoc.crystal
775− - match: \s*\1$
776− captures:
777− 0: punctuation.definition.string.end.crystal
778− pop: true
779− - include: heredoc
780− - include: interpolated_crystal
781− - include: escaped_char
782− - match: '(?<=\{|do|\{\s|do\s)(\|)'
783− captures:
784− 1: punctuation.separator.variable.crystal
785− push:
786− - match: (\|)
787− captures:
788− 1: punctuation.separator.variable.crystal
789− pop: true
790− - match: "[_a-zA-Z][_a-zA-Z0-9]*"
791− scope: variable.other.block.crystal
792− - match: ","
793− scope: punctuation.separator.variable.crystal
794− - match: "=>"
795− scope: punctuation.separator.key-value
796− - match: '<<=|%=|&=|\*=|\*\*=|\+=|\-=|\^=|\|{1,2}=|<<'
797− scope: keyword.operator.assignment.augmented.crystal
798− - match: '<=>|<(?!<|=)|>(?!<|=|>)|<=|>=|===|==|=~|!=|!~|(?<=[ \t])\?'
799− scope: keyword.operator.comparison.crystal
800− - match: '(?<=[ \t])!+|\bnot\b|&&|\band\b|\|\||\bor\b|\^'
801− scope: keyword.operator.logical.crystal
802− - match: '(\{\%|\%\}|\{\{|\}\})'
803− scope: keyword.operator.macro.crystal
804− - match: (%|&|\*\*|\*|\+|\-|/)
805− scope: keyword.operator.arithmetic.crystal
806− - match: "="
807− scope: keyword.operator.assignment.crystal
808− - match: \||~|>>
809− scope: keyword.operator.other.crystal
810− - match: ":"
811− scope: punctuation.separator.other.crystal
812− - match: \;
813− scope: punctuation.separator.statement.crystal
814− - match: ","
815− scope: punctuation.separator.object.crystal
816− - match: '\.|::'
817− scope: punctuation.separator.method.crystal
818− - match: '\{|\}'
819− scope: punctuation.section.scope.crystal
820− - match: '\[|\]'
821− scope: punctuation.section.array.crystal
822− - match: \(|\)
823− scope: punctuation.section.function.crystal
824− escaped_char:
825− - match: '\\(?:[0-7]{1,3}|x[\da-fA-F]{1,2}|.)'
826− scope: constant.character.escape.crystal
827− heredoc:
828− - match: ^<<-?\w+
829− push:
830− - match: $
831− pop: true
832− - include: main
833− interpolated_crystal:
834− - match: '#\{(\})'
835− scope: source.crystal.embedded.source
836− captures:
837− 0: punctuation.section.embedded.crystal
838− 1: source.crystal.embedded.source.empty
839− - match: '#\{'
840− captures:
841− 0: punctuation.section.embedded.crystal
842− push:
843− - meta_scope: source.crystal.embedded.source
844− - match: '\}'
845− captures:
846− 0: punctuation.section.embedded.crystal
847− pop: true
848− - include: nest_curly_and_self
849− - include: main
850− - match: '(#@)[a-zA-Z_]\w*'
851− scope: variable.other.readwrite.instance.crystal
852− captures:
853− 1: punctuation.definition.variable.crystal
854− - match: '(#@@)[a-zA-Z_]\w*'
855− scope: variable.other.readwrite.class.crystal
856− captures:
857− 1: punctuation.definition.variable.crystal
858− - match: '(#\$)[a-zA-Z_]\w*'
859− scope: variable.other.readwrite.global.crystal
860− captures:
861− 1: punctuation.definition.variable.crystal
862− nest_brackets:
863− - match: '\['
864− captures:
865− 0: punctuation.section.scope.crystal
866− push:
867− - match: '\]'
868− captures:
869− 0: punctuation.section.scope.crystal
870− pop: true
871− - include: nest_brackets
872− nest_brackets_i:
873− - match: '\['
874− captures:
875− 0: punctuation.section.scope.crystal
876− push:
877− - match: '\]'
878− captures:
879− 0: punctuation.section.scope.crystal
880− pop: true
881− - include: interpolated_crystal
882− - include: escaped_char
883− - include: nest_brackets_i
884− nest_brackets_r:
885− - match: '\['
886− captures:
887− 0: punctuation.section.scope.crystal
888− push:
889− - match: '\]'
890− captures:
891− 0: punctuation.section.scope.crystal
892− pop: true
893− - include: regex_sub
894− - include: nest_brackets_r
895− nest_curly:
896− - match: '\{'
897− captures:
898− 0: punctuation.section.scope.crystal
899− push:
900− - match: '\}'
901− captures:
902− 0: punctuation.section.scope.crystal
903− pop: true
904− - include: nest_curly
905− nest_curly_and_self:
906− - match: '\{'
907− captures:
908− 0: punctuation.section.scope.crystal
909− push:
910− - match: '\}'
911− captures:
912− 0: punctuation.section.scope.crystal
913− pop: true
914− - include: nest_curly_and_self
915− - include: main
916− nest_curly_i:
917− - match: '\{'
918− captures:
919− 0: punctuation.section.scope.crystal
920− push:
921− - match: '\}'
922− captures:
923− 0: punctuation.section.scope.crystal
924− pop: true
925− - include: interpolated_crystal
926− - include: escaped_char
927− - include: nest_curly_i
928− nest_curly_r:
929− - match: '\{'
930− captures:
931− 0: punctuation.section.scope.crystal
932− push:
933− - match: '\}'
934− captures:
935− 0: punctuation.section.scope.crystal
936− pop: true
937− - include: regex_sub
938− - include: nest_curly_r
939− nest_ltgt:
940− - match: \<
941− captures:
942− 0: punctuation.section.scope.crystal
943− push:
944− - match: \>
945− captures:
946− 0: punctuation.section.scope.crystal
947− pop: true
948− - include: nest_ltgt
949− nest_ltgt_i:
950− - match: \<
951− captures:
952− 0: punctuation.section.scope.crystal
953− push:
954− - match: \>
955− captures:
956− 0: punctuation.section.scope.crystal
957− pop: true
958− - include: interpolated_crystal
959− - include: escaped_char
960− - include: nest_ltgt_i
961− nest_ltgt_r:
962− - match: \<
963− captures:
964− 0: punctuation.section.scope.crystal
965− push:
966− - match: \>
967− captures:
968− 0: punctuation.section.scope.crystal
969− pop: true
970− - include: regex_sub
971− - include: nest_ltgt_r
972− nest_parens:
973− - match: \(
974− captures:
975− 0: punctuation.section.scope.crystal
976− push:
977− - match: \)
978− captures:
979− 0: punctuation.section.scope.crystal
980− pop: true
981− - include: nest_parens
982− nest_parens_i:
983− - match: \(
984− captures:
985− 0: punctuation.section.scope.crystal
986− push:
987− - match: \)
988− captures:
989− 0: punctuation.section.scope.crystal
990− pop: true
991− - include: interpolated_crystal
992− - include: escaped_char
993− - include: nest_parens_i
994− nest_parens_r:
995− - match: \(
996− captures:
997− 0: punctuation.section.scope.crystal
998− push:
999− - match: \)
1000− captures:
1001− 0: punctuation.section.scope.crystal
1002− pop: true
1003− - include: regex_sub
1004− - include: nest_parens_r
1005− regex_sub:
1006− - include: interpolated_crystal
1007− - include: escaped_char
1008− - match: '(\{)\d+(,\d+)?(\})'
1009− scope: string.regexp.arbitrary-repitition.crystal
1010− captures:
1011− 1: punctuation.definition.arbitrary-repitition.crystal
1012− 3: punctuation.definition.arbitrary-repitition.crystal
1013− - match: '\[(?:\^?\])?'
1014− captures:
1015− 0: punctuation.definition.character-class.crystal
1016− push:
1017− - meta_scope: string.regexp.character-class.crystal
1018− - match: '\]'
1019− captures:
1020− 0: punctuation.definition.character-class.crystal
1021− pop: true
1022− - include: escaped_char
1023− - match: \(
1024− captures:
1025− 0: punctuation.definition.group.crystal
1026− push:
1027− - meta_scope: string.regexp.group.crystal
1028− - match: \)
1029− captures:
1030− 0: punctuation.definition.group.crystal
1031− pop: true
1032− - include: regex_sub
1033− - match: '(?<=^|\s)(#)\s[[a-zA-Z0-9,. \t?!-][^\x{00}-\x{7F}]]*$'
1034− comment: We are restrictive in what we allow to go after the comment character to avoid false positives, since the availability of comments depend on regexp flags.
1035− scope: comment.line.number-sign.crystal
1036− captures:
1037− 1: punctuation.definition.comment.crystal
assets/syntaxes/02_Extra/Dartdeleted−1

Submodule changed.

assets/syntaxes/02_Extra/Dart.sublime-syntaxdeleted−211
@@ -1,211 +0,0 @@
1−%YAML 1.2
2−---
3−# http://www.sublimetext.com/docs/syntax.html
4−name: Dart
5−file_extensions:
6− - dart
7−scope: source.dart
8−contexts:
9− main:
10− - match: ^(#!.*)$
11− scope: meta.preprocessor.script.dart
12− - match: ^\w*\b(library|import|part of|part|export)\b
13− captures:
14− 0: keyword.other.import.dart
15− push:
16− - meta_scope: meta.declaration.dart
17− - match: ;
18− captures:
19− 0: punctuation.terminator.dart
20− pop: true
21− - include: strings
22− - include: comments
23− - match: \b(as|show|hide)\b
24− scope: keyword.other.import.dart
25− - include: comments
26− - include: punctuation
27− - include: annotations
28− - include: keywords
29− - include: constants-and-special-vars
30− - include: strings
31− annotations:
32− - match: '@[a-zA-Z]+'
33− scope: storage.type.annotation.dart
34− comments:
35− - match: /\*\*/
36− scope: comment.block.empty.dart
37− captures:
38− 0: punctuation.definition.comment.dart
39− - include: comments-doc-oldschool
40− - include: comments-doc
41− - include: comments-inline
42− comments-block:
43− - match: /\*
44− push:
45− - meta_scope: comment.block.dart
46− - match: \*/
47− pop: true
48− - include: comments-block
49− comments-doc:
50− - match: ///
51− push:
52− - meta_scope: comment.block.documentation.dart
53− - match: .*
54− pop: true
55− - include: dartdoc
56− comments-doc-oldschool:
57− - match: /\*\*
58− push:
59− - meta_scope: comment.block.documentation.dart
60− - match: \*/
61− pop: true
62− - include: comments-doc-oldschool
63− - include: comments-block
64− - include: dartdoc
65− comments-inline:
66− - include: comments-block
67− - match: ((//).*)$
68− captures:
69− 1: comment.line.double-slash.dart
70− constants-and-special-vars:
71− - match: (?<!\$)\b(true|false|null)\b(?!\$)
72− scope: constant.language.dart
73− - match: (?<!\$)\b(this|super)\b(?!\$)
74− scope: variable.language.dart
75− - match: '(?<!\$)\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)\b(?!\$)'
76− scope: constant.numeric.dart
77− - match: '(?<![a-zA-Z0-9_$])([_$]*[A-Z][a-zA-Z0-9_$]*|bool\b|num\b|int\b|double\b|dynamic\b)'
78− scope: support.class.dart
79− - match: '([_$]*[a-z][a-zA-Z0-9_$]*)(<|\(|\s+=>)'
80− captures:
81− 1: entity.name.function.dart
82− dartdoc:
83− - match: '(\[.*?\])'
84− captures:
85− 0: variable.name.source.dart
86− - match: '^ {4,}(?![ \*]).*'
87− captures:
88− 0: variable.name.source.dart
89− - match: '```.*?$'
90− push:
91− - meta_content_scope: variable.other.source.dart
92− - match: '```'
93− pop: true
94− - match: (`.*?`)
95− captures:
96− 0: variable.other.source.dart
97− - match: (`.*?`)
98− captures:
99− 0: variable.other.source.dart
100− - match: (\* (( ).*))$
101− captures:
102− 2: variable.other.source.dart
103− - match: (\* .*)$
104− keywords:
105− - match: (?<!\$)\bas\b(?!\$)
106− scope: keyword.cast.dart
107− - match: (?<!\$)\b(try|on|catch|finally|throw|rethrow)\b(?!\$)
108− scope: keyword.control.catch-exception.dart
109− - match: (?<!\$)\b(break|case|continue|default|do|else|for|if|in|return|switch|while)\b(?!\$)
110− scope: keyword.control.dart
111− - match: (?<!\$)\b(sync(\*)?|async(\*)?|await|yield(\*)?)\b(?!\$)
112− scope: keyword.control.dart
113− - match: (?<!\$)\bassert\b(?!\$)
114− scope: keyword.control.dart
115− - match: (?<!\$)\b(new)\b(?!\$)
116− scope: keyword.control.new.dart
117− - match: (?<!\$)\b(abstract|class|enum|extends|external|factory|implements|get|mixin|native|operator|set|typedef|with|covariant)\b(?!\$)
118− scope: keyword.declaration.dart
119− - match: (?<!\$)\b(is\!?)\b(?!\$)
120− scope: keyword.operator.dart
121− - match: '\?|:'
122− scope: keyword.operator.ternary.dart
123− - match: (<<|>>>?|~|\^|\||&)
124− scope: keyword.operator.bitwise.dart
125− - match: ((&|\^|\||<<|>>>?)=)
126− scope: keyword.operator.assignment.bitwise.dart
127− - match: (=>)
128− scope: keyword.operator.closure.dart
129− - match: (==|!=|<=?|>=?)
130− scope: keyword.operator.comparison.dart
131− - match: '(([+*/%-]|\~)=)'
132− scope: keyword.operator.assignment.arithmetic.dart
133− - match: (=)
134− scope: keyword.operator.assignment.dart
135− - match: (\-\-|\+\+)
136− scope: keyword.operator.increment-decrement.dart
137− - match: (\-|\+|\*|\/|\~\/|%)
138− scope: keyword.operator.arithmetic.dart
139− - match: (!|&&|\|\|)
140− scope: keyword.operator.logical.dart
141− - match: (?<!\$)\b(static|final|const)\b(?!\$)
142− scope: storage.modifier.dart
143− - match: (?<!\$)\b(?:void|var)\b(?!\$)
144− scope: storage.type.primitive.dart
145− punctuation:
146− - match: ','
147− scope: punctuation.comma.dart
148− - match: ;
149− scope: punctuation.terminator.dart
150− - match: \.
151− scope: punctuation.dot.dart
152− string-interp:
153− - match: '\$((\w+)|\{([^{}]+)\})'
154− captures:
155− 2: variable.parameter.dart
156− 3: variable.parameter.dart
157− - match: \\.
158− scope: constant.character.escape.dart
159− strings:
160− - match: (?<!r)"""
161− push:
162− - meta_scope: string.interpolated.triple.double.dart
163− - match: '"""(?!")'
164− pop: true
165− - include: string-interp
166− - match: (?<!r)'''
167− push:
168− - meta_scope: string.interpolated.triple.single.dart
169− - match: '''''''(?!'')'
170− pop: true
171− - include: string-interp
172− - match: r"""
173− push:
174− - meta_scope: string.quoted.triple.double.dart
175− - match: '"""(?!")'
176− pop: true
177− - match: r'''
178− push:
179− - meta_scope: string.quoted.triple.single.dart
180− - match: '''''''(?!'')'
181− pop: true
182− - match: (?<!\|r)"
183− push:
184− - meta_scope: string.interpolated.double.dart
185− - match: '"'
186− pop: true
187− - match: \n
188− scope: invalid.string.newline
189− - include: string-interp
190− - match: r"
191− push:
192− - meta_scope: string.quoted.double.dart
193− - match: '"'
194− pop: true
195− - match: \n
196− scope: invalid.string.newline
197− - match: (?<!\|r)'
198− push:
199− - meta_scope: string.interpolated.single.dart
200− - match: "'"
201− pop: true
202− - match: \n
203− scope: invalid.string.newline
204− - include: string-interp
205− - match: r'
206− push:
207− - meta_scope: string.quoted.single.dart
208− - match: "'"
209− pop: true
210− - match: \n
211− scope: invalid.string.newline
assets/syntaxes/02_Extra/Dockerdeleted−1

Submodule changed.

assets/syntaxes/02_Extra/DotENVdeleted−1

Submodule changed.

assets/syntaxes/02_Extra/DotENV.sublime-syntaxdeleted−93
@@ -1,93 +0,0 @@
1−%YAML 1.2
2−---
3−# http://www.sublimetext.com/docs/3/syntax.html
4−name: DotENV
5−file_extensions:
6− - .env
7− - .env.dist
8− - .env.local
9− - .env.sample
10− - .env.example
11− - .env.test
12− - .env.test.local
13− - .env.testing
14− - .env.dev
15− - .env.development
16− - .env.development.local
17− - .env.prod
18− - .env.production
19− - .env.production.local
20− - .env.dusk.local
21− - .env.staging
22− - .env.default
23− - .env.defaults
24− - .envrc
25− - .flaskenv
26−scope: source.env
27−contexts:
28− main:
29− - match: (#).*$\n?
30− comment: "Comments - starts with #"
31− scope: comment.line.number-sign.env
32− captures:
33− 1: punctuation.definition.comment.env
34− - match: (\")
35− comment: Strings (double)
36− captures:
37− 1: punctuation.definition.string.begin.env
38− push:
39− - meta_scope: string.quoted.double.env
40− - match: (\")
41− captures:
42− 1: punctuation.definition.string.end
43− pop: true
44− - include: interpolation
45− - include: variable
46− - include: escape-characters
47− - match: (\')
48− comment: Strings (single)
49− captures:
50− 1: punctuation.definition.string.begin.env
51− push:
52− - meta_scope: string.quoted.single.env
53− - match: (\')
54− captures:
55− 1: punctuation.definition.string.end
56− pop: true
57− - match: '(?<=[\w])\s?='
58− comment: Assignment Operator
59− scope: keyword.operator.assignment.env
60− - match: '([\w]+)(?=\s?\=)'
61− comment: Variable
62− scope: variable.other.env
63− - match: (?i)\s?(export)
64− comment: Keywords
65− scope: keyword.other.env
66− - match: (?i)(?<=\=)\s?(true|false|null)
67− comment: Constants
68− scope: constant.language.env
69− - match: '\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)\b'
70− comment: Numeric
71− scope: constant.numeric.env
72− escape-characters:
73− - match: '\\[nrt\\\$\"\'']'
74− scope: constant.character.escape.env
75− interpolation:
76− - match: '(\$\{|\{)'
77− comment: 'Template Syntax: "foo ${bar} {$baz}"'
78− captures:
79− 1: string.interpolated.env keyword.other.template.begin.env
80− push:
81− - match: '(\})'
82− captures:
83− 1: string.interpolated.env keyword.other.template.end.env
84− pop: true
85− - match: '(?x)(\$+)?([a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*?\b)'
86− captures:
87− 1: punctuation.definition.variable.env variable.other.env
88− 2: variable.other.env
89− variable:
90− - match: '(?x)(\$+)([a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*?\b)'
91− captures:
92− 1: punctuation.definition.variable.env variable.other.env
93− 2: variable.other.env
assets/syntaxes/02_Extra/Elixirdeleted−1

Submodule changed.

assets/syntaxes/02_Extra/Elmdeleted−1

Submodule changed.

assets/syntaxes/02_Extra/Emaildeleted−1

Submodule changed.

assets/syntaxes/02_Extra/FSharpdeleted−1

Submodule changed.

assets/syntaxes/02_Extra/Fishdeleted−1

Submodule changed.

assets/syntaxes/02_Extra/Fortrandeleted−1

Submodule changed.

assets/syntaxes/02_Extra/Fstab.sublime-syntaxdeleted−135
@@ -1,135 +0,0 @@
1−%YAML 1.2
2−---
3−# http://www.sublimetext.com/docs/3/syntax.html
4−name: fstab
5−file_extensions:
6− - fstab
7− - crypttab
8− - mtab
9−scope: source.fstab
10−
11−contexts:
12− main:
13− - include: comment
14− - match: '^'
15− push: fstab_device
16− comment: leading spaces
17−
18− fstab_device:
19− - include: comment
20− - match: '\s*([^=\s]+=)([^\s]+)\s*'
21− comment: device by uuid or label
22− set: fstab_mountpoint
23− captures:
24− 1: punctuation.accessor
25− 2: keyword.other.device
26− - match: '\s*(//|\\\\)([^\s]+)\s*'
27− comment: device by samba share
28− set: fstab_mountpoint
29− captures:
30− 1: punctuation.accessor
31− 2: keyword.other.device
32− - match: '\s*([^\s]+)(:)([^\s]+)\s*'
33− comment: device by server
34− set: fstab_mountpoint
35− captures:
36− 1: keyword.other.device
37− 2: punctuation.accessor
38− 3: keyword.other.device
39− - match: '\s*[^\s/\\]+\s*'
40− comment: device by dev name
41− set: fstab_mountpoint
42− scope: keyword.other.device
43− - match: '\s*(/dev/)([^\s]+)\s*'
44− comment: device by dev path
45− set: fstab_mountpoint
46− captures:
47− 1: punctuation.accessor
48− 2: keyword.other.device
49− - match: '\s*([^\s/]*/)*([^\s]+)\s*'
50− comment: device by unknown path
51− set: fstab_mountpoint
52− captures:
53− 1: punctuation.accessor
54− 2: keyword.other.device
55− - include: clear
56−
57− fstab_mountpoint:
58− - include: comment
59− - match: '\s*/[^\s]*\s*'
60− comment: mount point
61− set: fstab_filesystem
62− scope: string.unquoted.mountpoint
63− - match: '\s*[^\s]+\s*'
64− comment: mount point without leading slash (invalid)
65− set: fstab_filesystem
66− scope: invalid.illegal
67− - include: clear
68−
69− fstab_filesystem:
70− - include: comment
71− - match: '\s*[^\s]+\s*'
72− comment: filesystem type
73− set: fstab_options
74− scope: variable.parameter.filesystem
75− - include: clear
76−
77− fstab_options:
78− - include: comment
79− - match: '([^\s,=]+)(=)([^\s,]+)'
80− comment: key-value option
81− captures:
82− 1: entity.name.option
83− 2: entity.other.separator
84− 3: variable.parameter
85− - match: '[^\s,]+'
86− comment: flag option
87− scope: entity.name.option
88− - match: ','
89− comment: option separator
90− scope: punctuation.separator
91− - match: '\s+'
92− comment: next field
93− set: fstab_dump
94− - include: clear
95−
96− fstab_dump:
97− - include: comment
98− - match: '\s*[01]\s*'
99− comment: dump field
100− scope: constant.numeric
101− set: fstab_pass
102− - match: '\s*[^\s]+\s*'
103− comment: invalid dump field
104− scope: invalid.illegal
105− set: fstab_pass
106− - include: clear
107−
108− fstab_pass:
109− - include: comment
110− - match: '\s*[01]\s*'
111− comment: pass field
112− scope: constant.numeric
113− set: expected_eol
114− - match: '\s*[^\s]+\s*'
115− comment: invalid pass field
116− scope: invalid.illegal
117− set: expected_eol
118− - include: clear
119−
120− expected_eol:
121− - include: comment
122− - include: clear
123− - match: '.*'
124− scope: invalid.illegal
125−
126− comment:
127− - match: '\s*#.*$'
128− comment: comment using the number sign
129− scope: comment.line
130−
131− clear:
132− - match: '.*$'
133− comment: used for clearing the context
134− pop: true
135−
assets/syntaxes/02_Extra/GLSLdeleted−1

Submodule changed.

assets/syntaxes/02_Extra/GraphQLdeleted−1

Submodule changed.

assets/syntaxes/02_Extra/Groffdeleted−1

Submodule changed.

assets/syntaxes/02_Extra/Group.sublime-syntaxdeleted−48
@@ -1,48 +0,0 @@
1−%YAML 1.2
2−---
3−# http://www.sublimetext.com/docs/3/syntax.html
4−name: group
5−file_extensions:
6− - group
7−scope: source.group
8−
9−contexts:
10− main:
11− - comment: name
12− match: ^[^:]+
13− scope: keyword
14−
15− - comment: password
16− match: ":"
17− push: password
18−
19− password:
20− - comment: uid
21− match: ":"
22− set: gid
23−
24− - comment: shadowpassword
25− match: "[^:]+"
26− scope: invalid
27−
28− gid:
29− - comment: gid
30− match: ":"
31− set: users
32−
33− - comment: number
34− match: "[0-9]+"
35− scope: constant.numeric
36−
37− users:
38− - comment: newline
39− match: "\n"
40− pop: true
41−
42− - comment: directory
43− match: "[^:\n]+"
44− scope: variable.parameter
45−
46− - comment: separator
47− match: ","
48− scope: punctuation
assets/syntaxes/02_Extra/HTML (Twig)deleted−1

Submodule changed.

assets/syntaxes/02_Extra/HTML (Twig).sublime-syntaxdeleted−662
@@ -1,662 +0,0 @@
1−%YAML 1.2
2−---
3−# http://www.sublimetext.com/docs/3/syntax.html
4−name: HTML (Twig)
5−file_extensions:
6− - twig
7− - html.twig
8−scope: text.html.twig
9−contexts:
10− main:
11− - match: '(<)([a-zA-Z0-9:]++)(?=[^>]*></\2>)'
12− captures:
13− 1: punctuation.definition.tag.html
14− 2: entity.name.tag.html
15− push:
16− - meta_scope: meta.tag.any.html
17− - match: (>(<)/)(\2)(>)
18− captures:
19− 1: punctuation.definition.tag.html
20− 2: meta.scope.between-tag-pair.html
21− 3: entity.name.tag.html
22− 4: punctuation.definition.tag.html
23− pop: true
24− - include: tag-stuff
25− - match: (<\?)(xml)
26− captures:
27− 1: punctuation.definition.tag.html
28− 2: entity.name.tag.xml.html
29− push:
30− - meta_scope: meta.tag.preprocessor.xml.html
31− - match: (\?>)
32− captures:
33− 1: punctuation.definition.tag.html
34− 2: entity.name.tag.xml.html
35− pop: true
36− - include: tag-generic-attribute
37− - include: string-double-quoted
38− - include: string-single-quoted
39− - match: <!--
40− captures:
41− 0: punctuation.definition.comment.html
42− push:
43− - meta_scope: comment.block.html
44− - match: '--\s*>'
45− captures:
46− 0: punctuation.definition.comment.html
47− pop: true
48− - match: "--"
49− scope: invalid.illegal.bad-comments-or-CDATA.html
50− - include: embedded-code
51− - match: <!
52− captures:
53− 0: punctuation.definition.tag.html
54− push:
55− - meta_scope: meta.tag.sgml.html
56− - match: ">"
57− captures:
58− 0: punctuation.definition.tag.html
59− pop: true
60− - match: (?i:DOCTYPE)
61− captures:
62− 1: entity.name.tag.doctype.html
63− push:
64− - meta_scope: meta.tag.sgml.doctype.html
65− - match: (?=>)
66− captures:
67− 1: entity.name.tag.doctype.html
68− pop: true
69− - match: '"[^">]*"'
70− scope: string.quoted.double.doctype.identifiers-and-DTDs.html
71− - match: '\[CDATA\['
72− push:
73− - meta_scope: constant.other.inline-data.html
74− - match: "]](?=>)"
75− pop: true
76− - match: (\s*)(?!--|>)\S(\s*)
77− scope: invalid.illegal.bad-comments-or-CDATA.html
78− - include: embedded-code
79− - match: '(?:^\s+)?(<)((?i:style))\b(?![^>]*/>)'
80− captures:
81− 1: punctuation.definition.tag.html
82− 2: entity.name.tag.style.html
83− 3: punctuation.definition.tag.html
84− push:
85− - meta_scope: source.css.embedded.html
86− - match: (</)((?i:style))(>)(?:\s*\n)?
87− captures:
88− 1: punctuation.definition.tag.html
89− 2: entity.name.tag.style.html
90− 3: punctuation.definition.tag.html
91− pop: true
92− - include: tag-stuff
93− - match: (>)
94− captures:
95− 1: punctuation.definition.tag.html
96− push:
97− - match: (?=</(?i:style))
98− pop: true
99− - include: embedded-code
100− - include: scope:source.css
101− - match: '(?:^\s+)?(<)((?i:script))\b(?![^>]*/>)'
102− captures:
103− 1: punctuation.definition.tag.html
104− 2: entity.name.tag.script.html
105− push:
106− - meta_scope: source.js.embedded.html
107− - match: (?<=</(script|SCRIPT))(>)(?:\s*\n)?
108− captures:
109− 2: punctuation.definition.tag.html
110− pop: true
111− - include: tag-stuff
112− - match: (?<!</(?:script|SCRIPT))(>)
113− captures:
114− 1: punctuation.definition.tag.html
115− 2: entity.name.tag.script.html
116− push:
117− - match: (</)((?i:script))
118− captures:
119− 1: punctuation.definition.tag.html
120− 2: entity.name.tag.script.html
121− pop: true
122− - match: (//).*?((?=</script)|$\n?)
123− scope: comment.line.double-slash.js
124− captures:
125− 1: punctuation.definition.comment.js
126− - match: /\*
127− captures:
128− 0: punctuation.definition.comment.js
129− push:
130− - meta_scope: comment.block.js
131− - match: \*/|(?=</script)
132− captures:
133− 0: punctuation.definition.comment.js
134− pop: true
135− - include: php
136− - include: twig-print-tag
137− - include: twig-statement-tag
138− - include: twig-comment-tag
139− - include: scope:source.js
140− - match: (</?)((?i:body|head|html)\b)
141− captures:
142− 1: punctuation.definition.tag.html
143− 2: entity.name.tag.structure.any.html
144− push:
145− - meta_scope: meta.tag.structure.any.html
146− - match: (>)
147− captures:
148− 1: punctuation.definition.tag.html
149− 2: entity.name.tag.structure.any.html
150− pop: true
151− - include: tag-stuff
152− - match: (</?)((?i:address|blockquote|dd|div|dl|dt|fieldset|form|frame|frameset|h1|h2|h3|h4|h5|h6|iframe|noframes|object|ol|p|ul|applet|center|dir|hr|menu|pre)\b)
153− captures:
154− 1: punctuation.definition.tag.begin.html
155− 2: entity.name.tag.block.any.html
156− push:
157− - meta_scope: meta.tag.block.any.html
158− - match: (>)
159− captures:
160− 1: punctuation.definition.tag.end.html
161− pop: true
162− - include: tag-stuff
163− - match: (</?)((?i:a|abbr|acronym|area|b|base|basefont|bdo|big|br|button|caption|cite|code|col|colgroup|del|dfn|em|font|head|html|i|img|input|ins|isindex|kbd|label|legend|li|link|map|meta|noscript|optgroup|option|param|q|s|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|var)\b)
164− captures:
165− 1: punctuation.definition.tag.begin.html
166− 2: entity.name.tag.inline.any.html
167− push:
168− - meta_scope: meta.tag.inline.any.html
169− - match: "((?: ?/)?>)"
170− captures:
171− 1: punctuation.definition.tag.end.html
172− pop: true
173− - include: tag-stuff
174− - match: "(</?)([a-zA-Z0-9:]+)"
175− captures:
176− 1: punctuation.definition.tag.begin.html
177− 2: entity.name.tag.other.html
178− push:
179− - meta_scope: meta.tag.other.html
180− - match: (>)
181− captures:
182− 1: punctuation.definition.tag.end.html
183− pop: true
184− - include: tag-stuff
185− - include: entities
186− - match: <>
187− scope: invalid.illegal.incomplete.html
188− - match: <
189− scope: invalid.illegal.bad-angle-bracket.html
190− - include: twig-print-tag
191− - include: twig-statement-tag
192− - include: twig-comment-tag
193− embedded-code:
194− - include: ruby
195− - include: php
196− - include: twig-print-tag
197− - include: twig-statement-tag
198− - include: twig-comment-tag
199− - include: python
200− entities:
201− - match: "(&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)"
202− scope: constant.character.entity.html
203− captures:
204− 1: punctuation.definition.entity.html
205− 3: punctuation.definition.entity.html
206− - match: "&"
207− scope: invalid.illegal.bad-ampersand.html
208− php:
209− - match: (?=(^\s*)?<\?)
210− push:
211− - match: (?!(^\s*)?<\?)
212− pop: true
213− - include: scope:text.html.php
214− python:
215− - match: (?:^\s*)<\?python(?!.*\?>)
216− push:
217− - meta_scope: source.python.embedded.html
218− - match: \?>(?:\s*$\n)?
219− pop: true
220− - include: scope:source.python
221− ruby:
222− - match: "<%+#"
223− captures:
224− 0: punctuation.definition.comment.erb
225− push:
226− - meta_scope: comment.block.erb
227− - match: "%>"
228− captures:
229− 0: punctuation.definition.comment.erb
230− pop: true
231− - match: <%+(?!>)=?
232− captures:
233− 0: punctuation.section.embedded.ruby
234− push:
235− - meta_scope: source.ruby.embedded.html
236− - match: "-?%>"
237− captures:
238− 0: punctuation.section.embedded.ruby
239− pop: true
240− - match: (#).*?(?=-?%>)
241− scope: comment.line.number-sign.ruby
242− captures:
243− 1: punctuation.definition.comment.ruby
244− - include: scope:source.ruby
245− - match: <\?r(?!>)=?
246− captures:
247− 0: punctuation.section.embedded.ruby.nitro
248− push:
249− - meta_scope: source.ruby.nitro.embedded.html
250− - match: '-?\?>'
251− captures:
252− 0: punctuation.section.embedded.ruby.nitro
253− pop: true
254− - match: (#).*?(?=-?\?>)
255− scope: comment.line.number-sign.ruby.nitro
256− captures:
257− 1: punctuation.definition.comment.ruby.nitro
258− - include: scope:source.ruby
259− string-double-quoted:
260− - match: '"'
261− captures:
262− 0: punctuation.definition.string.begin.html
263− push:
264− - meta_scope: string.quoted.double.html
265− - match: '"'
266− captures:
267− 0: punctuation.definition.string.end.html
268− pop: true
269− - include: embedded-code
270− - include: entities
271− string-single-quoted:
272− - match: "'"
273− captures:
274− 0: punctuation.definition.string.begin.html
275− push:
276− - meta_scope: string.quoted.single.html
277− - match: "'"
278− captures:
279− 0: punctuation.definition.string.end.html
280− pop: true
281− - include: embedded-code
282− - include: entities
283− tag-generic-attribute:
284− - match: '\b([a-zA-Z\-:]+)'
285− scope: entity.other.attribute-name.html
286− tag-id-attribute:
287− - match: \b(id)\b\s*(=)
288− captures:
289− 1: entity.other.attribute-name.id.html
290− 2: punctuation.separator.key-value.html
291− push:
292− - meta_scope: meta.attribute-with-value.id.html
293− - match: (?<='|")
294− captures:
295− 1: entity.other.attribute-name.id.html
296− 2: punctuation.separator.key-value.html
297− pop: true
298− - match: '"'
299− captures:
300− 0: punctuation.definition.string.begin.html
301− push:
302− - meta_scope: string.quoted.double.html
303− - meta_content_scope: meta.toc-list.id.html
304− - match: '"'
305− captures:
306− 0: punctuation.definition.string.end.html
307− pop: true
308− - include: embedded-code
309− - include: entities
310− - match: "'"
311− captures:
312− 0: punctuation.definition.string.begin.html
313− push:
314− - meta_scope: string.quoted.single.html
315− - meta_content_scope: meta.toc-list.id.html
316− - match: "'"
317− captures:
318− 0: punctuation.definition.string.end.html
319− pop: true
320− - include: embedded-code
321− - include: entities
322− tag-stuff:
323− - include: tag-id-attribute
324− - include: tag-generic-attribute
325− - include: string-double-quoted
326− - include: string-single-quoted
327− - include: embedded-code
328− twig-arrays:
329− - match: '(?<=[\s\(\{\[:,])\['
330− captures:
331− 0: punctuation.section.array.begin.twig
332− push:
333− - meta_scope: meta.array.twig
334− - match: '\]'
335− captures:
336− 0: punctuation.section.array.end.twig
337− pop: true
338− - include: twig-arrays
339− - include: twig-hashes
340− - include: twig-constants
341− - include: twig-strings
342− - include: twig-functions-warg
343− - include: twig-functions
344− - include: twig-macros
345− - include: twig-objects
346− - include: twig-properties
347− - include: twig-filters-warg
348− - include: twig-filters
349− - include: twig-filters-warg-ud
350− - include: twig-filters-ud
351− - match: ","
352− scope: punctuation.separator.object.twig
353− twig-comment-tag:
354− - match: '\{#-?'
355− captures:
356− 0: punctuation.definition.comment.begin.twig
357− push:
358− - meta_scope: comment.block.twig
359− - match: '-?#\}'
360− captures:
361− 0: punctuation.definition.comment.end.twig
362− pop: true
363− twig-constants:
364− - match: '(?i)(?<=[\s\[\(\{:,])(?:true|false|null|none)(?=[\s\)\]\}\,])'
365− scope: constant.language.twig
366− - match: '(?<=[\s\[\(\{:,]|\.\.|\*\*)[0-9]+(?:\.[0-9]+)?(?=[\s\)\]\}\,]|\.\.|\*\*)'
367− scope: constant.numeric.twig
368− twig-filters:
369− - match: '(?<=(?:[a-zA-Z0-9_\x{7f}-\x{ff}\]\)\''\"]\|)|\{%\sfilter\s)(abs|capitalize|e(?:scape)?|first|join|(?:json|url)_encode|keys|last|length|lower|nl2br|number_format|raw|reverse|round|sort|striptags|title|trim|upper)(?=[\s\|\]\}\):,]|\.\.|\*\*)'
370− captures:
371− 1: support.function.twig
372− twig-filters-ud:
373− - match: '(?<=(?:[a-zA-Z0-9_\x{7f}-\x{ff}\]\)\''\"]\|)|\{%\sfilter\s)([a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)'
374− captures:
375− 1: meta.function-call.other.twig
376− twig-filters-warg:
377− - match: '(?<=(?:[a-zA-Z0-9_\x{7f}-\x{ff}\]\)\''\"]\|)|\{%\sfilter\s)(batch|convert_encoding|date|date_modify|default|e(?:scape)?|format|join|merge|number_format|replace|round|slice|split|trim)(\()'
378− captures:
379− 1: support.function.twig
380− 2: punctuation.definition.parameters.begin.twig
381− push:
382− - meta_content_scope: meta.function.arguments.twig
383− - match: \)
384− captures:
385− 0: punctuation.definition.parameters.end.twig
386− pop: true
387− - include: twig-constants
388− - include: twig-functions-warg
389− - include: twig-functions
390− - include: twig-macros
391− - include: twig-objects
392− - include: twig-properties
393− - include: twig-filters-warg
394− - include: twig-filters
395− - include: twig-filters-warg-ud
396− - include: twig-filters-ud
397− - include: twig-strings
398− - include: twig-arrays
399− - include: twig-hashes
400− twig-filters-warg-ud:
401− - match: '(?<=(?:[a-zA-Z0-9_\x{7f}-\x{ff}\]\)\''\"]\|)|\{%\sfilter\s)([a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)(\()'
402− captures:
403− 1: meta.function-call.other.twig
404− 2: punctuation.definition.parameters.begin.twig
405− push:
406− - meta_content_scope: meta.function.arguments.twig
407− - match: \)
408− captures:
409− 0: punctuation.definition.parameters.end.twig
410− pop: true
411− - include: twig-constants
412− - include: twig-functions-warg
413− - include: twig-functions
414− - include: twig-macros
415− - include: twig-objects
416− - include: twig-properties
417− - include: twig-filters-warg
418− - include: twig-filters
419− - include: twig-filters-warg-ud
420− - include: twig-filters-ud
421− - include: twig-strings
422− - include: twig-arrays
423− - include: twig-hashes
424− twig-functions:
425− - match: (?<=is\s)(defined|empty|even|iterable|odd)
426− captures:
427− 1: support.function.twig
428− twig-functions-warg:
429− - match: '(?<=[\s\(\[\{:,])(attribute|block|constant|cycle|date|divisible by|dump|include|max|min|parent|random|range|same as|source|template_from_string)(\()'
430− captures:
431− 1: support.function.twig
432− 2: punctuation.definition.parameters.begin.twig
433− push:
434− - meta_content_scope: meta.function.arguments.twig
435− - match: \)
436− captures:
437− 0: punctuation.definition.parameters.end.twig
438− pop: true
439− - include: twig-constants
440− - include: twig-functions-warg
441− - include: twig-functions
442− - include: twig-macros
443− - include: twig-objects
444− - include: twig-properties
445− - include: twig-filters-warg
446− - include: twig-filters
447− - include: twig-filters-warg-ud
448− - include: twig-filters-ud
449− - include: twig-strings
450− - include: twig-arrays
451− twig-hashes:
452− - match: '(?<=[\s\(\{\[:,])\{'
453− captures:
454− 0: punctuation.section.hash.begin.twig
455− push:
456− - meta_scope: meta.hash.twig
457− - match: '\}'
458− captures:
459− 0: punctuation.section.hash.end.twig
460− pop: true
461− - include: twig-hashes
462− - include: twig-arrays
463− - include: twig-constants
464− - include: twig-strings
465− - include: twig-functions-warg
466− - include: twig-functions
467− - include: twig-macros
468− - include: twig-objects
469− - include: twig-properties
470− - include: twig-filters-warg
471− - include: twig-filters
472− - include: twig-filters-warg-ud
473− - include: twig-filters-ud
474− - match: ":"
475− scope: punctuation.separator.key-value.twig
476− - match: ","
477− scope: punctuation.separator.object.twig
478− twig-keywords:
479− - match: (?<=\s)((?:end)?(?:autoescape|block|embed|filter|for|if|macro|raw|sandbox|set|spaceless|trans|verbatim)|as|do|else|elseif|extends|flush|from|ignore missing|import|include|only|use|with)(?=\s)
480− scope: keyword.control.twig
481− twig-macros:
482− - match: |-
483− (?x)
484− (?<=[\s\(\[\{:,])
485− ([a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)
486− (?:
487− (\.)([a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)
488− )?
489− (\()
490− captures:
491− 1: meta.function-call.twig
492− 2: punctuation.separator.property.twig
493− 3: variable.other.property.twig
494− 4: punctuation.definition.parameters.begin.twig
495− push:
496− - meta_content_scope: meta.function.arguments.twig
497− - match: \)
498− captures:
499− 0: punctuation.definition.parameters.end.twig
500− pop: true
501− - include: twig-constants
502− - include: twig-operators
503− - include: twig-functions-warg
504− - include: twig-functions
505− - include: twig-macros
506− - include: twig-objects
507− - include: twig-properties
508− - include: twig-filters-warg
509− - include: twig-filters
510− - include: twig-filters-warg-ud
511− - include: twig-filters-ud
512− - include: twig-strings
513− - include: twig-arrays
514− - include: twig-hashes
515− twig-objects:
516− - match: '(?<=[\s\{\[\(:,])([a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)(?=[\s\}\[\]\(\)\.\|,:])'
517− captures:
518− 1: variable.other.twig
519− twig-operators:
520− - match: (?<=\s)(\+|-|//?|%|\*\*?)(?=\s)
521− captures:
522− 1: keyword.operator.arithmetic.twig
523− - match: (?<=\s)(=|~)(?=\s)
524− captures:
525− 1: keyword.operator.assignment.twig
526− - match: (?<=\s)(b-(?:and|or|xor))(?=\s)
527− captures:
528− 1: keyword.operator.bitwise.twig
529− - match: '(?<=\s)((?:!|=)=|<=?|>=?|(?:not )?in|is(?: not)?|(?:ends|starts) with|matches)(?=\s)'
530− captures:
531− 1: keyword.operator.comparison.twig
532− - match: (?<=\s)(\?|:|and|not|or)(?=\s)
533− captures:
534− 1: keyword.operator.logical.twig
535− - match: '(?<=[a-zA-Z0-9_\x{7f}-\x{ff}\]\)''"])\.\.(?=[a-zA-Z0-9_\x{7f}-\x{ff}''"])'
536− captures:
537− 0: keyword.operator.other.twig
538− - match: '(?<=[a-zA-Z0-9_\x{7f}-\x{ff}\]\}\)''"])\|(?=[a-zA-Z_\x{7f}-\x{ff}])'
539− captures:
540− 0: keyword.operator.other.twig
541− twig-print-tag:
542− - match: '\{\{-?'
543− captures:
544− 0: punctuation.section.tag.twig
545− push:
546− - meta_scope: meta.tag.template.value.twig
547− - match: '-?\}\}'
548− captures:
549− 0: punctuation.section.tag.twig
550− pop: true
551− - include: twig-constants
552− - include: twig-operators
553− - include: twig-functions-warg
554− - include: twig-functions
555− - include: twig-macros
556− - include: twig-objects
557− - include: twig-properties
558− - include: twig-filters-warg
559− - include: twig-filters
560− - include: twig-filters-warg-ud
561− - include: twig-filters-ud
562− - include: twig-strings
563− - include: twig-arrays
564− - include: twig-hashes
565− twig-properties:
566− - match: |-
567− (?x)
568− (?<=[a-zA-Z0-9_\x{7f}-\x{ff}])
569− (\.)([a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)
570− (?=[\.\s\|\[\)\]\}:,])
571− captures:
572− 1: punctuation.separator.property.twig
573− 2: variable.other.property.twig
574− - match: |-
575− (?x)
576− (?<=[a-zA-Z0-9_\x{7f}-\x{ff}])
577− (\.)([a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)
578− (\()
579− captures:
580− 1: punctuation.separator.property.twig
581− 2: variable.other.property.twig
582− 3: punctuation.definition.parameters.begin.twig
583− push:
584− - meta_content_scope: meta.function.arguments.twig
585− - match: \)
586− captures:
587− 0: punctuation.definition.parameters.end.twig
588− pop: true
589− - include: twig-constants
590− - include: twig-functions-warg
591− - include: twig-functions
592− - include: twig-macros
593− - include: twig-objects
594− - include: twig-properties
595− - include: twig-filters-warg
596− - include: twig-filters
597− - include: twig-filters-warg-ud
598− - include: twig-filters-ud
599− - include: twig-strings
600− - include: twig-arrays
601− - match: |-
602− (?x)
603− (?<=[a-zA-Z0-9_\x{7f}-\x{ff}\]])
604− (?:
605− (\[)('[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*')(\])
606− |(\[)("[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*")(\])
607− |(\[)([a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)(\])
608− )
609− captures:
610− 1: punctuation.section.array.begin.twig
611− 2: variable.other.property.twig
612− 3: punctuation.section.array.end.twig
613− 4: punctuation.section.array.begin.twig
614− 5: variable.other.property.twig
615− 6: punctuation.section.array.end.twig
616− 7: punctuation.section.array.begin.twig
617− 8: variable.other.property.twig
618− 9: punctuation.section.array.end.twig
619− twig-statement-tag:
620− - match: '\{%-?'
621− captures:
622− 0: punctuation.section.tag.twig
623− push:
624− - meta_scope: meta.tag.template.block.twig
625− - match: '-?%\}'
626− captures:
627− 0: punctuation.section.tag.twig
628− pop: true
629− - include: twig-constants
630− - include: twig-keywords
631− - include: twig-operators
632− - include: twig-functions-warg
633− - include: twig-functions
634− - include: twig-macros
635− - include: twig-filters-warg
636− - include: twig-filters
637− - include: twig-filters-warg-ud
638− - include: twig-filters-ud
639− - include: twig-objects
640− - include: twig-properties
641− - include: twig-strings
642− - include: twig-arrays
643− - include: twig-hashes
644− twig-strings:
645− - match: (?:(?<!\\)|(?<=\\\\))'
646− captures:
647− 0: punctuation.definition.string.begin.twig
648− push:
649− - meta_scope: string.quoted.single.twig
650− - match: (?:(?<!\\)|(?<=\\\\))'
651− captures:
652− 0: punctuation.definition.string.end.twig
653− pop: true
654− - match: (?:(?<!\\)|(?<=\\\\))"
655− captures:
656− 0: punctuation.definition.string.begin.twig
657− push:
658− - meta_scope: string.quoted.double.twig
659− - match: (?:(?<!\\)|(?<=\\\\))"
660− captures:
661− 0: punctuation.definition.string.end.twig
662− pop: true
assets/syntaxes/02_Extra/Hosts.sublime-syntaxdeleted−23
@@ -1,23 +0,0 @@
1−%YAML 1.2
2−---
3−# http://www.sublimetext.com/docs/3/syntax.html
4−name: hosts
5−file_extensions:
6− - hosts
7−scope: source.hosts
8−
9−contexts:
10− main:
11− - scope: comment.line.number-sign
12− match: \#.*
13− comment: comment
14−
15− - match: ^\s*([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}|[0-9a-f:]+)
16− comment: ipaddress
17− scope: constant.numeric.ipaddress
18−
19−
20− - match: \s(localhost|ip6-loopback|ip6-localhost|ip6-localnet|ip6-mcastprefix|ip6-allnodes|ip6-allrouters|ip6-allhosts|broadcasthost)\b
21− scope: keyword.host.predefined}
22− comment: prefdfined
23−
assets/syntaxes/02_Extra/INIdeleted−1

Submodule changed.

assets/syntaxes/02_Extra/INI.sublime-syntaxdeleted−47
@@ -1,47 +0,0 @@
1−%YAML 1.2
2−---
3−# http://www.sublimetext.com/docs/3/syntax.html
4−name: INI
5−file_extensions:
6− - ini
7− - INI
8− - "inf"
9− - "INF"
10− - reg
11− - REG
12− - lng
13− - cfg
14− - CFG
15− - desktop
16− - url
17− - URL
18− - .editorconfig
19− - .hgrc
20− - hgrc
21−scope: source.ini
22−contexts:
23− main:
24− - match: ^\s*(;|#).*$\n?
25− scope: comment.line.semicolon.ini
26− captures:
27− 1: punctuation.definition.comment.ini
28− - match: '^\s*(\[)(.*?)(\])\s*(;.*)?$\n?'
29− scope: meta.tag.section.ini
30− captures:
31− 1: punctuation.definition.section.ini
32− 2: entity.section.ini
33− 3: punctuation.definition.section.ini
34− 4: comment.definition.section.ini
35− - match: '^(\s*(["'']?)(.+?)(\2)\s*(=))?\s*((["'']?)(.*?)(\7))\s*(;.*)?$\n?'
36− scope: meta.declaration.ini
37− captures:
38− 1: meta.property.ini
39− 2: punctuation.definition.quote.ini
40− 3: keyword.name.ini
41− 4: punctuation.definition.quote.ini
42− 5: punctuation.definition.equals.ini
43− 6: meta.value.ini
44− 7: punctuation.definition.quote.ini
45− 8: string.name.value.ini
46− 9: punctuation.definition.quote.ini
47− 10: comment.declarationline.semicolon.ini
assets/syntaxes/02_Extra/JavaScript (Babel)deleted−1

Submodule changed.

assets/syntaxes/02_Extra/JavaScript (Babel).sublime-syntaxdeleted−1290
@@ -1,1290 +0,0 @@
1−%YAML 1.2
2−---
3−# http://www.sublimetext.com/docs/3/syntax.html
4−name: JavaScript (Babel)
5−file_extensions:
6− - js
7− - mjs
8− - jsx
9− - babel
10− - es6
11− - cjs
12−first_line_match: ^#!\s*/.*\b(node|js)$\n?
13−scope: source.js
14−contexts:
15− main:
16− - include: core
17− brackets:
18− - include: round-brackets
19− - include: square-brackets
20− - include: curly-brackets
21− class-method-definition:
22− - match: '(@@[_$a-zA-Z][$\w]*|static|return)(?=\s*[<(])|(?=\s*<)'
23− captures:
24− 1: keyword.operator.flowtype.js
25− push:
26− - meta_scope: meta.short-method.flowtype.js
27− - match: '(?=\s*[;{])'
28− pop: true
29− - include: flowtype-polymorph
30− - include: function-declaration-parameters
31− - include: flowtype-annotation
32− - include: comments
33− - include: curly-brackets
34− - match: '(?<=[]"''])\s*(?=[<(])'
35− push:
36− - meta_scope: meta.class-method.computed.js
37− - match: '(?=\s*[;{])'
38− pop: true
39− - include: flowtype-polymorph
40− - include: function-declaration-parameters
41− - include: flowtype-annotation
42− - include: comments
43− - include: curly-brackets
44− - match: |-
45− (?x)
46− ((?>get|set)\s+)
47− (?>
48− ((')((?>[^'\\]|\\.)*)('))|
49− ((")((?>[^"\\]|\\.)*)("))|
50− (([_$a-zA-Z][$\w]*|\d+))
51− )(?=\s*[<(])
52− captures:
53− 1: storage.type.js
54− 2: string.quoted.js
55− 3: punctuation.definition.string.begin.js
56− 4: entity.name.function.js
57− 5: punctuation.definition.string.end.js
58− 6: string.quoted.js
59− 7: punctuation.definition.string.begin.js
60− 8: entity.name.function.js
61− 9: punctuation.definition.string.end.js
62− 10: string.unquoted.js
63− 11: entity.name.function.js
64− push:
65− - meta_scope: meta.class-accessor.js
66− - match: '(?=\s*[;{])'
67− pop: true
68− - include: flowtype-polymorph
69− - include: function-declaration-parameters
70− - include: flowtype-annotation
71− - include: comments
72− - include: curly-brackets
73− - match: |-
74− (?x)
75− (?>
76− ((')((?>[^'\\]|\\.)*)('))|
77− ((")((?>[^"\\]|\\.)*)("))|
78− (([_$a-zA-Z][$\w]*|\d+))
79− )(?=\s*[<(])
80− captures:
81− 1: string.quoted.js
82− 2: punctuation.definition.string.begin.js
83− 3: entity.name.function.js
84− 4: punctuation.definition.string.end.js
85− 5: string.quoted.js
86− 6: punctuation.definition.string.begin.js
87− 7: entity.name.function.js
88− 8: punctuation.definition.string.end.js
89− 9: string.unquoted.js
90− 10: entity.name.function.js
91− push:
92− - meta_scope: meta.class-method.js
93− - match: '(?=\s*[;{])'
94− pop: true
95− - include: flowtype-polymorph
96− - include: function-declaration-parameters
97− - include: flowtype-annotation
98− - include: comments
99− - include: curly-brackets
100− class-method-storage:
101− - match: (?<!\.)\b(?>static|declare)\b
102− scope: storage.modifier.js
103− - match: (?<!\.)\b(async)\b
104− scope: storage.type.js
105− - match: (?<!\.)\b(get|set)\b(?!\s*\()
106− scope: storage.type.js
107− - match: \*
108− scope: keyword.generator.asterisk.js
109− class-properties:
110− - match: '([_$a-zA-Z][$\w]*)(?=\s*[:=])'
111− captures:
112− 1: variable.other.property.js
113− push:
114− - meta_scope: meta.class.property.js
115− - match: '(?=\s*[;}])'
116− pop: true
117− - include: flowtype-annotation
118− - include: expression
119− comments:
120− - match: /\*\*(?!/)
121− captures:
122− 0: punctuation.definition.comment.js
123− push:
124− - meta_scope: comment.block.documentation.js
125− - match: \*/
126− captures:
127− 0: punctuation.definition.comment.js
128− pop: true
129− - match: /\*
130− captures:
131− 0: punctuation.definition.comment.begin.js
132− push:
133− - meta_scope: comment.block.js
134− - match: \*/
135− captures:
136− 0: punctuation.definition.comment.end.js
137− pop: true
138− - match: (?><!--|-->)
139− scope: comment.block.html.js
140− captures:
141− 0: punctuation.definition.comment.js
142− - match: (//).*$\n?
143− scope: comment.line.double-slash.js
144− captures:
145− 1: punctuation.definition.comment.js
146− - match: ^(#!).*$\n?
147− scope: comment.line.shebang.js
148− captures:
149− 1: punctuation.definition.comment.js
150− core:
151− - include: literal-function-labels
152− - include: literal-arrow-function-labels
153− - include: literal-labels
154− - include: literal-for
155− - include: literal-switch
156− - include: styled-components
157− - include: graphql
158− - include: expression
159− - include: literal-punctuation
160− curly-brackets:
161− - match: "{"
162− captures:
163− 0: meta.brace.curly.begin.js
164− push:
165− - meta_scope: meta.group.braces.curly.js
166− - match: "}"
167− captures:
168− 0: meta.brace.curly.end.js
169− pop: true
170− - include: main
171− es7-decorators:
172− - match: |-
173− (?x)
174− (@)([_$a-zA-Z][$\w]*)\b
175− scope: tag.decorator.js
176− captures:
177− 1: punctuation.definition.tag.js
178− 2: entity.name.tag.js
179− expression:
180− - include: merge-conflits
181− - include: literal-regexp
182− - include: literal-jsx
183− - include: es7-decorators
184− - include: support-class
185− - include: support-other
186− - include: literal-function
187− - include: literal-arrow-function
188− - include: literal-prototype
189− - include: literal-keywords
190− - include: literal-method
191− - include: literal-module
192− - include: literal-class
193− - include: flowtype-declaration
194− - include: literal-number
195− - include: literal-template-string
196− - include: literal-string
197− - include: literal-language-constant
198− - include: literal-language-variable
199− - include: literal-constructor
200− - include: literal-method-call
201− - include: literal-function-call
202− - include: comments
203− - include: brackets
204− - include: literal-operators
205− - include: literal-variable
206− flowtype-annotation:
207− - match: (?:(\?)\s*)?(:)
208− captures:
209− 1: keyword.operator.flowtype.optional.js
210− 2: keyword.operator.flowtype.annotation.js
211− push:
212− - meta_scope: meta.flowtype.annotation.js
213− - include: flowtype-tokens
214− - match: (?=\S)
215− pop: true
216− flowtype-brackets:
217− - match: "{"
218− captures:
219− 0: punctuation.section.flowtype.begin.js
220− push:
221− - match: "}"
222− captures:
223− 0: punctuation.section.flowtype.end.js
224− pop: true
225− - include: flowtype-tokens
226− flowtype-declaration:
227− - match: (?<!\.)\b(declare)\b
228− scope: support.type.declare.flowtype.js
229− - match: '(?<!\.)\b(type)\b(?=\s*[_$a-zA-Z])'
230− captures:
231− 1: support.type.type.flowtype.js
232− push:
233− - meta_scope: meta.type.flowtype.js
234− - match: (?=\s*(;|from))
235− pop: true
236− - include: flowtype-tokens
237− - match: '(?<!\.)\b(type)\b(?=\s*{)'
238− captures:
239− 1: support.type.type.flowtype.js
240− push:
241− - meta_scope: meta.type.flowtype.js
242− - match: "(?<=})"
243− pop: true
244− - include: comments
245− - include: flowtype-brackets
246− - include: flowtype-polymorph
247− - match: '([_$a-zA-Z][$\w]*)'
248− scope: entity.name.type.js
249− flowtype-identifier:
250− - include: support-class
251− - match: \b(?:any|bool|boolean|mixed|number|string|void)\b
252− scope: constant.other.primitve.flowtype.js
253− - match: '[_$a-zA-Z][$\w]*'
254− scope: variable.other.flowtype.js
255− - match: \?
256− scope: keyword.operator.flowtype.optional.js
257− flowtype-polymorph:
258− - match: <
259− captures:
260− 0: punctuation.section.flowtype.begin.js
261− push:
262− - meta_scope: meta.flowtype.polymorph.js
263− - match: ">"
264− captures:
265− 0: punctuation.section.flowtype.end.js
266− pop: true
267− - include: flowtype-tokens
268− flowtype-tokens:
269− - match: '(?<=[:?|&=])(?=\s*{)'
270− push:
271− - match: "(?<=})"
272− pop: true
273− - include: flowtype-brackets
274− - match: '\s*([|&])\s*'
275− scope: meta.flowtype.set.js
276− captures:
277− 1: keyword.operator.flowtype.other.js
278− - match: '[*:?&|.]|\.\.\.|\b(typeof)\b'
279− scope: keyword.operator.flowtype.other.js
280− - match: <
281− captures:
282− 0: punctuation.section.flowtype.begin.js
283− push:
284− - match: ">"
285− captures:
286− 0: punctuation.section.flowtype.end.js
287− pop: true
288− - include: flowtype-tokens
289− - match: '\['
290− captures:
291− 0: punctuation.section.flowtype.begin.js
292− push:
293− - match: '\]'
294− captures:
295− 0: punctuation.section.flowtype.end.js
296− pop: true
297− - include: flowtype-tokens
298− - match: \(
299− captures:
300− 0: punctuation.section.flowtype.begin.js
301− push:
302− - match: \)
303− captures:
304− 0: punctuation.section.flowtype.end.js
305− pop: true
306− - include: flowtype-tokens
307− - match: "=>"
308− captures:
309− 0: keyword.operator.flowtype.js
310− push:
311− - meta_scope: meta.flowtype.function.js
312− - match: "(?<=}|[_$a-zA-Z])"
313− pop: true
314− - include: flowtype-brackets
315− - include: flowtype-identifier
316− - include: comments
317− - include: flowtype-identifier
318− - include: literal-string
319− - include: comments
320− function-declaration-parameters:
321− - match: \(
322− captures:
323− 0: punctuation.definition.parameters.begin.js
324− push:
325− - match: \)
326− captures:
327− 0: punctuation.definition.parameters.end.js
328− pop: true
329− - include: comments
330− - include: flowtype-annotation
331− - match: (?<!\.)\.\.\.
332− scope: keyword.operator.spread.js
333− - match: '([_$a-zA-Z][$\w]*)'
334− scope: variable.parameter.function.js
335− - match: ","
336− scope: punctuation.separator.parameter.function.js
337− - match: "="
338− captures:
339− 0: keyword.operator.assignment.js
340− push:
341− - meta_scope: meta.parameter.optional.js
342− - match: "(?=[,)])"
343− pop: true
344− - include: expression
345− graphql:
346− - match: \s*+gql`
347− push:
348− - meta_scope: meta.graphql.js
349− - match: "`"
350− pop: true
351− - include: scope:source.graphql
352− - match: '\${'
353− push:
354− - meta_scope: js
355− - match: "}"
356− pop: true
357− - include: core
358− - match: \s*+`#graphql
359− push:
360− - meta_scope: meta.graphql.js
361− - match: "`"
362− pop: true
363− - include: scope:source.graphql
364− - match: '\${'
365− push:
366− - meta_scope: js
367− - match: "}"
368− pop: true
369− - include: core
370− jsx-attribute-assignment:
371− - match: "="
372− scope: keyword.operator.assignment.jsx
373− jsx-attribute-name:
374− - match: '[_$a-zA-Z][-$\w]*'
375− scope: entity.other.attribute-name.jsx
376− jsx-attributes:
377− - include: jsx-attribute-name
378− - include: jsx-attribute-assignment
379− - include: jsx-string-quoted
380− - include: jsx-evaluated-code
381− - include: comments
382− jsx-entities:
383− - match: '&(?:[a-zA-Z0-9]+|#\d+|#x\h+);'
384− scope: constant.character.entity.jsx
385− - match: '&\S*;'
386− scope: invalid.illegal.bad-ampersand.jsx
387− jsx-evaluated-code:
388− - match: "{"
389− captures:
390− 0: punctuation.section.embedded.begin.jsx
391− push:
392− - meta_scope: meta.embedded.expression.jsx
393− - match: "}"
394− captures:
395− 0: punctuation.section.embedded.end.jsx
396− pop: true
397− - include: expression
398− jsx-string-quoted:
399− - match: '(["''])'
400− captures:
401− 0: punctuation.definition.string.begin.jsx
402− push:
403− - meta_scope: string.quoted.jsx
404− - match: \1
405− captures:
406− 0: punctuation.definition.string.end.jsx
407− pop: true
408− - include: jsx-entities
409− jsx-tag-end:
410− - match: ">"
411− captures:
412− 0: meta.tag.jsx punctuation.definition.tag.end.jsx
413− push:
414− - match: (?=</)
415− pop: true
416− - include: jsx-tag-start
417− - include: jsx-evaluated-code
418− - include: jsx-entities
419− jsx-tag-start:
420− - match: '(<)([_$a-zA-Z][-$:.\w]*[$\w]*)'
421− captures:
422− 1: meta.tag.jsx punctuation.definition.tag.begin.jsx
423− 2: meta.tag.jsx entity.name.tag.jsx
424− push:
425− - match: (</)(\2)(>)|(/>)
426− captures:
427− 1: meta.tag.jsx punctuation.definition.tag.begin.jsx
428− 2: meta.tag.jsx entity.name.tag.jsx
429− 3: meta.tag.jsx punctuation.definition.tag.end.jsx
430− 4: meta.tag.jsx punctuation.definition.tag.end.jsx
431− pop: true
432− - include: jsx-tag-end
433− - include: jsx-attributes
434− - match: <
435− scope: invalid.illegal.tag.incomplete.jsx
436− literal-arrow-function:
437− - match: |-
438− (?x)
439− (?:([_$a-zA-Z][$\w]*)\s*(=)\s*)?
440− (?:\b(async)\s+)?
441− (?=(\((?>(?>[^()]+)|\g<-1>)*\))\s*(=>))
442− captures:
443− 1: entity.name.function.js
444− 2: keyword.operator.assignment.js
445− 3: storage.type.js
446− push:
447− - meta_scope: meta.function.arrow.js
448− - match: (?<=\))\s*(=>)
449− captures:
450− 1: storage.type.function.arrow.js
451− pop: true
452− - include: function-declaration-parameters
453− - match: |-
454− (?x)
455− (?:([_$a-zA-Z][$\w]*)\s*(=)\s*)?
456− (?:(async)\s+)?
457− \b([_$a-zA-Z][$\w]*)\s*(=>)
458− scope: meta.function.arrow.js
459− captures:
460− 1: entity.name.function.js
461− 2: keyword.operator.assignment.js
462− 3: storage.type.js
463− 4: variable.parameter.function.js
464− 5: storage.type.function.arrow.js
465− - match: |-
466− (?x)
467− (\b_?[A-Z][$\w]*)?
468− (\.)(prototype)
469− (\.)([_$a-zA-Z][$\w]*)
470− \s*(=)
471− \s*(async)?
472− \s*(?=(\((?>(?>[^()]+)|\g<-1>)*\))\s*(=>))
473− captures:
474− 1: entity.name.class.js
475− 2: keyword.operator.accessor.js
476− 3: variable.language.prototype.js
477− 4: keyword.operator.accessor.js
478− 5: entity.name.function.js
479− 6: keyword.operator.assignment.js
480− 7: storage.type.js
481− push:
482− - meta_scope: meta.prototype.function.arrow.js
483− - match: (?<=\))\s*(=>)
484− captures:
485− 1: storage.type.function.arrow.js
486− pop: true
487− - include: function-declaration-parameters
488− - match: |-
489− (?x)
490− (\b_?[A-Z][$\w]*)?
491− (\.)(prototype)
492− (\.)([_$a-zA-Z][$\w]*)
493− \s*(=)
494− \s*(async)?
495− \s*\b([_$a-zA-Z][$\w]*)\s*(=>)
496− scope: meta.prototype.function.arrow.js
497− captures:
498− 1: entity.name.class.js
499− 2: keyword.operator.accessor.js
500− 3: variable.language.prototype.js
501− 4: keyword.operator.accessor.js
502− 5: entity.name.function.js
503− 6: keyword.operator.assignment.js
504− 7: storage.type.js
505− 8: variable.parameter.function.js
506− 9: storage.type.function.arrow.js
507− - match: |-
508− (?x)
509− (\b_?[A-Z][$\w]*)?
510− (\.)([_$a-zA-Z][$\w]*)
511− \s*(=)
512− \s*(async)?
513− \s*(?=(\((?>(?>[^()]+)|\g<-1>)*\))\s*(=>))
514− captures:
515− 1: entity.name.class.js
516− 2: keyword.operator.accessor.js
517− 3: entity.name.function.js
518− 4: keyword.operator.assignment.js
519− 5: storage.type.js
520− push:
521− - meta_scope: meta.function.static.arrow.js
522− - match: (?<=\))\s*(=>)
523− captures:
524− 1: storage.type.function.arrow.js
525− pop: true
526− - include: function-declaration-parameters
527− - match: |-
528− (?x)
529− (\b_?[A-Z][$\w]*)?
530− (\.)([_$a-zA-Z][$\w]*)
531− \s*(=)
532− \s*(async)?
533− \s*\b([_$a-zA-Z][$\w]*)\s*(=>)
534− scope: meta.function.static.arrow.js
535− captures:
536− 1: entity.name.class.js
537− 2: keyword.operator.accessor.js
538− 3: entity.name.function.js
539− 4: keyword.operator.assignment.js
540− 5: storage.type.js
541− 6: variable.parameter.function.js
542− 7: storage.type.function.arrow.js
543− literal-arrow-function-labels:
544− - match: |-
545− (?x)
546− (?>
547− ((')((?>[^'\\]|\\.)*)('))|
548− ((")((?>[^"\\]|\\.)*)("))|
549− (([_$a-zA-Z][$\w]*|\d+))
550− )
551− \s*(:)
552− \s*(?:\b(async)\s+)?
553− \s*(?=(\((?>(?>[^()]+)|\g<-1>)*\))\s*(=>))
554− captures:
555− 1: string.quoted.js
556− 2: punctuation.definition.string.begin.js
557− 3: entity.name.function.js
558− 4: punctuation.definition.string.end.js
559− 5: string.quoted.js
560− 6: punctuation.definition.string.begin.js
561− 7: entity.name.function.js
562− 8: punctuation.definition.string.end.js
563− 9: string.unquoted.js
564− 10: entity.name.function.js
565− 11: punctuation.separator.key-value.js
566− 12: storage.type.js
567− push:
568− - meta_scope: meta.function.json.arrow.js
569− - match: (?<=\))\s*(=>)
570− captures:
571− 1: storage.type.function.arrow.js
572− pop: true
573− - include: function-declaration-parameters
574− - match: |-
575− (?x)
576− (?>
577− ((')((?>[^'\\]|\\.)*)('))|
578− ((")((?>[^"\\]|\\.)*)("))|
579− (([_$a-zA-Z][$\w]*|\d+))
580− )
581− \s*(:)
582− \s*(?:\b(async)\s+)?
583− \s*\b([_$a-zA-Z][$\w]*)\s*(=>)
584− scope: meta.function.json.arrow.js
585− captures:
586− 1: string.quoted.js
587− 2: punctuation.definition.string.begin.js
588− 3: entity.name.function.js
589− 4: punctuation.definition.string.end.js
590− 5: string.quoted.js
591− 6: punctuation.definition.string.begin.js
592− 7: entity.name.function.js
593− 8: punctuation.definition.string.end.js
594− 9: string.unquoted.js
595− 10: entity.name.function.js
596− 11: punctuation.separator.key-value.js
597− 12: storage.type.js
598− 13: variable.parameter.function.js
599− 14: storage.type.function.arrow.js
600− literal-class:
601− - match: (?<!\.)\b(?:(class)|(interface))\b
602− captures:
603− 1: storage.type.class.js
604− 2: storage.type.interface.flowtype.js
605− push:
606− - meta_scope: meta.class.js
607− - match: '\}'
608− captures:
609− 0: meta.brace.curly.end.js
610− pop: true
611− - include: comments
612− - match: '([_$a-zA-Z][$\w]*)'
613− captures:
614− 0: entity.name.class.js
615− push:
616− - match: "(?={)"
617− pop: true
618− - include: comments
619− - include: flowtype-polymorph
620− - match: (?<!\.)\b(extends)\b
621− captures:
622− 0: storage.type.extends.js
623− push:
624− - meta_scope: meta.class.extends.js
625− - match: "(?={)"
626− pop: true
627− - include: flowtype-polymorph
628− - include: expression
629− - match: '\{'
630− captures:
631− 0: meta.brace.curly.begin.js
632− push:
633− - match: "(?=})"
634− pop: true
635− - include: es7-decorators
636− - include: class-properties
637− - include: class-method-definition
638− - include: class-method-storage
639− - include: brackets
640− - include: comments
641− literal-constructor:
642− - match: '(new)\s+(?=[_$a-zA-Z][$\w.]*)'
643− captures:
644− 1: keyword.operator.new.js
645− push:
646− - meta_scope: meta.instance.constructor.js
647− - match: '(?![_$a-zA-Z][$\w.]*)'
648− pop: true
649− - include: support-class
650− - include: support-other
651− - match: '([_$a-zA-Z][$\w.]*\.)?([_$a-zA-Z][$\w]*)'
652− captures:
653− 2: variable.function.constructor.js
654− literal-for:
655− - match: (?<!\.)\b(for)\b
656− captures:
657− 1: keyword.control.loop.js
658− push:
659− - meta_scope: meta.for.js
660− - match: \)
661− captures:
662− 0: meta.brace.round.end.js
663− pop: true
664− - include: comments
665− - match: \(
666− captures:
667− 0: meta.brace.round.begin.js
668− push:
669− - match: (?=\))
670− pop: true
671− - include: literal-keyword-storage
672− - include: expression
673− - include: literal-punctuation
674− literal-function:
675− - match: |-
676− (?x)
677− (?:([_$a-zA-Z][$\w]*)\s*(=)\s*)?
678− (?:(async)\s+)?
679− (function)(?>\s*(\*)|(?=[\s(<]))
680− \s*([_$a-zA-Z][$\w]*)?
681− captures:
682− 1: entity.name.function.js
683− 2: keyword.operator.assignment.js
684− 3: storage.type.js
685− 4: storage.type.function.js
686− 5: keyword.generator.asterisk.js
687− 6: entity.name.function.js
688− push:
689− - meta_scope: meta.function.js
690− - match: (?<=\))
691− pop: true
692− - include: flowtype-polymorph
693− - include: function-declaration-parameters
694− - match: |-
695− (?x)
696− (\b_?[A-Z][$\w]*)?
697− (\.)(prototype)
698− (\.)([_$a-zA-Z][$\w]*)
699− \s*(=)
700− \s*(?:(async)\s+)?
701− \s*(function)(?>\s*(\*)|(?=[\s(<]))
702− \s*([_$a-zA-Z][$\w]*)?\s*
703− captures:
704− 1: entity.name.class.js
705− 2: keyword.operator.accessor.js
706− 3: variable.language.prototype.js
707− 4: keyword.operator.accessor.js
708− 5: entity.name.function.js
709− 6: keyword.operator.assignment.js
710− 7: storage.type.js
711− 8: storage.type.function.js
712− 9: keyword.generator.asterisk.js
713− 10: entity.name.function.js
714− push:
715− - meta_scope: meta.function.prototype.js
716− - match: (?<=\))
717− pop: true
718− - include: flowtype-polymorph
719− - include: function-declaration-parameters
720− - match: |-
721− (?x)
722− (\b_?[A-Z][$\w]*)?
723− (\.)([_$a-zA-Z][$\w]*)
724− \s*(=)
725− \s*(?:(async)\s+)?
726− \s*(function)(?>\s*(\*)|(?=[\s(<]))
727− \s*([_$a-zA-Z][$\w]*)?\s*
728− captures:
729− 1: entity.name.class.js
730− 2: keyword.operator.accessor.js
731− 3: entity.name.function.js
732− 4: keyword.operator.assignment.js
733− 5: storage.type.js
734− 6: storage.type.function.js
735− 7: keyword.generator.asterisk.js
736− 8: entity.name.function.js
737− push:
738− - meta_scope: meta.function.static.js
739− - match: (?<=\))
740− pop: true
741− - include: flowtype-polymorph
742− - include: function-declaration-parameters
743− literal-function-call:
744− - match: '([_$a-zA-Z][$\w]*)\s*(\(\s*\))'
745− scope: meta.function-call.without-arguments.js
746− captures:
747− 1: variable.function.js
748− 2: meta.group.braces.round.function.arguments.js
749− - match: '([_$a-zA-Z][$\w]*)\s*(?=\()'
750− scope: meta.function-call.with-arguments.js
751− captures:
752− 1: variable.function.js
753− - match: '([_$a-zA-Z][$\w]*)\s*(?=`)'
754− scope: meta.function-call.tagged-template.js
755− captures:
756− 1: variable.function.js
757− literal-function-labels:
758− - match: |-
759− (?x)
760− (?>
761− ((')((?>[^'\\]|\\.)*)('))|
762− ((")((?>[^"\\]|\\.)*)("))|
763− (([_$a-zA-Z][$\w]*|\d+))
764− )
765− \s*(:)
766− \s*(?:\b(async)\s+)?
767− \s*(function)(?>\s*(\*)|(?=[\s(<]))
768− \s*([_$a-zA-Z][$\w]*)?
769− captures:
770− 1: string.quoted.js
771− 2: punctuation.definition.string.begin.js
772− 3: entity.name.function.js
773− 4: punctuation.definition.string.end.js
774− 5: string.quoted.js
775− 6: punctuation.definition.string.begin.js
776− 7: entity.name.function.js
777− 8: punctuation.definition.string.end.js
778− 9: string.unquoted.js
779− 10: entity.name.function.js
780− 11: punctuation.separator.key-value.js
781− 12: storage.type.js
782− 13: storage.type.function.js
783− 14: keyword.generator.asterisk.js
784− 15: entity.name.function.js
785− push:
786− - meta_scope: meta.function.json.js
787− - match: (?<=\))
788− pop: true
789− - include: flowtype-polymorph
790− - include: function-declaration-parameters
791− literal-jsx:
792− - match: '(?<=\(|\{|\[|,|&&|\|\||\?|:|=|=>|\Wreturn|^return|\Wdefault|^)(?=\s*<[_$a-zA-Z])'
793− push:
794− - meta_content_scope: meta.jsx.js
795− - match: (?<=/>|>)
796− pop: true
797− - include: jsx-tag-start
798− literal-keyword-storage:
799− - match: (?<!\.)\b(?>const|let|var)\b
800− scope: storage.type.js
801− literal-keywords:
802− - include: literal-keyword-storage
803− - match: (?<!\.)\b((?>await|yield))\b(?:\s*(\*))?
804− captures:
805− 1: keyword.control.flow.js
806− 2: keyword.generator.asterisk.js
807− - match: (?<!\.)\b(return)\b
808− scope: keyword.control.flow.js
809− - match: (?<!\.)\b(?>if|else)\b
810− scope: keyword.control.conditional.js
811− - match: (?<!\.)\b(?>catch|finally|throw|try)\b
812− scope: keyword.control.trycatch.js
813− - match: (?<!\.)\b(?>break|continue|do|goto|while|case|default)\b
814− scope: keyword.control.loop.js
815− - match: (?<!\.)\b(?>enum|module|public|package|private|interface|protected)\b
816− scope: keyword.other.reserved.js
817− - match: (?<!\.)\b(debugger)\b
818− scope: keyword.other.js
819− literal-labels:
820− - match: |-
821− (?x)
822− (?<!\?)(?<!\?\s)(?=(?>
823− ((')((?>[^'\\]|\\.)*)('))|
824− ((")((?>[^"\\]|\\.)*)("))|
825− )\s*:)
826− push:
827− - match: ":"
828− captures:
829− 0: punctuation.separator.key-value.js
830− pop: true
831− - include: literal-string
832− - match: '(?<!\.|\?|\?\s)([_$a-zA-Z][$\w]*)\s*(:)'
833− scope: constant.other.object.key.js
834− captures:
835− 1: string.unquoted.label.js
836− 2: punctuation.separator.key-value.js
837− literal-language-constant:
838− - match: (?<!\.)\b(true)\b
839− scope: constant.language.boolean.true.js
840− - match: (?<!\.)\b(false)\b
841− scope: constant.language.boolean.false.js
842− - match: (?<!\.)\b(null)\b
843− scope: constant.language.null.js
844− - match: (?<!\.)\b(undefined)\b
845− scope: constant.language.undefined.js
846− - match: (?<!\.)\b(NaN)\b
847− scope: constant.language.nan.js
848− literal-language-variable:
849− - match: (?<!(?<!\.\.)\.)\b(arguments)\b
850− scope: variable.language.arguments.js
851− - match: (?<!(?<!\.\.)\.)\b(super)\b
852− scope: variable.language.super.js
853− - match: (?<!(?<!\.\.)\.)\b(this)\b
854− scope: variable.language.this.js
855− - match: (?<!(?<!\.\.)\.)\b(self)\b
856− scope: variable.language.self.js
857− - match: (?<=\.)(__proto__)\b
858− scope: variable.language.proto.js
859− - match: (?<=\.)(constructor)\b
860− scope: variable.language.constructor.js
861− - match: (?<=\.)(prototype)\b
862− scope: variable.language.prototype.js
863− literal-method:
864− - match: |-
865− (?x)
866− (?:\b(static)\s+)?
867− (?:\b(async)\s+)?
868− (?:(\*)\s*)?
869− (?>
870− ((')((?>[^'\\]|\\.)*)('))|
871− ((")((?>[^"\\]|\\.)*)("))|
872− (([_$a-zA-Z][$\w]*|\d+))
873− )
874− (?=\s*(\((?>(?>[^()]+)|\g<-1>)*\))(?>\s|/\*.*\*/)*\{)
875− captures:
876− 1: storage.type.js
877− 2: storage.type.js
878− 3: keyword.generator.asterisk.js
879− 4: string.quoted.js
880− 5: punctuation.definition.string.begin.js
881− 6: entity.name.function.js
882− 7: punctuation.definition.string.end.js
883− 8: string.quoted.js
884− 9: punctuation.definition.string.begin.js
885− 10: entity.name.function.js
886− 11: punctuation.definition.string.end.js
887− 12: string.unquoted.js
888− 13: entity.name.function.js
889− push:
890− - meta_scope: meta.method.js
891− - match: (?<=\))
892− pop: true
893− - include: function-declaration-parameters
894− - match: |-
895− (?x)
896− \b(?:(static)\s+)?
897− (get|set)\s+
898− ([_$a-zA-Z][$\w]*|\d+)\s*
899− (?=(\((?>(?>[^()]+)|\g<-1>)*\))(?>\s|/\*.*\*/)*\{)
900− captures:
901− 1: storage.type.js
902− 2: storage.type.accessor.js
903− 3: entity.name.accessor.js
904− push:
905− - meta_scope: meta.accessor.js
906− - match: (?<=\))
907− pop: true
908− - include: function-declaration-parameters
909− literal-method-call:
910− - match: |-
911− (?x)
912− (?:(?<=\.)|\b)
913− ([A-Z][$\w]*)\s*(\.)
914− ([_$a-zA-Z][$\w]*)\s*
915− (\(\s*\))
916− scope: meta.function-call.static.without-arguments.js
917− captures:
918− 1: variable.other.class.js
919− 2: keyword.operator.accessor.js
920− 3: variable.function.js
921− 4: meta.group.braces.round.function.arguments.js
922− - match: |-
923− (?x)
924− (?:(?<=\.)|\b)
925− ([A-Z][$\w]*)\s*(\.)
926− ([_$a-zA-Z][$\w]*)\s*
927− (?=\()
928− scope: meta.function-call.static.with-arguments.js
929− captures:
930− 1: variable.other.class.js
931− 2: keyword.operator.accessor.js
932− 3: variable.function.js
933− - match: |-
934− (?x)
935− (?<=\.)
936− ([_$a-zA-Z][$\w]*)\s*
937− (\(\s*\))
938− scope: meta.function-call.method.without-arguments.js
939− captures:
940− 1: variable.function.js
941− 2: meta.group.braces.round.function.arguments.js
942− - match: |-
943− (?x)
944− (?<=\.)
945− ([_$a-zA-Z][$\w]*)\s*
946− (?=\()
947− scope: meta.function-call.method.with-arguments.js
948− captures:
949− 1: variable.function.js
950− literal-module:
951− - match: (?<!\.)\b(?>import|export|default|from|as)\b
952− scope: keyword.operator.module.js
953− literal-number:
954− - match: '(?i)(?:\B[-+]|\b)0x[0-9a-f]*\.(\B|\b[0-9]+)'
955− scope: invalid.illegal.numeric.hex.js
956− - match: '(?:\B[-+]|\b)0[0-9]+\.(\B|\b[0-9]+)'
957− scope: invalid.illegal.numeric.octal.js
958− - match: |-
959− (?xi)
960− (?:\B[-+])?
961− (?:
962− \b0b[0-1]*| # binary
963− \b0o[0-7]*| # octal
964− \b0x[0-9a-f]*| # hex
965− (
966− \B\.[0-9]+| # e.g. .999
967− \b[0-9]+(\.[0-9]*)? # e.g. 999.999, 999. or 999
968− )(e[-+]?[0-9]+)? # e.g. e+123, E-123
969− )
970− scope: constant.numeric.js
971− - match: '(?:\B[-+]|\b)(Infinity)\b'
972− scope: constant.language.infinity.js
973− literal-operators:
974− - match: (?<!\.)\b(?>delete|instanceof|in|new|of|typeof|void|with)\b
975− scope: keyword.operator.js
976− - match: |-
977− (?x)
978− !(?!=)| # logical-not right-to-left right
979− && | # logical-and left-to-right both
980− \|\| # logical-or left-to-right both
981− scope: keyword.operator.logical.js
982− - match: |-
983− (?x)
984− =(?!=) # assignment right-to-left both
985− scope: keyword.operator.assignment.js
986− - match: |-
987− (?x)
988− %= | # assignment right-to-left both
989− &= | # assignment right-to-left both
990− \*= | # assignment right-to-left both
991− \+= | # assignment right-to-left both
992− -= | # assignment right-to-left both
993− /= | # assignment right-to-left both
994− \^= | # assignment right-to-left both
995− \|= | # assignment right-to-left both
996− <<= | # assignment right-to-left both
997− >>= | # assignment right-to-left both
998− >>>= # assignment right-to-left both
999− scope: keyword.operator.assignment.augmented.js
1000− - match: |-
1001− (?x)
1002− ~ | # bitwise-not right-to-left right
1003− << | # bitwise-shift left-to-right both
1004− >>> | # bitwise-shift left-to-right both
1005− >> | # bitwise-shift left-to-right both
1006− & | # bitwise-and left-to-right both
1007− \^ | # bitwise-xor left-to-right both
1008− \| # bitwise-or left-to-right both
1009− scope: keyword.operator.bitwise.js
1010− - match: |-
1011− (?x)
1012− <= | # relational left-to-right both
1013− >= | # relational left-to-right both
1014− < | # relational left-to-right both
1015− > # relational left-to-right both
1016− scope: keyword.operator.relational.js
1017− - match: |-
1018− (?x)
1019− === | # equality left-to-right both
1020− !== | # equality left-to-right both
1021− == | # equality left-to-right both
1022− != # equality left-to-right both
1023− scope: keyword.operator.comparison.js
1024− - match: |-
1025− (?x)
1026− -- | # decrement n/a right-or-left
1027− \+\+ | # increment n/a right-or-left
1028− / | # division left-to-right both
1029− % | # modulus left-to-right both
1030− \* | # multiplication left-to-right both
1031− \+ | # addition left-to-right both
1032− - # subtraction left-to-right both
1033− scope: keyword.operator.arithmetic.js
1034− - match: "[?:]"
1035− scope: keyword.operator.ternary.js
1036− - match: (?<!\.)\.\.\.
1037− scope: keyword.operator.spread.js
1038− - match: \.
1039− scope: keyword.operator.accessor.js
1040− literal-prototype:
1041− - match: '([_$a-zA-Z][$\w]*)(\.)(prototype)\s*(=)\s*'
1042− scope: meta.prototype.declaration.js
1043− captures:
1044− 1: entity.name.class.js
1045− 2: keyword.operator.accessor.js
1046− 3: variable.language.prototype.js
1047− 4: keyword.operator.assignment.js
1048− - match: '([_$a-zA-Z][$\w]*)(\.)(prototype)\b'
1049− scope: meta.prototype.access.js
1050− captures:
1051− 1: entity.name.class.js
1052− 2: keyword.operator.accessor.js
1053− 3: variable.language.prototype.js
1054− literal-punctuation:
1055− - match: ;
1056− scope: punctuation.terminator.statement.js
1057− - match: ","
1058− scope: meta.delimiter.comma.js
1059− literal-regexp:
1060− - match: |-
1061− (?x)
1062− (?<=
1063− \.|\(|,|{|}|\[|;|<|>|<=|>=|==|!=|===|!==|\+|-|\*|%|\+\+|--|<<|>>|>>>|&|\||\^|!|~|&&|\|\||\?|:|=|\+=|-=|\*=|%=|<<=|>>=|>>>=|&=|\|=|\^=|/|/=|
1064− \Wnew|\Wdelete|\Wvoid|\Wtypeof|\Winstanceof|\Win|\Wdo|\Wreturn|\Wcase|\Wthrow|\Wyield|
1065− ^new|^delete|^void|^typeof|^instanceof|^in|^do|^return|^case|^throw|^yield|^
1066− )\s*
1067− (/)
1068− (?!/|\*|$)
1069− captures:
1070− 1: punctuation.definition.string.begin.js
1071− push:
1072− - meta_scope: string.regexp.js
1073− - match: "(/)([gimy]*)"
1074− captures:
1075− 1: punctuation.definition.string.end.js
1076− 2: keyword.other.js
1077− pop: true
1078− - include: scope:source.regexp.js
1079− literal-string:
1080− - match: '(["''])'
1081− captures:
1082− 0: punctuation.definition.string.begin.js
1083− push:
1084− - meta_scope: string.quoted.js
1085− - match: (\1)|(\n)
1086− captures:
1087− 1: punctuation.definition.string.end.js
1088− 2: invalid.illegal.newline.js
1089− pop: true
1090− - include: string-content
1091− literal-switch:
1092− - match: (?<!\.)\b(switch)\b
1093− captures:
1094− 1: keyword.control.switch.js
1095− push:
1096− - meta_scope: meta.switch.js
1097− - match: '\}'
1098− captures:
1099− 0: meta.brace.curly.end.js
1100− pop: true
1101− - include: comments
1102− - include: round-brackets
1103− - match: '\{'
1104− captures:
1105− 0: meta.brace.curly.begin.js
1106− push:
1107− - match: "(?=})"
1108− pop: true
1109− - match: (?<!\.)\b(case|default)\b
1110− captures:
1111− 1: keyword.control.switch.js
1112− push:
1113− - match: (?=:)
1114− pop: true
1115− - include: expression
1116− - include: main
1117− literal-template-string:
1118− - match: "`"
1119− captures:
1120− 0: string.interpolated.js keyword.other.template.begin.js
1121− push:
1122− - match: "`"
1123− captures:
1124− 0: string.interpolated.js keyword.other.template.end.js
1125− pop: true
1126− - include: string-content
1127− - match: \\`
1128− scope: constant.character.escape.js
1129− - match: '\${'
1130− captures:
1131− 0: keyword.other.substitution.begin.js
1132− push:
1133− - match: "}"
1134− captures:
1135− 0: keyword.other.substitution.end.js
1136− pop: true
1137− - include: expression
1138− - match: .
1139− scope: string.interpolated.js
1140− literal-variable:
1141− - match: '_*?[A-Z][_$\dA-Z]*\b'
1142− scope: variable.other.constant.js
1143− - match: '\b([A-Z][$\w]*)\s*(\.)([_$a-zA-Z][$\w]*)'
1144− scope: meta.property.class.js
1145− captures:
1146− 1: variable.other.class.js
1147− 2: keyword.operator.accessor.js
1148− 3: variable.other.property.static.js
1149− - match: '(?<!\.)([_$a-zA-Z][$\w]*)\s*(?=[\[\.])'
1150− scope: variable.other.object.js
1151− captures:
1152− 1: variable.other.object.js
1153− - match: '(?<=\.)\s*([_$a-zA-Z][$\w]*)'
1154− scope: meta.property.object.js
1155− captures:
1156− 1: variable.other.property.js
1157− - match: '[_$a-zA-Z][$\w]*'
1158− scope: variable.other.readwrite.js
1159− merge-conflits:
1160− - match: '^([<]{7})\s(.+)$'
1161− captures:
1162− 1: invalid.illegal.conflict-marker.merge-into.js
1163− 2: invalid.illegal.string.js
1164− - match: "^([=|]{7})$"
1165− captures:
1166− 1: invalid.illegal.conflict-marker.separator.js
1167− - match: '^([>]{7})\s(.+)$'
1168− captures:
1169− 1: invalid.illegal.conflict-marker.other-commit.js
1170− 2: invalid.illegal.string.js
1171− round-brackets:
1172− - match: \(
1173− captures:
1174− 0: meta.brace.round.begin.js
1175− push:
1176− - meta_scope: meta.group.braces.round.js
1177− - match: \)
1178− captures:
1179− 0: meta.brace.round.end.js
1180− pop: true
1181− - include: expression
1182− square-brackets:
1183− - match: '\['
1184− captures:
1185− 0: meta.brace.square.begin.js
1186− push:
1187− - meta_scope: meta.group.braces.square.js
1188− - match: '\]'
1189− captures:
1190− 0: meta.brace.square.end.js
1191− pop: true
1192− - include: expression
1193− string-content:
1194− - match: \\\s*\n
1195− scope: constant.character.escape.newline.js
1196− - match: '\\([1-7][0-7]{0,2}|[0-7]{2,3}|[bfnrtv0''"\\]|x\h{2}|u\{\h+\}|u\h{4})'
1197− scope: constant.character.escape.js
1198− styled-components:
1199− - match: (?<!\.)\b(injectGlobal|keyframes)\s*(`)
1200− captures:
1201− 1: variable.function.tagged-template.js
1202− 2: punctuation.definition.string.template.begin.js
1203− push:
1204− - meta_scope: meta.styled-components.js
1205− - meta_content_scope: source.css.embedded.js
1206− - match: "`"
1207− captures:
1208− 0: punctuation.definition.string.template.end.js
1209− pop: true
1210− - include: scope:source.js.css
1211− - match: '(?<!\.)\b(styled)(\.)([_$a-zA-Z][$\w]*)\s*(`)'
1212− captures:
1213− 1: variable.other.object.js
1214− 2: punctuation.accessor.js
1215− 3: variable.function.tagged-template.js
1216− 4: punctuation.definition.string.template.begin.js
1217− push:
1218− - meta_scope: meta.styled-components.js
1219− - meta_content_scope: source.css.embedded.js
1220− - match: "`"
1221− captures:
1222− 0: punctuation.definition.string.template.end.js
1223− pop: true
1224− - include: scope:source.js.css
1225− - match: '(?<!\.)\b(styled)\s*(?=(\((?>(?>[^()]+)|\g<-1>)*\))\s*`)'
1226− captures:
1227− 1: meta.function-call.with-arguments.js variable.function.js
1228− push:
1229− - meta_scope: meta.styled-components.js
1230− - match: (?<=`)
1231− captures:
1232− 1: meta.function-call.with-arguments.js variable.function.js
1233− pop: true
1234− - match: \(
1235− captures:
1236− 0: punctuation.definition.group.begin.js
1237− push:
1238− - meta_scope: meta.function-call.with-arguments.js meta.group.js
1239− - match: \)
1240− captures:
1241− 0: punctuation.definition.group.end.js
1242− pop: true
1243− - include: expression
1244− - match: "`"
1245− captures:
1246− 0: punctuation.definition.string.template.begin.js
1247− push:
1248− - meta_content_scope: source.css.embedded.js
1249− - match: "`"
1250− captures:
1251− 0: punctuation.definition.string.template.end.js
1252− pop: true
1253− - include: scope:source.js.css
1254− support-class:
1255− - match: (?<!\.)\b(Array|ArrayBuffer|Boolean|DataView|Date|Float32Array|Float64Array|Function|Infinity|Int16Array|Int32Array|Int8Array|JSON|Map|Math|NaN|Number|Object|Promise|Proxy|Reflect|RegExp|Set|String|Symbol|System|TypeError|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|WeakMap|WeakSet)\b
1256− scope: support.class.builtin.js
1257− - match: (?<!\.)\b((?>Eval|Range|Reference|Syntax|Type|URI)?Error)\b
1258− scope: support.class.error.js
1259− - match: \b(?>Buffer)\b
1260− scope: support.class.node.js
1261− support-other:
1262− - match: (?<!\.)\b(constructor|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|escape|eval|hasOwnProperty|isFinite|isNaN|isPrototypeOf|parseFloat|parseInt|propertyIsEnumerable|toLocaleString|toString|unescape|valueOf)\b
1263− scope: support.function.builtin.js
1264− - match: (?<!\.)\b(clearImmediate|clearInterval|clearTimeout|require|setImmediate|setInterval|setTimeout)\b
1265− scope: support.function.node.js
1266− - match: (?<!\.)\b(?>document|window)\b
1267− scope: support.type.object.dom.js
1268− - match: (?<!\.)\b(?>global|GLOBAL|root|__dirname|__filename)\b
1269− scope: support.type.object.node.js
1270− - match: (?<!\.)\b(console)(?:(\.)(assert|count|dir|error|group|groupCollapsed|groupEnd|info|log|profile|profileEnd|table|time|timeEnd|trace|warn))?\b
1271− captures:
1272− 1: support.type.object.console.js
1273− 2: keyword.operator.accessor.js
1274− 3: support.function.console.js
1275− - match: (?<!\.)\b(process)(?:(\.)(?:(arch|argv|config|env|execArgv|execPath|exitCode|mainModule|pid|platform|stderr|stdin|stdout|title|version|versions)|(abort|chdir|cwd|exit|getgid|getgroups|getuid|hrtime|initgroups|kill|memoryUsage|nextTick|setgid|setgroups|setuid|umask|uptime)))?\b
1276− captures:
1277− 1: support.type.object.process.js
1278− 2: keyword.operator.accessor.js
1279− 3: support.type.object.process.js
1280− 4: support.function.process.js
1281− - match: (?<!\.)\b(exports|module)(?:(\.)(children|exports|filename|id|loaded|parent))?\b
1282− captures:
1283− 1: support.type.object.module.js
1284− 2: keyword.operator.accessor.js
1285− 3: support.type.object.module.js
1286− - match: "{{"
1287− push:
1288− - meta_scope: meta.tag.mustache.js
1289− - match: "}}"
1290− pop: true
assets/syntaxes/02_Extra/Jinja2deleted−1

Submodule changed.

assets/syntaxes/02_Extra/Jsonnetdeleted−1

Submodule changed.

assets/syntaxes/02_Extra/Juliadeleted−1

Submodule changed.

assets/syntaxes/02_Extra/Kotlindeleted−1

Submodule changed.

assets/syntaxes/02_Extra/Kotlin.sublime-syntaxdeleted−398
@@ -1,398 +0,0 @@
1−%YAML 1.2
2−---
3−# http://www.sublimetext.com/docs/3/syntax.html
4−name: Kotlin
5−file_extensions:
6− - kt
7− - kts
8−scope: source.Kotlin
9−contexts:
10− main:
11− - include: comments
12− - match: '^\s*(package)\b(?:\s*([^ ;$]+)\s*)?'
13− captures:
14− 1: keyword.other.kotlin
15− 2: entity.name.package.kotlin
16− - include: imports
17− - include: statements
18− classes:
19− - match: (?<!::)(?=\b(?:companion|class|object|interface)\b)
20− push:
21− - match: '(?=$|\})'
22− pop: true
23− - include: comments
24− - match: \b(companion\s*)?(class|object|interface)\b
25− captures:
26− 1: storage.modifier.kotlin
27− 2: storage.modifier.kotlin
28− push:
29− - match: '(?=<|\{|\(|:|$)'
30− pop: true
31− - include: comments
32− - match: \w+
33− scope: entity.name.type.class.kotlin
34− - match: <
35− push:
36− - match: ">"
37− pop: true
38− - include: generics
39− - match: \(
40− push:
41− - match: \)
42− pop: true
43− - include: parameters
44− - match: (:)
45− captures:
46− 1: keyword.operator.declaration.kotlin
47− push:
48− - match: "(?={|$)"
49− pop: true
50− - match: \w+
51− scope: entity.other.inherited-class.kotlin
52− - match: \(
53− push:
54− - match: \)
55− pop: true
56− - include: expressions
57− - match: '\{'
58− push:
59− - match: '\}'
60− pop: true
61− - include: statements
62− comments:
63− - match: /\*
64− captures:
65− 0: punctuation.definition.comment.kotlin
66− push:
67− - meta_scope: comment.block.kotlin
68− - match: \*/
69− captures:
70− 0: punctuation.definition.comment.kotlin
71− pop: true
72− - match: \s*((//).*$\n?)
73− captures:
74− 1: comment.line.double-slash.kotlin
75− 2: punctuation.definition.comment.kotlin
76− constants:
77− - match: \b(true|false|null|this|super)\b
78− scope: constant.language.kotlin
79− - match: '\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)([LlFf])?\b'
80− scope: constant.numeric.kotlin
81− - match: '\b([A-Z][A-Z0-9_]+)\b'
82− scope: constant.other.kotlin
83− expressions:
84− - match: \(
85− push:
86− - match: \)
87− pop: true
88− - include: expressions
89− - include: types
90− - include: strings
91− - include: constants
92− - include: comments
93− - include: keywords
94− functions:
95− - match: (?=\s*\b(?:fun)\b)
96− push:
97− - match: '(?=$|\})'
98− pop: true
99− - match: \b(fun)\b
100− captures:
101− 1: keyword.other.kotlin
102− push:
103− - match: (?=\()
104− pop: true
105− - match: <
106− push:
107− - match: ">"
108− pop: true
109− - include: generics
110− - match: '([\.<\?>\w]+\.)?(\w+)'
111− captures:
112− 2: entity.name.function.kotlin
113− - match: \(
114− push:
115− - match: \)
116− pop: true
117− - include: parameters
118− - match: (:)
119− captures:
120− 1: keyword.operator.declaration.kotlin
121− push:
122− - match: "(?={|=|$)"
123− pop: true
124− - include: types
125− - match: '\{'
126− push:
127− - match: '(?=\})'
128− pop: true
129− - include: statements
130− - match: (=)
131− captures:
132− 1: keyword.operator.assignment.kotlin
133− push:
134− - match: (?=$)
135− pop: true
136− - include: expressions
137− generics:
138− - match: (:)
139− captures:
140− 1: keyword.operator.declaration.kotlin
141− push:
142− - match: (?=,|>)
143− pop: true
144− - include: types
145− - include: keywords
146− - match: \w+
147− scope: storage.type.generic.kotlin
148− getters-and-setters:
149− - match: \b(get)\b\s*\(\s*\)
150− captures:
151− 1: entity.name.function.kotlin
152− push:
153− - match: '\}|(?=\bset\b)|$'
154− pop: true
155− - match: (=)
156− captures:
157− 1: keyword.operator.assignment.kotlin
158− push:
159− - match: (?=$|\bset\b)
160− pop: true
161− - include: expressions
162− - match: '\{'
163− push:
164− - match: '\}'
165− pop: true
166− - include: expressions
167− - match: \b(set)\b\s*(?=\()
168− captures:
169− 1: entity.name.function.kotlin
170− push:
171− - match: '\}|(?=\bget\b)|$'
172− pop: true
173− - match: \(
174− push:
175− - match: \)
176− pop: true
177− - include: parameters
178− - match: (=)
179− captures:
180− 1: keyword.operator.assignment.kotlin
181− push:
182− - match: (?=$|\bset\b)
183− pop: true
184− - include: expressions
185− - match: '\{'
186− push:
187− - match: '\}'
188− pop: true
189− - include: expressions
190− imports:
191− - match: '^\s*(import)\s+[^ $]+\s+(as)?'
192− captures:
193− 1: keyword.other.kotlin
194− 2: keyword.other.kotlin
195− keywords:
196− - match: \b(var|val|public|private|protected|abstract|final|sealed|enum|open|attribute|annotation|override|inline|vararg|in|out|internal|data|tailrec|operator|infix|const|yield|typealias|typeof|reified|suspend)\b
197− scope: storage.modifier.kotlin
198− - match: \b(try|catch|finally|throw)\b
199− scope: keyword.control.catch-exception.kotlin
200− - match: \b(if|else|while|for|do|return|when|where|break|continue)\b
201− scope: keyword.control.kotlin
202− - match: \b(in|is|!in|!is|as|as\?|assert)\b
203− scope: keyword.operator.kotlin
204− - match: (==|!=|===|!==|<=|>=|<|>)
205− scope: keyword.operator.comparison.kotlin
206− - match: (=)
207− scope: keyword.operator.assignment.kotlin
208− - match: (::)
209− scope: keyword.operator.kotlin
210− - match: (:)
211− scope: keyword.operator.declaration.kotlin
212− - match: \b(by)\b
213− scope: keyword.other.by.kotlin
214− - match: (\?\.)
215− scope: keyword.operator.safenav.kotlin
216− - match: (\.)
217− scope: keyword.operator.dot.kotlin
218− - match: (\?:)
219− scope: keyword.operator.elvis.kotlin
220− - match: (\-\-|\+\+)
221− scope: keyword.operator.increment-decrement.kotlin
222− - match: (\+=|\-=|\*=|\/=)
223− scope: keyword.operator.arithmetic.assign.kotlin
224− - match: (\.\.)
225− scope: keyword.operator.range.kotlin
226− - match: (\-|\+|\*|\/|%)
227− scope: keyword.operator.arithmetic.kotlin
228− - match: (!|&&|\|\|)
229− scope: keyword.operator.logical.kotlin
230− - match: (;)
231− scope: punctuation.terminator.kotlin
232− namespaces:
233− - match: \b(namespace)\b
234− scope: keyword.other.kotlin
235− - match: '\{'
236− push:
237− - match: '\}'
238− pop: true
239− - include: statements
240− parameters:
241− - match: (:)
242− captures:
243− 1: keyword.operator.declaration.kotlin
244− push:
245− - match: (?=,|\)|=)
246− pop: true
247− - include: types
248− - match: (=)
249− captures:
250− 1: keyword.operator.declaration.kotlin
251− push:
252− - match: (?=,|\))
253− pop: true
254− - include: expressions
255− - include: keywords
256− - match: \w+
257− scope: variable.parameter.function.kotlin
258− statements:
259− - include: namespaces
260− - include: typedefs
261− - include: classes
262− - include: functions
263− - include: variables
264− - include: getters-and-setters
265− - include: expressions
266− strings:
267− - match: '"""'
268− captures:
269− 0: punctuation.definition.string.begin.kotlin
270− push:
271− - meta_scope: string.quoted.third.kotlin
272− - match: '"""'
273− captures:
274− 0: punctuation.definition.string.end.kotlin
275− pop: true
276− - match: '(\$\w+|\$\{[^\}]+\})'
277− scope: variable.parameter.template.kotlin
278− - match: \\.
279− scope: constant.character.escape.kotlin
280− - match: '"'
281− captures:
282− 0: punctuation.definition.string.begin.kotlin
283− push:
284− - meta_scope: string.quoted.double.kotlin
285− - match: '"'
286− captures:
287− 0: punctuation.definition.string.end.kotlin
288− pop: true
289− - match: '(\$\w+|\$\{[^\}]+\})'
290− scope: variable.parameter.template.kotlin
291− - match: \\.
292− scope: constant.character.escape.kotlin
293− - match: "'"
294− captures:
295− 0: punctuation.definition.string.begin.kotlin
296− push:
297− - meta_scope: string.quoted.single.kotlin
298− - match: "'"
299− captures:
300− 0: punctuation.definition.string.end.kotlin
301− pop: true
302− - match: \\.
303− scope: constant.character.escape.kotlin
304− - match: "`"
305− captures:
306− 0: punctuation.definition.string.begin.kotlin
307− push:
308− - meta_scope: string.quoted.single.kotlin
309− - match: "`"
310− captures:
311− 0: punctuation.definition.string.end.kotlin
312− pop: true
313− typedefs:
314− - match: (?=\s*(?:type))
315− push:
316− - match: (?=$)
317− pop: true
318− - match: \b(type)\b
319− scope: keyword.other.kotlin
320− - match: <
321− push:
322− - match: ">"
323− pop: true
324− - include: generics
325− - include: expressions
326− types:
327− - match: \b(Nothing|Any|Unit|String|CharSequence|Int|Boolean|Char|Long|Double|Float|Short|Byte|dynamic)\b
328− scope: storage.type.buildin.kotlin
329− - match: \b(IntArray|BooleanArray|CharArray|LongArray|DoubleArray|FloatArray|ShortArray|ByteArray)\b
330− scope: storage.type.buildin.array.kotlin
331− - match: \b(Array|Collection|List|Map|Set|MutableList|MutableMap|MutableSet|Sequence)<\b
332− captures:
333− 1: storage.type.buildin.collection.kotlin
334− push:
335− - match: ">"
336− pop: true
337− - include: types
338− - include: keywords
339− - match: \w+<
340− push:
341− - match: ">"
342− pop: true
343− - include: types
344− - include: keywords
345− - match: '\{'
346− push:
347− - match: '\}'
348− pop: true
349− - include: statements
350− - match: \(
351− push:
352− - match: \)
353− pop: true
354− - include: types
355− - match: (->)
356− scope: keyword.operator.declaration.kotlin
357− variables:
358− - match: (?=\s*\b(?:var|val)\b)
359− push:
360− - match: (?=:|=|(\b(by)\b)|$)
361− pop: true
362− - match: \b(var|val)\b
363− captures:
364− 1: keyword.other.kotlin
365− push:
366− - match: (?=:|=|(\b(by)\b)|$)
367− pop: true
368− - match: <
369− push:
370− - match: ">"
371− pop: true
372− - include: generics
373− - match: '([\.<\?>\w]+\.)?(\w+)'
374− captures:
375− 2: entity.name.variable.kotlin
376− - match: (:)
377− captures:
378− 1: keyword.operator.declaration.kotlin
379− push:
380− - match: (?==|$)
381− pop: true
382− - include: types
383− - include: getters-and-setters
384− - match: \b(by)\b
385− captures:
386− 1: keyword.other.kotlin
387− push:
388− - match: (?=$)
389− pop: true
390− - include: expressions
391− - match: (=)
392− captures:
393− 1: keyword.operator.assignment.kotlin
394− push:
395− - match: (?=$)
396− pop: true
397− - include: expressions
398− - include: getters-and-setters
assets/syntaxes/02_Extra/LESSdeleted−1

Submodule changed.

assets/syntaxes/02_Extra/LLVMdeleted−1

Submodule changed.

assets/syntaxes/02_Extra/Leandeleted−1

Submodule changed.

assets/syntaxes/02_Extra/Lean.sublime-syntaxdeleted−125
@@ -1,125 +0,0 @@
1−%YAML 1.2
2−---
3−# http://www.sublimetext.com/docs/3/syntax.html
4−name: Lean
5−file_extensions:
6− - lean
7−scope: source.lean
8−contexts:
9− main:
10− - include: comments
11− - match: '\b(?<!\.)(inductive|coinductive|structure|theorem|axiom|axioms|abbreviation|lemma|definition|def|instance|class|constant)\b\s+(\{[^}]*\})?'
12− captures:
13− 1: keyword.other.definitioncommand.lean
14− push:
15− - meta_scope: meta.definitioncommand.lean
16− - match: '(?=\bwith\b|\bextends\b|[:\|\(\[\{⦃<>])'
17− pop: true
18− - include: comments
19− - include: definitionName
20− - match: ","
21− - match: \b(Prop|Type|Sort)\b
22− scope: storage.type.lean
23− - match: '\battribute\b\s*\[[^\]]*\]'
24− scope: storage.modifier.lean
25− - match: '@\[[^\]]*\]'
26− scope: storage.modifier.lean
27− - match: \b(?<!\.)(private|meta|mutual|protected|noncomputable)\b
28− scope: keyword.control.definition.modifier.lean
29− - match: \b(sorry)\b
30− scope: invalid.illegal.lean
31− - match: '#print\s+(def|definition|inductive|instance|structure|axiom|axioms|class)\b'
32− scope: keyword.other.command.lean
33− - match: '#(print|eval|reduce|check|help|exit|find|where)\b'
34− scope: keyword.other.command.lean
35− - match: \b(?<!\.)(import|export|prelude|theory|definition|def|abbreviation|instance|renaming|hiding|exposing|parameter|parameters|begin|constant|constants|lemma|variable|variables|theorem|example|open|axiom|inductive|coinductive|with|structure|universe|universes|alias|precedence|reserve|postfix|prefix|infix|infixl|infixr|notation|end|using|namespace|section|local|set_option|extends|include|omit|class|classes|instances|raw|run_cmd|restate_axiom)(?!\.)\b
36− scope: keyword.other.lean
37− - match: \b(?<!\.)(calc|have|this|match|do|suffices|show|by|in|at|let|forall|fun|exists|assume|from|obtain|haveI|λ)(?!\.)\b
38− scope: keyword.other.lean
39− - match: «
40− push:
41− - meta_content_scope: entity.name.lean
42− - match: »
43− pop: true
44− - match: \b(?<!\.)(if|then|else)\b
45− scope: keyword.control.lean
46− - match: '"'
47− captures:
48− 0: punctuation.definition.string.begin.lean
49− push:
50− - meta_scope: string.quoted.double.lean
51− - match: '"'
52− captures:
53− 0: punctuation.definition.string.end.lean
54− pop: true
55− - match: '\\[\\"nt'']'
56− scope: constant.character.escape.lean
57− - match: '\\x[0-9A-Fa-f][0-9A-Fa-f]'
58− scope: constant.character.escape.lean
59− - match: '\\u[0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f]'
60− scope: constant.character.escape.lean
61− - match: '''[^\\'']'''
62− scope: string.quoted.single.lean
63− - match: '''(\\(x..|u....|.))'''
64− scope: string.quoted.single.lean
65− captures:
66− 1: constant.character.escape.lean
67− - match: '`+[^\[(]\S+'
68− scope: entity.name.lean
69− - match: '\b([0-9]+|0([xX][0-9a-fA-F]+))\b'
70− scope: constant.numeric.lean
71− blockComment:
72− - match: /-
73− push:
74− - meta_scope: comment.block.lean
75− - match: "-/"
76− pop: true
77− - include: scope:source.lean.markdown
78− - include: blockComment
79− comments:
80− - include: dashComment
81− - include: docComment
82− - include: stringBlock
83− - include: modDocComment
84− - include: blockComment
85− dashComment:
86− - match: (--)
87− captures:
88− 0: punctuation.definition.comment.lean
89− push:
90− - meta_scope: comment.line.double-dash.lean
91− - match: $
92− pop: true
93− - include: scope:source.lean.markdown
94− definitionName:
95− - match: '\b[^:«»\(\)\{\}[:space:]=→λ∀?][^:«»\(\)\{\}[:space:]]*'
96− scope: entity.name.function.lean
97− - match: «
98− push:
99− - meta_content_scope: entity.name.function.lean
100− - match: »
101− pop: true
102− docComment:
103− - match: /--
104− push:
105− - meta_scope: comment.block.documentation.lean
106− - match: "-/"
107− pop: true
108− - include: scope:source.lean.markdown
109− - include: blockComment
110− modDocComment:
111− - match: /-!
112− push:
113− - meta_scope: comment.block.documentation.lean
114− - match: "-/"
115− pop: true
116− - include: scope:source.lean.markdown
117− - include: blockComment
118− stringBlock:
119− - match: /-"
120− push:
121− - meta_scope: comment.block.string.lean
122− - match: '"-/'
123− pop: true
124− - include: scope:source.lean.markdown
125− - include: blockComment
assets/syntaxes/02_Extra/LiveScriptdeleted−1

Submodule changed.

assets/syntaxes/02_Extra/LiveScript.sublime-syntaxdeleted−400
@@ -1,400 +0,0 @@
1−%YAML 1.2
2−---
3−# http://www.sublimetext.com/docs/3/syntax.html
4−name: LiveScript
5−comment: "LiveScript Syntax: version 1"
6−file_extensions:
7− - ls
8− - Slakefile
9− - ls.erb
10−first_line_match: ^#!.*\bls
11−scope: source.livescript
12−contexts:
13− main:
14− - match: |-
15− (?x)
16− !?[~-]{1,2}>\*?
17− |<[~-]{1,2}!?
18− |\(\s* (?= instanceof[\s)]|and[\s)]|or[\s)]|is[\s)]|isnt[\s)]|in[\s)]|import[\s)]|import\ all[\s)] |\.|[-+/*%^&<>=|][\b\s)\w$]|\*\*|\%\%)
19− | (?<=[\s(]instanceof|[\s(]and|[\s(]or|[\s(]is|[\s(]isnt|[\s(]in|[\s(]import|[\s(]import\ all|[\s(]do|\.|\*\*|\%\%|[\b\s(\w$][-+/*%^&<>=|]) \s*\)
20− scope: storage.type.function.livescript
21− - match: \/\*
22− captures:
23− 0: punctuation.definition.comment.livescript
24− push:
25− - meta_scope: comment.block.livescript
26− - match: \*\/
27− captures:
28− 0: punctuation.definition.comment.livescript
29− pop: true
30− - match: '@\w*'
31− scope: storage.type.annotation.livescriptscript
32− - match: '(#)(?!\{).*$\n?'
33− scope: comment.line.number-sign.livescript
34− captures:
35− 1: punctuation.definition.comment.livescript
36− - match: '((?:!|~|!~|~!)?function\*?)\s+([$\w\-]*[$\w]+)'
37− captures:
38− 1: storage.type.function.livescript
39− 2: entity.name.function.livescript
40− - match: (new)\s+(\w+(?:\.\w*)*)
41− captures:
42− 1: keyword.operator.new.livescript
43− 2: entity.name.type.instance.livescript
44− - match: \b(package|private|protected|public|interface|enum|static)(?!-)\b
45− scope: keyword.illegal.livescript
46− - match: "'''"
47− captures:
48− 0: punctuation.definition.string.begin.livescript
49− push:
50− - meta_scope: string.quoted.heredoc.livescript
51− - match: "'''"
52− captures:
53− 0: punctuation.definition.string.end.livescript
54− pop: true
55− - match: '"""'
56− captures:
57− 0: punctuation.definition.string.begin.livescript
58− push:
59− - meta_scope: string.quoted.double.heredoc.livescript
60− - match: '"""'
61− captures:
62− 0: punctuation.definition.string.end.livescript
63− pop: true
64− - match: \\.
65− scope: constant.character.escape.livescript
66− - include: interpolated_livescript
67− - match: "``"
68− captures:
69− 0: punctuation.definition.string.begin.livescript
70− push:
71− - meta_scope: string.quoted.script.livescript
72− - match: "``"
73− captures:
74− 0: punctuation.definition.string.end.livescript
75− pop: true
76− - match: '\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)'
77− scope: constant.character.escape.livescript
78− - match: '<\['
79− push:
80− - meta_scope: string.array-literal.livescript
81− - match: '\]>'
82− pop: true
83− - match: '/{2}(?![\s=/*+{}?]).*?[^\\]/[igmy]{0,4}(?![a-zA-Z0-9])/{2}'
84− scope: string.regexp.livescript
85− - match: '/{2}\n'
86− push:
87− - meta_scope: string.regexp.livescript
88− - match: "/{2}[imgy]{0,4}"
89− pop: true
90− - include: embedded_spaced_comment
91− - include: interpolated_livescript
92− - match: "/{2}"
93− push:
94− - meta_scope: string.regexp.livescript
95− - match: "/{2}[imgy]{0,4}"
96− pop: true
97− - match: '\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)'
98− scope: constant.character.escape.livescript
99− - include: interpolated_livescript
100− - match: '/(?![\s=/*+{}?]).*?[^\\]/[igmy]{0,4}(?![a-zA-Z0-9])'
101− scope: string.regexp.livescript
102− - match: |-
103− (?x)
104− \b(?<![\.\$\-@])(
105− instanceof|new|delete|typeof|and|or|is|isnt|not
106− )(?!\-|\s*:)\b
107− scope: keyword.operator.livescript
108− - match: <\||\|>
109− scope: keyword.operator.livescript
110− - match: "=>"
111− scope: keyword.control.livescript
112− - match: |-
113− (?x)
114− \b(?<![\.\$\-@])(?:
115− return|break|continue|throw
116− |try|if|while|for|for\s+own|switch|unless|until
117− |catch|finally|else|nobreak|case|default|fallthrough|when|otherwise|then
118− |yield
119− )(?!\-|\s*:)\b
120− scope: keyword.control.livescript
121− - match: |-
122− (?x)
123− and=|or=|%|&|\^|\*|\/|(?<![a-zA-Z$_])(\-)?\-(?!\-?>)|\+\+|\+|
124− ~(?!~?>)|==|=|!=|<=|>=|<<=|>>=|
125− >>>=|<>|<(?!\[)|(?<!\])>|(?<!\w)!(?!([~\-]+)?>)|&&|\.\.(\.)?|\s\.\s|\?|\|\||\:|\*=|(?<!\()/=|%=|\+=|\-=|\.=|&=
126− |\^=
127− scope: keyword.operator.livescript
128− - match: |-
129− (?x)
130− \b(?<![\.\$\-@])(?:
131− function
132− )(?!\-|\s*:)\b
133− scope: storage.type.function.livescript
134− - match: |-
135− (?x)
136− \b(?<![\.\$\-@])(?:
137− this|throw|then|try|typeof!?|til|to
138− |continue|const|case|catch|class
139− |in|instanceof|import|import\s+all|implements|if|is
140− |default|delete|debugger|do
141− |for|for\s+own|finally|function|from|fallthrough
142− |super|switch
143− |else|nobreak|extends|export|eval
144− |and|arguments
145− |new|not
146− |unless|until
147− |while|with|when
148− |of|or|otherwise
149− |let|var|loop
150− |match
151− |by|yield
152− )(?!\-|\s*:)\b
153− scope: keyword.other.livescript
154− - match: '([a-zA-Z\$_](?:[\w$.-])*)\s*(?!\::)((:)|(=(?!>)))\s*(?!(\s*!?\s*\(.*\))?\s*(!?[~-]{1,2}>\*?))'
155− captures:
156− 1: variable.assignment.livescript
157− 3: punctuation.separator.key-value, keyword.operator.livescript
158− 4: keyword.operator.livescript
159− - match: '(?<=\s|^)([\[\{])(?=.*?[\]\}]\s+[:=])'
160− captures:
161− 0: keyword.operator.livescript
162− push:
163− - meta_scope: meta.variable.assignment.destructured.livescript
164− - match: '([\]\}]\s*[:=])'
165− captures:
166− 0: keyword.operator.livescript
167− pop: true
168− - include: variable_name
169− - include: instance_variable
170− - include: single_quoted_string
171− - include: double_quoted_string
172− - include: numeric
173− - match: |-
174− (?x)
175− (\s*)
176− (?=[a-zA-Z\$_])
177− ([a-zA-Z\$_]([\w$.:-])*)\s*
178− (?=[:=](\s*!?\s*\(.*\))?\s*(!?[~-]{1,2}>\*?))
179− scope: meta.function.livescript
180− captures:
181− 2: entity.name.function.livescript
182− 3: entity.name.function.livescript
183− 4: variable.parameter.function.livescript
184− 5: storage.type.function.livescript
185− - match: \b(?<!\.)(true|on|yes)(?!\s*:)\b
186− scope: constant.language.boolean.true.livescript
187− - match: \b(?<!\.)(false|off|no)(?!\s*:)\b
188− scope: constant.language.boolean.false.livescript
189− - match: \b(?<!\.)(null|void)(?!\s*:)\b
190− scope: constant.language.null.livescript
191− - match: \b(?<!\.)(super|this|extends)(?!\s*:)\b
192− scope: variable.language.livescript
193− - match: '(class\b)\s+(@?[a-zA-Z$_][\w$.-]*)?(?:\s+(extends)\s+(@?[a-zA-Z$_][\w$.-]*))?'
194− scope: meta.class.livescript
195− captures:
196− 1: storage.type.class.livescript
197− 2: entity.name.type.class.livescript
198− 3: keyword.control.inheritance.livescript
199− 4: entity.other.inherited-class.livescript
200− - match: \b(debugger|\\)\b
201− scope: keyword.other.livescript
202− - match: |-
203− (?x)\b(
204− Array|ArrayBuffer|Blob|Boolean|Date|document|event|Function|
205− Int(8|16|32|64)Array|Math|Map|Number|
206− Object|Proxy|RegExp|Set|String|WeakMap|
207− window|Uint(8|16|32|64)Array|XMLHttpRequest
208− )\b
209− scope: support.class.livescript
210− - match: \b(console)\b
211− scope: entity.name.type.object.livescript
212− - match: \b(Infinity|NaN|undefined)\b
213− scope: constant.language.livescript
214− - match: \;
215− scope: punctuation.terminator.statement.livescript
216− - match: ',[ |\t]*'
217− scope: meta.delimiter.object.comma.livescript
218− - match: \.
219− scope: meta.delimiter.method.period.livescript
220− - match: '\{|\}'
221− scope: meta.brace.curly.livescript
222− - match: \(|\)
223− scope: meta.brace.round.livescript
224− - match: '\[|\]\s*'
225− scope: meta.brace.square.livescript
226− - include: instance_variable
227− - include: backslash_string
228− - include: single_quoted_string
229− - include: double_quoted_string
230− - include: numeric
231− - match: '()(@|@@|[$\w\-]*[$\w]+)\s*(`)'
232− captures:
233− 1: keyword.operator.livescript
234− 2: meta.function-call.livescript
235− 3: keyword.operator.livescript
236− - match: "`"
237− scope: keyword.operator.livescript
238− - match: '()(@|@@|[$\w\-]*[$\w]+)(?:(\??\!)|[(])'
239− captures:
240− 1: keyword.operator.livescript
241− 2: meta.function-call.livescript
242− 3: keyword.operator.livescript
243− - match: '(@|@@|[$\w\-]*[$\w]+)(\?)? (?!\s*(((by|of|and|or|with|when|unless|if|is|isnt|else|nobreak|for|from|not in|in|catch|til|to|then|import|extends|implements|instanceof)\b)|[=:.*\/+\-%\^<>][ =)]|[`}%*)]|/(?!.*?/)|&&|[.][^.]|=>|\/ +|\||\|\||\-\-|\+\+|\|>|<|\||$|\n|\#|/\*))'
244− captures:
245− 1: meta.function-call.livescript
246− 2: keyword.operator.livescript
247− - match: \| _
248− scope: keyword.control.livescript
249− - match: '\|(?![.])'
250− scope: keyword.control.livescript
251− - match: \|
252− scope: keyword.operator.livescript
253− - match: ((?<=console\.)(debug|warn|info|log|error|time(End|-end)|assert))\b
254− scope: support.function.console.livescript
255− - match: |-
256− (?x)\b(
257− decodeURI(Component)?|encodeURI(Component)?|eval|parse(Float|Int)|require
258− )\b
259− scope: support.function.livescript
260− - match: |-
261− (?x)(?<![.-])\b(
262− map|filter|reject|partition|find|each|head|tail|last|initial|empty|
263− values|keys|length|cons|append|join|reverse|fold(l|r)?1?|unfoldr|
264− and(List|-list)|or(List|-list)|any|all|unique|sum|product|mean|compact|
265− concat(Map|-map)?|maximum|minimum|scan(l|r)?1?|replicate|slice|apply|
266− split(At|-at)?|take(While|-while)?|drop(While|-while)?|span|first|
267− break(It|-it)|list(ToObj|-to-obj)|obj(ToFunc|-to-func)|
268− pairs(ToObj|-to-obj)|obj(ToPairs|-to-pairs|ToLists|-to-lists)|
269− zip(All|-all)?(With|-with)?|compose|curry|partial|flip|fix|
270− sort(With|-with|By|-by)?|group(By|-by)|break(List|-list|Str|-str)|
271− difference|intersection|union|average|flatten|chars|unchars|repeat|
272− lines|unlines|words|unwords|max|min|negate|abs|signum|quot|rem|div|mod|
273− recip|pi|tau|exp|sqrt|ln|pow|sin|cos|tan|asin|acos|atan|atan2|truncate|
274− round|ceiling|floor|is(It|-it)NaN|even|odd|gcd|lcm|disabled__id
275− )\b(?![.-])
276− comment: |
277− Generated by DOM query from http://gkz.github.com/prelude-ls/:
278− [].slice
279− .call(document.querySelectorAll(".nav-pills li a"))
280− .map(function(_) {return _.innerText})
281− .filter(function(_) {return _.trim() !== '})
282− .slice(2)
283− .join("|")
284− scope: support.function.prelude.livescript
285− - match: '(?x)(?<![.-])\b(that|it|e|_)\b'
286− scope: support.function.semireserved.livescript
287− - match: |-
288− (?x)((?<=(\.|\]|\)))(
289− apply|call|concat|every|filter|for(Each|-each)|
290− from|has(Own|-own)(Property|-property)|index(Of|-of)|
291− is(Prototype|-prototype)(Of|-of)|join|last(Index|-index)(Of|-of)|
292− map|of|pop|property(Is|-is)(Enumerable|-enumerable)|push|
293− reduce(Right|-right)?|reverse|shift|slice|some|sort|
294− splice|to(Locale|-locale)?(String|-string)|unshift|valueOf
295− ))\b(?!-)
296− scope: support.function.method.array.livescript
297− - match: |-
298− (?x)((?<=Array\.)(
299− isArray
300− ))\b
301− scope: support.function.static.array.livescript
302− - match: |-
303− (?x)((?<=Object\.)(
304− create|define(Propert|-propert)(ies|y)|freeze|
305− get(Own|-own)(Property|-property)(Descriptors?|Names)|
306− get(Property|-property)(Descriptor|Names)|getPrototypeOf|
307− is((Extensible|-extensible)|(Frozen|-frozen)|(Sealed|-sealed))?|
308− keys|prevent(Extensions|-extensions)|seal
309− ))\b
310− scope: support.function.static.object.livescript
311− - match: |-
312− (?x)((?<=Math\.)(
313− abs|acos|acosh|asin|asinh|atan|atan2|atanh|ceil|cos|cosh|exp|expm1|floor|
314− hypot|log|log10|log1p|log2|max|min|pow|random|round|sign|sin|sinh|sqrt|
315− tan|tanh|trunc
316− ))\b
317− scope: support.function.static.math.livescript
318− - match: |-
319− (?x)((?<=Number\.)(
320− is(Finite|Integer|NaN)|to(Integer|-integer)
321− ))\b
322− scope: support.function.static.number.livescript
323− - match: '[\$\w][\w-]*'
324− scope: variable.other.livescript
325− backslash_string:
326− - match: '\\([\\)\s,\};\]])?'
327− captures:
328− 0: string.quoted.single.livescript
329− push:
330− - meta_content_scope: string.quoted.single.livescript
331− - match: '([\\)\s,\};\]])'
332− captures:
333− 0: punctuation.definition.string.end.livescript
334− pop: true
335− constructor_variable:
336− - match: '([a-zA-Z$_][\w$-]*)(@{2})([a-zA-Z$_][\w$-]*)?'
337− scope: variable.other.readwrite.constructor.livescript
338− double_quoted_string:
339− - match: '"'
340− captures:
341− 0: punctuation.definition.string.begin.livescript
342− push:
343− - meta_scope: string.quoted.double.livescript
344− - match: '"'
345− captures:
346− 0: punctuation.definition.string.end.livescript
347− pop: true
348− - match: '\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)'
349− scope: constant.character.escape.livescript
350− - include: interpolated_livescript
351− embedded_comment:
352− - match: (?<!\\)(#).*$\n
353− scope: comment.line.number-sign.livescript
354− captures:
355− 1: punctuation.definition.comment.livescript
356− embedded_spaced_comment:
357− - match: (?<!\\)(#\s).*$\n
358− scope: comment.line.number-sign.livescript
359− captures:
360− 1: punctuation.definition.comment.livescript
361− instance_variable:
362− - match: '(?<![$\w\-])(@)'
363− scope: variable.other.readwrite.instance.livescript
364− interpolated_livescript:
365− - match: '\#\{'
366− captures:
367− 0: punctuation.section.embedded.livescript
368− push:
369− - meta_scope: source.livescript.embedded.source
370− - match: '\}'
371− captures:
372− 0: punctuation.section.embedded.livescript
373− pop: true
374− - include: main
375− - match: '\#'
376− push:
377− - meta_scope: source.livescript.embedded.source.simple
378− - match: ""
379− pop: true
380− - include: main
381− numeric:
382− - match: '(?<![\$@a-zA-Z_])(([0-9]+r[0-9_]+)|((16r|0[xX])[0-9a-fA-F_]+)|([0-9]+(\.[0-9]+[0-9_]*)?(e[+\-]?[0-9_]+)?)[_a-zA-Z0-9]*)'
383− scope: constant.numeric.livescript
384− single_quoted_string:
385− - match: "'"
386− captures:
387− 0: punctuation.definition.string.begin.livescript
388− push:
389− - meta_scope: string.quoted.single.livescript
390− - match: "'"
391− captures:
392− 0: punctuation.definition.string.end.livescript
393− pop: true
394− - match: '\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)'
395− scope: constant.character.escape.livescript
396− variable_name:
397− - match: '([a-zA-Z\$_][\w$-]*(\.\w+)*)(?!\-)'
398− scope: variable.assignment.livescript
399− captures:
400− 1: variable.assignment.livescript
assets/syntaxes/02_Extra/Manpage.sublime-syntaxdeleted−171
@@ -1,171 +0,0 @@
1−%YAML 1.2
2−---
3−# http://www.sublimetext.com/docs/3/syntax.html
4−name: Manpage
5−file_extensions:
6− - man
7−scope: source.man
8−
9−variables:
10− section_heading: '^(?!#)\S.*$'
11− command_line_option: '(--?[A-Za-z0-9][_A-Za-z0-9-]*)'
12−
13−contexts:
14− prototype:
15− # ignore syntax test lines
16− - match: '^#'
17− push:
18− - meta_scope: comment.syntax-test.man
19− - match: $\n?
20− pop: true
21− main:
22− - match: ^
23− push: first_line
24−
25− first_line:
26− - match: '([A-Z0-9_\-]+)(\()([^)]+)(\))\s*'
27− captures:
28− 1: meta.preprocessor.man
29− 2: keyword.operator.man
30− 3: string.quoted.other.man
31− 4: keyword.operator.man
32− push:
33− - match: (?:[\w'-]+|\s(?!\s))
34− scope: markup.heading.title.man
35− - match: \s\s
36− pop: true
37− - match: '(?=\S|$)'
38− pop: true
39−
40− - match: '$'
41− set: body
42−
43− body:
44− # English, ..., ..., ..., Russian, ...
45−
46− - match: '^(?:SYNOPSIS|SYNTAX|SINTASSI|SKŁADNIA|СИНТАКСИС|書式)'
47− scope: markup.heading.synopsis.man
48− embed: synopsis
49− escape: '(?={{section_heading}})'
50−
51− - match: '^(?:USAGE)'
52− scope: markup.heading.synopsis.man
53− embed: synopsis
54− escape: '(?={{section_heading}})'
55−
56− - match: '{{section_heading}}'
57− scope: markup.heading.other.man
58− embed: options # some man pages put command line options under the description heading
59− escape: '(?={{section_heading}})'
60−
61− function-call:
62− - match: '\b([A-Za-z0-9_\-]+\.)?([A-Za-z0-9_\-]+)(\()([^)]*)(\))'
63− captures:
64− 1: entity.name.function.man
65− 2: entity.name.function.man
66− 3: keyword.operator.man
67− 4: constant.numeric.man
68− 5: keyword.operator.man
69−
70− env-var:
71− - match: '(\$)(?!\d)(\w+)\b'
72− captures:
73− 1: punctuation.definition.variable.man
74− 2: constant.other.man
75−
76− options:
77− # command-line options like --option=value, --some-flag, or -x
78− - match: '^[ ]{7}(?=-)'
79− push: expect-command-line-option
80− - match: '(?:[^a-zA-Z0-9_-]|^|\s){{command_line_option}}'
81− captures:
82− 1: entity.name.command-line-option
83− push:
84− - match: '='
85− scope: keyword.operator.man
86− set:
87− - match: '[^],.() ]+'
88− scope: variable.parameter.man
89− pop: true
90− - match: $
91− pop: true
92− - match: ''
93− pop: true
94− - include: function-call
95− - include: c-code
96− - include: env-var
97−
98− expect-command-line-option:
99− - match: '[A-Za-z0-9-]+'
100− scope: entity.name.command-line-option.man
101− - match: '(\[)(=)'
102− captures:
103− 1: punctuation.section.brackets.begin.man
104− 2: keyword.operator.man
105− push: [command-line-option-or-pipe, expect-parameter]
106− - match: '\['
107− push:
108− - meta_scope: entity.name.command-line-option.man
109− - match: '\]'
110− pop: true
111− - match: '='
112− scope: keyword.operator.man
113− push: expect-parameter
114− - match: (?=.*\.)
115− pop: true
116− - match: '\s'
117− push: expect-parameter
118− - match: '(,)\s*'
119− captures:
120− 1: punctuation.separator.man
121− - match: $|(?=\])
122− pop: true
123−
124− expect-parameter:
125− - match: '[A-Za-z0-9-]+'
126− scope: variable.parameter.man
127− - match: (?=\s+\|)
128− pop: true
129− - match: \|
130− scope: keyword.operator.logical.man
131− - match: '\['
132− scope: punctuation.section.brackets.begin.man
133− push:
134− - match: '\]'
135− scope: punctuation.section.brackets.end.man
136− pop: true
137− - include: expect-parameter
138− - match: '$|(?=[],]|{{command_line_option}})'
139− pop: true
140−
141− c-code:
142− - match: '^(?=\s+(?:#include\b|#define\b|/\*|struct\s+(\w+\s*)?\{))'
143− embed: scope:source.c
144− #embed_scope: source.c.embedded.man
145− #escape: ^(?!#|\1|\s*(?:$|/\*|#include\b|#define\b))
146− escape: ^(?=\s*(?:\(.*\.\)\s*$|[A-Z](?![A-Z])))
147−
148− synopsis:
149− - include: c-code
150− - match: \[
151− scope: punctuation.section.brackets.begin.man
152− push: command-line-option-or-pipe
153− - include: options
154−
155− command-line-option-or-pipe:
156− - match: (\|)\s*
157− captures:
158− 1: keyword.operator.logical.man
159− #- match: (?={{command_line_option}})
160− - match: \w+-\w+
161− - match: (?=-)
162− push:
163− - match: (?=\s*\|)
164− pop: true
165− - include: expect-command-line-option
166− - match: \]
167− scope: punctuation.section.brackets.end.man
168− pop: true
169− - match: \[
170− scope: punctuation.section.brackets.begin.man
171− push: command-line-option-or-pipe
assets/syntaxes/02_Extra/MediaWikideleted−1

Submodule changed.

assets/syntaxes/02_Extra/MemInfo.sublime-syntaxdeleted−14
@@ -1,14 +0,0 @@
1−%YAML 1.2
2−---
3−# http://www.sublimetext.com/docs/3/syntax.html
4−name: MemInfo
5−file_extensions:
6− - meminfo
7−scope: source.meminfo
8−
9−contexts:
10− main:
11− - match: '^([^:]+)\w*:\w*(.*)$'
12− captures:
13− 1: keyword.other.meminfo-key
14− 2: string.other.meminfo-value
assets/syntaxes/02_Extra/Nginxdeleted−1

Submodule changed.

assets/syntaxes/02_Extra/Nim.sublime-syntaxdeleted−258
@@ -1,258 +0,0 @@
1−%YAML 1.2
2−---
3−# http://www.sublimetext.com/docs/3/syntax.html
4−name: Nim
5−file_extensions:
6− - nim
7− - nims
8− - nimble
9−scope: source.nim
10−contexts:
11− main:
12− - match: '(\#\[\s*(TODO|todo)?)'
13− comment: A multiline comment.
14− captures:
15− 1: punctuation.definition.multi-comment.nim
16− 2: invalid.illegal.TODO.nim
17− push:
18− - meta_scope: comment.line.number-sign.multi-comment.nim
19− - match: '(.*]\#)'
20− captures:
21− 1: punctuation.definition.multi-comment.nim
22− 2: invalid.illegal.TODO.nim
23− pop: true
24− - match: (##\s*(TODO|todo)?).+$\n?
25− comment: A documentation comment.
26− scope: comment.line.number-sign.doc-comment.nim
27− captures:
28− 1: punctuation.definition.doc-comment.nim
29− 2: invalid.illegal.TODO.nim
30− - match: (##\s*)$\n?
31− comment: An empty documentation comment.
32− scope: comment.line.number-sign.doc-comment.empty.nim
33− captures:
34− 1: punctuation.definition.doc-comment.empty.nim
35− - match: (#\s*(TODO|todo)?).*$\n?
36− comment: A regular comment
37− scope: comment.line.number-sign.comment.nim
38− captures:
39− 1: punctuation.definition.comment.nim
40− 2: invalid.illegal.TODO.nim
41− - match: '\{\.'
42− comment: Pragmas
43− push:
44− - meta_scope: pragma
45− - match: '\.?\}'
46− pop: true
47− - match: \"
48− push:
49− - meta_scope: string.something.nim
50− - match: \"
51− pop: true
52− - match: '([\w\x{80}-\x{10FFFF}]+)'
53− scope: entity.other.attribute-name.pragma.nim
54− - match: discard \"\"\"
55− comment: A discarded triple string literal comment
56− push:
57− - meta_scope: comment.line.discarded.nim
58− - match: \"\"\"
59− pop: true
60− - match: '(?<![\w\x{80}-\x{10FFFF}])(\d[_\d]*((\.[_\d]+([eE][\+\-]?\d[_\d]*)?)|([eE][\+\-]?\d[_\d]*)))(''?([fF](32|64|128))|[fFdD])?'
61− comment: A float literal
62− scope: constant.numeric.float.decimal.nim
63− - match: '(?<![\w\x{80}-\x{10FFFF}])(0[xX][0-9A-Fa-f][_0-9A-Fa-f]*)(''?(([iIuUfF](8|16|32|64))|[uUfFdD]))?'
64− comment: A hexadecimal literal
65− scope: constant.numeric.integer.hexadecimal.nim
66− - match: '(?<![\w\x{80}-\x{10FFFF}])(0[ocC][0-7][_0-7]*)(''?(([iIuUfF](8|16|32|64))|[uUfFdD]))?'
67− comment: A base-8 integer literal
68− scope: constant.numeric.integer.octal.nim
69− - match: '(?<![\w\x{80}-\x{10FFFF}])(0(b|B)[01][_01]*)(''?(([iIuUfF](8|16|32|64))|[uUfFdD]))?'
70− comment: A base-2 integer literal
71− scope: constant.numeric.integer.binary.nim
72− - match: '(?<![\w\x{80}-\x{10FFFF}])(\d[_\d]*)(''?(([iIuUfF](8|16|32|64))|[uUfFdD]))?'
73− comment: A base-10 integer literal
74− scope: constant.numeric.integer.decimal.nim
75− - match: '(?<![\w\x{80}-\x{10FFFF}])(true|false|inf|nil)(?![\w\x{80}-\x{10FFFF}])'
76− comment: Language Constants.
77− scope: constant.language.nim
78− - match: (?:^|\s+|=)(when|if)\b
79− comment: Primary branching keywords
80− captures:
81− 1: keyword.control.primary.nim
82− push:
83− - match: (?=:)
84− captures:
85− 1: control.variable.parameter.nim
86− pop: true
87− - include: scope:source.nim
88− - match: (?:^|\s+|=)(case)\b
89− comment: Primary branching keyword 'case'
90− captures:
91− 1: keyword.control.primary.nim
92− push:
93− - match: (?=\bof\b)
94− captures:
95− 1: control.variable.parameter.nim
96− pop: true
97− - include: scope:source.nim
98− - match: (?:^|\s+)(of|else|elif)\b
99− comment: Secondary branching keywords and their conditions
100− captures:
101− 1: keyword.control.secondary.nim
102− push:
103− - match: (?=:)
104− captures:
105− 1: control.variable.parameter.nim
106− pop: true
107− - include: scope:source.nim
108− - match: '(?<![\w\x{80}-\x{10FFFF}])(await|block|break|continue|do|end|except|finally|raise|return|try|while|yield)(?![\w\x{80}-\x{10FFFF}])'
109− comment: Keywords that affect program control flow or scope.
110− scope: keyword.control.nim
111− - match: '((?<![\w\x{80}-\x{10FFFF}])(and|in|is|isnot|not|notin|or|xor)(?![\w\x{80}-\x{10FFFF}]))'
112− comment: Keyword boolean operators for expressions.
113− scope: keyword.operator.boolean.nim
114− - match: '((?<![\w\x{80}-\x{10FFFF}])(addr|as|atomic|bind|cast|const|converter|defer|discard|distinct|div|enum|export|include|let|mixin|object|of|ptr|ref|shl|shr|static|type|var)(?![\w\x{80}-\x{10FFFF}]))'
115− comment: Other keywords.
116− scope: keyword.other.nim
117− - match: (\b()\b|(=|\+|-|\*|/|<|>|@|\$|~|&|%|!|\?|\^|\.|:|\\)+)
118− comment: Generic operators for expressions.
119− scope: keyword.operator.nim
120− - match: (for)\s+
121− comment: in keyword in a 'for' loop
122− captures:
123− 1: keyword.control.nim
124− push:
125− - meta_scope: meta.forloop.nim
126− - match: (?=:)
127− captures:
128− 1: keyword.control.nim
129− pop: true
130− - match: '\ [\w\x{80}-\x{10FFFF},]+\s+(in)\s+'
131− captures:
132− 1: keyword.control.nim
133− - include: scope:source.nim
134− - match: '((import)\s+[\.|\w|\/]+,?)'
135− comment: Import syntax
136− captures:
137− 2: keyword.control.nim
138− - match: '(from)\s+[\/\w]+\s+(?=import)'
139− captures:
140− 1: keyword.control.nim
141− - match: (var|let)\s*\(
142− comment: Destructure syntax
143− captures:
144− 1: keyword.other.nim
145− push:
146− - match: \)
147− captures:
148− 1: keyword.other.nim
149− pop: true
150− - match: '((?<![\w\x{80}-\x{10FFFF}])(generic|interface|lambda|out|shared|with|without)(?![\w\x{80}-\x{10FFFF}]))'
151− comment: Invalid and unused keywords.
152− scope: keyword.invalid.nim
153− - match: '(?<![\w\x{80}-\x{10FFFF}])(new|GC_ref|GC_unref|assert|echo|defined|declared|newException|countup|countdown|len|high|low)(?![\w\x{80}-\x{10FFFF}])'
154− comment: Common functions
155− scope: keyword.other.common.function.nim
156− - match: '(?<![\w\x{80}-\x{10FFFF}])(((uint|int|float)(8|16|32|64)?)|clong|culong|cchar|cschar|cshort|cint|csize|clonglong|cfloat|cdouble|clongdouble|cuchar|cushort|cuint|culonglong|cstringArray|bool|string|auto|cstring|char|byte|tobject|typedesc|stmt|expr|any|untyped|typed)(?![\w\x{80}-\x{10FFFF}])'
157− comment: Built-in, concrete types.
158− scope: storage.type.concrete.nim
159− - match: '(?<![\w\x{80}-\x{10FFFF}])(range|array|seq|tuple|natural|set|ref|ptr|pointer)(?![\w\x{80}-\x{10FFFF}])'
160− comment: Built-in, generic types.
161− scope: storage.type.generic.nim
162− - match: '(?<![\w\x{80}-\x{10FFFF}])(proc|iterator|method|template|macro)(?![\w\x{80}-\x{10FFFF}])'
163− comment: Function types
164− scope: storage.type.function.nim
165− - match: '(?<![\w\x{80}-\x{10FFFF}])(openarray|varargs|void)(?![\w\x{80}-\x{10FFFF}])'
166− comment: Special types.
167− scope: storage.type.generic.nim
168− - match: '(?<![\w\x{80}-\x{10FFFF}])([A-Z][A-Z0-9_]+)(?![\w\x{80}-\x{10FFFF}])'
169− comment: Other constants.
170− scope: support.constant.nim
171− - match: '(?<![\w\x{80}-\x{10FFFF}])([A-Z]\w+)(?![\w\x{80}-\x{10FFFF}])'
172− comment: Other types.
173− scope: support.type.nim
174− - match: '(?<![\w\x{80}-\x{10FFFF}])(\w+)(?![\w\x{80}-\x{10FFFF}])(?=\()'
175− comment: Function call.
176− scope: support.function.any-method.nim
177− - match: r?\"\"\"
178− comment: (Raw) Triple Quoted String
179− push:
180− - meta_scope: string.quoted.triple.nim
181− - match: '\"\"\"[^\"]'
182− pop: true
183− - match: r\"
184− comment: Raw Double Quoted String
185− push:
186− - meta_scope: string.quoted.double.raw.nim
187− - match: \"
188− pop: true
189− - match: \"\"
190− - match: \"
191− comment: Double Quoted String
192− push:
193− - meta_scope: string.quoted.double.nim
194− - match: \"
195− pop: true
196− - include: escaped_char
197− - match: \'
198− comment: Single quoted character literal
199− push:
200− - meta_scope: string.quoted.single.nim
201− - match: \'
202− pop: true
203− - match: \\n
204− scope: invalid.illegal.character.nim
205− - include: escaped_char
206− - match: '([^\''][^\'']+?)'
207− scope: invalid.illegal.character.nim
208− - match: '([\w\x{80}-\x{10FFFF}\`]+)\s*(?=\(|\[.+?\]\s*\()'
209− comment: Call syntax
210− captures:
211− 1: support.function.any-method.nim
212− push:
213− - match: \)
214− captures:
215− 1: support.function.any-method.nim
216− pop: true
217− - include: scope:source.nim
218− - match: '([\w\x{80}-\x{10FFFF}]+)(?=\s+[\w](?![\w\x{80}-\x{10FFFF}]+((?!\n)\s)+))'
219− comment: Command syntax
220− captures:
221− 1: support.function.any-method.nim
222− - match: '([\w\x{80}-\x{10FFFF}]+)(?=\s+[\"\''\`])'
223− captures:
224− 1: support.function.any-method.nim
225− - match: (tmpl(i)?)(?=( (nim|html|xml|js|css|glsl|md))?\"\"\")
226− comment: tmpl specifier
227− captures:
228− 1: storage.type.function.nim
229− 2: keyword.operator.nim
230− escaped_char:
231− - match: '\\[nN]'
232− scope: constant.character.escape.newline.nim
233− - match: '\\[cC]|\\[rR]'
234− scope: constant.character.escape.carriagereturn.nim
235− - match: '\\[lL]'
236− scope: constant.character.escape.linefeed.nim
237− - match: '\\[fF]'
238− scope: constant.character.escape.formfeed.nim
239− - match: '\\[tT]'
240− scope: constant.character.escape.tabulator.nim
241− - match: '\\[vV]'
242− scope: constant.character.escape.verticaltabulator.nim
243− - match: \\\"
244− scope: constant.character.escape.double-quote.nim
245− - match: \\'
246− scope: constant.character.escape.single-quote.nim
247− - match: '\\[0-9]+'
248− scope: constant.character.escape.chardecimalvalue.nim
249− - match: '\\[aA]'
250− scope: constant.character.escape.alert.nim
251− - match: '\\[bB]'
252− scope: constant.character.escape.backspace.nim
253− - match: '\\[eE]'
254− scope: constant.character.escape.escape.nim
255− - match: '\\[xX][0-9A-Fa-f]{2}'
256− scope: constant.character.escape.hex.nim
257− - match: \\\\
258− scope: constant.character.escape.backslash.nim
assets/syntaxes/02_Extra/Ninjadeleted−1

Submodule changed.

assets/syntaxes/02_Extra/Ninja.sublime-syntaxdeleted−52
@@ -1,52 +0,0 @@
1−%YAML 1.2
2−---
3−# http://www.sublimetext.com/docs/3/syntax.html
4−name: Ninja
5−file_extensions:
6− - ninja
7−scope: source.ninja
8−contexts:
9− main:
10− - match: (#).*$\n?
11− comment: Comment line.
12− scope: comment.line.number-sign.ninja
13− captures:
14− 1: punctuation.definition.comment.ninja
15− - match: ^(rule)\b
16− comment: Rule keyword and keywords for a rule.
17− captures:
18− 1: keyword.other.ninja
19− push:
20− - match: ^(?=\S)
21− pop: true
22− - include: main
23− - match: \b(?:command|deps|depfile|description|generator|pool|restat|rspfile|rspfile_content)\b
24− scope: keyword.other.ninja
25− - match: ^(pool)\b
26− comment: Pool keyword and keywords for a pool.
27− captures:
28− 1: keyword.other.ninja
29− push:
30− - match: ^(?=\S)
31− pop: true
32− - include: main
33− - match: \b(?:depth)\b
34− scope: keyword.other.ninja
35− - match: ^(?:build|rule|default|include|subninja)\b
36− comment: Other Keywords.
37− scope: keyword.other.ninja
38− - match: '(?:[=:]|\|{1,2})(?=\s)'
39− comment: Operators for variable assignment (=), rule definition (:), implicit (|) and order only (||) dependencies.
40− scope: keyword.operator.ninja
41− - match: \$$
42− comment: Line wrap.
43− scope: keyword.operator.ninja
44− - match: \$\$
45− comment: Dollar literal.
46− scope: keyword.operator.ninja
47− - match: '\$[[:alnum:]_-]+'
48− comment: Simple variables, e.g. $var.
49− scope: variable.other.ninja
50− - match: '\${[[:alnum:]_.-]+}'
51− comment: "Variables, e.g. ${some.var.name}."
52− scope: variable.other.ninja
assets/syntaxes/02_Extra/Nixdeleted−1

Submodule changed.

assets/syntaxes/02_Extra/Nix.sublime-syntaxdeleted−609
@@ -1,609 +0,0 @@
1−%YAML 1.2
2−---
3−# http://www.sublimetext.com/docs/3/syntax.html
4−name: Nix
5−file_extensions:
6− - nix
7−scope: source.nix
8−contexts:
9− main:
10− - include: expression
11− comment:
12− - match: '/\*([^*]|\*[^\/])*'
13− push:
14− - meta_scope: comment.block.nix
15− - match: \*\/
16− pop: true
17− - include: comment-remark
18− - match: '\#'
19− push:
20− - meta_scope: comment.line.number-sign.nix
21− - match: $
22− pop: true
23− - include: comment-remark
24− attribute-bind:
25− - include: attribute-name
26− - include: attribute-bind-from-equals
27− attribute-bind-from-equals:
28− - match: \=
29− captures:
30− 0: keyword.operator.bind.nix
31− push:
32− - match: \;
33− captures:
34− 0: punctuation.terminator.bind.nix
35− pop: true
36− - include: expression
37− attribute-inherit:
38− - match: \binherit\b
39− captures:
40− 0: keyword.other.inherit.nix
41− push:
42− - match: \;
43− captures:
44− 0: punctuation.terminator.inherit.nix
45− pop: true
46− - match: \(
47− captures:
48− 0: punctuation.section.function.arguments.nix
49− push:
50− - match: (?=\;)
51− pop: true
52− - match: \)
53− captures:
54− 0: punctuation.section.function.arguments.nix
55− push:
56− - match: (?=\;)
57− pop: true
58− - include: bad-reserved
59− - include: attribute-name-single
60− - include: others
61− - include: expression
62− - match: '(?=[a-zA-Z\_])'
63− push:
64− - match: (?=\;)
65− pop: true
66− - include: bad-reserved
67− - include: attribute-name-single
68− - include: others
69− - include: others
70− attribute-name:
71− - match: '\b[a-zA-Z\_][a-zA-Z0-9\_\''\-]*'
72− scope: entity.other.attribute-name.multipart.nix
73− - match: \.
74− - include: string-quoted
75− - include: interpolation
76− attribute-name-single:
77− - match: '\b[a-zA-Z\_][a-zA-Z0-9\_\''\-]*'
78− scope: entity.other.attribute-name.single.nix
79− attrset-contents:
80− - include: attribute-inherit
81− - include: bad-reserved
82− - include: attribute-bind
83− - include: others
84− attrset-definition:
85− - match: '(?=\{)'
86− push:
87− - match: '(?=([\])};,]|\b(else|then)\b))'
88− pop: true
89− - match: '(\{)'
90− captures:
91− 0: punctuation.definition.attrset.nix
92− push:
93− - match: '(\})'
94− captures:
95− 0: punctuation.definition.attrset.nix
96− pop: true
97− - include: attrset-contents
98− - match: '(?<=\})'
99− push:
100− - match: '(?=([\])};,]|\b(else|then)\b))'
101− pop: true
102− - include: expression-cont
103− attrset-definition-brace-opened:
104− - match: '(?<=\})'
105− push:
106− - match: '(?=([\])};,]|\b(else|then)\b))'
107− pop: true
108− - include: expression-cont
109− - match: (?=.?)
110− push:
111− - match: '\}'
112− captures:
113− 0: punctuation.definition.attrset.nix
114− pop: true
115− - include: attrset-contents
116− attrset-for-sure:
117− - match: (?=\brec\b)
118− push:
119− - match: '(?=([\])};,]|\b(else|then)\b))'
120− pop: true
121− - match: \brec\b
122− captures:
123− 0: keyword.other.nix
124− push:
125− - match: '(?=\{)'
126− pop: true
127− - include: others
128− - include: attrset-definition
129− - include: others
130− - match: '(?=\{\s*(\}|[^,?]*(=|;)))'
131− push:
132− - match: '(?=([\])};,]|\b(else|then)\b))'
133− pop: true
134− - include: attrset-definition
135− - include: others
136− attrset-or-function:
137− - match: '\{'
138− captures:
139− 0: punctuation.definition.attrset-or-function.nix
140− push:
141− - match: '(?=([\])};]|\b(else|then)\b))'
142− pop: true
143− - match: '(?=(\s*\}|\"|\binherit\b|\b[a-zA-Z\_][a-zA-Z0-9\_\''\-]*(\s*\.|\s*=[^=])|\$\{[a-zA-z0-9\_\''\-]+\}(\s*\.|\s*=[^=])))'
144− push:
145− - match: '(?=([\])};,]|\b(else|then)\b))'
146− pop: true
147− - include: attrset-definition-brace-opened
148− - match: '(?=(\.\.\.|\b[a-zA-Z\_][a-zA-Z0-9\_\''\-]*\s*[,?]))'
149− push:
150− - match: '(?=([\])};,]|\b(else|then)\b))'
151− pop: true
152− - include: function-definition-brace-opened
153− - include: bad-reserved
154− - match: '\b[a-zA-Z\_][a-zA-Z0-9\_\''\-]*'
155− captures:
156− 0: variable.parameter.function.maybe.nix
157− push:
158− - match: '(?=([\])};]|\b(else|then)\b))'
159− pop: true
160− - match: (?=\.)
161− push:
162− - match: '(?=([\])};,]|\b(else|then)\b))'
163− pop: true
164− - include: attrset-definition-brace-opened
165− - match: \s*(\,)
166− captures:
167− 1: keyword.operator.nix
168− push:
169− - match: '(?=([\])};,]|\b(else|then)\b))'
170− pop: true
171− - include: function-definition-brace-opened
172− - match: (?=\=)
173− push:
174− - match: '(?=([\])};,]|\b(else|then)\b))'
175− pop: true
176− - include: attribute-bind-from-equals
177− - include: attrset-definition-brace-opened
178− - match: (?=\?)
179− push:
180− - match: '(?=([\])};,]|\b(else|then)\b))'
181− pop: true
182− - include: function-parameter-default
183− - match: \,
184− captures:
185− 0: keyword.operator.nix
186− push:
187− - match: '(?=([\])};,]|\b(else|then)\b))'
188− pop: true
189− - include: function-definition-brace-opened
190− - include: others
191− - include: others
192− bad-reserved:
193− - match: '(?<![\w''-])(if|then|else|assert|with|let|in|rec|inherit)(?![\w''-])'
194− scope: invalid.illegal.reserved.nix
195− comment-remark:
196− - match: (TODO|FIXME|BUG|\!\!\!):?
197− captures:
198− 1: markup.bold.comment.nix
199− constants:
200− - match: \b(builtins|true|false|null)\b
201− captures:
202− 0: constant.language.nix
203− push:
204− - match: '(?=([\])};,]|\b(else|then)\b))'
205− pop: true
206− - include: expression-cont
207− - match: \b(scopedImport|import|isNull|abort|throw|baseNameOf|dirOf|removeAttrs|map|toString|derivationStrict|derivation)\b
208− captures:
209− 0: support.function.nix
210− push:
211− - match: '(?=([\])};,]|\b(else|then)\b))'
212− pop: true
213− - include: expression-cont
214− - match: '\b[0-9]+\b'
215− captures:
216− 0: constant.numeric.nix
217− push:
218− - match: '(?=([\])};,]|\b(else|then)\b))'
219− pop: true
220− - include: expression-cont
221− expression:
222− - include: parens-and-cont
223− - include: list-and-cont
224− - include: string
225− - include: interpolation
226− - include: with-assert
227− - include: function-for-sure
228− - include: attrset-for-sure
229− - include: attrset-or-function
230− - include: let
231− - include: if
232− - include: operator-unary
233− - include: constants
234− - include: bad-reserved
235− - include: parameter-name-and-cont
236− - include: others
237− expression-cont:
238− - match: (?=.?)
239− push:
240− - match: '(?=([\])};,]|\b(else|then)\b))'
241− pop: true
242− - include: parens
243− - include: list
244− - include: string
245− - include: interpolation
246− - include: function-for-sure
247− - include: attrset-for-sure
248− - include: attrset-or-function
249− - match: '(\bor\b|\.|==|!=|!|\<\=|\<|\>\=|\>|&&|\|\||-\>|//|\?|\+\+|-|\*|/(?=([^*]|$))|\+)'
250− scope: keyword.operator.nix
251− - include: constants
252− - include: bad-reserved
253− - include: parameter-name
254− - include: others
255− function-body:
256− - match: '(@\s*([a-zA-Z\_][a-zA-Z0-9\_\''\-]*)\s*)?(\:)'
257− push:
258− - match: '(?=([\])};,]|\b(else|then)\b))'
259− pop: true
260− - include: expression
261− function-body-from-colon:
262− - match: (\:)
263− captures:
264− 0: punctuation.definition.function.nix
265− push:
266− - match: '(?=([\])};,]|\b(else|then)\b))'
267− pop: true
268− - include: expression
269− function-contents:
270− - include: bad-reserved
271− - include: function-parameter
272− - include: others
273− function-definition:
274− - match: (?=.?)
275− push:
276− - match: '(?=([\])};,]|\b(else|then)\b))'
277− pop: true
278− - include: function-body-from-colon
279− - match: (?=.?)
280− push:
281− - match: (?=\:)
282− pop: true
283− - match: '(\b[a-zA-Z\_][a-zA-Z0-9\_\''\-]*)'
284− captures:
285− 0: variable.parameter.function.4.nix
286− push:
287− - match: (?=\:)
288− pop: true
289− - match: \@
290− push:
291− - match: (?=\:)
292− pop: true
293− - include: function-header-until-colon-no-arg
294− - include: others
295− - include: others
296− - match: '(?=\{)'
297− push:
298− - match: (?=\:)
299− pop: true
300− - include: function-header-until-colon-with-arg
301− - include: others
302− function-definition-brace-opened:
303− - match: (?=.?)
304− push:
305− - match: '(?=([\])};,]|\b(else|then)\b))'
306− pop: true
307− - include: function-body-from-colon
308− - match: (?=.?)
309− push:
310− - match: (?=\:)
311− pop: true
312− - include: function-header-close-brace-with-arg
313− - match: (?=.?)
314− push:
315− - match: '(?=\})'
316− pop: true
317− - include: function-contents
318− - include: others
319− function-for-sure:
320− - match: '(?=(\b[a-zA-Z\_][a-zA-Z0-9\_\''\-]*\s*[:@]|\{[^}]*\}\s*:|\{[^#}"''/=]*[,\?]))'
321− push:
322− - match: '(?=([\])};,]|\b(else|then)\b))'
323− pop: true
324− - include: function-definition
325− function-header-close-brace-no-arg:
326− - match: '\}'
327− captures:
328− 0: punctuation.definition.entity.function.nix
329− push:
330− - match: (?=\:)
331− pop: true
332− - include: others
333− function-header-close-brace-with-arg:
334− - match: '\}'
335− captures:
336− 0: punctuation.definition.entity.function.nix
337− push:
338− - match: (?=\:)
339− pop: true
340− - include: function-header-terminal-arg
341− - include: others
342− function-header-open-brace:
343− - match: '\{'
344− captures:
345− 0: punctuation.definition.entity.function.2.nix
346− push:
347− - match: '(?=\})'
348− pop: true
349− - include: function-contents
350− function-header-terminal-arg:
351− - match: (?=@)
352− push:
353− - match: (?=\:)
354− pop: true
355− - match: \@
356− push:
357− - match: (?=\:)
358− pop: true
359− - match: '(\b[a-zA-Z\_][a-zA-Z0-9\_\''\-]*)'
360− push:
361− - meta_scope: variable.parameter.function.3.nix
362− - match: (?=\:)
363− pop: true
364− - include: others
365− - include: others
366− function-header-until-colon-no-arg:
367− - match: '(?=\{)'
368− push:
369− - match: (?=\:)
370− pop: true
371− - include: function-header-open-brace
372− - include: function-header-close-brace-no-arg
373− function-header-until-colon-with-arg:
374− - match: '(?=\{)'
375− push:
376− - match: (?=\:)
377− pop: true
378− - include: function-header-open-brace
379− - include: function-header-close-brace-with-arg
380− function-parameter:
381− - match: (\.\.\.)
382− push:
383− - meta_scope: keyword.operator.nix
384− - match: '(,|(?=\}))'
385− pop: true
386− - include: others
387− - match: '\b[a-zA-Z\_][a-zA-Z0-9\_\''\-]*'
388− captures:
389− 0: variable.parameter.function.1.nix
390− push:
391− - match: '(,|(?=\}))'
392− captures:
393− 0: keyword.operator.nix
394− pop: true
395− - include: whitespace
396− - include: comment
397− - include: function-parameter-default
398− - include: expression
399− - include: others
400− function-parameter-default:
401− - match: \?
402− captures:
403− 0: keyword.operator.nix
404− push:
405− - match: "(?=[,}])"
406− pop: true
407− - include: expression
408− if:
409− - match: (?=\bif\b)
410− push:
411− - match: '(?=([\])};,]|\b(else|then)\b))'
412− pop: true
413− - match: \bif\b
414− captures:
415− 0: keyword.other.nix
416− push:
417− - match: \bth(?=en\b)
418− captures:
419− 0: keyword.other.nix
420− pop: true
421− - include: expression
422− - match: (?<=th)en\b
423− captures:
424− 0: keyword.other.nix
425− push:
426− - match: \bel(?=se\b)
427− captures:
428− 0: keyword.other.nix
429− pop: true
430− - include: expression
431− - match: (?<=el)se\b
432− captures:
433− 0: keyword.other.nix
434− push:
435− - match: '(?=([\])};,]|\b(else|then)\b))'
436− captures:
437− 0: keyword.other.nix
438− pop: true
439− - include: expression
440− illegal:
441− - match: .
442− scope: invalid.illegal
443− interpolation:
444− - match: '\$\{'
445− captures:
446− 0: punctuation.section.embedded.begin.nix
447− push:
448− - meta_scope: markup.italic
449− - match: '\}'
450− captures:
451− 0: punctuation.section.embedded.end.nix
452− pop: true
453− - include: expression
454− let:
455− - match: (?=\blet\b)
456− push:
457− - match: '(?=([\])};,]|\b(else|then)\b))'
458− pop: true
459− - match: \blet\b
460− captures:
461− 0: keyword.other.nix
462− push:
463− - match: '(?=([\])};,]|\b(in|else|then)\b))'
464− pop: true
465− - match: '(?=\{)'
466− push:
467− - match: '(?=([\])};,]|\b(else|then)\b))'
468− pop: true
469− - match: '\{'
470− push:
471− - match: '\}'
472− pop: true
473− - include: attrset-contents
474− - match: '(^|(?<=\}))'
475− push:
476− - match: '(?=([\])};,]|\b(else|then)\b))'
477− pop: true
478− - include: expression-cont
479− - include: others
480− - include: attrset-contents
481− - include: others
482− - match: \bin\b
483− captures:
484− 0: keyword.other.nix
485− push:
486− - match: '(?=([\])};,]|\b(else|then)\b))'
487− pop: true
488− - include: expression
489− list:
490− - match: '\['
491− captures:
492− 0: punctuation.definition.list.nix
493− push:
494− - match: '\]'
495− captures:
496− 0: punctuation.definition.list.nix
497− pop: true
498− - include: expression
499− list-and-cont:
500− - match: '(?=\[)'
501− push:
502− - match: '(?=([\])};,]|\b(else|then)\b))'
503− pop: true
504− - include: list
505− - include: expression-cont
506− operator-unary:
507− - match: (!|-)
508− scope: keyword.operator.unary.nix
509− others:
510− - include: whitespace
511− - include: comment
512− - include: illegal
513− parameter-name:
514− - match: '\b[a-zA-Z\_][a-zA-Z0-9\_\''\-]*'
515− captures:
516− 0: variable.parameter.name.nix
517− parameter-name-and-cont:
518− - match: '\b[a-zA-Z\_][a-zA-Z0-9\_\''\-]*'
519− captures:
520− 0: variable.parameter.name.nix
521− push:
522− - match: '(?=([\])};,]|\b(else|then)\b))'
523− pop: true
524− - include: expression-cont
525− parens:
526− - match: \(
527− captures:
528− 0: punctuation.definition.expression.nix
529− push:
530− - match: \)
531− captures:
532− 0: punctuation.definition.expression.nix
533− pop: true
534− - include: expression
535− parens-and-cont:
536− - match: (?=\()
537− push:
538− - match: '(?=([\])};,]|\b(else|then)\b))'
539− pop: true
540− - include: parens
541− - include: expression-cont
542− string:
543− - match: (?=\'\')
544− push:
545− - match: '(?=([\])};,]|\b(else|then)\b))'
546− pop: true
547− - match: \'\'
548− captures:
549− 0: punctuation.definition.string.other.start.nix
550− push:
551− - meta_scope: string.quoted.other.nix
552− - match: \'\'(?!\$|\'|\\.)
553− captures:
554− 0: punctuation.definition.string.other.end.nix
555− pop: true
556− - match: \'\'(\$|\'|\\.)
557− scope: constant.character.escape.nix
558− - include: interpolation
559− - include: expression-cont
560− - match: (?=\")
561− push:
562− - match: '(?=([\])};,]|\b(else|then)\b))'
563− pop: true
564− - include: string-quoted
565− - include: expression-cont
566− - match: '(~?[a-zA-Z0-9\.\_\-\+]*(\/[a-zA-Z0-9\.\_\-\+]+)+)'
567− captures:
568− 0: string.unquoted.path.nix
569− push:
570− - match: '(?=([\])};,]|\b(else|then)\b))'
571− pop: true
572− - include: expression-cont
573− - match: '(\<[a-zA-Z0-9\.\_\-\+]+(\/[a-zA-Z0-9\.\_\-\+]+)*\>)'
574− captures:
575− 0: string.unquoted.spath.nix
576− push:
577− - match: '(?=([\])};,]|\b(else|then)\b))'
578− pop: true
579− - include: expression-cont
580− - match: '([a-zA-Z][a-zA-Z0-9\+\-\.]*\:[a-zA-Z0-9\%\/\?\:\@\&\=\+\$\,\-\_\.\!\~\*\'']+)'
581− captures:
582− 0: string.unquoted.url.nix
583− push:
584− - match: '(?=([\])};,]|\b(else|then)\b))'
585− pop: true
586− - include: expression-cont
587− string-quoted:
588− - match: \"
589− captures:
590− 0: punctuation.definition.string.double.start.nix
591− push:
592− - meta_scope: string.quoted.double.nix
593− - match: \"
594− captures:
595− 0: punctuation.definition.string.double.end.nix
596− pop: true
597− - match: \\.
598− scope: constant.character.escape.nix
599− - include: interpolation
600− whitespace:
601− - match: \s+
602− with-assert:
603− - match: '(?<![\w''-])(with|assert)(?![\w''-])'
604− captures:
605− 0: keyword.other.nix
606− push:
607− - match: \;
608− pop: true
609− - include: expression
assets/syntaxes/02_Extra/Org modedeleted−1

Submodule changed.

assets/syntaxes/02_Extra/Org mode.sublime-syntaxdeleted−219
@@ -1,219 +0,0 @@
1−%YAML 1.2
2−---
3−# http://www.sublimetext.com/docs/3/syntax.html
4−name: orgmode
5−file_extensions:
6− - org
7−scope: text.orgmode
8−contexts:
9− main:
10− - match: |-
11− (?x)
12− ^(\*+) # leading stars
13− \s*([A-Z_]{2,})? # todo keywords
14− \s*(\[\#[A-Ca-c]\])? # priority
15− \s*(?=\s+[A-Za-z0-9]+) # expected heading text
16− comment: Outline headings
17− captures:
18− 1: punctuation.definition.heading.orgmode
19− 2: keyword.other.todo.orgmode
20− 3: constant.other.priority.orgmode
21− push:
22− - meta_scope: markup.heading.orgmode
23− - meta_content_scope: entity.name.section.orgmode
24− - match: (?=\s*$\n?)
25− pop: true
26− - include: heading-inline
27− - match: "^-{5,}$"
28− scope: meta.separator.orgmode
29− - match: '^\s*([-+]|\s+\*)\s+(.*?)\s+::'
30− captures:
31− 1: keyword.operator.list.orgmode
32− 2: markup.bold.definition.orgmode
33− push:
34− - meta_scope: meta.list.definition.orgmode
35− - match: $
36− pop: true
37− - include: inline
38− - match: '^\s*?([-+]|\s+\*|\d+[).])'
39− captures:
40− 1: keyword.operator.list.orgmode
41− push:
42− - meta_scope: meta.list.plain.orgmode
43− - match: $
44− pop: true
45− - include: list-inline
46− - match: (?i)^#\+(BEGIN_(QUOTE|VERSE|CENTER))$
47− captures:
48− 1: keyword.control.block.orgmode
49− push:
50− - meta_scope: markup.quote.orgmode
51− - match: (?i)^#\+(END_\2)$
52− captures:
53− 1: keyword.control.block.orgmode
54− pop: true
55− - match: "^#[^+].*$"
56− scope: comment.line.number-sign.orgmode
57− - match: ^:(PROPERTIES):$
58− captures:
59− 1: keyword.control.drawer.orgmode
60− push:
61− - meta_scope: meta.drawer.properties.orgmode
62− - match: ^:(END):$
63− captures:
64− 1: keyword.control.drawer.orgmode
65− pop: true
66− - include: properties
67− - match: ^:(.+):$
68− captures:
69− 1: keyword.control.drawer.orgmode
70− push:
71− - meta_scope: meta.drawer.other.orgmode
72− - match: ^:(END):$
73− captures:
74− 1: keyword.control.drawer.orgmode
75− pop: true
76− - match: (?i)#\+(BEGIN_LaTeX)$
77− captures:
78− 1: keyword.control.block.orgmode
79− push:
80− - meta_scope: meta.block.latex.orgmode
81− - match: (?i)#\+(END_LaTeX)$
82− captures:
83− 1: keyword.control.block.orgmode
84− pop: true
85− - include: scope:text.tex.latex
86− - match: (?i)#\+(BEGIN_HTML)$
87− captures:
88− 1: keyword.control.block.orgmode
89− push:
90− - meta_scope: meta.block.html.orgmode
91− - match: (?i)#\+(END_HTML)$
92− captures:
93− 1: keyword.control.block.orgmode
94− pop: true
95− - include: scope:text.html.basic
96− - match: (?i)#\+(BEGIN_SRC)\s+(python)\s*(.*)$
97− captures:
98− 1: keyword.control.block.orgmode
99− 2: constant.other.language.orgmode
100− 3: string.other.header-args.orgmode
101− push:
102− - meta_scope: meta.block.source.python.orgmode
103− - match: (?i)#\+(END_SRC)$
104− captures:
105− 1: keyword.control.block.orgmode
106− pop: true
107− - include: scope:source.python
108− - match: (?i)#\+(BEGIN_SRC)\s+(ruby)\s*(.*)$
109− captures:
110− 1: keyword.control.block.orgmode
111− 2: constant.other.language.orgmode
112− 3: string.other.header-args.orgmode
113− push:
114− - meta_scope: meta.block.source.ruby.orgmode
115− - match: (?i)#\+(END_SRC)$
116− captures:
117− 1: keyword.control.block.orgmode
118− pop: true
119− - include: scope:source.ruby
120− - match: (?i)#\+(BEGIN_SRC)\s+((?:emacs-)?lisp)\s*(.*)$
121− captures:
122− 1: keyword.control.block.orgmode
123− 2: constant.other.language.orgmode
124− 3: string.other.header-args.orgmode
125− push:
126− - meta_scope: meta.block.source.lisp.orgmode
127− - match: (?i)#\+(END_SRC)$
128− captures:
129− 1: keyword.control.block.orgmode
130− pop: true
131− - include: scope:source.lisp
132− - match: (?i)#\+(BEGIN_SRC)\s+(sh)\s*(.*)$
133− captures:
134− 1: keyword.control.block.orgmode
135− 2: constant.other.language.orgmode
136− 3: string.other.header-args.orgmode
137− push:
138− - meta_scope: meta.block.source.shell.orgmode
139− - match: (?i)#\+(END_SRC)$
140− captures:
141− 1: keyword.control.block.orgmode
142− pop: true
143− - include: scope:source.shell
144− - match: '(?i)#\+(BEGIN_(SRC|EXAMPLE))(?:\s+([\w-]+)?\s*(.*))?$'
145− captures:
146− 1: keyword.control.block.orgmode
147− 3: constant.other.language.orgmode
148− 4: string.other.header-args.orgmode
149− push:
150− - meta_scope: meta.block.source.other.orgmode
151− - meta_content_scope: markup.raw.block.orgmode
152− - match: (?i)#\+(END_\2)$
153− captures:
154− 1: keyword.control.block.orgmode
155− pop: true
156− - match: '#\+(OPTIONS):'
157− captures:
158− 1: keyword.control.pragma.orgmode
159− push:
160− - meta_scope: meta.pragma.options.orgmode
161− - match: $
162− pop: true
163− - match: '([^\s]+):([^\s]+)'
164− scope: meta.option.orgmode
165− captures:
166− 1: variable.parameter.option.orgmode
167− 2: string.other.option.orgmode
168− - match: '#\+(CALL):\s+[A-Za-z-]+(?:\[([^\]]*)\])?\(?'
169− captures:
170− 1: keyword.control.pragma.orgmode
171− 2: string.other.header-args.orgmode
172− push:
173− - meta_scope: meta.pragma.call.orgmode
174− - match: '\)?([^)]*)$'
175− captures:
176− 1: string.other.header-args.orgmode
177− pop: true
178− - match: (\w+)=
179− scope: meta.assignment.orgmode
180− captures:
181− 1: variable.parameter.header-args.orgmode
182− - match: '^#\+([a-zA-Z_-]+): ?(.*)$'
183− scope: meta.pragma.orgmode
184− captures:
185− 1: keyword.control.pragma.orgmode
186− 2: string.unquoted.pragma.orgmode
187− - include: inline
188− heading-inline:
189− - match: ':([^:^\s]*)(?=:)'
190− scope: meta.keyword.orgmode
191− captures:
192− 1: string.quoted.keyword.orgmode
193− - include: inline
194− inline:
195− - match: '(?<=^|[.,:;\s])/[^/]+/(?=$|[.,:;\s])'
196− scope: markup.italic.orgmode
197− - match: '(?<=^|[.,:;\s])\*[^*]+\*(?=$|[.,:;\s])'
198− scope: markup.bold.orgmode
199− - match: '(?<=^|[.,:;\s])_[^_]+_(?=$|[.,:;\s])'
200− scope: markup.underline.orgmode
201− - match: '(?<=^|[.,:;\s])([~=]).+?\1(?=$|[.,:;\s])'
202− scope: markup.raw.inline.orgmode
203− - match: '\[(?:\[([^\]]*)\])?\[([^\]]*)\]\]'
204− scope: meta.link.orgmode
205− captures:
206− 1: markup.underline.link.orgmode
207− 2: string.other.link.orgmode
208− - match: (?:http|ftp)s?:\/\/\S+
209− scope: markup.underline.url.orgmode
210− list-inline:
211− - match: '\[[ -X]\]'
212− scope: keyword.operator.checkbox.orgmode
213− - include: inline
214− properties:
215− - match: '^:([A-Za-z_]+):\s(.*)$'
216− scope: meta.property.orgmode
217− captures:
218− 1: keyword.control.property.orgmode
219− 2: string.unquoted.propval.orgmode
assets/syntaxes/02_Extra/Passwd.sublime-syntaxdeleted−71
@@ -1,71 +0,0 @@
1−%YAML 1.2
2−---
3−# http://www.sublimetext.com/docs/3/syntax.html
4−name: passwd
5−file_extensions:
6− - passwd
7−scope: source.passwd
8−
9−contexts:
10− main:
11− - comment: name
12− match: ^[^:]+
13− scope: keyword
14−
15− - comment: password
16− match: ":"
17− push: password
18−
19− password:
20− - comment: uid
21− match: ":"
22− set: uid
23−
24− - comment: shadowpassword
25− match: "[^:]+"
26− scope: invalid
27−
28− uid:
29− - comment: gid
30− match: ":"
31− set: gid
32−
33− - comment: number
34− match: "[0-9]+"
35− scope: constant.numeric
36−
37− gid:
38− - comment: comment
39− match: ":"
40− set: comment
41−
42− - comment: number
43− match: "[0-9]+"
44− scope: constant.language
45−
46− comment:
47− - comment: directory
48− match: ":"
49− set: directory
50−
51− - comment: comment
52− match: "[^:]+"
53− scope: entity.name
54−
55− directory:
56− - comment: shell
57− match: ":"
58− set: shell
59−
60− - comment: directory
61− match: "[^:]+"
62− scope: string.unquoted
63−
64− shell:
65− - comment: newline
66− match: "\n"
67− pop: true
68−
69− - comment: directory
70− match: "[^:\n]+"
71− scope: variable.parameter
assets/syntaxes/02_Extra/PowerShelldeleted−1

Submodule changed.

assets/syntaxes/02_Extra/PowerShell.sublime-syntaxdeleted−461
@@ -1,461 +0,0 @@
1−%YAML 1.2
2−---
3−# http://www.sublimetext.com/docs/3/syntax.html
4−name: PowerShell
5−file_extensions:
6− - ps1
7− - psm1
8− - psd1
9−scope: source.powershell
10−contexts:
11− main:
12− - match: "<#"
13− captures:
14− 0: punctuation.definition.comment.block.begin.powershell
15− push:
16− - meta_scope: comment.block.powershell
17− - match: "#>"
18− captures:
19− 0: punctuation.definition.comment.block.end.powershell
20− pop: true
21− - include: commentEmbeddedDocs
22− - match: '[2-6]>&1|>>|>|<<|<|>|>\||[1-6]>|[1-6]>>'
23− scope: keyword.operator.redirection.powershell
24− - include: commands
25− - include: commentLine
26− - include: variable
27− - include: subexpression
28− - include: function
29− - include: attribute
30− - include: UsingDirective
31− - include: type
32− - include: hashtable
33− - include: doubleQuotedString
34− - include: scriptblock
35− - include: doubleQuotedStringEscapes
36− - match: '[''\x{2018}-\x{201B}]'
37− captures:
38− 0: punctuation.definition.string.begin.powershell
39− push:
40− - meta_scope: string.quoted.single.powershell
41− - match: '[''\x{2018}-\x{201B}]{2}'
42− scope: constant.character.escape.powershell
43− - match: '[''\x{2018}-\x{201B}]'
44− captures:
45− 0: punctuation.definition.string.end.powershell
46− pop: true
47− - match: '(@["\x{201C}-\x{201E}])\s*$'
48− captures:
49− 1: punctuation.definition.string.begin.powershell
50− push:
51− - meta_scope: string.quoted.double.heredoc.powershell
52− - match: '^["\x{201C}-\x{201E}]@'
53− captures:
54− 0: punctuation.definition.string.end.powershell
55− pop: true
56− - include: variableNoProperty
57− - include: doubleQuotedStringEscapes
58− - include: interpolation
59− - match: '(@[''\x{2018}-\x{201B}])\s*$'
60− captures:
61− 1: punctuation.definition.string.begin.powershell
62− push:
63− - meta_scope: string.quoted.single.heredoc.powershell
64− - match: '^[''\x{2018}-\x{201B}]@'
65− captures:
66− 0: punctuation.definition.string.end.powershell
67− pop: true
68− - include: numericConstant
69− - match: (@)(\()
70− captures:
71− 1: keyword.other.array.begin.powershell
72− 2: punctuation.section.group.begin.powershell
73− push:
74− - meta_scope: meta.group.array-expression.powershell
75− - match: \)
76− captures:
77− 0: punctuation.section.group.end.powershell
78− pop: true
79− - include: main
80− - match: ((\$))(\()
81− comment: "TODO: move to repo; make recursive."
82− captures:
83− 1: keyword.other.substatement.powershell
84− 2: punctuation.definition.subexpression.powershell
85− 3: punctuation.section.group.begin.powershell
86− push:
87− - meta_scope: meta.group.complex.subexpression.powershell
88− - match: \)
89− captures:
90− 0: punctuation.section.group.end.powershell
91− pop: true
92− - include: main
93− - match: '(\b(([A-Za-z0-9\-_\.]+)\.(?i:exe|com|cmd|bat))\b)'
94− scope: support.function.powershell
95− - match: (?<!\w|-|\.)((?i:begin|break|catch|clean|continue|data|default|define|do|dynamicparam|else|elseif|end|exit|finally|for|from|if|in|inlinescript|parallel|param|process|return|sequence|switch|throw|trap|try|until|var|while)|%|\?)(?!\w)
96− scope: keyword.control.powershell
97− - match: '(?<!\w|-|[^\)]\.)((?i:(foreach|where)(?!-object))|%|\?)(?!\w)'
98− scope: keyword.control.powershell
99− - match: (?<!\w)(--%)(?!\w)
100− comment: This should be moved to the repository at some point.
101− captures:
102− 1: keyword.control.powershell
103− push:
104− - match: $
105− pop: true
106− - match: .+
107− scope: string.unquoted.powershell
108− - match: (?<!\w)((?i:hidden|static))(?!\w)
109− comment: This should only be relevant inside a class but will require a rework of how classes are matched. This is a temp fix.
110− scope: storage.modifier.powershell
111− - match: '(?<!\w|-)((?i:class)|%|\?)(?:\s)+((?:\p{L}|\d|_|-|)+)\b'
112− comment: capture should be entity.name.type, but it doesn't provide a good color in the default schema.
113− captures:
114− 1: storage.type.powershell
115− 2: entity.name.function
116− - match: (?<!\w)-(?i:is(?:not)?|as)\b
117− scope: keyword.operator.comparison.powershell
118− - match: '(?<!\w)-(?i:[ic]?(?:eq|ne|[gl][te]|(?:not)?(?:like|match|contains|in)|replace))(?!\p{L})'
119− scope: keyword.operator.comparison.powershell
120− - match: '(?<!\w)-(?i:join|split)(?!\p{L})|!'
121− scope: keyword.operator.unary.powershell
122− - match: '(?<!\w)-(?i:and|or|not|xor)(?!\p{L})|!'
123− scope: keyword.operator.logical.powershell
124− - match: '(?<!\w)-(?i:band|bor|bnot|bxor|shl|shr)(?!\p{L})'
125− scope: keyword.operator.bitwise.powershell
126− - match: '(?<!\w)-(?i:f)(?!\p{L})'
127− scope: keyword.operator.string-format.powershell
128− - match: "[+%*/-]?=|[+/*%-]"
129− scope: keyword.operator.assignment.powershell
130− - match: '\|{2}|&{2}|;'
131− scope: punctuation.terminator.statement.powershell
132− - match: '&|(?<!\w)\.(?= )|`|,|\|'
133− scope: keyword.operator.other.powershell
134− - match: (?<!\s|^)\.\.(?=\-?\d|\(|\$)
135− comment: This is very imprecise, is there a syntax for 'must come after...'
136− scope: keyword.operator.range.powershell
137− RequiresDirective:
138− - match: (?<=#)(?i:(requires))\s
139− captures:
140− 0: keyword.control.requires.powershell
141− push:
142− - meta_scope: meta.requires.powershell
143− - match: $
144− pop: true
145− - match: \-(?i:Modules|PSSnapin|RunAsAdministrator|ShellId|Version|Assembly|PSEdition)
146− scope: keyword.other.powershell
147− - match: '(?<!-)\b\p{L}+|\d+(?:\.\d+)*'
148− scope: variable.parameter.powershell
149− - include: hashtable
150− UsingDirective:
151− - match: (?<!\w)(?i:(using))\s+(?i:(namespace|module))\s+(?i:((?:\w+(?:\.)?)+))
152− captures:
153− 1: keyword.control.using.powershell
154− 2: keyword.other.powershell
155− 3: variable.parameter.powershell
156− attribute:
157− - match: '(\[)\s*\b(?i)(cmdletbinding|alias|outputtype|parameter|validatenotnull|validatenotnullorempty|validatecount|validateset|allownull|allowemptycollection|allowemptystring|validatescript|validaterange|validatepattern|validatelength|supportswildcards)\b'
158− captures:
159− 1: punctuation.section.bracket.begin.powershell
160− 2: support.function.attribute.powershell
161− push:
162− - meta_scope: meta.attribute.powershell
163− - match: '(\])'
164− captures:
165− 1: punctuation.section.bracket.end.powershell
166− pop: true
167− - match: \(
168− captures:
169− 0: punctuation.section.group.begin.powershell
170− push:
171− - match: \)
172− captures:
173− 0: punctuation.section.group.end.powershell
174− pop: true
175− - include: main
176− - match: (?i)\b(mandatory|valuefrompipeline|valuefrompipelinebypropertyname|valuefromremainingarguments|position|parametersetname|defaultparametersetname|supportsshouldprocess|supportspaging|positionalbinding|helpuri|confirmimpact|helpmessage)\b(?:\s+)?(=)?
177− captures:
178− 1: variable.parameter.attribute.powershell
179− 2: keyword.operator.assignment.powershell
180− commands:
181− - match: '(?:(\p{L}|\d|_|-|\\|\:)*\\)?\b(?i:Add|Approve|Assert|Backup|Block|Build|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Deploy|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Mount|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Write)\-.+?(?:\.(?i:exe|cmd|bat|ps1))?\b'
182− comment: "Verb-Noun pattern:"
183− scope: support.function.powershell
184− - match: (?<!\w)(?i:foreach-object)(?!\w)
185− comment: Builtin cmdlets with reserved verbs
186− scope: support.function.powershell
187− - match: (?<!\w)(?i:where-object)(?!\w)
188− comment: Builtin cmdlets with reserved verbs
189− scope: support.function.powershell
190− - match: (?<!\w)(?i:sort-object)(?!\w)
191− comment: Builtin cmdlets with reserved verbs
192− scope: support.function.powershell
193− - match: (?<!\w)(?i:tee-object)(?!\w)
194− comment: Builtin cmdlets with reserved verbs
195− scope: support.function.powershell
196− commentEmbeddedDocs:
197− - match: (?:^|\G)(?i:\s*(\.)(COMPONENT|DESCRIPTION|EXAMPLE|FUNCTIONALITY|INPUTS|LINK|NOTES|OUTPUTS|ROLE|SYNOPSIS))\s*$
198− comment: these embedded doc keywords do not support arguments, must be the only thing on the line
199− scope: comment.documentation.embedded.powershell
200− captures:
201− 1: constant.string.documentation.powershell
202− 2: keyword.operator.documentation.powershell
203− - match: (?:^|\G)(?i:\s*(\.)(EXTERNALHELP|FORWARDHELP(?:CATEGORY|TARGETNAME)|PARAMETER|REMOTEHELPRUNSPACE))\s+(.+?)\s*$
204− comment: these embedded doc keywords require arguments though the type required may be inconsistent, they may not all be able to use the same argument match
205− scope: comment.documentation.embedded.powershell
206− captures:
207− 1: constant.string.documentation.powershell
208− 2: keyword.operator.documentation.powershell
209− 3: keyword.operator.documentation.powershell
210− commentLine:
211− - match: '(?<![`\\-])(#)#*'
212− captures:
213− 1: punctuation.definition.comment.powershell
214− push:
215− - meta_scope: comment.line.powershell
216− - match: $\n?
217− captures:
218− 1: punctuation.definition.comment.powershell
219− pop: true
220− - include: commentEmbeddedDocs
221− - include: RequiresDirective
222− doubleQuotedString:
223− - match: '["\x{201C}-\x{201E}]'
224− captures:
225− 0: punctuation.definition.string.begin.powershell
226− push:
227− - meta_scope: string.quoted.double.powershell
228− - match: '(?i)\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,64}\b'
229− - include: variableNoProperty
230− - include: doubleQuotedStringEscapes
231− - match: '["\x{201C}-\x{201E}]{2}'
232− scope: constant.character.escape.powershell
233− - include: interpolation
234− - match: '`\s*$'
235− scope: keyword.other.powershell
236− - match: '["\x{201C}-\x{201E}]'
237− captures:
238− 0: punctuation.definition.string.end.powershell
239− pop: true
240− doubleQuotedStringEscapes:
241− - match: '`[`0abefnrtv''"\x{2018}-\x{201E}$]'
242− scope: constant.character.escape.powershell
243− - include: unicodeEscape
244− function:
245− - match: '^(?:\s*+)(?i)(function|filter|configuration|workflow)\s+(?:(global|local|script|private):)?((?:\p{L}|\d|_|-|\.)+)'
246− captures:
247− 0: meta.function.powershell
248− 1: storage.type.powershell
249− 2: storage.modifier.scope.powershell
250− 3: entity.name.function.powershell
251− push:
252− - match: '(?=\{|\()'
253− pop: true
254− - include: commentLine
255− hashtable:
256− - match: '(@)(\{)'
257− captures:
258− 1: keyword.other.hashtable.begin.powershell
259− 2: punctuation.section.braces.begin.powershell
260− push:
261− - meta_scope: meta.hashtable.powershell
262− - match: '(\})'
263− captures:
264− 1: punctuation.section.braces.end.powershell
265− pop: true
266− - match: \b((?:\'|\")?)(\w+)((?:\'|\")?)(?:\s+)?(=)(?:\s+)?
267− scope: meta.hashtable.assignment.powershell
268− captures:
269− 1: punctuation.definition.string.begin.powershell
270− 2: variable.other.readwrite.powershell
271− 3: punctuation.definition.string.end.powershell
272− 4: keyword.operator.assignment.powershell
273− - include: scriptblock
274− - include: main
275− interpolation:
276− - match: (((\$)))((\())
277− captures:
278− 1: keyword.other.substatement.powershell
279− 2: punctuation.definition.substatement.powershell
280− 3: punctuation.section.embedded.substatement.begin.powershell
281− 4: punctuation.section.group.begin.powershell
282− 5: punctuation.section.embedded.substatement.begin.powershell
283− push:
284− - meta_scope: meta.embedded.substatement.powershell
285− - meta_content_scope: interpolated.complex.source.powershell
286− - match: (\))
287− captures:
288− 0: punctuation.section.group.end.powershell
289− 1: punctuation.section.embedded.substatement.end.powershell
290− pop: true
291− - include: main
292− numericConstant:
293− - match: '(?<!\w)([-+]?0(?:x|X)[0-9a-fA-F_]+(?:U|u|L|l|UL|Ul|uL|ul|LU|Lu|lU|lu)?)((?i:[kmgtp]b)?)\b'
294− captures:
295− 1: constant.numeric.hex.powershell
296− 2: keyword.other.powershell
297− - match: '(?<!\w)([-+]?(?:[0-9_]+)?\.[0-9_]+(?:(?:e|E)[0-9]+)?(?:F|f|D|d|M|m)?)((?i:[kmgtp]b)?)\b'
298− captures:
299− 1: constant.numeric.integer.powershell
300− 2: keyword.other.powershell
301− - match: '(?<!\w)([-+]?0(?:b|B)[01_]+(?:U|u|L|l|UL|Ul|uL|ul|LU|Lu|lU|lu)?)((?i:[kmgtp]b)?)\b'
302− captures:
303− 1: constant.numeric.octal.powershell
304− 2: keyword.other.powershell
305− - match: '(?<!\w)([-+]?[0-9_]+(?:e|E)(?:[0-9_])?+(?:F|f|D|d|M|m)?)((?i:[kmgtp]b)?)\b'
306− captures:
307− 1: constant.numeric.integer.powershell
308− 2: keyword.other.powershell
309− - match: '(?<!\w)([-+]?[0-9_]+\.(?:e|E)(?:[0-9_])?+(?:F|f|D|d|M|m)?)((?i:[kmgtp]b)?)\b'
310− captures:
311− 1: constant.numeric.integer.powershell
312− 2: keyword.other.powershell
313− - match: '(?<!\w)([-+]?[0-9_]+[\.]?(?:F|f|D|d|M|m))((?i:[kmgtp]b)?)\b'
314− captures:
315− 1: constant.numeric.integer.powershell
316− 2: keyword.other.powershell
317− - match: '(?<!\w)([-+]?[0-9_]+[\.]?(?:U|u|L|l|UL|Ul|uL|ul|LU|Lu|lU|lu)?)((?i:[kmgtp]b)?)\b'
318− captures:
319− 1: constant.numeric.integer.powershell
320− 2: keyword.other.powershell
321− scriptblock:
322− - match: '\{'
323− captures:
324− 0: punctuation.section.braces.begin.powershell
325− push:
326− - meta_scope: meta.scriptblock.powershell
327− - match: '\}'
328− captures:
329− 0: punctuation.section.braces.end.powershell
330− pop: true
331− - include: main
332− subexpression:
333− - match: \(
334− captures:
335− 0: punctuation.section.group.begin.powershell
336− push:
337− - meta_scope: meta.group.simple.subexpression.powershell
338− - match: \)
339− captures:
340− 0: punctuation.section.group.end.powershell
341− pop: true
342− - include: main
343− type:
344− - match: '\['
345− captures:
346− 0: punctuation.section.bracket.begin.powershell
347− push:
348− - match: '\]'
349− captures:
350− 0: punctuation.section.bracket.end.powershell
351− pop: true
352− - match: '(?!\d+|\.)(?:\p{L}|\p{N}|\.)+'
353− scope: storage.type.powershell
354− - include: main
355− unicodeEscape:
356− - match: '`u\{(?:(?:10)?([0-9a-fA-F]){1,4}|0?\g<1>{1,5})}'
357− scope: constant.character.escape.powershell
358− - match: '`u(?:\{[0-9a-fA-F]{,6}.)?'
359− scope: invalid.character.escape.powershell
360− variable:
361− - match: (\$)(?i:(False|Null|True))\b
362− comment: These are special constants.
363− captures:
364− 0: constant.language.powershell
365− 1: punctuation.definition.variable.powershell
366− - match: '(\$)(?i:(Error|ExecutionContext|Host|Home|PID|PsHome|PsVersionTable|ShellID))((?:\.(?:\p{L}|\d|_)+)*\b)?\b'
367− comment: These are the other built-in constants.
368− captures:
369− 0: support.constant.variable.powershell
370− 1: punctuation.definition.variable.powershell
371− 3: variable.other.member.powershell
372− - match: '(\$)((?:[$^?])|(?i:_|Args|ConsoleFileName|Event|EventArgs|EventSubscriber|ForEach|Input|LastExitCode|Matches|MyInvocation|NestedPromptLevel|Profile|PSBoundParameters|PsCmdlet|PsCulture|PSDebugContext|PSItem|PSCommandPath|PSScriptRoot|PsUICulture|Pwd|Sender|SourceArgs|SourceEventArgs|StackTrace|Switch|This)\b)((?:\.(?:\p{L}|\d|_)+)*\b)?'
373− comment: Automatic variables are not constants, but they are read-only. In monokai (default) color schema support.variable doesn't have color, so we use constant.
374− captures:
375− 0: support.variable.automatic.powershell
376− 1: punctuation.definition.variable.powershell
377− 3: variable.other.member.powershell
378− - match: '(\$)(?i:(ConfirmPreference|DebugPreference|ErrorActionPreference|ErrorView|FormatEnumerationLimit|InformationPreference|LogCommandHealthEvent|LogCommandLifecycleEvent|LogEngineHealthEvent|LogEngineLifecycleEvent|LogProviderHealthEvent|LogProviderLifecycleEvent|MaximumAliasCount|MaximumDriveCount|MaximumErrorCount|MaximumFunctionCount|MaximumHistoryCount|MaximumVariableCount|OFS|OutputEncoding|PSCulture|PSDebugContext|PSDefaultParameterValues|PSEmailServer|PSItem|PSModuleAutoLoadingPreference|PSModuleAutoloadingPreference|PSSenderInfo|PSSessionApplicationName|PSSessionConfigurationName|PSSessionOption|ProgressPreference|VerbosePreference|WarningPreference|WhatIfPreference))((?:\.(?:\p{L}|\d|_)+)*\b)?\b'
379− comment: Style preference variables as language variables so that they stand out.
380− captures:
381− 0: variable.language.powershell
382− 1: punctuation.definition.variable.powershell
383− 3: variable.other.member.powershell
384− - match: '(?i:(\$|@)(global|local|private|script|using|workflow):((?:\p{L}|\d|_)+))((?:\.(?:\p{L}|\d|_)+)*\b)?'
385− captures:
386− 0: variable.other.readwrite.powershell
387− 1: punctuation.definition.variable.powershell
388− 2: storage.modifier.scope.powershell
389− 4: variable.other.member.powershell
390− - match: '(?i:(\$)(\{)(global|local|private|script|using|workflow):([^}]*[^}`])(\}))((?:\.(?:\p{L}|\d|_)+)*\b)?'
391− captures:
392− 0: variable.other.readwrite.powershell
393− 1: punctuation.definition.variable.powershell
394− 2: punctuation.section.braces.begin.powershell
395− 3: storage.modifier.scope.powershell
396− 5: punctuation.section.braces.end.powershell
397− 6: variable.other.member.powershell
398− - match: '(?i:(\$|@)((?:\p{L}|\d|_)+:)?((?:\p{L}|\d|_)+))((?:\.(?:\p{L}|\d|_)+)*\b)?'
399− captures:
400− 0: variable.other.readwrite.powershell
401− 1: punctuation.definition.variable.powershell
402− 2: support.variable.drive.powershell
403− 4: variable.other.member.powershell
404− - match: '(?i:(\$)(\{)((?:\p{L}|\d|_)+:)?([^}]*[^}`])(\}))((?:\.(?:\p{L}|\d|_)+)*\b)?'
405− captures:
406− 0: variable.other.readwrite.powershell
407− 1: punctuation.definition.variable.powershell
408− 2: punctuation.section.braces.begin.powershell
409− 3: support.variable.drive.powershell
410− 5: punctuation.section.braces.end.powershell
411− 6: variable.other.member.powershell
412− variableNoProperty:
413− - match: (\$)(?i:(False|Null|True))\b
414− comment: These are special constants.
415− captures:
416− 0: constant.language.powershell
417− 1: punctuation.definition.variable.powershell
418− - match: (\$)(?i:(Error|ExecutionContext|Host|Home|PID|PsHome|PsVersionTable|ShellID))\b
419− comment: These are the other built-in constants.
420− captures:
421− 0: support.constant.variable.powershell
422− 1: punctuation.definition.variable.powershell
423− 3: variable.other.member.powershell
424− - match: '(\$)((?:[$^?])|(?i:_|Args|ConsoleFileName|Event|EventArgs|EventSubscriber|ForEach|Input|LastExitCode|Matches|MyInvocation|NestedPromptLevel|Profile|PSBoundParameters|PsCmdlet|PsCulture|PSDebugContext|PSItem|PSCommandPath|PSScriptRoot|PsUICulture|Pwd|Sender|SourceArgs|SourceEventArgs|StackTrace|Switch|This)\b)'
425− comment: Automatic variables are not constants, but they are read-only...
426− captures:
427− 0: support.variable.automatic.powershell
428− 1: punctuation.definition.variable.powershell
429− 3: variable.other.member.powershell
430− - match: (\$)(?i:(ConfirmPreference|DebugPreference|ErrorActionPreference|ErrorView|FormatEnumerationLimit|InformationPreference|LogCommandHealthEvent|LogCommandLifecycleEvent|LogEngineHealthEvent|LogEngineLifecycleEvent|LogProviderHealthEvent|LogProviderLifecycleEvent|MaximumAliasCount|MaximumDriveCount|MaximumErrorCount|MaximumFunctionCount|MaximumHistoryCount|MaximumVariableCount|OFS|OutputEncoding|PSCulture|PSDebugContext|PSDefaultParameterValues|PSEmailServer|PSItem|PSModuleAutoLoadingPreference|PSModuleAutoloadingPreference|PSSenderInfo|PSSessionApplicationName|PSSessionConfigurationName|PSSessionOption|ProgressPreference|VerbosePreference|WarningPreference|WhatIfPreference))\b
431− comment: Style preference variables as language variables so that they stand out.
432− captures:
433− 0: variable.language.powershell
434− 1: punctuation.definition.variable.powershell
435− 3: variable.other.member.powershell
436− - match: '(?i:(\$)(global|local|private|script|using|workflow):((?:\p{L}|\d|_)+))'
437− captures:
438− 0: variable.other.readwrite.powershell
439− 1: punctuation.definition.variable.powershell
440− 2: storage.modifier.scope.powershell
441− 4: variable.other.member.powershell
442− - match: '(?i:(\$)(\{)(global|local|private|script|using|workflow):([^}]*[^}`])(\}))'
443− captures:
444− 0: variable.other.readwrite.powershell
445− 1: punctuation.definition.variable.powershell
446− 2: storage.modifier.scope.powershell
447− 4: keyword.other.powershell
448− 5: variable.other.member.powershell
449− - match: '(?i:(\$)((?:\p{L}|\d|_)+:)?((?:\p{L}|\d|_)+))'
450− captures:
451− 0: variable.other.readwrite.powershell
452− 1: punctuation.definition.variable.powershell
453− 2: support.variable.drive.powershell
454− 4: variable.other.member.powershell
455− - match: '(?i:(\$)(\{)((?:\p{L}|\d|_)+:)?([^}]*[^}`])(\}))'
456− captures:
457− 0: variable.other.readwrite.powershell
458− 1: punctuation.definition.variable.powershell
459− 2: punctuation.section.braces.begin
460− 3: support.variable.drive.powershell
461− 5: punctuation.section.braces.end
assets/syntaxes/02_Extra/Protobufdeleted−1

Submodule changed.

assets/syntaxes/02_Extra/Puppetdeleted−1

Submodule changed.

assets/syntaxes/02_Extra/PureScriptdeleted−1

Submodule changed.

assets/syntaxes/02_Extra/QMLdeleted−1

Submodule changed.

assets/syntaxes/02_Extra/QML.sublime-syntaxdeleted−103
@@ -1,103 +0,0 @@
1−%YAML 1.2
2−---
3−# http://www.sublimetext.com/docs/3/syntax.html
4−name: QML
5−file_extensions:
6− - qml
7− - qmlproject
8−scope: source.qml
9−contexts:
10− main:
11− - match: /\*(?!/)
12− comment: Block comment.
13− push:
14− - meta_scope: comment.block.documentation.qml
15− - match: \*/
16− pop: true
17− - match: //.*$
18− comment: Line comment.
19− scope: comment.line.double-slash.qml
20− - match: \b(import)\s+
21− comment: import statement.
22− captures:
23− 1: keyword.other.import.qml
24− push:
25− - meta_scope: meta.import.qml
26− - match: $
27− pop: true
28− - match: '([\w\d\.]+)\s+(\d+\.\d+)(?:\s+(as)\s+([A-Z][\w\d]*))?'
29− comment: "import Namespace VersionMajor.VersionMinor [as SingletonTypeIdentifier]"
30− scope: meta.import.namespace.qml
31− captures:
32− 1: entity.name.class.qml
33− 2: constant.numeric.qml
34− 3: keyword.other.import.qml
35− 4: entity.name.class.qml
36− - match: '(\"[^\"]+\")(?:\s+(as)\s+([A-Z][\w\d]*))?'
37− comment: "import <string> [as Script]"
38− scope: meta.import.dirjs.qml
39− captures:
40− 1: string.quoted.double.qml
41− 2: keyword.other.import.qml
42− 3: entity.name.class.qml
43− - match: '\b[A-Z]\w*\b'
44− comment: Capitalized word (class or enum).
45− scope: support.class.qml
46− - match: '(((^|\{)\s*)|\b)on[A-Z]\w*\b'
47− comment: onSomething - handler.
48− scope: support.class.qml
49− - match: '(?:^|\{)\s*(id)\s*\:\s*([^;\s]+)\b'
50− comment: "id: <something>"
51− scope: meta.id.qml
52− captures:
53− 1: keyword.other.qml
54− 2: storage.modifier.qml
55− - match: '^\s*(?:(default|readonly)\s+)?(property)\s+(?:(alias)|([\w\<\>]+))\s+(\w+)'
56− comment: property definition.
57− scope: meta.propertydef.qml
58− captures:
59− 1: keyword.other.qml
60− 2: keyword.other.qml
61− 3: keyword.other.qml
62− 4: storage.type.qml
63− 5: entity.other.attribute-name.qml
64− - match: \b(signal)\s+(\w+)\s*
65− comment: "signal <signalName>[([<type> <parameter>[, ...]])]"
66− captures:
67− 1: keyword.other.qml
68− 2: support.function.qml
69− push:
70− - meta_scope: meta.signal.qml
71− - match: ;|(?=/)|$
72− pop: true
73− - match: (\w+)\s+(\w+)
74− scope: meta.signal.parameters.qml
75− captures:
76− 1: storage.type.qml
77− 2: variable.parameter.qml
78− - match: (?:\b|\s+)(?:(true|false|null|undefined)|(var|void)|(on|as|enum|connect|break|case|catch|continue|debugger|default|delete|do|else|finally|for|if|in|instanceof|new|return|switch|this|throw|try|typeof|while|with))\b
79− comment: js keywords.
80− scope: meta.keyword.qml
81− captures:
82− 1: constant.language.qml
83− 2: storage.type.qml
84− 3: keyword.control.qml
85− - match: '\b(function)\s+([\w_]+)\s*(?=\()'
86− comment: function definition.
87− scope: meta.function.qml
88− captures:
89− 1: storage.type.qml
90− 2: entity.name.function.untitled
91− - match: '\b[\w_]+\s*(?=\()'
92− comment: function call.
93− scope: support.function.qml
94− - match: '(?:^|\{|;)\s*[a-z][\w\.]*\s*(?=\:)'
95− comment: "property (property: <something>)."
96− scope: entity.other.attribute-name.qml
97− - match: (?<=\.)\b\w*
98− comment: property of the variable (name.property).
99− scope: entity.other.attribute-name.qml
100− - match: '\b([a-z_]\w*)\b'
101− comment: All non colored words are assumed to be variables.
102− scope: variable.parameter
103− - include: scope:source.js
assets/syntaxes/02_Extra/Racketdeleted−1

Submodule changed.

assets/syntaxes/02_Extra/Racket.sublime-syntaxdeleted−52
@@ -1,52 +0,0 @@
1−%YAML 1.2
2−---
3−# http://www.sublimetext.com/docs/3/syntax.html
4−name: Racket
5−file_extensions:
6− - rkt
7−scope: source.racket
8−contexts:
9− main:
10− - match: '[^\\](\"[^\"]*\")'
11− captures:
12− 1: string.quoted.double.source.racket
13− - match: '\((define)\s+([a-zA-Z0-9_\-?\+^]+)\s*'
14− scope: meta.variable.source.racket
15− captures:
16− 1: keyword.source.racket
17− 2: entity.name.variable.source.racket
18− - match: '\((define)\s+\(([a-zA-Z0-9_\-?\+^]+)\s*'
19− scope: meta.function.source.racket
20− captures:
21− 1: keyword.source.racket
22− 2: entity.name.function
23− - match: '\((struct)\s+([a-zA-Z0-9_\-?\+^]+)\s+'
24− scope: meta.struct.source.racket
25− captures:
26− 1: keyword.source.racket
27− 2: entity.name.type
28− - match: '[\s\(](if|lambda|cond|define|type-case|let|letrec|let!|\#lang|require|test|else|first|rest|define-type|define-type-alias|define-struct|not|local|error|lang)[\s\)]'
29− scope: meta.keywords.source.racket
30− captures:
31− 1: keyword.source.racket
32− - match: '[\s\(](true|false|empty|null)[\s\)]'
33− captures:
34− 1: constant.language.source.racket
35− - match: '[\s\(\[\{](#t|#true|#f|#false)[\s\)\]\}]'
36− captures:
37− 1: constant.language.source.racket
38− - match: '(#\\[a-zA-Z0-9_\-?\+\.\!\"]+)'
39− captures:
40− 1: constant.language.source.racket
41− - match: '\b(0|([1-9][0-9_]*))\b'
42− scope: constant.numeric.integer.source.racket
43− - match: ;
44− push:
45− - meta_scope: comment.line.documentation.source.racket
46− - match: $\n
47− pop: true
48− - match: '#\|'
49− push:
50− - meta_scope: comment.block.source.racket
51− - match: '\|#'
52− pop: true
assets/syntaxes/02_Extra/Rego.sublime-syntaxdeleted−97
@@ -1,97 +0,0 @@
1−%YAML 1.2
2−---
3−# http://www.sublimetext.com/docs/3/syntax.html
4−name: Rego
5−file_extensions:
6− - rego
7−scope: source.rego
8−contexts:
9− main:
10− - include: comment
11− - include: keyword
12− - include: operator
13− - include: head
14− - include: term
15− comment:
16− - match: (#).*$\n?
17− scope: comment.line.number-sign.rego
18− captures:
19− 1: punctuation.definition.comment.rego
20− call:
21− - match: '([a-zA-Z_][a-zA-Z0-9_]*)\('
22− scope: meta.function-call.rego
23− captures:
24− 1: support.function.any-method.rego
25− constant:
26− - match: \b(?:true|false|null)\b
27− scope: constant.language.rego
28− head:
29− - match: "^([[:alpha:]_][[:alnum:]_]*)"
30− captures:
31− 1: entity.name.function.declaration
32− push:
33− - meta_scope: meta.function.rego
34− - match: '(=|{|\n)'
35− pop: true
36− - include: term
37− keyword:
38− - match: (^|\s+)(?:(default|not|package|import|as|with|else|some))\s+
39− scope: keyword.other.rego
40− number:
41− - match: |-
42− (?x: # turn on extended mode
43− -? # an optional minus
44− (?:
45− 0 # a zero
46− | # ...or...
47− [1-9] # a 1-9 character
48− \d* # followed by zero or more digits
49− )
50− (?:
51− (?:
52− \. # a period
53− \d+ # followed by one or more digits
54− )?
55− (?:
56− [eE] # an e character
57− [+-]? # followed by an option +/-
58− \d+ # followed by one or more digits
59− )? # make exponent optional
60− )? # make decimal portion optional
61− )
62− scope: constant.numeric.rego
63− operator:
64− - match: \=|\!\=|>|<|<\=|>\=|\+|-|\*|%|/|\||&|:\=
65− scope: keyword.operator.comparison.rego
66− string:
67− - match: '"'
68− captures:
69− 0: punctuation.definition.string.begin.rego
70− push:
71− - meta_scope: string.quoted.double.rego
72− - match: '"'
73− captures:
74− 0: punctuation.definition.string.end.rego
75− pop: true
76− - match: |-
77− (?x: # turn on extended mode
78− \\ # a literal backslash
79− (?: # ...followed by...
80− ["\\/bfnrt] # one of these characters
81− | # ...or...
82− u # a u
83− [0-9a-fA-F]{4} # and four hex digits
84− )
85− )
86− scope: constant.character.escape.rego
87− - match: \\.
88− scope: invalid.illegal.unrecognized-string-escape.rego
89− term:
90− - include: constant
91− - include: string
92− - include: number
93− - include: call
94− - include: variable
95− variable:
96− - match: '\b[[:alpha:]_][[:alnum:]_]*\b'
97− scope: meta.identifier.rego
assets/syntaxes/02_Extra/Resolv.sublime-syntaxdeleted−21
@@ -1,21 +0,0 @@
1−%YAML 1.2
2−---
3−# http://www.sublimetext.com/docs/3/syntax.html
4−name: resolv
5−file_extensions:
6− - resolv.conf
7−scope: source.resolv
8−
9−contexts:
10− main:
11− - scope: comment.line.number-sign
12− match: \#.*
13− comment: comment
14−
15− - comment: configuration
16− match: "(nameserver|domain|search|sortlist|options)"
17− scope: keyword.control
18−
19− - comment: options
20− match: "(debug|ndots|timeout|attempts|rotate|no-check-names|inet6|ip6-bytestring|ip6-dotint|no-ip6-dotint|edns0|single-request|single-request-reopen|no-tld-query|use-vc|no-reload)"
21− scope: entity.name
assets/syntaxes/02_Extra/Robotdeleted−1

Submodule changed.

assets/syntaxes/02_Extra/Robot.sublime-syntaxdeleted−58
@@ -1,58 +0,0 @@
1−%YAML 1.2
2−---
3−# http://www.sublimetext.com/docs/3/syntax.html
4−name: Robot Framework
5−file_extensions:
6− - robot
7− - resource
8−scope: source.robot
9−contexts:
10− main:
11− - match: '\$\{(\d+|\d+\.\d*|0[bB][01]+|0[oO][0-7]+|0[xX][0-9a-fA-F]+)\}'
12− comment: "Robot Framework numbers, like ${1} or ${12.3}"
13− scope: constant.numeric.robot
14− - match: '(?i)(%\{[\w|\s]+\})'
15− comment: "Robot Framework environment variable, like %{USER}"
16− scope: variable.parameter.robot
17− - match: '((?<!\\)|(?<=\\\\))[$&]{'
18− comment: Robot Framework scalar and dictionary variables
19− push:
20− - meta_scope: entity.name.class
21− - match: '\}'
22− pop: true
23− - match: '((?<!\\)(@{)|(?<=\\\\)(@{))'
24− comment: Robot Framework list variables
25− push:
26− - meta_scope: entity.name.class
27− - match: '(}\[.+])|(})'
28− pop: true
29− - match: '(?i)^(\|\s*)?(\*{1,3} ?)(settings?|variables?|keywords?|test cases?)( ?\*{1,3})?(\s*\|)?'
30− comment: Robot Framework data tables
31− scope: string.robot.header
32− - match: '(?i)(^\|\s*)?\[?Documentation\]?\s+'
33− comment: Test case, keyword and settings table documentation
34− push:
35− - meta_scope: comment
36− - match: ^(?!\s*+\.\.\.)
37− pop: true
38− - match: '(^| {2,}|\t|\\| {1,})(?<!\\\\)#'
39− comment: Comment character
40− push:
41− - meta_scope: comment
42− - match: $
43− pop: true
44− - match: '(?i)\s+\[(Tags|Setup|Teardown|Template|Timeout|Arguments|Return)\]'
45− comment: Tests case and keyword settings
46− scope: storage.type
47− - match: (?i)^(\|\s*)?(Library|Resource|Test Timeout|Test Template|Test Teardown|Test Setup|Default Tags|Force Tags|Metadata|Variables|Suite Setup|Suite Teardown)(?:( )|( \| ))
48− comment: Settings table settings, like Library
49− scope: constant.language
50− - match: '^(\|\s+)?(?!^\.{3})(?![\|$&])\S+'
51− comment: Keywords and test cases
52− push:
53− - meta_scope: keyword.control.robot
54− - match: '($|\||\s{2,})'
55− pop: true
56− - match: (?i)^\s+(Given|When|and|but|Then)
57− comment: BDD keywords
58− scope: string.robot.bdd
assets/syntaxes/02_Extra/SCSS_Sassdeleted−1

Submodule changed.

assets/syntaxes/02_Extra/SLSdeleted−1

Submodule changed.

assets/syntaxes/02_Extra/SML.sublime-syntaxdeleted−33
@@ -1,33 +0,0 @@
1−%YAML 1.2
2−---
3−# http://www.sublimetext.com/docs/3/syntax.html
4−name: SML
5−file_extensions:
6− - sml
7− - cm
8− - sig
9−scope: source.sml
10−contexts:
11− main:
12− - match: \b(EQUAL|GREATER|LESS|NONE|SOME|abstraction|abstype|and|andalso|array|as|before|bool|case|char|datatype|do|else|end|eqtype|exception|exn|false|fn|fun|functor|handle|if|in|include|infix|infixr|int|let|list|local|nil|nonfix|not|o|of|op|open|option|orelse|overload|print|raise|real|rec|ref|sharing|sig|signature|string|struct|structure|substring|then|true|type|unit|val|vector|where|while|with|withtype|word)\b
13− comment: SML keywords
14− scope: keyword.source.sml
15− - match: '\b[0-9]+\b'
16− comment: Numeric constants
17− scope: constant.numeric.sml
18− - match: '\b[A-Z]([A-z0-9]*)\b'
19− comment: Built in types
20− scope: support.type.sml
21− - match: '"(\\"|[^"])*"'
22− comment: String constant
23− scope: string.sml
24− - match: \(\*
25− comment: Comment
26− push:
27− - meta_scope: comment.sml
28− - match: \*\)
29− pop: true
30− - match: '(\(\)|=>|::|\[\]|->|:>)'
31− comment: Character
32− scope: constant.character.sml
33−
assets/syntaxes/02_Extra/Slimdeleted−1

Submodule changed.

assets/syntaxes/02_Extra/Slim.sublime-syntaxdeleted−306
@@ -1,306 +0,0 @@
1−%YAML 1.2
2−---
3−# http://www.sublimetext.com/docs/syntax.html
4−name: Ruby Slim
5−file_extensions:
6− - slim
7− - skim
8−scope: text.slim
9−contexts:
10− main:
11− - match: ^(\s*)(ruby):$
12− captures:
13− 2: constant.language.name.ruby.filter.slim
14− push:
15− - meta_scope: text.ruby.filter.slim
16− - match: ^(?!(\1\s)|\s*$)
17− pop: true
18− - include: scope:source.ruby
19− - match: ^(\s*)(javascript):$
20− captures:
21− 2: constant.language.name.javascript.filter.slim
22− push:
23− - meta_scope: source.js.filter.slim
24− - match: ^(?!(\1\s)|\s*$)
25− pop: true
26− - include: scope:source.js
27− - match: ^(---)\s*\n
28− captures:
29− 1: storage.frontmatter.slim
30− push:
31− - meta_scope: source.yaml.meta.slim
32− - match: ^(---)\s*\n
33− captures:
34− 1: storage.frontmatter.slim
35− pop: true
36− - include: scope:source.yaml
37− - match: ^(\s*)(coffee):$
38− captures:
39− 2: constant.language.name.coffeescript.filter.slim
40− push:
41− - meta_scope: text.coffeescript.filter.slim
42− - match: ^(?!(\1\s)|\s*$)
43− pop: true
44− - include: scope:source.coffee
45− - match: ^(\s*)(markdown):$
46− captures:
47− 2: constant.language.name.markdown.filter.slim
48− push:
49− - meta_scope: text.markdown.filter.slim
50− - match: ^(?!(\1\s)|\s*$)
51− pop: true
52− - include: scope:text.html.markdown
53− - match: ^(\s*)(css):$
54− captures:
55− 2: constant.language.name.css.filter.slim
56− push:
57− - meta_scope: text.css.filter.slim
58− - match: ^(?!(\1\s)|\s*$)
59− pop: true
60− - include: scope:source.css
61− - match: ^(\s*)(sass):$
62− captures:
63− 2: constant.language.name.sass.filter.slim
64− push:
65− - meta_scope: text.sass.filter.slim
66− - match: ^(?!(\1\s)|\s*$)
67− pop: true
68− - include: scope:source.sass
69− - match: ^(\s*)(scss):$
70− captures:
71− 2: constant.language.name.scss.filter.slim
72− push:
73− - meta_scope: text.scss.filter.slim
74− - match: ^(?!(\1\s)|\s*$)
75− pop: true
76− - include: scope:source.scss
77− - match: ^(\s*)(less):$
78− captures:
79− 2: constant.language.name.less.filter.slim
80− push:
81− - meta_scope: text.less.filter.slim
82− - match: ^(?!(\1\s)|\s*$)
83− pop: true
84− - include: scope:source.less
85− - match: ^(\s*)(erb):$
86− captures:
87− 2: constant.language.name.erb.filter.slim
88− push:
89− - meta_scope: text.erb.filter.slim
90− - match: ^(?!(\1\s)|\s*$)
91− pop: true
92− - include: scope:source.erb
93− - match: ^(! )($|\s.*)
94− scope: meta.prolog.slim
95− captures:
96− 1: punctuation.definition.prolog.slim
97− - match: ^(\s*)(/)\s*.*$
98− captures:
99− 2: comment.line.slash.slim
100− push:
101− - meta_scope: comment.block.slim
102− - match: ^(?!(\1\s)|\s*$)
103− pop: true
104− - match: ^\s*(?=-)
105− push:
106− - match: $
107− pop: true
108− - include: rubyline
109− - match: (?==+|~)
110− push:
111− - match: $
112− pop: true
113− - include: rubyline
114− - include: tag-attribute
115− - include: embedded-ruby
116− - match: ^(\s*)(\||')\s*
117− comment: Verbatim text (can include HTML tags and copied lines)
118− push:
119− - match: ^(?!(\1\s)|\s*$)
120− pop: true
121− - include: scope:text.html.basic
122− - include: embedded-ruby
123− - match: '^\s*(\.|#|[-a-zA-Z0-9]+)([\w-]+)?'
124− comment: '1 - dot OR hash OR any combination of word, number; 2 - OPTIONAL any combination of word, number, dash or underscore (following a . or'
125− captures:
126− 1: entity.name.tag.slim
127− 2: entity.other.attribute-name.event.slim
128− push:
129− - meta_scope: meta.tag
130− - match: '$|(?!\.|#|:|-|~|/|\}|\]|\*|\s?[\*\{])'
131− captures:
132− 1: entity.name.tag.slim
133− 2: entity.other.attribute-name.event.slim
134− pop: true
135− - match: '(:[\w\d]+)+'
136− comment: XML
137− push:
138− - meta_scope: entity.name.tag.slim
139− - match: $|\s
140− pop: true
141− - match: '(:\s)(\.|#|[a-zA-Z0-9]+)([\w-]+)?'
142− comment: Inline HTML / 1 - colon; 2 - dot OR hash OR any combination of word, number; 3 - OPTIONAL any combination of word, number, dash or underscore (following a . or
143− captures:
144− 1: punctuation.definition.tag.end.slim
145− 2: entity.name.tag.slim
146− 3: entity.other.attribute-name.event.slim
147− push:
148− - match: '$|(?!\.|#|=|-|~|/|\}|\]|\*|\s?[\*\{])'
149− captures:
150− 1: punctuation.definition.tag.end.slim
151− 2: entity.name.tag.slim
152− 3: entity.other.attribute-name.event.slim
153− pop: true
154− - include: root-class-id-tag
155− - include: tag-attribute
156− - match: '(\*\{)(?=.*\}|.*\|\s*$)'
157− comment: Splat attributes
158− captures:
159− 1: punctuation.section.embedded.ruby
160− push:
161− - meta_scope: source.ruby.embedded.slim
162− - match: '(\})|$|^(?!.*\|\s*$)'
163− captures:
164− 1: punctuation.section.embedded.ruby
165− pop: true
166− - include: embedded-ruby
167− - include: root-class-id-tag
168− - include: rubyline
169− - match: /
170− scope: punctuation.terminator.tag.slim
171− - match: ^\s*(\\.)
172− captures:
173− 1: meta.escape.slim
174− - match: ^\s*(?=\||')
175− push:
176− - match: $
177− pop: true
178− - include: embedded-ruby
179− - include: scope:text.html.basic
180− - match: '(?=<[\w\d\:]+)'
181− comment: Inline and root-level HTML tags
182− push:
183− - match: $|\/\>
184− pop: true
185− - include: scope:text.html.basic
186− continuation:
187− - match: '([\\,])\s*\n'
188− captures:
189− 1: punctuation.separator.continuation.slim
190− delimited-ruby-a:
191− - match: '=\('
192− push:
193− - meta_scope: source.ruby.embedded.slim
194− - match: \)(?=( \w|$))
195− pop: true
196− - include: scope:source.ruby.rails
197− delimited-ruby-b:
198− - match: '=\['
199− push:
200− - meta_scope: source.ruby.embedded.slim
201− - match: '\](?=( \w|$))'
202− pop: true
203− - include: scope:source.ruby.rails
204− delimited-ruby-c:
205− - match: '=\{'
206− push:
207− - meta_scope: source.ruby.embedded.slim
208− - match: '\}(?=( \w|$))'
209− pop: true
210− - include: scope:source.ruby.rails
211− embedded-ruby:
212− - match: '(?<!\\)#\{{1,2}'
213− captures:
214− 0: punctuation.section.embedded.ruby
215− push:
216− - meta_scope: source.ruby.embedded.html
217− - match: '\}{1,2}'
218− captures:
219− 0: punctuation.section.embedded.ruby
220− pop: true
221− - include: scope:source.ruby.rails
222− entities:
223− - match: '(&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)'
224− scope: constant.character.entity.html
225− captures:
226− 1: punctuation.definition.entity.html
227− 3: punctuation.definition.entity.html
228− - match: '&'
229− scope: invalid.illegal.bad-ampersand.html
230− interpolated-ruby:
231− - match: '=(?=\b)'
232− push:
233− - meta_scope: source.ruby.embedded.html
234− - match: \s|\w$
235− pop: true
236− root-class-id-tag:
237− - match: '(\.|#)([\w\d\-]+)'
238− captures:
239− 1: punctuation.separator.key-value.html
240− 2: entity.other.attribute-name.html
241− rubyline:
242− - match: (==|=)(<>|><|<'|'<|<|>)?|-
243− comment: Hack to thwart Sublime's Ruby highlighter. It thinks do without a variable continues the next line (this can be muted with a / at the end of the line). For things like yields, do is unnecessary without an argument, so this hack will suffice
244− push:
245− - meta_scope: meta.line.ruby.slim
246− - meta_content_scope: source.ruby.embedded.slim
247− - match: (do\s*\n$)|(?<!\\|,|,\n|\\\n)$
248− captures:
249− 1: keyword.control.start-block.ruby
250− pop: true
251− - match: '#.*$'
252− comment: Hack to let ruby comments work in this context properly
253− scope: comment.line.number-sign.ruby
254− - include: continuation
255− - include: scope:source.ruby.rails
256− string-double-quoted:
257− - match: (")(?=.*")
258− captures:
259− 0: punctuation.definition.string.begin.html
260− push:
261− - meta_scope: string.quoted.double.html
262− - meta_content_scope: meta.toc-list.id.html
263− - match: '"'
264− captures:
265− 0: punctuation.definition.string.end.html
266− pop: true
267− - include: embedded-ruby
268− - include: entities
269− string-single-quoted:
270− - match: (')(?=.*')
271− captures:
272− 0: punctuation.definition.string.begin.html
273− push:
274− - meta_scope: string.quoted.single.html
275− - meta_content_scope: meta.toc-list.id.html
276− - match: "'"
277− captures:
278− 0: punctuation.definition.string.end.html
279− pop: true
280− - include: embedded-ruby
281− - include: entities
282− tag-attribute:
283− - match: '([\w.#_-]+)(=)(?!\s)(true|false|nil)?(\s*\(|\{)?'
284− captures:
285− 1: entity.other.attribute-name.event.slim
286− 2: punctuation.separator.key-value.html
287− 3: constant.language.slim
288− push:
289− - meta_scope: meta.attribute-with-value.slim
290− - match: '\}|\)|$'
291− captures:
292− 1: entity.other.attribute-name.event.slim
293− 2: punctuation.separator.key-value.html
294− 3: constant.language.slim
295− pop: true
296− - include: tag-stuff
297− - include: string-double-quoted
298− - include: string-single-quoted
299− tag-stuff:
300− - include: tag-attribute
301− - include: interpolated-ruby
302− - include: delimited-ruby-a
303− - include: delimited-ruby-b
304− - include: delimited-ruby-c
305− - include: rubyline
306− - include: embedded-ruby
assets/syntaxes/02_Extra/Stracedeleted−1

Submodule changed.

assets/syntaxes/02_Extra/Stylusdeleted−1

Submodule changed.

assets/syntaxes/02_Extra/Stylus.sublime-syntaxdeleted−711
@@ -1,711 +0,0 @@
1−%YAML 1.2
2−---
3−# http://www.sublimetext.com/docs/3/syntax.html
4−name: Stylus
5−file_extensions:
6− - styl
7− - stylus
8−scope: source.stylus
9−contexts:
10− main:
11− - include: comments
12− - match: '^\s*(@(?:import|charset|css|font-face|(?:-webkit-)?keyframes)(?:\s+([\w-]+))?)\b'
13− captures:
14− 1: keyword.control.at-rule.other.stylus
15− 2: variable.other.animation-name.stylus
16− push:
17− - match: '$|;|(?=\{)'
18− pop: true
19− - include: string-quoted
20− - match: ^\s*(@media)\s*
21− captures:
22− 1: keyword.control.at-rule.media.stylus
23− push:
24− - match: '$|(?=\{)'
25− pop: true
26− - include: media-query
27− - match: |-
28− (?x)
29− (?<=^|;|})
30− \s*
31− (?=
32− [\[\]'".\w$-]+
33− \s*
34− ([?:]?=)
35− (?![^\[]*\])
36− )
37− push:
38− - match: $|;
39− pop: true
40− - include: expression
41− - include: iteration
42− - include: conditionals
43− - include: return
44− - match: |-
45− (?x) # multi-line regex definition mode
46−
47− ^(\s*) # starts at the beginning of line
48− ([\w$-]+) # identifier (name)
49− (\() # start of argument list
50− (?=
51− .*?
52− \)\s*\{ # we see a curly brace afterwards
53− ) # which means this is a function definition
54− captures:
55− 2: entity.name.function.stylus
56− 3: punctuation.definition.parameters.start.stylus
57− push:
58− - meta_scope: meta.function-call.stylus
59− - match: (\))
60− captures:
61− 1: punctuation.definition.parameters.end.stylus
62− pop: true
63− - include: expression
64− - match: |-
65− (?x) # multi-line regex definition mode
66− (
67−
68− (^|;) # starts at the beginning of line or at a ;
69− \s*
70− (\+?\s* # for block mixins
71− [\w$-]+) # identifier (name)
72− (\() # start of argument list
73− (?=
74− .*?
75− \)\s*;?\s* # if there are only spaces and semicolons
76− $|; # then this a
77− )
78− )
79− captures:
80− 3: entity.other.attribute-name.mixin.stylus
81− 4: punctuation.definition.parameters.start.stylus
82− push:
83− - meta_scope: meta.function-call.stylus
84− - match: (\))
85− captures:
86− 1: punctuation.definition.parameters.end.stylus
87− pop: true
88− - include: expression
89− - match: |-
90− (?x) # multi-line regex definition mode
91− (^|(?<=\*/|\}))\s*
92− (?=
93− font(?!
94− \s*:\s
95− |
96− -
97− |
98− .*?
99− (?:
100− \/|normal|bold|light(er?)|serif|sans|monospace|
101− \b\d+(?:\b|px|r?em|%)|
102− var\s*\(|
103− ['"][^\]]*$
104− )
105− ) | # we need to distinguish between tag and property `cursor`
106− cursor(?!
107− \s*[:;]\s
108− |
109− -
110− |
111− .*?
112− (?:
113− (?:url\s*\()|
114− (?:-moz-|-webkit-|-ms-)?
115− (?:auto|default|none|context-menu|help|pointer|progress|
116− wait|cell|crosshair|text|vertical-text|alias|copy|
117− move|no-drop|not-allowed|e-resize|n-resize|ne-resize|
118− nw-resize|s-resize|se-resize|sw-resize|w-resize|
119− ew-resize|ns-resize|nesw-resize|nwse-resize|col-resize|
120− row-resize|all-scroll|zoom-in|zoom-out|grab|grabbing
121− normal|bold|light(er?)|serif|sans|monospace)
122− )
123− ) | (
124− (
125− altGlyph|altGlyphDef|altGlyphItem|animate|animateColor|
126− animateMotion|animateTransform|circle|clipPath|color-profile|
127− defs|desc|ellipse|feBlend|feColorMatrix|
128− feComponentTransfer|feComposite|feConvolveMatrix|
129− feDiffuseLighting|feDisplacementMap|feDistantLight|feFlood|
130− feFuncA|feFuncB|feFuncG|feFuncR|feGaussianBlur|feImage|feMerge|
131− feMergeNode|feMorphology|feOffset|fePointLight|
132− feSpecularLighting|feSpotLight|feTile|feTurbulence|filter|
133− font-face|font-face-format|font-face-name|font-face-src|
134− font-face-uri|foreignObject|g|glyph|glyphRef|hkern|image|line|
135− linearGradient|marker|mask|metadata|missing-glyph|mpath|path|
136− pattern|polygon|polyline|radialGradient|rect|set|stop|svg|
137− switch|symbol|text|textPath|tref|tspan|use|view|vkern|
138− a|abbr|acronym|address|applet|area|article|aside|audio|b|base|
139− basefont|bdi|bdo|bgsound|big|blink|blockquote|body|br|button|
140− canvas|caption|center|cite|code|col|colgroup|data|
141− datalist|dd|decorator|del|details|dfn|dir|div|dl|dt|element|
142− em|embed|fieldset|figcaption|figure|footer|form|frame|
143− frameset|h1|h2|h3|h4|h5|h6|head|header|hgroup|hr|html|i|iframe|
144− img|input|ins|isindex|kbd|keygen|label|legend|li|link|listing|
145− main|map|mark|marquee|menu|menuitem|meta|meter|nav|nobr|
146− noframes|noscript|object|ol|optgroup|option|output|p|param|
147− plaintext|pre|progress|q|rp|rt|ruby|s|samp|script|section|
148− select|shadow|small|source|spacer|span|strike|strong|style|
149− sub|summary|sup|table|tbody|td|template|textarea|tfoot|th|
150− thead|time|title|tr|track|tt|u|ul|var|video|wbr|xmp)
151−
152− \s*([\s,.#\[]|:[^\s]|(?=\{|$))
153−
154− ) | (
155− [:~>\[*\/] # symbols but they are valid for selector
156−
157− ) | (
158−
159− \+\s*[\w$-]+\b\s* # are an identifier starting with $
160− (?!\() # and they can't have anything besides
161−
162− ) | ( # for animtions
163−
164− \d+(\.\d+)?%|(from|to)\b
165−
166− ) | ( # Placeholder selectors
167−
168− \$[\w$-]+\b\s* # are an identifier starting with $
169− (?=$|\{) # and they can't have anything besides
170−
171− ) | ( # CSS class
172−
173− \.[a-zA-Z0-9_-]+
174−
175− ) | ( # CSS id
176−
177− \#[a-zA-Z0-9_-]+
178−
179− ) | ( # Reference to parent
180−
181− ([\w\d_-]+)? # matching any word right before &
182− (&) # & itself, escaped because of plist
183− ([\w\d_-]+)? # matching any word right after &
184− )
185− )
186− push:
187− - meta_scope: meta.selector.stylus
188− - match: |-
189−
190− |$|(?=\{\s*\}.*$)|(?=\{.*?[:;])|(?=\{)(?!.+\}.*$)
191− pop: true
192− - include: comma
193− - match: \d+(\.\d+)?%|from|to
194− scope: entity.other.animation-keyframe.stylus
195− - include: selector-components
196− - match: .
197− scope: entity.other.attribute-name.stylus
198− - match: |-
199− (?x) # multi-line regex definition mode
200− (?<=^|;|{)\s* # starts after beginning of line, '{' or ';''
201− (?= # lookahead for
202− (
203− [a-zA-Z0-9_-] # then a letter
204− | # or
205− (\{(.*?)\}) # interpolation
206− | # or
207− (/\*.*?\*/) # comment
208− )+
209−
210− \s*[:\s]\s* # value is separated by colon or space
211−
212− (?!(\s*\{)) # if there are only spaces afterwards
213−
214− (?!
215− [^}]*? # checking for an unclosed curly braces on this
216− \{ # line because if one exists it means that
217− [^}]* # this is a selector and not a property
218− ($|\})
219− )
220− )
221− push:
222− - match: '(?=\}|;)|(?<!,)\s*\n'
223− pop: true
224− - include: comments
225− - include: interpolation
226− - match: '(?<!^|;|{)\s*(?:(:)|\s)'
227− captures:
228− 1: punctuation.separator.key-value.stylus
229− push:
230− - match: '(;)|(?=\})|(?=(?<!\,)\s*\n)'
231− captures:
232− 1: punctuation.terminator.rule.stylus
233− pop: true
234− - include: comments
235− - include: expression
236− - match: "-(moz|o|ms|webkit|khtml)-"
237− scope: support.type.vendor-prefix.stylus
238− - match: .
239− scope: meta.property-name.stylus support.type.property-name.stylus
240− - match: '@extends?\s'
241− captures:
242− 0: keyword.language.stylus
243− push:
244− - match: (?=$|;)
245− pop: true
246− - include: selector-components
247− - include: string-quoted
248− - include: escape
249− - include: language-constants
250− - include: language-operators
251− - include: language-keywords
252− - include: property-reference
253− - include: function-call
254− - match: '\{'
255− scope: punctuation.section.start.stylus
256− - match: '\}'
257− scope: punctuation.section.end.stylus
258− attribute-selector:
259− - match: '\[(?=[^\]]*\])'
260− captures:
261− 0: punctuation.definition.entity.start.stylus
262− push:
263− - meta_scope: meta.attribute-selector.stylus
264− - match: '\]'
265− captures:
266− 0: punctuation.definition.entity.end.stylus
267− pop: true
268− - match: '(?<=\[)|(?<=\{)'
269− push:
270− - match: '(?=[|~=\]\s])'
271− pop: true
272− - include: interpolation
273− - match: .
274− captures:
275− 0: entity.other.attribute-name.stylus
276− - include: interpolation
277− - match: "([|~]?=)"
278− captures:
279− 1: keyword.operator.stylus
280− - include: string-quoted
281− - match: .
282− captures:
283− 0: string.unquoted.stylus
284− color-values:
285− - match: \b(aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow)\b
286− scope: constant.color.w3c-standard-color-name.stylus
287− - match: (hsla?|rgba?)\s*(\()
288− captures:
289− 1: keyword.language.function.misc.stylus
290− 2: punctuation.definition.parameters.start.stylus
291− push:
292− - match: \)
293− captures:
294− 0: punctuation.definition.parameters.end.stylus
295− pop: true
296− - match: |-
297− (?x) # multi-line regex definition mode
298− \b
299− (?:0*((?:1?[0-9]{1,2})|(?:2(?:[0-4][0-9]|5[0-5])))\s*(,)\s*)
300− (?:0*((?:1?[0-9]{1,2})|(?:2(?:[0-4][0-9]|5[0-5])))\s*(,)\s*)
301− (?:0*((?:1?[0-9]{1,2})|(?:2(?:[0-4][0-9]|5[0-5])))\b)
302− captures:
303− 1: constant.other.color.rgb-value.stylus constant.other.color.rgb-value.red.stylus
304− 2: punctuation.delimiter.comma.stylus
305− 3: constant.other.color.rgb-value.stylus constant.other.color.rgb-value.green.stylus
306− 4: punctuation.delimiter.comma.stylus
307− 5: constant.other.color.rgb-value.stylus constant.other.color.rgb-value.blue.stylus
308− - match: |-
309− (?x) # multi-line regex definition mode
310− \b
311− ((?:[0-9]{1,2}|100)%)(,) # red
312− \s*
313− ((?:[0-9]{1,2}|100)%)(,) # green
314− \s*
315− ((?:[0-9]{1,2}|100)%) # blue
316− captures:
317− 1: constant.other.color.rgb-value.stylus constant.other.color.rgb-value.red.stylus
318− 2: punctuation.delimiter.comma.stylus
319− 3: constant.other.color.rgb-value.stylus constant.other.color.rgb-value.green.stylus
320− 4: punctuation.delimiter.comma.stylus
321− 5: constant.other.color.rgb-value.stylus constant.other.color.rgb-value.blue.stylus
322− - match: |-
323− (?x) # multi-line regex definition mode
324− (?:\s*(,)\s*((0?\.[0-9]+)|[0-1]))?
325− captures:
326− 1: punctuation.delimiter.comma.stylus
327− 2: constant.other.color.rgb-value.stylus constant.other.color.rgb-value.alpha.stylus
328− - include: numeric-values
329− - include: numeric-values
330− comma:
331− - match: \s*,\s*
332− scope: punctuation.delimiter.comma.stylus
333− comments:
334− - include: single-line-comment
335− - match: \/\*
336− captures:
337− 0: punctuation.definition.comment.stylus
338− push:
339− - meta_scope: comment.block.stylus
340− - match: \*\/
341− captures:
342− 0: punctuation.definition.comment.stylus
343− pop: true
344− conditionals:
345− - match: '(^\s*|\s+)(if|unless|else)(?=[\s({]|$)\s*'
346− captures:
347− 2: keyword.control.stylus
348− push:
349− - match: '(?=$|\{)'
350− pop: true
351− - include: expression
352− escape:
353− - match: \\.
354− scope: constant.character.escape.stylus
355− expression:
356− - include: single-line-comment
357− - include: comma
358− - include: iteration
359− - include: conditionals
360− - include: language-operators
361− - include: language-keywords
362− - include: hash-definition
363− - include: color-values
364− - include: url
365− - include: function-call
366− - include: string-quoted
367− - include: escape
368− - include: hash-access
369− - include: language-constants
370− - include: language-property-value-constants
371− - include: property-reference
372− - include: variable
373− function-call:
374− - match: '([\w$-]+)(\()'
375− captures:
376− 1: entity.function-name.stylus
377− 2: punctuation.definition.parameters.start.stylus
378− push:
379− - meta_scope: meta.function-call.stylus
380− - match: (\))
381− captures:
382− 1: punctuation.definition.parameters.end.stylus
383− pop: true
384− - include: expression
385− hash-access:
386− - match: '(?=[\w$-]+(?:\.|\[[^\]=]*\]))'
387− push:
388− - meta_scope: meta.hash-access.stylus
389− - match: '(?=[^''''""\[\]\w.$-]|\s|$)'
390− pop: true
391− - match: \.
392− scope: punctuation.delimiter.hash.stylus
393− - match: '\['
394− scope: punctuation.definition.entity.start.stylus
395− - match: '\]'
396− scope: punctuation.definition.entity.end.stylus
397− - include: string-quoted
398− - include: variable
399− hash-definition:
400− - match: '\{'
401− captures:
402− 0: punctuation.section.embedded.start.stylus
403− push:
404− - meta_scope: meta.hash.stylus
405− - match: '\}'
406− captures:
407− 0: punctuation.section.embedded.end.stylus
408− pop: true
409− - include: single-line-comment
410− - match: |-
411− (?x)
412− (?:
413− ([\w$-]+)
414− |
415− ('[^']*')
416− |
417− ("[^"]*")
418− )
419− \s*
420− (:)
421− \s*
422− captures:
423− 1: support.type.property-name.stylus
424− 2: string.quoted.single.stylus
425− 3: string.quoted.double.stylus
426− 4: punctuation.separator.key-value.stylus
427− push:
428− - match: '(;)|(?=\}|$)'
429− captures:
430− 1: punctuation.terminator.statement.stylus
431− pop: true
432− - include: expression
433− interpolation:
434− - match: '\{'
435− captures:
436− 0: punctuation.section.embedded.start.stylus
437− push:
438− - meta_scope: stylus.embedded.source
439− - match: '\}'
440− captures:
441− 0: punctuation.section.embedded.end.stylus
442− pop: true
443− - include: expression
444− iteration:
445− - match: (^\s*|\s+)(for)\s+(?=.*?\s+in\s+)
446− captures:
447− 2: keyword.control.stylus
448− push:
449− - match: '$|\{'
450− pop: true
451− - include: expression
452− language-constants:
453− - match: \b(true|false|null)\b
454− scope: constant.language.stylus
455− language-keywords:
456− - match: (\b|\s)(return|else)\b
457− scope: keyword.control.stylus
458− - match: (\b|\s)(!important|in|is defined|is a)\b
459− scope: keyword.other.stylus
460− - match: \barguments\b
461− scope: variable.language.stylus
462− language-operators:
463− - match: ((?:\?|:|!|~|\+|-|(?:\*)?\*|\/|%|(\.)?\.\.|<|>|(?:=|:|\?|\+|-|\*|\/|%|<|>)?=|!=)|\b(?:in|is(?:nt)?|(?<!:)not)\b)
464− scope: keyword.operator.stylus
465− language-property-value-constants:
466− - match: \b(absolute|all(-scroll)?|always|armenian|auto|avoid|baseline|below|bidi-override|block|bold(er)?|(border|content|padding)-box|both|bottom|break-all|break-word|capitalize|center|char|circle|cjk-ideographic|col-resize|collapse|crosshair|cursive|dashed|decimal-leading-zero|decimal|default|disabled|disc|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ellipsis|fantasy|fixed|geometricPrecision|georgian|groove|hand|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|inactive|inherit|inline-block|inline|inset|inside|inter-ideograph|inter-word|italic|justify|katakana-iroha|katakana|keep-all|left|lighter|line-edge|line-through|line|list-item|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|medium|middle|move|monospace|n-resize|ne-resize|newspaper|no-drop|no-repeat|nw-resize|none|normal|not-allowed|nowrap|oblique|optimize(Legibility|Quality|Speed)|outset|outside|overline|pointer|pre(-(wrap|line))?|progress|relative|repeat-x|repeat-y|repeat|right|ridge|row-resize|rtl|(sans-)?serif|s-resize|scroll|se-resize|separate|small-caps|solid|square|static|strict|sub|super|sw-resize|table(-(row|cell|footer-group|header-group))?|tb-rl|text-bottom|text-top|text|thick|thin|top|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|vertical(-(ideographic|text))?|visible(Painted|Fill|Stroke)?|w-resize|wait|whitespace|zero|smaller|larger|((xx?-)?(small(er)?|large(r)?))|painted|fill|stroke)\b
467− scope: constant.property-value.stylus
468− media-query:
469− - match: '\s*(?![{;]|$)'
470− push:
471− - meta_scope: meta.at-rule.media.stylus
472− - match: '\s*(?=[{;]|$)'
473− pop: true
474− - match: '(?i)\s*(only|not)?\s*(all|aural|braille|embossed|handheld|print|projection|screen|tty|tv)?(?![\w\d$-]+)'
475− captures:
476− 1: keyword.operator.logic.media.stylus
477− 2: support.constant.media.stylus
478− push:
479− - match: '\s*(?:(,)|(?=[{;]|$))'
480− pop: true
481− - include: media-query-list
482− - include: variable
483− media-query-list:
484− - match: \s*(and)?\s*(\()\s*
485− captures:
486− 1: keyword.operator.logic.media.stylus
487− 2: punctuation.definition.parameters.start.stylus
488− push:
489− - match: \)
490− captures:
491− 0: punctuation.definition.parameters.end.stylus
492− pop: true
493− - include: media-query-properties
494− - include: numeric-values
495− media-query-properties:
496− - match: \s*:\s*
497− captures:
498− 0: punctuation.separator.key-value.stylus
499− - match: |-
500− (?x)
501− (
502− ((min|max)-)?
503− (
504− ((device-)?(height|width|aspect-ratio))|
505− (color(-index)?)|monochrome|resolution
506− )
507− )|grid|scan|orientation
508− captures:
509− 0: support.type.property-name.media.stylus
510− - match: \b(portrait|landscape|progressive|interlace)\b
511− captures:
512− 1: support.constant.property-value.stylus
513− numeric-values:
514− - match: |-
515− (?x) # multi-line regex definition mode
516− (\#)(?:
517− ([0-9a-fA-F])
518− ([0-9a-fA-F])
519− ([0-9a-fA-F])
520− ([0-9a-fA-F])?
521− | ([0-9a-fA-F]{2})
522− ([0-9a-fA-F]{2})
523− ([0-9a-fA-F]{2})
524− ([0-9a-fA-F]{2})?
525− )\b
526− scope: constant.other.color.rgb-value.stylus
527− captures:
528− 1: punctuation.definition.constant.stylus
529− 2: constant.other.color.rgb-value.red.stylus
530− 3: constant.other.color.rgb-value.green.stylus
531− 4: constant.other.color.rgb-value.blue.stylus
532− 5: constant.other.color.rgb-value.alpha.stylus
533− 6: constant.other.color.rgb-value.red.stylus
534− 7: constant.other.color.rgb-value.green.stylus
535− 8: constant.other.color.rgb-value.blue.stylus
536− 9: constant.other.color.rgb-value.alpha.stylus
537− - match: |-
538− (?x) # multi-line regex definition mode
539− (?:-|\+)? # negative / positive
540− (?:
541− (?:
542− [0-9]+ # integer part
543− (?:\.[0-9]+)? # fraction
544− ) |
545− (?:\.[0-9]+) # fraction without leading zero
546− )
547− ((?: # units
548− px|pt|ch|cm|mm|in|
549− r?em|ex|pc|vw|vh|vmin|vmax|deg|
550− g?rad|turn|dpi|dpcm|dppx|m?s|k?Hz
551− )\b|%)?
552− scope: constant.numeric.stylus
553− captures:
554− 1: keyword.other.unit.stylus
555− property-reference:
556− - match: "@[a-z-]+"
557− scope: variable.other.property.stylus
558− pseudo:
559− - match: (:)(active|checked|default|disabled|empty|enabled|first-child|first-of-type|first|fullscreen|focus|hover|indeterminate|in-range|invalid|last-child|last-of-type|left|link|only-child|only-of-type|optional|out-of-range|read-only|read-write|required|right|root|scope|target|valid|visited)\b
560− scope: entity.other.attribute-name.pseudo-class.stylus
561− captures:
562− 1: puncutation.definition.entity.stylus
563− - match: (:?:)(before|after)\b
564− scope: entity.other.attribute-name.pseudo-element.stylus
565− captures:
566− 1: puncutation.definition.entity.stylus
567− - match: (::)(first-letter|first-number|selection)\b
568− scope: entity.other.attribute-name.pseudo-element.stylus
569− captures:
570− 1: puncutation.definition.entity.stylus
571− - match: ((:)dir)\s*(?:(\()(ltr|rtl)?(\)))?
572− captures:
573− 1: entity.other.attribute-name.pseudo-element.stylus
574− 2: puncutation.definition.entity.stylus
575− 3: puncutation.definition.parameters.start.stylus
576− 4: constant.language.stylus
577− 5: puncutation.definition.parameters.end.stylus
578− - match: ((:)lang)\s*(?:(\()(\w+(-\w+)?)?(\)))?
579− captures:
580− 1: entity.other.attribute-name.pseudo-element.stylus
581− 2: puncutation.definition.entity.stylus
582− 3: puncutation.definition.parameters.start.stylus
583− 4: constant.language.stylus
584− 5: puncutation.definition.parameters.end.stylus
585− - include: pseudo-nth
586− - include: pseudo-not
587− pseudo-not:
588− - match: ((:)not)\s*(\()
589− captures:
590− 1: entity.other.attribute-name.pseudo-element.stylus
591− 2: puncutation.definition.entity.stylus
592− 3: puncutation.definition.parameters.start.stylus
593− push:
594− - match: \)
595− captures:
596− 0: puncutation.definition.parameters.end.stylus
597− pop: true
598− - include: selector-components
599− pseudo-nth:
600− - match: ((:)(?:nth-child|nth-last-child|nth-of-type|nth-last-of-type|nth-match|nth-last-match|nth-column|nth-last-column))\s*(\()
601− captures:
602− 1: entity.other.attribute-name.pseudo-class.stylus
603− 2: puncutation.definition.entity.stylus
604− 3: puncutation.definition.parameters.start.stylus
605− push:
606− - match: \)
607− captures:
608− 0: puncutation.definition.parameters.end.stylus
609− pop: true
610− - include: language-operators
611− - include: interpolation
612− - match: \b(odd|even)\b
613− scope: constant.language.stylus
614− - match: \b(\d+)?n\b
615− scope: variable.language.stylus
616− captures:
617− 1: constant.numeric.stylus
618− - match: \d+
619− scope: constant.numeric.stylus
620− return:
621− - match: ^\s*(return)
622− captures:
623− 1: keyword.control.stylus
624− push:
625− - match: (;)|(?=$)
626− captures:
627− 1: punctuation.terminator.statement.stylus
628− pop: true
629− - include: expression
630− selector-components:
631− - include: comments
632− - include: interpolation
633− - include: attribute-selector
634− - include: pseudo
635− - match: '\$[\w$-]+\b'
636− scope: entity.other.placeholder.stylus
637− - match: "[:~>]"
638− scope: keyword.operator.selector.stylus
639− - match: |-
640− (?x) # multi-line regex definition mode
641− \b(
642− altGlyph|altGlyphDef|altGlyphItem|animate|animateColor|
643− animateMotion|animateTransform|circle|clipPath|color-profile|
644− defs|desc|ellipse|feBlend|feColorMatrix|
645− feComponentTransfer|feComposite|feConvolveMatrix|
646− feDiffuseLighting|feDisplacementMap|feDistantLight|feFlood|
647− feFuncA|feFuncB|feFuncG|feFuncR|feGaussianBlur|feImage|feMerge|
648− feMergeNode|feMorphology|feOffset|fePointLight|
649− feSpecularLighting|feSpotLight|feTile|feTurbulence|filter|
650− font-face|font-face-format|font-face-name|font-face-src|
651− font-face-uri|foreignObject|g|glyph|glyphRef|hkern|image|line|
652− linearGradient|marker|mask|metadata|missing-glyph|mpath|path|
653− pattern|polygon|polyline|radialGradient|rect|set|stop|svg|
654− switch|symbol|text|textPath|tref|tspan|use|view|vkern|
655− a|abbr|acronym|address|applet|area|article|aside|audio|b|base|
656− basefont|bdi|bdo|bgsound|big|blink|blockquote|body|br|button|
657− canvas|caption|center|cite|code|col|colgroup|content|data|
658− datalist|dd|decorator|del|details|dfn|dir|div|dl|dt|element|
659− em|embed|fieldset|figcaption|figure|font|footer|form|frame|
660− frameset|h1|h2|h3|h4|h5|h6|head|header|hgroup|hr|html|i|iframe|
661− img|input|ins|isindex|kbd|keygen|label|legend|li|link|listing|
662− main|map|mark|marquee|menu|menuitem|meta|meter|nav|nobr|
663− noframes|noscript|object|ol|optgroup|option|output|p|param|
664− plaintext|pre|progress|q|rp|rt|ruby|s|samp|script|section|
665− select|shadow|small|source|spacer|span|strike|strong|style|
666− sub|summary|sup|table|tbody|td|template|textarea|tfoot|th|
667− thead|time|title|tr|track|tt|u|ul|var|video|wbr|xmp
668− )\b
669− scope: entity.name.tag.stylus
670− - match: '\.[a-zA-Z0-9_-]+'
671− scope: entity.other.attribute-name.class.stylus
672− - match: "#[a-zA-Z0-9_-]+"
673− scope: entity.other.attribute-name.id.stylus
674− - match: |-
675− (?x) # multi-line regex definition mode
676− ([\w\d_-]+)? # matching any word right before &
677− (&) # & itself, escaped because of plist
678− ([\w\d_-]+)? # matching any word right after &
679− captures:
680− 1: entity.other.attribute-name.stylus
681− 2: variable.language.stylus
682− 3: entity.other.attribute-name.stylus
683− single-line-comment:
684− - match: (\/\/).*$
685− scope: comment.line.stylus
686− captures:
687− 1: punctuation.definition.comment.stylus
688− string-quoted:
689− - match: "'[^']*'"
690− scope: string.quoted.single.stylus
691− - match: '"[^"]*"'
692− scope: string.quoted.double.stylus
693− url:
694− - match: (url)\s*(\()
695− captures:
696− 1: entity.function-name.stylus
697− 2: punctuation.definition.parameters.start.stylus
698− push:
699− - meta_scope: meta.function-call.stylus
700− - match: (\))
701− captures:
702− 1: punctuation.definition.parameters.end.stylus
703− pop: true
704− - include: string-quoted
705− - include: language-constants
706− - include: language-property-value-constants
707− - include: property-reference
708− - include: variable
709− variable:
710− - match: '([\w$-]+\b)'
711− scope: variable.other.stylus
assets/syntaxes/02_Extra/SublimeEthereumdeleted−1

Submodule changed.

assets/syntaxes/02_Extra/SublimeJQdeleted−1

Submodule changed.

assets/syntaxes/02_Extra/Sveltedeleted−1

Submodule changed.

assets/syntaxes/02_Extra/Swiftdeleted−1

Submodule changed.

assets/syntaxes/02_Extra/Swift.sublime-syntaxdeleted−371
@@ -1,371 +0,0 @@
1−%YAML 1.2
2−---
3−# http://www.sublimetext.com/docs/3/syntax.html
4−name: Swift
5−file_extensions:
6− - swift
7−first_line_match: ^#!/.*\bswift
8−scope: source.swift
9−contexts:
10− main:
11− - include: shebang-line
12− - include: comment
13− - include: attribute
14− - include: literal
15− - include: operator
16− - include: declaration
17− - include: storage-type
18− - include: keyword
19− - include: type
20− - include: boolean
21− comment:
22− - include: documentation-comment
23− - include: block-comment
24− - include: in-line-comment
25− access-level-modifier:
26− - match: \b(open|public|internal|fileprivate|private)\b(?:\(set\))?
27− comment: access-level-modifier
28− scope: keyword.other.access-level-modifier.swift
29− arithmetic-operator:
30− - match: '(?<![/=\-+!*%<>&|\^~.])(\+|\-|\*|\/)(?![/=\-+!*%<>&|\^~.])'
31− scope: keyword.operator.arithmetic.swift
32− array-type:
33− - match: \b(Array)(<)
34− captures:
35− 1: support.type.array.swift
36− 2: punctuation.array.begin.swift
37− push:
38− - meta_scope: meta.array.swift
39− - match: (>)
40− captures:
41− 1: punctuation.array.end.swift
42− pop: true
43− - include: main
44− assignment-operator:
45− - match: '(?<![/=\-+!*%<>&|\^~.])(\+|\-|\*|\/|%|<<|>>|&|\^|\||&&|\|\|)?=(?![/=\-+!*%<>&|\^~.])'
46− scope: keyword.operator.assignment.swift
47− attribute:
48− - match: '((@)(\B\$[0-9]+|\b[\w^\d][\w\d]*\b|\B`[\w^\d][\w\d]*`\B))(\()'
49− captures:
50− 1: storage.modifier.attribute.swift
51− 2: punctuation.definition.attribute.swift
52− 3: punctuation.definition.attribute-arguments.begin.swift
53− push:
54− - meta_content_scope: meta.attribute.arguments.swift
55− - match: \)
56− captures:
57− 0: punctuation.definition.attribute-arguments.end.swift
58− pop: true
59− - include: main
60− - match: '((@)(\B\$[0-9]+|\b[\w^\d][\w\d]*\b|\B`[\w^\d][\w\d]*`\B))'
61− captures:
62− 1: storage.modifier.attribute.swift
63− 2: punctuation.definition.attribute.swift
64− bitwise-operator:
65− - match: '(?<![/=\-+!*%<>&|\^~.])(&|\||\^|<<|>>)(?![/=\-+!*%<>&|\^~.])'
66− scope: keyword.operator.bitwise.swift
67− block-comment:
68− - match: /\*
69− comment: Block comment
70− captures:
71− 0: punctuation.definition.comment.block.begin.swift
72− push:
73− - meta_scope: comment.block.swift
74− - match: \*/
75− captures:
76− 0: punctuation.definition.comment.block.end.swift
77− pop: true
78− boolean:
79− - match: \b(true|false)\b
80− scope: keyword.constant.boolean.swift
81− branch-statement-keyword:
82− - include: if-statement-keyword
83− - include: switch-statement-keyword
84− catch-statement-keyword:
85− - match: \b(catch|do)\b
86− comment: catch-statement
87− scope: kewyord.control.catch.swift
88− code-block:
89− - match: '(\{)'
90− comment: code-block
91− captures:
92− 1: punctuation.definition.code-block.begin.swift
93− push:
94− - match: '(\})'
95− captures:
96− 1: punctuation.definition.code-block.end.swift
97− pop: true
98− - include: main
99− collection-type:
100− - include: array-type
101− - include: dictionary-type
102− - match: \b(Array|Dictionary)\b
103− scope: support.type.swift
104− comparative-operator:
105− - match: '(?<![/=\-+!*%<>&|\^~.])((=|!)==?|(<|>)=?|~=)(?![/=\-+!*%<>&|\^~.])'
106− scope: keyword.operator.comparative.swift
107− control-transfer-statement-keyword:
108− - match: \b(continue|break|fallthrough|return)\b
109− comment: control-transfer-statement
110− scope: keyword.control.transfer.swift
111− custom-operator:
112− - match: '(?<=[\s(\[{,;:])([/=\-+!*%<>&|\^~.]++)(?![\s)\]},;:])'
113− scope: keyword.operator.custom.prefix.unary.swift
114− - match: '(?<![\s(\[{,;:])([/=\-+!*%<>&|\^~.]++)(?![\s)\]},;:\.])'
115− scope: keyword.operator.custom.postfix.unary.swift
116− - match: '(?<=[\s(\[{,;:])([/=\-+!*%<>&|\^~.]++)(?=[\s)\]},;:])'
117− scope: keyword.operator.custom.binary.swift
118− declaration:
119− - include: import-declaration
120− - include: function-declaration
121− declaration-modifier:
122− - match: \b(class|convenience|dynamic|final|lazy|(non)?mutating|optional|override|required|static|unowned((un)?safe)?|weak)\b
123− comment: declaration-modifier
124− scope: keyword.other.declaration-modifier.swift
125− dictionary-type:
126− - match: \b(Dictionary)(<)
127− captures:
128− 1: support.type.dictionary.swift
129− 2: punctuation.dictionary.begin.swift
130− push:
131− - meta_scope: meta.dictionary.swift
132− - match: (>)
133− captures:
134− 1: punctuation.dictionary.end.swift
135− pop: true
136− - include: main
137− documentation-comment:
138− - match: /\*\*
139− comment: Documentation comment
140− captures:
141− 0: punctuation.definition.comment.block.documentation.begin.swift
142− push:
143− - meta_scope: comment.block.documentation.swift
144− - match: \*/
145− captures:
146− 0: punctuation.definition.comment.block.documentation.end.swift
147− pop: true
148− floating-point-literal:
149− - match: '\b([0-9][0-9_]*)(\.([0-9][0-9_]*))?([eE][+\-]?([0-9][0-9_]*))?\b'
150− comment: floating-point-literal -> (decimal-literal)(decimal-fraction)?(decimal-exponent)?
151− - match: '\b(0x\h[\h_]*)(\.(0x\h[\h_]*))?([pP][+\-]?(0x\h[\h_]*))\b'
152− comment: floating-point-literal -> (hexadecimal-literal)(hexadecimal-fraction)?(hexadecimal-exponent)
153− function-body:
154− - include: code-block
155− function-declaration:
156− - match: '\b(func)\s+(\B\$[0-9]+|\b[\w^\d][\w\d]*\b|\B`[\w^\d][\w\d]*`\B|[/=\-+!*%<>&|\^~.]+)\s*(?=\(|<)'
157− comment: function-declaration
158− captures:
159− 1: storage.type.function.swift
160− 2: entity.type.function.swift
161− push:
162− - meta_scope: meta.function-declaration.swift
163− - match: '(?<=\})'
164− pop: true
165− - include: generic-parameter-clause
166− - include: parameter-clause
167− - include: function-result
168− - include: function-body
169− function-result:
170− - match: '(?<![/=\-+!*%<>&|\^~.])(\->)(?![/=\-+!*%<>&|\^~.])\s*'
171− comment: function-result
172− captures:
173− 1: keyword.operator.function-result.swift
174− push:
175− - meta_scope: meta.function-result.swift
176− - match: '\s*(?=\{)'
177− pop: true
178− - include: type
179− generic-parameter-clause:
180− - match: (<)
181− comment: generic-parameter-clause
182− captures:
183− 1: punctuation.definition.generic-parameter-clause.begin.swift
184− push:
185− - meta_scope: meta.generic-parameter-clause.swift
186− - match: (>)
187− captures:
188− 1: punctuation.definition.generic-parameter-clause.end.swift
189− pop: true
190− - include: main
191− identifier:
192− - match: '(\B\$[0-9]+|\b[\w^\d][\w\d]*\b|\B`[\w^\d][\w\d]*`\B)'
193− comment: identifier
194− scope: meta.identifier.swift
195− if-statement-keyword:
196− - match: \b(if|else)\b
197− comment: if-statement
198− scope: keyword.control.if.swift
199− import-declaration:
200− - match: '\b(import)\s+(?:(typealias|struct|class|enum|protocol|var|func)\s+)?((?:\B\$[0-9]+|\b[\w^\d][\w\d]*\b|\B`[\w^\d][\w\d]*`\B|[/=\-+!*%<>&|\^~.]+)(?:\.(?:\B\$[0-9]+|\b[\w^\d][\w\d]*\b|\B`[\w^\d][\w\d]*`\B|[/=\-+!*%<>&|\^~.]+))*)'
201− comment: import-declaration
202− scope: meta.import.swift
203− captures:
204− 1: keyword.other.import.swift
205− 2: storage.modifier.swift
206− 3: support.type.module.import.swift
207− in-line-comment:
208− - match: (//).*
209− comment: In-line comment
210− scope: comment.line.double-slash.swift
211− captures:
212− 1: punctuation.definition.comment.line.double-slash.swift
213− increment-decrement-operator:
214− - match: '(?<![/=\-+!*%<>&|\^~.])(\+\+|\-\-)(?![/=\-+!*%<>&|\^~.])'
215− scope: keyword.operator.increment-or-decrement.swift
216− integer-literal:
217− - match: '(\B\-|\b)(0b[01][01_]*)\b'
218− comment: binary-literal
219− scope: constant.numeric.integer.binary.swift
220− - match: '(\B\-|\b)(0o[0-7][0-7_]*)\b'
221− comment: octal-literal
222− scope: constant.numeric.integer.octal.swift
223− - match: '(\B\-|\b)([0-9][0-9_]*)\b'
224− comment: decimal-literal
225− scope: constant.numeric.integer.decimal.swift
226− - match: '(\B\-|\b)(0x\h[\h_]*)\b'
227− comment: hexadecimal-literal
228− scope: constant.numeric.integer.hexadecimal.swift
229− integer-type:
230− - match: \bU?Int(8|16|32|64)?\b
231− comment: Int types
232− scope: support.type.swift
233− keyword:
234− - include: branch-statement-keyword
235− - include: control-transfer-statement-keyword
236− - include: loop-statement-keyword
237− - include: catch-statement-keyword
238− - include: operator-declaration-modifier
239− - include: declaration-modifier
240− - include: access-level-modifier
241− - match: \b(class|deinit|enum|extension|func|import|init|let|protocol|static|struct|subscript|typealias|var|throws|rethrows)\b
242− comment: declaration keyword
243− scope: keyword.declaration.swift
244− - match: \b(break|case|continue|default|do|else|fallthrough|if|in|for|return|switch|where|while|repeat|catch|guard|defer|try|throw)\b
245− comment: statement keyword
246− scope: keyword.statement.swift
247− - match: \b(as|dynamicType|is|new|super|self|Self|Type)\b
248− comment: expression and type keyword
249− scope: keyword.other.statement.swift
250− - match: \b(associativity|didSet|get|infix|inout|left|mutating|none|nonmutating|operator|override|postfix|precedence|prefix|right|set|unowned((un)?safe)?|weak|willSet)\b
251− comment: other keyword
252− scope: keyword.other.swift
253− literal:
254− - include: integer-literal
255− - include: floating-point-literal
256− - include: nil-literal
257− - include: string-literal
258− - include: special-literal
259− logical-operator:
260− - match: '(?<![/=\-+!*%<>&|\^~.])(!|&&|\|\|)(?![/=\-+!*%<>&|\^~.])'
261− scope: keyword.operator.logical.swift
262− loop-statement-keyword:
263− - match: \b(while|repeat|for|in)\b
264− comment: loop-statement
265− scope: keyword.control.loop.swift
266− nil-literal:
267− - match: \bnil\b
268− comment: nil-literal
269− scope: constant.nil.swift
270− operator:
271− - include: comparative-operator
272− - include: assignment-operator
273− - include: logical-operator
274− - include: remainder-operator
275− - include: increment-decrement-operator
276− - include: overflow-operator
277− - include: range-operator
278− - include: bitwise-operator
279− - include: arithmetic-operator
280− - include: ternary-operator
281− - include: type-casting-operator
282− - include: custom-operator
283− operator-declaration-modifier:
284− - match: \b(operator|prefix|infix|postfix)\b
285− comment: operator-declaration
286− scope: keyword.other.operator.swift
287− optional-type:
288− - match: \b(Optional)(<)
289− scope: meta.optional.swift
290− overflow-operator:
291− - match: '(?<![/=\-+!*%<>&|\^~.])\&(\+|\-|\*|\/|%)(?![/=\-+!*%<>&|\^~.])'
292− scope: keyword.operator.overflow.swift
293− parameter-clause:
294− - match: (\()
295− comment: parameter-clause
296− captures:
297− 1: punctuation.definition.function-arguments.begin.swift
298− push:
299− - meta_scope: meta.parameter-clause.swift
300− - match: (\))
301− captures:
302− 1: punctuation.definition.function-arguments.end.swift
303− pop: true
304− - include: main
305− primitive-type:
306− - match: \b(Int|Float|Double|String|Bool|Character|Void)\b
307− comment: Primitive types
308− scope: support.type.swift
309− protocol-composition-type:
310− - match: \b(protocol)(<)
311− scope: meta.protocol.swift
312− range-operator:
313− - match: '(?<![/=\-+!*%<>&|\^~.])\.\.(?:\.)?(?![/=\-+!*%<>&|\^~.])'
314− scope: keyword.operator.range.swift
315− remainder-operator:
316− - match: '(?<![/=\-+!*%<>&|\^~.])\%(?![/=\-+!*%<>&|\^~.])'
317− scope: keyword.operator.remainder.swift
318− shebang-line:
319− - match: ^(#!).*$
320− comment: Shebang line
321− scope: comment.line.shebang.swift
322− captures:
323− 1: punctuation.definition.comment.line.shebang.swift
324− special-literal:
325− - match: \b__(FILE|LINE|COLUMN|FUNCTION)__\b
326− scope: keyword.other.literal.swift
327− storage-type:
328− - match: \b(var|func|let|class|enum|struct|protocol|extension|typealias)\b
329− scope: storage.type.swift
330− string-literal:
331− - match: \"
332− captures:
333− 0: string.quoted.double.swift
334− push:
335− - meta_scope: meta.literal.string.swift
336− - match: \"
337− captures:
338− 0: string.quoted.double.swift
339− pop: true
340− - match: '\\([0tnr\"\''\\]|x\h{2}|u\h{4}|U\h{8})'
341− scope: constant.character.escape.swift
342− - match: (\\\()
343− captures:
344− 1: support.punctuation.expression.begin.swift
345− push:
346− - meta_content_scope: meta.expression.swift
347− - match: (\))
348− captures:
349− 1: support.punctuation.expression.end.swift
350− pop: true
351− - include: scope:source.swift
352− - match: (\"|\\)
353− scope: invalid.illegal.swift
354− - match: (.)
355− scope: string.quoted.double.swift
356− switch-statement-keyword:
357− - match: \b(switch|case|default|where)\b
358− comment: switch-statement
359− scope: keyword.control.switch.swift
360− ternary-operator:
361− - match: '(?<=[\s(\[{,;:])(\?|:)(?=[\s)\]},;:])'
362− scope: keyword.operator.ternary.swift
363− type:
364− - include: primitive-type
365− - include: integer-type
366− - include: collection-type
367− - include: optional-type
368− - include: protocol-composition-type
369− type-casting-operator:
370− - match: \b(is\b|as(\?\B|\b))
371− scope: keyword.operator.type-casting.swift
assets/syntaxes/02_Extra/SystemVerilogdeleted−1

Submodule changed.

assets/syntaxes/02_Extra/TOMLdeleted−1

Submodule changed.

assets/syntaxes/02_Extra/Terraformdeleted−1

Submodule changed.

assets/syntaxes/02_Extra/TypeScriptdeleted−1

Submodule changed.

assets/syntaxes/02_Extra/TypeScript.sublime-syntaxdeleted−3426

This diff is too big to show here.

assets/syntaxes/02_Extra/TypsecriptReact.sublime-syntaxdeleted−3580

This diff is too big to show here.

assets/syntaxes/02_Extra/Verilogdeleted−1

This diff is too big to show here.

assets/syntaxes/02_Extra/Verilog.sublime-syntaxdeleted−149

This diff is too big to show here.

assets/syntaxes/02_Extra/VimLdeleted−1

This diff is too big to show here.

assets/syntaxes/02_Extra/Vuedeleted−1

This diff is too big to show here.

assets/syntaxes/02_Extra/Zigdeleted−1

This diff is too big to show here.

assets/syntaxes/02_Extra/cmd-helpdeleted−1

This diff is too big to show here.

assets/syntaxes/02_Extra/gnuplotdeleted−1

This diff is too big to show here.

assets/syntaxes/02_Extra/gnuplot.sublime-syntaxdeleted−182

This diff is too big to show here.

assets/syntaxes/02_Extra/hostsdeleted−1

This diff is too big to show here.

assets/syntaxes/02_Extra/http-request-responsedeleted−1

This diff is too big to show here.

assets/syntaxes/02_Extra/log.sublime-syntaxdeleted−140

This diff is too big to show here.

assets/syntaxes/02_Extra/show-nonprintable.sublime-syntaxdeleted−31

This diff is too big to show here.

assets/syntaxes/02_Extra/ssh-configdeleted−1

This diff is too big to show here.

assets/syntaxes/02_Extra/syntax_test_csv.csvdeleted−60

This diff is too big to show here.

assets/syntaxes/02_Extra/syntax_test_man.mandeleted−162

This diff is too big to show here.

assets/syntaxes/02_Extra/syntax_test_tsv.tsvdeleted−60

This diff is too big to show here.

assets/syntaxes/02_Extra/syslog.sublime-syntaxdeleted−63

This diff is too big to show here.

assets/syntaxes/02_Extra/varlinkdeleted−1

This diff is too big to show here.

assets/theme_preview.rsdeleted−5

This diff is too big to show here.

assets/theme_setnew file

Binary file not shown.

assets/themes.bindeleted

Binary file not shown.

assets/themes/1337-Schemedeleted−1

This diff is too big to show here.

assets/themes/Coldarkdeleted−1

This diff is too big to show here.

assets/themes/DarkNeondeleted−1

This diff is too big to show here.

assets/themes/Nord-sublimedeleted−1

This diff is too big to show here.

assets/themes/Solarizeddeleted−1

This diff is too big to show here.

assets/themes/TwoDarkdeleted−1

This diff is too big to show here.

assets/themes/ansi.tmThemedeleted−430

This diff is too big to show here.

assets/themes/base16-256.tmThemedeleted−551

This diff is too big to show here.

assets/themes/base16.tmThemedeleted−550

This diff is too big to show here.

assets/themes/dracula-sublimedeleted−1

This diff is too big to show here.

assets/themes/github-sublime-themedeleted−1

This diff is too big to show here.

assets/themes/gruvboxdeleted−1

This diff is too big to show here.

assets/themes/onehalfdeleted−1

This diff is too big to show here.

assets/themes/sublime-monokai-extendeddeleted−1

This diff is too big to show here.

assets/themes/sublime-snazzydeleted−1

This diff is too big to show here.

assets/themes/visual-studio-dark-plusdeleted−1

This diff is too big to show here.

assets/themes/zenburndeleted−1

This diff is too big to show here.

build.rsdeleted−106

This diff is too big to show here.

ci/before_deploy.bashnew file+103

This diff is too big to show here.

diagnostics/.gitattributesdeleted−1

This diff is too big to show here.

diagnostics/info.shdeleted−261

This diff is too big to show here.

doc/README-ja.mddeleted−651

This diff is too big to show here.

doc/README-ko.mddeleted−835

This diff is too big to show here.

doc/README-ru.mddeleted−597

This diff is too big to show here.

doc/README-zh.mddeleted−678

This diff is too big to show here.

doc/alternatives.mddeleted−63

This diff is too big to show here.

doc/assets.mddeleted−100

This diff is too big to show here.

doc/logo-header.svgdeleted−326

This diff is too big to show here.

doc/release-checklist.mddeleted−73

This diff is too big to show here.

doc/sponsors.mddeleted−14

This diff is too big to show here.

doc/sponsors/workos-logo-white-bg.svgdeleted−11

This diff is too big to show here.

examples/advanced.rsdeleted−18

This diff is too big to show here.

examples/cat.rsdeleted−13

This diff is too big to show here.

examples/inputs.rsdeleted−19

This diff is too big to show here.

examples/list_syntaxes_and_themes.rsdeleted−18

This diff is too big to show here.

examples/simple.rsdeleted−6

This diff is too big to show here.

examples/yaml.rsdeleted−35

This diff is too big to show here.

rustfmt.tomldeleted−1

This diff is too big to show here.

src/assets.rsdeleted−699

This diff is too big to show here.

src/assets/assets_metadata.rsdeleted−82

This diff is too big to show here.

src/assets/build_assets.rsdeleted−176

This diff is too big to show here.

src/assets/build_assets/acknowledgements.rsdeleted−222

This diff is too big to show here.

src/assets/lazy_theme_set.rsdeleted−104

This diff is too big to show here.

src/assets/serialized_syntax_set.rsdeleted−27

This diff is too big to show here.

src/bin/bat/app.rsdeleted−341

This diff is too big to show here.

src/bin/bat/assets.rsdeleted−65

This diff is too big to show here.

src/bin/bat/clap_app.rsdeleted−608

This diff is too big to show here.

src/bin/bat/config.rsdeleted−174

This diff is too big to show here.

src/bin/bat/directories.rsdeleted−72

This diff is too big to show here.

src/bin/bat/input.rsdeleted−20

This diff is too big to show here.

src/bin/bat/main.rsdeleted−364

This diff is too big to show here.

src/config.rsdeleted−114

This diff is too big to show here.

src/controller.rsdeleted−249

This diff is too big to show here.

src/decorations.rsdeleted−158

This diff is too big to show here.

src/diff.rsdeleted−83

This diff is too big to show here.

src/error.rsdeleted−65

This diff is too big to show here.

src/input.rsdeleted−352

This diff is too big to show here.

src/less.rsdeleted−131

This diff is too big to show here.

src/lib.rsdeleted−57

This diff is too big to show here.

src/line_range.rsdeleted−295

This diff is too big to show here.

src/macros.rsdeleted−7

This diff is too big to show here.

src/main.rsnew file+642

This diff is too big to show here.

src/output.rsdeleted−160

This diff is too big to show here.

src/pager.rsdeleted−123

This diff is too big to show here.

src/paging.rsdeleted−12

This diff is too big to show here.

src/preprocessor.rsdeleted−154

This diff is too big to show here.

src/pretty_printer.rsdeleted−357

This diff is too big to show here.

src/printer.rs+95−669

This diff is too big to show here.

src/style.rsdeleted−132

This diff is too big to show here.

src/syntax_mapping.rsdeleted−252

This diff is too big to show here.

src/syntax_mapping/ignored_suffixes.rsdeleted−107

This diff is too big to show here.

src/terminal.rs+59−68

This diff is too big to show here.

src/vscreen.rsdeleted−212

This diff is too big to show here.

src/wrapping.rsdeleted−12

This diff is too big to show here.

tests/.gitattributesdeleted−12

This diff is too big to show here.

tests/assets.rsdeleted−42

This diff is too big to show here.

tests/benchmarks/.gitignoredeleted−1

This diff is too big to show here.

tests/benchmarks/.ignoredeleted−1

This diff is too big to show here.

tests/benchmarks/highlighting-speed-src/grep-output-ansi-sequences.txtdeleted−2272

This diff is too big to show here.

tests/benchmarks/highlighting-speed-src/jquery.jsdeleted−10364

This diff is too big to show here.

tests/benchmarks/highlighting-speed-src/miniz.cdeleted−602

This diff is too big to show here.

tests/benchmarks/highlighting-speed-src/numpy_test_multiarray.pydeleted−8471

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-0.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-1.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-10.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-100.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-11.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-12.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-13.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-14.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-15.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-16.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-17.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-18.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-19.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-2.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-20.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-21.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-22.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-23.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-24.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-25.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-26.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-27.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-28.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-29.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-3.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-30.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-31.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-32.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-33.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-34.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-35.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-36.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-37.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-38.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-39.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-4.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-40.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-41.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-42.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-43.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-44.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-45.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-46.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-47.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-48.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-49.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-5.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-50.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-51.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-52.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-53.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-54.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-55.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-56.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-57.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-58.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-59.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-6.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-60.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-61.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-62.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-63.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-64.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-65.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-66.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-67.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-68.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-69.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-7.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-70.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-71.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-72.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-73.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-74.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-75.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-76.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-77.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-78.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-79.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-8.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-80.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-81.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-82.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-83.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-84.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-85.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-86.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-87.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-88.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-89.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-9.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-90.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-91.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-92.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-93.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-94.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-95.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-96.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-97.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-98.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/many-small-files/small-file-99.txtdeleted−1

This diff is too big to show here.

tests/benchmarks/run-benchmarks.shdeleted−148

This diff is too big to show here.

tests/benchmarks/startup-time-src/small-CpuInfo-file.cpuinfodeleted−1

This diff is too big to show here.

tests/benchmarks/startup-time-src/small-Markdown-file.mddeleted−3

This diff is too big to show here.

tests/examples/bat.confdeleted−5

This diff is too big to show here.

tests/examples/cachedeleted−1

This diff is too big to show here.

tests/examples/cache.cdeleted−1

This diff is too big to show here.

tests/examples/empty.txtdeleted

No changes to the content.

tests/examples/git/.config/git/configdeleted−3

This diff is too big to show here.

tests/examples/git/.gitconfigdeleted−3

This diff is too big to show here.

tests/examples/longline.jsondeleted−3

This diff is too big to show here.

tests/examples/multiline.txtdeleted−4

This diff is too big to show here.

tests/examples/nonprintable.txtdeleted

Binary file not shown.

tests/examples/regression_tests/first_line_fallback.invalid-syntaxdeleted−2

This diff is too big to show here.

tests/examples/regression_tests/issue_190.mddeleted−3

This diff is too big to show here.

tests/examples/regression_tests/issue_28.mddeleted−4

This diff is too big to show here.

tests/examples/regression_tests/issue_314.hsdeleted−4

This diff is too big to show here.

tests/examples/regression_tests/issue_914.rbdeleted−3

This diff is too big to show here.

tests/examples/regression_tests/issue_915.vuedeleted−2

This diff is too big to show here.

tests/examples/regression_tests/issue_985.jsdeleted−5

This diff is too big to show here.

tests/examples/single-line.txtdeleted−1

This diff is too big to show here.

tests/examples/sub_directory/dummy.txtdeleted

No changes to the content.

tests/examples/tabs.txtdeleted−9

This diff is too big to show here.

tests/examples/test.binarydeleted

Binary file not shown.

tests/examples/test.json.suffixdeleted−1

This diff is too big to show here.

tests/examples/test.json~deleted−1

This diff is too big to show here.

tests/examples/test.txtdeleted−1

This diff is too big to show here.

tests/examples/test_UTF-16LE.txtdeleted

Binary file not shown.

tests/examples/unicode-wrap.txtdeleted−7

This diff is too big to show here.

tests/integration_tests.rsdeleted−1561

This diff is too big to show here.

tests/mocked-pagers/moredeleted−2

This diff is too big to show here.

tests/mocked-pagers/more.batdeleted−1

This diff is too big to show here.

tests/mocked-pagers/mostdeleted−2

This diff is too big to show here.

tests/mocked-pagers/most.batdeleted−1

This diff is too big to show here.

tests/no_duplicate_extensions.rsdeleted−38

This diff is too big to show here.

tests/scripts/find-slow-to-highlight-files.pydeleted−125

This diff is too big to show here.

tests/scripts/license-checks.shdeleted−24

This diff is too big to show here.

tests/snapshot_tests.rsdeleted−45

This diff is too big to show here.

tests/snapshots/generate_snapshots.pydeleted−59

This diff is too big to show here.

tests/snapshots/output/changes.snapshot.txtdeleted−23

This diff is too big to show here.

tests/snapshots/output/changes_grid.snapshot.txtdeleted−25

This diff is too big to show here.

tests/snapshots/output/changes_grid_header.snapshot.txtdeleted−27

This diff is too big to show here.

tests/snapshots/output/changes_grid_header_numbers.snapshot.txtdeleted−27

This diff is too big to show here.

tests/snapshots/output/changes_grid_header_numbers_rule.snapshot.txtdeleted−27

This diff is too big to show here.

tests/snapshots/output/changes_grid_header_rule.snapshot.txtdeleted−27

This diff is too big to show here.

tests/snapshots/output/changes_grid_numbers.snapshot.txtdeleted−25

This diff is too big to show here.

tests/snapshots/output/changes_grid_numbers_rule.snapshot.txtdeleted−25

This diff is too big to show here.

tests/snapshots/output/changes_grid_rule.snapshot.txtdeleted−25

This diff is too big to show here.

tests/snapshots/output/changes_header.snapshot.txtdeleted−24

This diff is too big to show here.

tests/snapshots/output/changes_header_numbers.snapshot.txtdeleted−24

This diff is too big to show here.

tests/snapshots/output/changes_header_numbers_rule.snapshot.txtdeleted−24

This diff is too big to show here.

tests/snapshots/output/changes_header_rule.snapshot.txtdeleted−24

This diff is too big to show here.

tests/snapshots/output/changes_numbers.snapshot.txtdeleted−23

This diff is too big to show here.

tests/snapshots/output/changes_numbers_rule.snapshot.txtdeleted−23

This diff is too big to show here.

tests/snapshots/output/changes_rule.snapshot.txtdeleted−23

This diff is too big to show here.

tests/snapshots/output/full.snapshot.txtdeleted−28

This diff is too big to show here.

tests/snapshots/output/grid.snapshot.txtdeleted−25

This diff is too big to show here.

tests/snapshots/output/grid_header.snapshot.txtdeleted−27

This diff is too big to show here.

tests/snapshots/output/grid_header_numbers.snapshot.txtdeleted−27

This diff is too big to show here.

tests/snapshots/output/grid_header_numbers_rule.snapshot.txtdeleted−27

This diff is too big to show here.

tests/snapshots/output/grid_header_rule.snapshot.txtdeleted−27

This diff is too big to show here.

tests/snapshots/output/grid_numbers.snapshot.txtdeleted−25

This diff is too big to show here.

tests/snapshots/output/grid_numbers_rule.snapshot.txtdeleted−25

This diff is too big to show here.

tests/snapshots/output/grid_rule.snapshot.txtdeleted−25

This diff is too big to show here.

tests/snapshots/output/header.snapshot.txtdeleted−24

This diff is too big to show here.

tests/snapshots/output/header_numbers.snapshot.txtdeleted−24

This diff is too big to show here.

tests/snapshots/output/header_numbers_rule.snapshot.txtdeleted−24

This diff is too big to show here.

tests/snapshots/output/header_rule.snapshot.txtdeleted−24

This diff is too big to show here.

tests/snapshots/output/numbers.snapshot.txtdeleted−23

This diff is too big to show here.

tests/snapshots/output/numbers_rule.snapshot.txtdeleted−23

This diff is too big to show here.

tests/snapshots/output/plain.snapshot.txtdeleted−23

This diff is too big to show here.

tests/snapshots/output/rule.snapshot.txtdeleted−23

This diff is too big to show here.

tests/snapshots/sample.modified.rsdeleted−23

This diff is too big to show here.

tests/snapshots/sample.rsdeleted−18

This diff is too big to show here.

tests/syntax-tests/BatTestCustomAssets.sublime-syntaxdeleted−21

This diff is too big to show here.

tests/syntax-tests/compare_highlighted_versions.pydeleted−65

This diff is too big to show here.

tests/syntax-tests/create_highlighted_versions.pydeleted−133

This diff is too big to show here.

tests/syntax-tests/highlighted/ARM Assembly/test.Sdeleted−55

This diff is too big to show here.

tests/syntax-tests/highlighted/ASP/test.aspdeleted−36

This diff is too big to show here.

tests/syntax-tests/highlighted/AWK/quicksort.awkdeleted−35

This diff is too big to show here.

tests/syntax-tests/highlighted/ActionScript/test.asdeleted−75

This diff is too big to show here.

tests/syntax-tests/highlighted/Apache/httpd.confdeleted−42

This diff is too big to show here.

tests/syntax-tests/highlighted/AppleScript/test.applescriptdeleted−25

This diff is too big to show here.

tests/syntax-tests/highlighted/AsciiDoc/test.adocdeleted−173

This diff is too big to show here.

tests/syntax-tests/highlighted/Assembly (x86_64)/test.nasmdeleted−86

This diff is too big to show here.

tests/syntax-tests/highlighted/Bash/batgrep.shdeleted−511

This diff is too big to show here.

tests/syntax-tests/highlighted/Bash/simple.shdeleted−72

This diff is too big to show here.

tests/syntax-tests/highlighted/BatTestCustomAssets/NoColorsUnlessCustomAssetsAreUsed.battestcustomassetsdeleted−2

This diff is too big to show here.

tests/syntax-tests/highlighted/Batch/build.batdeleted−59

This diff is too big to show here.

tests/syntax-tests/highlighted/BibTeX/test.bibdeleted−18

This diff is too big to show here.

tests/syntax-tests/highlighted/C-Sharp/Stack.csdeleted−64

This diff is too big to show here.

tests/syntax-tests/highlighted/C/test.cdeleted−62

This diff is too big to show here.

tests/syntax-tests/highlighted/CMake/CMakeLists.txtdeleted−16

This diff is too big to show here.

tests/syntax-tests/highlighted/CSS/style.cssdeleted−115

This diff is too big to show here.

tests/syntax-tests/highlighted/CSV/comma_in_quotes.csvdeleted−7

This diff is too big to show here.

tests/syntax-tests/highlighted/Cabal/semantic.cabaldeleted−247

This diff is too big to show here.

tests/syntax-tests/highlighted/Clojure/test.cljdeleted−58

This diff is too big to show here.

tests/syntax-tests/highlighted/CoffeeScript/coffeescript.coffeedeleted−391

This diff is too big to show here.

tests/syntax-tests/highlighted/Cpp/test.cppdeleted−79

This diff is too big to show here.

tests/syntax-tests/highlighted/CpuInfo/test.cpuinfodeleted−45

This diff is too big to show here.

tests/syntax-tests/highlighted/Crystal/test.crdeleted−117

This diff is too big to show here.

tests/syntax-tests/highlighted/D/test.ddeleted−44

This diff is too big to show here.

tests/syntax-tests/highlighted/Dart/inner_comment.dartdeleted−5

This diff is too big to show here.

tests/syntax-tests/highlighted/Dart/test.dartdeleted−133

This diff is too big to show here.

tests/syntax-tests/highlighted/Diff/82e7786e747b1fcfac1f963ae6415a22ec9caae1.diffdeleted−353

This diff is too big to show here.

tests/syntax-tests/highlighted/Dockerfile/Dockerfiledeleted−19

This diff is too big to show here.

tests/syntax-tests/highlighted/DotENV/.envdeleted−57

This diff is too big to show here.

tests/syntax-tests/highlighted/Elixir/command.exdeleted−31

This diff is too big to show here.

tests/syntax-tests/highlighted/Elm/test.elmdeleted−137

This diff is too big to show here.

tests/syntax-tests/highlighted/Email/test.emldeleted−16

This diff is too big to show here.

tests/syntax-tests/highlighted/Erlang/bat_erlang.erldeleted−72

This diff is too big to show here.

tests/syntax-tests/highlighted/EtcGroup/test.groupdeleted−67

This diff is too big to show here.

tests/syntax-tests/highlighted/F#/string.fsdeleted−182

This diff is too big to show here.

tests/syntax-tests/highlighted/Fish/test.fishdeleted−77

This diff is too big to show here.

tests/syntax-tests/highlighted/Fortran (Fixed Form)/quicksort_real_F77.Fdeleted−323

This diff is too big to show here.

tests/syntax-tests/highlighted/Fortran (Modern)/test_savetxt.f90deleted−119

This diff is too big to show here.

tests/syntax-tests/highlighted/Fortran Namelist/test.namelistdeleted−5

This diff is too big to show here.

tests/syntax-tests/highlighted/Fstab/fstabdeleted−7

This diff is too big to show here.

tests/syntax-tests/highlighted/GLSL/test.glsldeleted−42

This diff is too big to show here.

tests/syntax-tests/highlighted/Git Attributes/example.gitattributesdeleted−16

This diff is too big to show here.

tests/syntax-tests/highlighted/Git Config/text.gitconfigdeleted−107

This diff is too big to show here.

tests/syntax-tests/highlighted/Git Ignore/test.gitignoredeleted−43

This diff is too big to show here.

tests/syntax-tests/highlighted/Go/main.godeleted−81

This diff is too big to show here.

tests/syntax-tests/highlighted/GraphQL/test.graphqldeleted−145

This diff is too big to show here.

tests/syntax-tests/highlighted/Graphviz DOT/test_digraph.dotdeleted−41

This diff is too big to show here.

tests/syntax-tests/highlighted/Graphviz DOT/test_graph.dotdeleted−3

This diff is too big to show here.

tests/syntax-tests/highlighted/Groff/rustdoc.1deleted−126

This diff is too big to show here.

tests/syntax-tests/highlighted/Groovy/test.groovydeleted−77

This diff is too big to show here.

tests/syntax-tests/highlighted/HTML/test.htmldeleted−115

This diff is too big to show here.

tests/syntax-tests/highlighted/Haskell/test.hsdeleted−86

This diff is too big to show here.

tests/syntax-tests/highlighted/Hosts/hostsdeleted−8

This diff is too big to show here.

tests/syntax-tests/highlighted/INI/test.infdeleted−5

This diff is too big to show here.

tests/syntax-tests/highlighted/INI/test.inideleted−18

This diff is too big to show here.

tests/syntax-tests/highlighted/Ignored suffixes/test.rs.bakdeleted−1

This diff is too big to show here.

tests/syntax-tests/highlighted/Ignored suffixes/test.rs.dpkg-distdeleted−1

This diff is too big to show here.

tests/syntax-tests/highlighted/Ignored suffixes/test.rs.dpkg-olddeleted−1

This diff is too big to show here.

tests/syntax-tests/highlighted/Ignored suffixes/test.rs.indeleted−1

This diff is too big to show here.

tests/syntax-tests/highlighted/Ignored suffixes/test.rs.in.indeleted−1

This diff is too big to show here.

tests/syntax-tests/highlighted/Ignored suffixes/test.rs.olddeleted−1

This diff is too big to show here.

tests/syntax-tests/highlighted/Ignored suffixes/test.rs.origdeleted−1

This diff is too big to show here.

tests/syntax-tests/highlighted/Ignored suffixes/test.rs.orig~deleted−1

This diff is too big to show here.

tests/syntax-tests/highlighted/Ignored suffixes/test.rs.rpmnewdeleted−1

This diff is too big to show here.

tests/syntax-tests/highlighted/Ignored suffixes/test.rs.rpmorigdeleted−1

This diff is too big to show here.

tests/syntax-tests/highlighted/Ignored suffixes/test.rs.rpmsavedeleted−1

This diff is too big to show here.

tests/syntax-tests/highlighted/Ignored suffixes/test.rs.ucf-distdeleted−1

This diff is too big to show here.

tests/syntax-tests/highlighted/Ignored suffixes/test.rs.ucf-newdeleted−1

This diff is too big to show here.

tests/syntax-tests/highlighted/Ignored suffixes/test.rs.ucf-olddeleted−1

This diff is too big to show here.

tests/syntax-tests/highlighted/Ignored suffixes/test.rs~deleted−1

This diff is too big to show here.

tests/syntax-tests/highlighted/Ignored suffixes/test.unknown~deleted−1

This diff is too big to show here.

tests/syntax-tests/highlighted/JQ/sample.jqdeleted−60

This diff is too big to show here.

tests/syntax-tests/highlighted/JSON/test.jsondeleted−29

This diff is too big to show here.

tests/syntax-tests/highlighted/Java Server Page (JSP)/sessionDetail.jspdeleted−197

This diff is too big to show here.

tests/syntax-tests/highlighted/Java/test.javadeleted−39

This diff is too big to show here.

tests/syntax-tests/highlighted/JavaScript/test.jsdeleted−114

This diff is too big to show here.

tests/syntax-tests/highlighted/Jinja2/template.jinja2deleted−30

This diff is too big to show here.

tests/syntax-tests/highlighted/Julia/test.jldeleted−71

This diff is too big to show here.

tests/syntax-tests/highlighted/Kotlin/test.ktdeleted−85

This diff is too big to show here.

tests/syntax-tests/highlighted/LLVM/test.lldeleted−29

This diff is too big to show here.

tests/syntax-tests/highlighted/Lean/test.leandeleted−68

This diff is too big to show here.

tests/syntax-tests/highlighted/Less/example.lessdeleted−43

This diff is too big to show here.

tests/syntax-tests/highlighted/Lisp/utils.lispdeleted−80

This diff is too big to show here.

tests/syntax-tests/highlighted/Literate Haskell/Main.lhsdeleted−47

This diff is too big to show here.

tests/syntax-tests/highlighted/LiveScript/livescript-demo.lsdeleted−83

This diff is too big to show here.

tests/syntax-tests/highlighted/Log/example.logdeleted−3

This diff is too big to show here.

tests/syntax-tests/highlighted/Lua/test.luadeleted−34

This diff is too big to show here.

tests/syntax-tests/highlighted/MATLAB/test.matlabdeleted−34

This diff is too big to show here.

tests/syntax-tests/highlighted/Makefile/Makefiledeleted−385

This diff is too big to show here.

tests/syntax-tests/highlighted/Manpage/bat-0.16.mandeleted−243

This diff is too big to show here.

tests/syntax-tests/highlighted/Manpage/select-2.mandeleted−330

This diff is too big to show here.

tests/syntax-tests/highlighted/Markdown/example.mddeleted−39

This diff is too big to show here.

tests/syntax-tests/highlighted/MediaWiki/test.mediawikideleted−37

This diff is too big to show here.

tests/syntax-tests/highlighted/MemInfo/test.meminfodeleted−53

This diff is too big to show here.

tests/syntax-tests/highlighted/NAnt Build File/Default.builddeleted−167

This diff is too big to show here.

tests/syntax-tests/highlighted/Ninja/test.ninjadeleted−6

This diff is too big to show here.

tests/syntax-tests/highlighted/OCaml/syntax-test.mldeleted−83

This diff is too big to show here.

tests/syntax-tests/highlighted/Objective-C++/test.mmdeleted−68

This diff is too big to show here.

tests/syntax-tests/highlighted/Objective-C/test.mdeleted−32

This diff is too big to show here.

tests/syntax-tests/highlighted/PHP/test.phpdeleted−111

This diff is too big to show here.

tests/syntax-tests/highlighted/Pascal/test.pasdeleted−42

This diff is too big to show here.

tests/syntax-tests/highlighted/Passwd/passwddeleted−7

This diff is too big to show here.

tests/syntax-tests/highlighted/Perl/test.pldeleted−157

This diff is too big to show here.

tests/syntax-tests/highlighted/Plaintext/plaintext.txtdeleted−178

This diff is too big to show here.

tests/syntax-tests/highlighted/PowerShell/test.ps1deleted−25

This diff is too big to show here.

tests/syntax-tests/highlighted/Protocol Buffer/vyconf.protodeleted−158

This diff is too big to show here.

tests/syntax-tests/highlighted/Puppet/manifest_large_exported_classes_node.ppdeleted−65

This diff is too big to show here.

tests/syntax-tests/highlighted/PureScript/test.pursdeleted−89

This diff is too big to show here.

tests/syntax-tests/highlighted/Python/battest.pydeleted−100

This diff is too big to show here.

tests/syntax-tests/highlighted/QML/BatSyntaxTest.qmldeleted−219

This diff is too big to show here.

tests/syntax-tests/highlighted/R/test.rdeleted−170

This diff is too big to show here.

tests/syntax-tests/highlighted/Racket/test.rktdeleted−56

This diff is too big to show here.

tests/syntax-tests/highlighted/Rego/src_test.regodeleted−181

This diff is too big to show here.

tests/syntax-tests/highlighted/Regular Expression/test.redeleted−1

This diff is too big to show here.

tests/syntax-tests/highlighted/Robot Framework/recipe141_aws_simple_storage_service.robotdeleted−31

This diff is too big to show here.

tests/syntax-tests/highlighted/Ruby Haml/test.html.hamldeleted−15

This diff is too big to show here.

tests/syntax-tests/highlighted/Ruby On Rails/test.rbdeleted−22

This diff is too big to show here.

tests/syntax-tests/highlighted/Ruby/output.rbdeleted−56

This diff is too big to show here.

tests/syntax-tests/highlighted/Rust/output.rsdeleted−161

This diff is too big to show here.

tests/syntax-tests/highlighted/SCSS/example.scssdeleted−82

This diff is too big to show here.

tests/syntax-tests/highlighted/SLS/test.slsdeleted−57

This diff is too big to show here.

tests/syntax-tests/highlighted/SML/sample.smldeleted−47

This diff is too big to show here.

tests/syntax-tests/highlighted/SQL/ims.sqldeleted−266

This diff is too big to show here.

tests/syntax-tests/highlighted/SSH Config/ssh_configdeleted−9

This diff is too big to show here.

tests/syntax-tests/highlighted/SSHD Config/sshd_configdeleted−36

This diff is too big to show here.

tests/syntax-tests/highlighted/Sass/example.sassdeleted−76

This diff is too big to show here.

tests/syntax-tests/highlighted/Scala/ConcurrentEffectLaws.scaladeleted−98

This diff is too big to show here.

tests/syntax-tests/highlighted/Slim/test.slimdeleted−20

This diff is too big to show here.

tests/syntax-tests/highlighted/Solidity/ERC721.soldeleted−376

This diff is too big to show here.

tests/syntax-tests/highlighted/Strace/ls.stracedeleted−94

This diff is too big to show here.

tests/syntax-tests/highlighted/Stylus/gradients.styldeleted−90

This diff is too big to show here.

tests/syntax-tests/highlighted/Svelte/App.sveltedeleted−65

This diff is too big to show here.

tests/syntax-tests/highlighted/Swift/test.swiftdeleted−268

This diff is too big to show here.

tests/syntax-tests/highlighted/Syslog/example.syslogdeleted−16

This diff is too big to show here.

tests/syntax-tests/highlighted/SystemVerilog/output.svdeleted−103

This diff is too big to show here.

tests/syntax-tests/highlighted/TOML/Cargo.tomldeleted−87

This diff is too big to show here.

tests/syntax-tests/highlighted/Tcl/test.tcldeleted−22

This diff is too big to show here.

tests/syntax-tests/highlighted/TeX/main.texdeleted−84

This diff is too big to show here.

tests/syntax-tests/highlighted/Terraform/main.tfdeleted−48

This diff is too big to show here.

tests/syntax-tests/highlighted/Textile/test.textiledeleted−40

This diff is too big to show here.

tests/syntax-tests/highlighted/TypeScript/example.tsdeleted−110

This diff is too big to show here.

tests/syntax-tests/highlighted/TypeScriptReact/app.tsxdeleted−35

This diff is too big to show here.

tests/syntax-tests/highlighted/Verilog/div_pipelined.vdeleted−172

This diff is too big to show here.

tests/syntax-tests/highlighted/VimL/source.vimdeleted−92

This diff is too big to show here.

tests/syntax-tests/highlighted/Vue/example.vuedeleted−60

This diff is too big to show here.

tests/syntax-tests/highlighted/Vyper/crowdsale.vydeleted−89

This diff is too big to show here.

tests/syntax-tests/highlighted/XAML/ItemPage.xamldeleted−264

This diff is too big to show here.

tests/syntax-tests/highlighted/XML/example.xmldeleted−22

This diff is too big to show here.

tests/syntax-tests/highlighted/YAML/example.yamldeleted−34

This diff is too big to show here.

tests/syntax-tests/highlighted/Zig/example.zigdeleted−107

This diff is too big to show here.

tests/syntax-tests/highlighted/cmd-help/test.cmd-helpdeleted−54

This diff is too big to show here.

tests/syntax-tests/highlighted/dash/shfmdeleted−425

This diff is too big to show here.

tests/syntax-tests/highlighted/gnuplot/test.gpdeleted−19

This diff is too big to show here.

tests/syntax-tests/highlighted/http-request-response/example.httpdeleted−44

This diff is too big to show here.

tests/syntax-tests/highlighted/jsonnet/stdlib.jsonnetdeleted−88

This diff is too big to show here.

tests/syntax-tests/highlighted/nginx/nginx.confdeleted−140

This diff is too big to show here.

tests/syntax-tests/highlighted/nim/main.nimdeleted−41

This diff is too big to show here.

tests/syntax-tests/highlighted/nim/test.nimbledeleted−23

This diff is too big to show here.

tests/syntax-tests/highlighted/nix/test.nixdeleted−15

This diff is too big to show here.

tests/syntax-tests/highlighted/orgmode/test.orgdeleted−38

This diff is too big to show here.

tests/syntax-tests/highlighted/reStructuredText/reference.rstdeleted−320

This diff is too big to show here.

tests/syntax-tests/highlighted/resolv.conf/resolv.confdeleted−4

This diff is too big to show here.

tests/syntax-tests/highlighted/varlink/org.varlink.certification.varlinkdeleted−86

This diff is too big to show here.

tests/syntax-tests/regression_test.shdeleted−15

This diff is too big to show here.

tests/syntax-tests/source/ARM Assembly/test.Sdeleted−55

This diff is too big to show here.

tests/syntax-tests/source/ASP/test.aspdeleted−36

This diff is too big to show here.

tests/syntax-tests/source/AWK/quicksort.awkdeleted−35

This diff is too big to show here.

tests/syntax-tests/source/ActionScript/test.asdeleted−75

This diff is too big to show here.

tests/syntax-tests/source/Apache/httpd.confdeleted−42

This diff is too big to show here.

tests/syntax-tests/source/AppleScript/test.applescriptdeleted−25

This diff is too big to show here.

tests/syntax-tests/source/AsciiDoc/test.adocdeleted−173

This diff is too big to show here.

tests/syntax-tests/source/Assembly (x86_64)/test.nasmdeleted−86

This diff is too big to show here.

tests/syntax-tests/source/Bash/batgrep.shdeleted−511

This diff is too big to show here.

tests/syntax-tests/source/Bash/simple.shdeleted−72

This diff is too big to show here.

tests/syntax-tests/source/BatTestCustomAssets/NoColorsUnlessCustomAssetsAreUsed.battestcustomassetsdeleted−2

This diff is too big to show here.

tests/syntax-tests/source/Batch/LICENSE.mddeleted−26

This diff is too big to show here.

tests/syntax-tests/source/Batch/build.batdeleted−59

This diff is too big to show here.

tests/syntax-tests/source/BibTeX/test.bibdeleted−18

This diff is too big to show here.

tests/syntax-tests/source/C-Sharp/Stack.csdeleted−64

This diff is too big to show here.

tests/syntax-tests/source/C/test.cdeleted−62

This diff is too big to show here.

tests/syntax-tests/source/CMake/CMakeLists.txtdeleted−16

This diff is too big to show here.

tests/syntax-tests/source/CSS/style.cssdeleted−115

This diff is too big to show here.

tests/syntax-tests/source/CSV/LICENSE.mddeleted−27

This diff is too big to show here.

tests/syntax-tests/source/CSV/comma_in_quotes.csvdeleted−7

This diff is too big to show here.

tests/syntax-tests/source/Cabal/LICENSE.mddeleted−25

This diff is too big to show here.

tests/syntax-tests/source/Cabal/semantic.cabaldeleted−247

This diff is too big to show here.

tests/syntax-tests/source/Clojure/test.cljdeleted−58

This diff is too big to show here.

tests/syntax-tests/source/CoffeeScript/LICENSE.mddeleted−26

This diff is too big to show here.

tests/syntax-tests/source/CoffeeScript/coffeescript.coffeedeleted−391

This diff is too big to show here.

tests/syntax-tests/source/Cpp/test.cppdeleted−79

This diff is too big to show here.

tests/syntax-tests/source/CpuInfo/test.cpuinfodeleted−45

This diff is too big to show here.

tests/syntax-tests/source/Crystal/test.crdeleted−117

This diff is too big to show here.

tests/syntax-tests/source/D/test.ddeleted−44

This diff is too big to show here.

tests/syntax-tests/source/Dart/inner_comment.dartdeleted−5

This diff is too big to show here.

tests/syntax-tests/source/Dart/test.dartdeleted−133

This diff is too big to show here.

tests/syntax-tests/source/Diff/82e7786e747b1fcfac1f963ae6415a22ec9caae1.diffdeleted−353

This diff is too big to show here.

tests/syntax-tests/source/Dockerfile/Dockerfiledeleted−19

This diff is too big to show here.

tests/syntax-tests/source/DotENV/.envdeleted−57

This diff is too big to show here.

tests/syntax-tests/source/DotENV/LICENSE.mddeleted−23

This diff is too big to show here.

tests/syntax-tests/source/Elixir/LICENSE.mddeleted−21

This diff is too big to show here.

tests/syntax-tests/source/Elixir/command.exdeleted−31

This diff is too big to show here.

tests/syntax-tests/source/Elm/LICENSE.mddeleted−32

This diff is too big to show here.

tests/syntax-tests/source/Elm/test.elmdeleted−137

This diff is too big to show here.

tests/syntax-tests/source/Email/test.emldeleted−16

This diff is too big to show here.

tests/syntax-tests/source/Erlang/bat_erlang.erldeleted−72

This diff is too big to show here.

tests/syntax-tests/source/EtcGroup/test.groupdeleted−67

This diff is too big to show here.

tests/syntax-tests/source/F#/LICENSE.mddeleted−27

This diff is too big to show here.

tests/syntax-tests/source/F#/string.fsdeleted−182

This diff is too big to show here.

tests/syntax-tests/source/Fish/test.fishdeleted−77

This diff is too big to show here.

tests/syntax-tests/source/Fortran (Fixed Form)/LICENSE.mddeleted−25

This diff is too big to show here.

tests/syntax-tests/source/Fortran (Fixed Form)/quicksort_real_F77.Fdeleted−323

This diff is too big to show here.

tests/syntax-tests/source/Fortran (Modern)/LICENSE.mddeleted−25

This diff is too big to show here.

tests/syntax-tests/source/Fortran (Modern)/test_savetxt.f90deleted−119

This diff is too big to show here.

tests/syntax-tests/source/Fortran Namelist/test.namelistdeleted−5

This diff is too big to show here.

tests/syntax-tests/source/Fstab/fstabdeleted−7

This diff is too big to show here.

tests/syntax-tests/source/GLSL/test.glsldeleted−42

This diff is too big to show here.

tests/syntax-tests/source/Git Attributes/example.gitattributesdeleted−16

This diff is too big to show here.

tests/syntax-tests/source/Git Config/LICENSE.mddeleted−1

This diff is too big to show here.

tests/syntax-tests/source/Git Config/text.gitconfigdeleted−107

This diff is too big to show here.

tests/syntax-tests/source/Git Ignore/LICENSE.mddeleted−234

This diff is too big to show here.

tests/syntax-tests/source/Git Ignore/test.gitignoredeleted−43

This diff is too big to show here.

tests/syntax-tests/source/Go/LICENSE.mddeleted−205

This diff is too big to show here.

tests/syntax-tests/source/Go/main.godeleted−81

This diff is too big to show here.

tests/syntax-tests/source/GraphQL/test.graphqldeleted−145

This diff is too big to show here.

tests/syntax-tests/source/Graphviz DOT/LICENSE.mddeleted−22

This diff is too big to show here.

tests/syntax-tests/source/Graphviz DOT/test_digraph.dotdeleted−41

This diff is too big to show here.

tests/syntax-tests/source/Graphviz DOT/test_graph.dotdeleted−3

This diff is too big to show here.

tests/syntax-tests/source/Groff/LICENSE.mddeleted−235

This diff is too big to show here.

tests/syntax-tests/source/Groff/rustdoc.1deleted−126

This diff is too big to show here.

tests/syntax-tests/source/Groovy/test.groovydeleted−77

This diff is too big to show here.

tests/syntax-tests/source/HTML/test.htmldeleted−115

This diff is too big to show here.

tests/syntax-tests/source/Haskell/test.hsdeleted−86

This diff is too big to show here.

tests/syntax-tests/source/Hosts/hostsdeleted−8

This diff is too big to show here.

tests/syntax-tests/source/INI/test.infdeleted−5

This diff is too big to show here.

tests/syntax-tests/source/INI/test.inideleted−18

This diff is too big to show here.

tests/syntax-tests/source/Ignored suffixes/test.rs.bakdeleted−1

This diff is too big to show here.

tests/syntax-tests/source/Ignored suffixes/test.rs.dpkg-distdeleted−1

This diff is too big to show here.

tests/syntax-tests/source/Ignored suffixes/test.rs.dpkg-olddeleted−1

This diff is too big to show here.

tests/syntax-tests/source/Ignored suffixes/test.rs.indeleted−1

This diff is too big to show here.

tests/syntax-tests/source/Ignored suffixes/test.rs.in.indeleted−1

This diff is too big to show here.

tests/syntax-tests/source/Ignored suffixes/test.rs.olddeleted−1

This diff is too big to show here.

tests/syntax-tests/source/Ignored suffixes/test.rs.origdeleted−1

This diff is too big to show here.

tests/syntax-tests/source/Ignored suffixes/test.rs.orig~deleted−1

This diff is too big to show here.

tests/syntax-tests/source/Ignored suffixes/test.rs.rpmnewdeleted−1

This diff is too big to show here.

tests/syntax-tests/source/Ignored suffixes/test.rs.rpmorigdeleted−1

This diff is too big to show here.

tests/syntax-tests/source/Ignored suffixes/test.rs.rpmsavedeleted−1

This diff is too big to show here.

tests/syntax-tests/source/Ignored suffixes/test.rs.ucf-distdeleted−1

This diff is too big to show here.

tests/syntax-tests/source/Ignored suffixes/test.rs.ucf-newdeleted−1

This diff is too big to show here.

tests/syntax-tests/source/Ignored suffixes/test.rs.ucf-olddeleted−1

This diff is too big to show here.

tests/syntax-tests/source/Ignored suffixes/test.rs~deleted−1

This diff is too big to show here.

tests/syntax-tests/source/Ignored suffixes/test.unknown~deleted−1

This diff is too big to show here.

tests/syntax-tests/source/JQ/LICENSE.mddeleted−25

This diff is too big to show here.

tests/syntax-tests/source/JQ/sample.jqdeleted−60

This diff is too big to show here.

tests/syntax-tests/source/JSON/test.jsondeleted−29

This diff is too big to show here.

tests/syntax-tests/source/Java Server Page (JSP)/LICENSE.mddeleted−1141

This diff is too big to show here.

tests/syntax-tests/source/Java Server Page (JSP)/NOTICEdeleted−68

This diff is too big to show here.

tests/syntax-tests/source/Java Server Page (JSP)/sessionDetail.jspdeleted−197

This diff is too big to show here.

tests/syntax-tests/source/Java/test.javadeleted−39

This diff is too big to show here.

tests/syntax-tests/source/JavaScript/test.jsdeleted−114

This diff is too big to show here.

tests/syntax-tests/source/Jinja2/template.jinja2deleted−30

This diff is too big to show here.

tests/syntax-tests/source/Julia/test.jldeleted−71

This diff is too big to show here.

tests/syntax-tests/source/Kotlin/test.ktdeleted−85

This diff is too big to show here.

tests/syntax-tests/source/LLVM/test.lldeleted−29

This diff is too big to show here.

tests/syntax-tests/source/Lean/test.leandeleted−68

This diff is too big to show here.

tests/syntax-tests/source/Less/example.lessdeleted−43

This diff is too big to show here.

tests/syntax-tests/source/Lisp/LICENSE.mddeleted−24

This diff is too big to show here.

tests/syntax-tests/source/Lisp/utils.lispdeleted−80

This diff is too big to show here.

tests/syntax-tests/source/Literate Haskell/Main.lhsdeleted−47

This diff is too big to show here.

tests/syntax-tests/source/LiveScript/LICENSE.mddeleted−23

This diff is too big to show here.

tests/syntax-tests/source/LiveScript/livescript-demo.lsdeleted−83

This diff is too big to show here.

tests/syntax-tests/source/Log/example.logdeleted−3

This diff is too big to show here.

tests/syntax-tests/source/Lua/test.luadeleted−34

This diff is too big to show here.

tests/syntax-tests/source/MATLAB/LICENSE.mddeleted−27

This diff is too big to show here.

tests/syntax-tests/source/MATLAB/test.matlabdeleted−34

This diff is too big to show here.

tests/syntax-tests/source/Makefile/LICENSE.mddeleted−12

This diff is too big to show here.

tests/syntax-tests/source/Makefile/Makefiledeleted−385

This diff is too big to show here.

tests/syntax-tests/source/Manpage/bat-0.16.mandeleted−243

This diff is too big to show here.

tests/syntax-tests/source/Manpage/select-2.mandeleted−330

This diff is too big to show here.

tests/syntax-tests/source/Markdown/example.mddeleted−39

This diff is too big to show here.

tests/syntax-tests/source/MediaWiki/test.mediawikideleted−37

This diff is too big to show here.

tests/syntax-tests/source/MemInfo/test.meminfodeleted−53

This diff is too big to show here.

tests/syntax-tests/source/NAnt Build File/Default.builddeleted−167

This diff is too big to show here.

tests/syntax-tests/source/NAnt Build File/LICENSE.mddeleted−25

This diff is too big to show here.

tests/syntax-tests/source/Ninja/LICENSE.mddeleted−204

This diff is too big to show here.

tests/syntax-tests/source/Ninja/test.ninjadeleted−6

This diff is too big to show here.

tests/syntax-tests/source/OCaml/syntax-test.mldeleted−83

This diff is too big to show here.

tests/syntax-tests/source/Objective-C++/test.mmdeleted−68

This diff is too big to show here.

tests/syntax-tests/source/Objective-C/test.mdeleted−32

This diff is too big to show here.

tests/syntax-tests/source/PHP/test.phpdeleted−111

This diff is too big to show here.

tests/syntax-tests/source/Pascal/test.pasdeleted−42

This diff is too big to show here.

tests/syntax-tests/source/Passwd/passwddeleted−7

This diff is too big to show here.

tests/syntax-tests/source/Perl/test.pldeleted−157

This diff is too big to show here.

tests/syntax-tests/source/Plaintext/README.mddeleted−12

This diff is too big to show here.

tests/syntax-tests/source/Plaintext/bat_optionsdeleted−1

This diff is too big to show here.

tests/syntax-tests/source/Plaintext/plaintext.txtdeleted

Binary file not shown.

tests/syntax-tests/source/PowerShell/test.ps1deleted

Binary file not shown.

tests/syntax-tests/source/Protocol Buffer/vyconf.protodeleted−158

This diff is too big to show here.

tests/syntax-tests/source/Puppet/LICENSE.mddeleted−206

This diff is too big to show here.

tests/syntax-tests/source/Puppet/manifest_large_exported_classes_node.ppdeleted−65

This diff is too big to show here.

tests/syntax-tests/source/PureScript/test.pursdeleted−89

This diff is too big to show here.

tests/syntax-tests/source/Python/battest.pydeleted−100

This diff is too big to show here.

tests/syntax-tests/source/QML/BatSyntaxTest.qmldeleted−219

This diff is too big to show here.

tests/syntax-tests/source/R/test.rdeleted−170

This diff is too big to show here.

tests/syntax-tests/source/Racket/test.rktdeleted−56

This diff is too big to show here.

tests/syntax-tests/source/Rego/LICENSE.mddeleted−25

This diff is too big to show here.

tests/syntax-tests/source/Rego/src_test.regodeleted−181

This diff is too big to show here.

tests/syntax-tests/source/Regular Expression/test.redeleted−1

This diff is too big to show here.

tests/syntax-tests/source/Robot Framework/LICENSE.mddeleted−25

This diff is too big to show here.

tests/syntax-tests/source/Robot Framework/recipe141_aws_simple_storage_service.robotdeleted−31

This diff is too big to show here.

tests/syntax-tests/source/Ruby Haml/test.html.hamldeleted−15

This diff is too big to show here.

tests/syntax-tests/source/Ruby On Rails/test.rbdeleted−22

This diff is too big to show here.

tests/syntax-tests/source/Ruby/output.rbdeleted−56

This diff is too big to show here.

tests/syntax-tests/source/Rust/output.rsdeleted−161

This diff is too big to show here.

tests/syntax-tests/source/SCSS/example.scssdeleted−82

This diff is too big to show here.

tests/syntax-tests/source/SLS/test.slsdeleted−57

This diff is too big to show here.

tests/syntax-tests/source/SML/sample.smldeleted−47

This diff is too big to show here.

tests/syntax-tests/source/SQL/ims.sqldeleted−266

This diff is too big to show here.

tests/syntax-tests/source/SSH Config/ssh_configdeleted−9

This diff is too big to show here.

tests/syntax-tests/source/SSHD Config/sshd_configdeleted−36

This diff is too big to show here.

tests/syntax-tests/source/Sass/example.sassdeleted−76

This diff is too big to show here.

tests/syntax-tests/source/Scala/ConcurrentEffectLaws.scaladeleted−98

This diff is too big to show here.

tests/syntax-tests/source/Scala/LICENSE.mddeleted−179

This diff is too big to show here.

tests/syntax-tests/source/Slim/test.slimdeleted−20

This diff is too big to show here.

tests/syntax-tests/source/Solidity/ERC721.soldeleted−376

This diff is too big to show here.

tests/syntax-tests/source/Solidity/LICENSE.mddeleted−27

This diff is too big to show here.

tests/syntax-tests/source/Strace/ls.stracedeleted−94

This diff is too big to show here.

tests/syntax-tests/source/Stylus/LICENSE.mddeleted−24

This diff is too big to show here.

tests/syntax-tests/source/Stylus/gradients.styldeleted−90

This diff is too big to show here.

tests/syntax-tests/source/Svelte/App.sveltedeleted−65

This diff is too big to show here.

tests/syntax-tests/source/Svelte/LICENSE.mddeleted−14

This diff is too big to show here.

tests/syntax-tests/source/Swift/test.swiftdeleted−268

This diff is too big to show here.

tests/syntax-tests/source/Syslog/example.syslogdeleted−16

This diff is too big to show here.

tests/syntax-tests/source/SystemVerilog/output.svdeleted−103

This diff is too big to show here.

tests/syntax-tests/source/TOML/Cargo.tomldeleted−87

This diff is too big to show here.

tests/syntax-tests/source/Tcl/test.tcldeleted−22

This diff is too big to show here.

tests/syntax-tests/source/TeX/main.texdeleted−84

This diff is too big to show here.

tests/syntax-tests/source/Terraform/main.tfdeleted−48

This diff is too big to show here.

tests/syntax-tests/source/Textile/test.textiledeleted−40

This diff is too big to show here.

tests/syntax-tests/source/TypeScript/LICENSE.mddeleted−19

This diff is too big to show here.

tests/syntax-tests/source/TypeScript/example.tsdeleted−110

This diff is too big to show here.

tests/syntax-tests/source/TypeScriptReact/LICENSE.mddeleted−25

This diff is too big to show here.

tests/syntax-tests/source/TypeScriptReact/app.tsxdeleted−35

This diff is too big to show here.

tests/syntax-tests/source/Verilog/LICENSE.mddeleted−205

This diff is too big to show here.

tests/syntax-tests/source/Verilog/div_pipelined.vdeleted−172

This diff is too big to show here.

tests/syntax-tests/source/VimL/source.vimdeleted−92

This diff is too big to show here.

tests/syntax-tests/source/Vue/example.vuedeleted−60

This diff is too big to show here.

tests/syntax-tests/source/Vyper/LICENSE.mddeleted−205

This diff is too big to show here.

tests/syntax-tests/source/Vyper/crowdsale.vydeleted−89

This diff is too big to show here.

tests/syntax-tests/source/XAML/ItemPage.xamldeleted−264

This diff is too big to show here.

tests/syntax-tests/source/XAML/LICENSE.mddeleted−23

This diff is too big to show here.

tests/syntax-tests/source/XML/example.xmldeleted−22

This diff is too big to show here.

tests/syntax-tests/source/YAML/example.yamldeleted−34

This diff is too big to show here.

tests/syntax-tests/source/Zig/example.zigdeleted−107

This diff is too big to show here.

tests/syntax-tests/source/cmd-help/test.cmd-helpdeleted−54

This diff is too big to show here.

tests/syntax-tests/source/dash/LICENSE.mddeleted−23

This diff is too big to show here.

tests/syntax-tests/source/dash/shfmdeleted−425

This diff is too big to show here.

tests/syntax-tests/source/gnuplot/test.gpdeleted−19

This diff is too big to show here.

tests/syntax-tests/source/http-request-response/example.httpdeleted−44

This diff is too big to show here.

tests/syntax-tests/source/jsonnet/LICENSE.mddeleted−206

This diff is too big to show here.

tests/syntax-tests/source/jsonnet/stdlib.jsonnetdeleted−88

This diff is too big to show here.

tests/syntax-tests/source/nginx/nginx.confdeleted−140

This diff is too big to show here.

tests/syntax-tests/source/nim/main.nimdeleted−41

This diff is too big to show here.

tests/syntax-tests/source/nim/test.nimbledeleted−23

This diff is too big to show here.

tests/syntax-tests/source/nix/test.nixdeleted−15

This diff is too big to show here.

tests/syntax-tests/source/orgmode/test.orgdeleted−38

This diff is too big to show here.

tests/syntax-tests/source/reStructuredText/reference.rstdeleted−320

This diff is too big to show here.

tests/syntax-tests/source/resolv.conf/resolv.confdeleted−4

This diff is too big to show here.

tests/syntax-tests/source/varlink/LICENSE.mddeleted−229

This diff is too big to show here.

tests/syntax-tests/source/varlink/org.varlink.certification.varlinkdeleted−86

This diff is too big to show here.

tests/syntax-tests/test_custom_assets.shdeleted−74

This diff is too big to show here.

tests/syntax-tests/update.shdeleted−7

This diff is too big to show here.

tests/tester.rsdeleted−102

This diff is too big to show here.

tests/utils/mocked_pagers.rsdeleted−69

This diff is too big to show here.

tests/utils/mod.rsdeleted−1

This diff is too big to show here.