Commit Graph

931 Commits (9eaed3e3f088d210467727201b0fb2b4e1e8f763)

Author SHA1 Message Date
sharkdp c899849101 Use map instead of and_then(..Some(..)) 6 years ago
sharkdp bf53b64125 Small style fix 6 years ago
Armando Perez c68aa0f424 Allow specifying the theme via the `BAT_THEME` environment variable
The `--theme` command line option stills takes precedence and this
change preserves how errors are handled when it's used: If a theme name
that doesn't exist is specified using the argument, this error is fatal.
However, if a theme that doesn't exist is specified using the environment
variable, the error is logged to `stderr` and the "Default" theme is
loaded as a fallback.
6 years ago
sharkdp 6b57f4eebc Style changes 6 years ago
eth-p 0ddd388a29 Improve logic for SGR sequence passthrough 6 years ago
eth-p 34811b8161 Fix #182 6 years ago
Stéphane Campinas 8c6a74a6c5 typo 6 years ago
sharkdp 65e6970907 Change help text for --line-range 6 years ago
sharkdp 90cc019482 Run 'cargo fmt' 6 years ago
Taylor eaf0b99d25 update 6 years ago
Taylor Skinner 3b1dcca5d0 use map() 6 years ago
Taylor Skinner 26dbdf4fa0 update line-ranges 6 years ago
Taylor Skinner 6691786d82 add line-range 6 years ago
sharkdp e27bdfc7d6 Fix clippy warnings 6 years ago
sharkdp a348a9f68e Handle syntax-set loading errors 6 years ago
TA Thanh Dinh a13eb60df3 Using slice notation instead of as_ref 6 years ago
sharkdp 9342d0bb24 Explicitly specify which args override themselves 6 years ago
sharkdp 36d7250af2 Allow arguments to override themselves 6 years ago
Ezinwa Okpoechi a452467e06 Remove unnecessary space if there are no decorations 6 years ago
Ezinwa Okpoechi 2ea3758c4b Justify header when there are decorations but no grid 6 years ago
Gert Hulselmans 65bb4c7ee6 Print themes directory in error message if no themes could be loaded from it.
Before this patch:
    $ bat cache --init
    [bat error]: Could not load themes from '{}'

After:
    $ bat cache --init
    [bat error]: Could not load themes from '/home/user/.config/bat/themes'
6 years ago
Gert Hulselmans 33bbf25468 Fix launching of pager so text is interpreted as UTF-8 by default.
This fixes issue https://github.com/sharkdp/bat/issues/98
6 years ago
Ezinwa Okpoechi 2712d63a4b Move asset clearing to assets module 6 years ago
Ezinwa Okpoechi b21fb6bca8 Extract features to separate module 6 years ago
Ezinwa Okpoechi ee43377a9c Move colors to printer module 6 years ago
Ezinwa Okpoechi 120b33a9db Move output to separate module 6 years ago
sharkdp be0a2d6048 Extended help texts for '--help' 6 years ago
sharkdp d1a1943998 Add -u and -n options, see #134 6 years ago
sharkdp 2a9f5a24ed Permissive error handling, closes #17 6 years ago
sharkdp a0ae089c4a Reset line number to 0 for new files 6 years ago
sharkdp 96cc391f2d Skip '--quit-if-one-screen' for --paging=always
closes #97
6 years ago
sharkdp 5e3b17e6f7 Fix code formatting 6 years ago
eth-p 486e6a19cd Fixed #124 6 years ago
Ezinwa Okpoechi 247dfbee83 Extract syntax finding to assets module 6 years ago
Ezinwa Okpoechi 12cb438aa4 Handle line with invalid UTF-8 6 years ago
sharkdp c826c2a438 Better error handling 6 years ago
sharkdp 145b99f01c Include syntaxes and themes in repository
This changes a few things:

- All syntaxes and themes are now stored (as submodules) under
  assets/syntaxes and assets/themes

- The default directories for syntaxes and themes are "syntaxes"
  and "themes" (used to be "syntax" and "themes")

- The "bat cache" command can now take a `--source <dir>` and
  `--target <dir>` option.

