Giter VIP home page Giter VIP logo

bat-extras's Introduction

bat-extras

Bash scripts that integrate bat with various command line tools.

 

Scripts

Quickly search through and highlight files using ripgrep. Requirements: ripgrep

Read system manual pages (man) using bat as the manual page formatter.

A less (and soon bat) preprocessor for viewing more types of files in the terminal.

Watch for changes in one or more files, and print them with bat. Requirements: entr (optional)

Diff a file against the current git index, or display the diff between two files. Requirements: bat, delta (optional)

Pretty-print source code and highlight it with bat. Requirements: (see doc/prettybat.md)

 

Installation via Package Manager

Homebrew

All of the bat-extras scripts can be installed with brew install eth-p/software/bat-extras.

If you would only like to install one of the scripts, you can use brew install eth-p/software/bat-extras-[SCRIPT] to install it.

 

Installation (CircleCI)

The scripts in this repository are designed to run as-is, provided that they aren't moved around. This means that you're free to just symlink src/[script].sh to your local bin folder.

If you would rather have faster, self-contained scripts that you can place and run anywhere, you can use the build.sh script to create (and optionally install) them.

 

Building:

./build.sh [OPTIONS...]

This will combine and preprocess each script under the src directory, and create corresponding self-contained scripts in the bin folder. Any library scripts that are sourced using source "${LIB}/[NAME].sh" will be embedded automatically.

 

Minification:

There are three different options for minification:

Option Description
--minify=none Nothing will be minified.
--minify=lib Embedded library scripts will be minified. [default]
--minify=all Everything will be minified.

This uses shfmt to perform minification.

 

Installation:

You can also specify --install and --prefix=PATH to have the build script automatically install the scripts for all users on the system. You may need to run the build script as root.

If you only want to install a single script, you can run the build process and copy the script directly out of the newly-created bin folder.

Manuals: (EXPERIMENTAL)

You can specify --manuals to have the build script generate a man page for each of the markdown documentation files. This is an experimental feature that uses a non-compliant Markdown "parser" written in Bash, and there is no guarantee as for the quality of the generated manual pages.

Alternate Executable:

Depending on the distribution, bat may have been renamed to avoid package conflicts. If you wish to use these scripts on a distribution where this is the case, there is an --alternate-executable=NAME option which will build the scripts to use an alternate executable name.

Verification:

The build script will attempt to verify the correctness of the "bin" scripts by comparing their output with their source counterparts. It is recommended to let it do this, but you can disable verification with the --no-verify option.

 

Contributing

If you would like to contribute to bat-extras, please feel free to open an issue on GitHub, or make a pull request. If you do the latter, please keep our contributing guidelines in mind.

bat-extras's People

Contributors

eth-p avatar verytastytomato avatar alissa-huskey avatar harrisonmcculloughromaric avatar ucodery avatar jtraub avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.