- The cached files have been renamed to "themes.bin" and "syntaxes.bin"
6 years ago
David Peter 2eee68599d
Merge pull request #102 from eth-p/master
Added text wrapping. (Fixes #54)
6 years ago
eth-p d569693dab Formatted with newer cargo fmt.
It should pass all the checks now.
6 years ago
eth-p 900f61032d
Fix #117 6 years ago
eth-p d0ca566979
Replace for_line and for_wrap with generate 6 years ago
eth-p a5a7dc14e4
Fix \r character being printed with wrapping enabled. 6 years ago
rleungx a5de77af4d address comment 6 years ago
rleungx 870ff7b538 sort the language listing 6 years ago
sharkdp 15b9acd12f Updates for new rustfmt 6 years ago
eth-p b327127f37
Split decorations into a separate file and optimized them a bit. 6 years ago
eth-p 9214a4a4f0
PR #102 Followed @sharkdp's suggestions 6 years ago
sharkdp fcecd97224 Add ansi_term import for Windows, see #107 6 years ago
eth-p 870b3c0daf
PR #102 Followed @BrainMaestro's suggestions
Also ran cargo fmt.
6 years ago
sharkdp b9c780c8c8 Ignore errors when clearing cache, closes #91 6 years ago
sharkdp ca865f9d26 Enable ANSI support on Windows 10 6 years ago
eth-p b4cfc9633c
Fix double spaces when outputting without wrapping. 6 years ago
eth-p d4b438b9d3
Fix padding, add --wrap argument, disable wrap for non-tty. (Fixed)
I'm not quite sure what was up with git on that last commit, but it's
all properly committed now.
6 years ago
eth-p cd26d403a3
Fix padding, add --wrap argument, disable wrap for non-tty.
Now bat(1) can be used like cat(1) again!
6 years ago
eth-p f95a23f948
Fix off-by-one error with text wrapping and --style grid 6 years ago
Ethan P bdd10b8bec
Merge branch 'master' into master 6 years ago
eth-p fc160b0dcd
PR #102 Review Changes
- Reformatted code.
- Removed leftover code.
- Removed leftover comments.
- Fixed compiling on Rust 1.24.0
6 years ago
sharkdp cb7b158172 Add bold, italic and underline font styles 6 years ago
eth-p fcc36b1f79
Forgot to add styling to the horizontal line. 6 years ago
eth-p 4e4110bf50
Added line wrapping. 6 years ago
Ryan Leung 22c8978fca add theme option (#95)
closes #89
6 years ago
Ezinwa Okpoechi f711fb5006 Split style to separate module 6 years ago
Ezinwa Okpoechi 64a9341b73 Split app to separate module 6 years ago
sharkdp ccf88fd5d8 Add and use --style=auto by default 6 years ago
sharkdp e2ac6de783 Fix clippy warnings 6 years ago
Ezinwa Okpoechi 25cee002f9 Split modules (#86)
* Split diffing to separate module
* Split assets to separate module
6 years ago
sharkdp ea27053a63 Remove unused lifetimes 6 years ago
Pit Kleyersburg b2b932f3ed Fix header-line if grid is not requested 6 years ago
Pit Kleyersburg 747d074be1 Replace `Cow` by `String` 6 years ago
Pit Kleyersburg 61109ece15 Create `OutputComponents` struct, use HashSet 6 years ago
Pit Kleyersburg 389edd7239 Combine `OutputComponent`s and `PredefinedStyle`s
This commit tries to simply the change. Instead of separating an
`OutputComponent` and a `PredefinedStyle`, I have combined the two into
just `OutputComponent`.

To still have the styles work, I added an impl to `OutputComponent` with
a function `components` which returns the components related to the
specified component.

For a simple output component this is trivial, but for the predefined
styles this is a list of other components.

The evaluating of the command-line parameter simplified significantly,
making use of Claps `values_t!` macro to parse the supplied parameters
into a `Vec<OutputComponent>`. After that it is simply a task of
combining all supplied output components into one vector.

Important: this means that the styles are now additive, rather than one
of the predefined styles overruling other parameters supplied.
6 years ago
Pit Kleyersburg 23813cc08b Make `--style` parameter more flexible
The `--style` parameter now accepts a comma-separated list of strings,
where every element defines either a single output component (`changes`,
`grid`, `header`, `numbers`) or a predefined style (`full`,
`line-numbers`, `plain`).

If available, bat picks the first predefined style in the user-supplied
style-list and ignores everything else. If no predefined style was
requested, the other parameters that are simple output components will
be used.

Examples:

    --style changes,full,numbers

  Will internally be reduced to only the predefined style `full`.

    --style plain,full

  Will internally be reduced to only the predefined style `plain`.

    --style changes,numbers

  Will not be reduced, because the list does not contain any predefined
  styles.

(Note: if `grid` is requested but no other parameters, bat still creates
the left-most column with a width of `PANEL_WIDTH`. I didn't want to
introduce further logic in this PR that drops or adapts the width of the
left column.)
6 years ago
sharkdp 8b9991d780 Append newline at the end of the file if necessary 6 years ago
sharkdp f90b9d1acc Do not peek at FIFOs, closes #80 6 years ago
sharkdp f7af537018 Filter out languages without extensions 6 years ago
sharkdp fd68af8031 Paint file extensions in green 6 years ago
sharkdp ebdef04c8f Compute 'longest' for non-hidden languages only 6 years ago
sharkdp a4150600af Correctly update num_chars 6 years ago
Connor Kuehl 49223eed06 Remove term_width from Printer, its options owns it. 6 years ago
Connor Kuehl 7dc7133b3c Add revisions for line-wrapping and terminal width.
* Adds separator.length() to calculation for desired width.
* Replaces use of term_width with options.term_width.
* Adds the comma and space separator to calculation for line-wrapping.
6 years ago
Connor Kuehl e5e47716b0 Add term_width to options struct, move getting term_width to run() 6 years ago
Connor Kuehl b4f8cd3bae Filter out languages that are hidden. 6 years ago
Connor Kuehl ee3a37f3fc WIP edit desired width. 6 years ago
Connor Kuehl 4c60ab12cc Add simple line-wrapping for file extensions. 6 years ago
Connor Kuehl ac32dd17c9 Adds requested revisions.
* removes redundant `.takes_value(false)`.
* changes Arg name to "list-languages" to be consistent with long-form.
* replaces unnecessary match statement with is_present().
* replaces unnecessary match statement on iter and uses unwrap_or()
instead.
* replaces for-loop with a call to join().
6 years ago
Connor Kuehl 4e3c57cc7c Rename and add comment to the match block. 6 years ago
Connor Kuehl 438a9a99ed Size language name column width to the length of the longest language. 6 years ago
Connor Kuehl 9b0877102c Display language and extensions from loaded assets. 6 years ago
Connor Kuehl 67bed73e15 Add --list-languages argument to clap. 6 years ago
sharkdp ef7c39b159 Improve cache subcommand
* Remove the old `init-cache` subcommand

* Introduce a new `cache` subcommand that can be used like this:

    * `bat cache -h` - Show help
    * `bat cache --init` - Initialize cache from config dir
    * `bat cache --clear` - Reset the cache
    * `bat cache --config-dir` - Show config directory

* Update README

closes #44
6 years ago
sharkdp 8a399c8d7d Disable paging-mode if we read from an interactive TTY 6 years ago
sharkdp 9a0e444e09 Simplify stdout handling 6 years ago
sharkdp 438f3df345 Paint STDOUT bold, unify writeln statement 6 years ago
sharkdp 7e2e0c82ac Add support for reading from stdin, closes #2 6 years ago
Ezinwa Okpoechi 53d67e2b6e Add printer
This adds a separate struct that handles printing of the different
tokens.
6 years ago
sharkdp b625d07c34 Use syntect newlines mode (instead of nonewlines) 6 years ago
Ezinwa Okpoechi ec606e5dcc Add option to disable automatic paging 6 years ago
Ezinwa Okpoechi c253821a5e Open pager once for multiple files 6 years ago
sharkdp ccb1d78b22 Remove short versions for --style and --color for now 6 years ago
sharkdp 9eb64b97fe Discover syntaxes by name and extention 6 years ago
sharkdp 15f0268bdc Use 'plain' style for non-interactive terminals 6 years ago
sharkdp 3fa70deaa7 Run 'cargo fmt' and enforce via Travis 6 years ago
Ezinwa Okpoechi d4553c6b38 Add color flag
Colors are disabled if the terminal is not interactive unless explicitly
set otherwise
6 years ago
sharkdp 3eb79d63ce Compute pathspec from absolute.strip_prefix(workdir) 6 years ago
Nakul Chaudhari cbdf5c50c4 Fix bug where git modification markers would not be shown if directory
was not cwd

Git ignore Idea dir

Fix #22
6 years ago
Ezinwa Okpoechi 418b3c5ea1 Add less pager 6 years ago
Nakul Chaudhari 9dca3126b3 Hide everything but content for plain option style
fix #5
6 years ago
nakulcg 7df9a5fe82 Add --style option to disable line numbers and git markers (#43)
closes #5
6 years ago
Ezinwa Okpoechi 4bba08062c Add option to specify language 6 years ago
sharkdp 64ef61b409 Add customization chapter 6 years ago
sharkdp 59fabd8ca5 Load assets from the binary 6 years ago
sharkdp ced6801740 Better error messages 6 years ago
sharkdp f81e38618c Implement SyntaxSet and ThemeSet caching
closes #21, see #20
6 years ago
sharkdp 36bbc770eb Use error-chain 6 years ago
sharkdp f43409f473 Fix clippy warnings 6 years ago
sharkdp 64de2a44d5 Print error if Default.tmTheme is not available
closes #15
6 years ago
sharkdp 86dcb3c165 Fix #13 6 years ago
sharkdp 7b7a5a32d6 Update header 6 years ago
sharkdp a7232a6ecc Support for custom syntaxes, add 'Markdown extended' theme, closes #10 6 years ago
sharkdp 38762c34d9 Enable 8 bit color support, closes #11 6 years ago
sharkdp de0198920a Load themes from ~/.config/bat/themes 6 years ago
sharkdp b5c119e802 Rename get_line_changes 6 years ago
sharkdp 1f2bcf57ba Handle broken pipes, closes #9 6 years ago
sharkdp de11558ad3 Code restructuring 6 years ago
sharkdp fcfc7c465b Code cleanup 6 years ago
sharkdp 70ffd60b20 Update help text 6 years ago
sharkdp 36d92361be Better error handling 6 years ago
sharkdp 6b507d1e35 Print filename 6 years ago
sharkdp ab10a20c1f Use default for highlighting theme 6 years ago
sharkdp a979608f37 Add Git support, closes #8 6 years ago
sharkdp 8f5a80ea07 Initial commit 6 years ago