Commit Graph

438 Commits (c8273369ccd49cfbdf00560251cf133925f0f084)

Author SHA1 Message Date
Lavi 6a8e4757b7 Updated bat config dir for MacOs
Removed directories crate and using dirs_rs
Changed bat config file and cache dir on MacOs:
config: ~/.config/bat/config
cache: ~/.config/bat/cache/
6 years ago
Reid Wagner 61e888de7f Check result of read_until, and return Error if 0, which indicates EOF was found before delimeter. 6 years ago
sharkdp bd68684537 Fix the number of values to one 6 years ago
sharkdp c2847f6a9f Short options for line-range and highlight-line 6 years ago
sharkdp cf7ed042c1 Colorize the whole line 6 years ago
sharkdp 6b92814ea0 Allow for multiple highlighted lines 6 years ago
sharkdp a236a9b195 Merge branch 'master' of https://github.com/tskinn/bat into tskinn-master 6 years ago
sharkdp fee57d71d9 Print ANSI-reset code before newline
fixes #379
6 years ago
sharkdp 397def1320 Omit launching of pager if NO file exists
closes #387
6 years ago
ufuji1984 4ff360669f add quotes around filename
and make it more concise by using map_err
6 years ago
ufuji1984 549e5d7355 Report filename if File::open return Err
From issue #441
6 years ago
Ole Martin Ruud 348c9f3562 Enhance SyntaxMapping with impl Trait 6 years ago
Ole Martin Ruud 6b6a8f8e16 Fix doc comment typo 6 years ago
Arnav Borborah 532af6556d Use Rust inclusive range (stable in 1.26) 6 years ago
sharkdp f98a96c1ed Update help text 6 years ago
sharkdp 7cac07d845 issue #383: Handle cases like `PAGER=/usr/bin/bat` 6 years ago
Rodrigo Orem 148caa1381 Fix code style 6 years ago
Rodrigo Orem ab27cac0cc Remove args when change from bat to less 6 years ago
Rodrigo Orem 01fcbf2183 Better placement of bat detection 6 years ago
Rodrigo Orem 8a0c30b385 Avoid endless bat executions with PAGER="bat"
From issue #383
6 years ago
Nisheet Sinvhal 18d1a3b973 Changed italics to use-italic-text in config
Better placing of italics in help and also added long_help for it
6 years ago
Nisheet Sinvhal dc10246bd2 Linting 6 years ago
Nisheet Sinvhal 44bdae0212 Linting 6 years ago
Nisheet Sinvhal 1ece38a4c4 Changed flag name 6 years ago
Nisheet Sinvhal e90308e1f8 italics enable|disable working 6 years ago
Nisheet Sinvhal d702d6740c Added args 6 years ago
Ricky 558134f6c8 Changed to unwrap methods, added integration tests 6 years ago
Ricky 1dd57e6d7e Ran rust fmt 6 years ago
Ricky 20ba84d1fa Added in environment variable and the result is a file check in config.rs 6 years ago
sharkdp e81f9b23e6 Fix `--show-all` for UTF-16 encoding 6 years ago
sharkdp 50dc4a79b0 Display line-feed as instead of 6 years ago
sharkdp 8fa8f44706 Use `↹` character if tab-width == 1. 6 years ago
sharkdp ecd862d9ff Feature: Highlight non-printable characters
Adds a new `-A`/`--show-all` option (in analogy to GNU Linux `cat`s option) that
highlights non-printable characters like space, tab or newline.

This works in two steps:
- **Preprocessing**: replace space by `•`, replace tab by `├──┤`, replace
newline by `␤`, etc.
- **Highlighting**: Use a newly written Sublime syntax to highlight
these special symbols.

Note: This feature is not technically a drop-in replacement for GNU `cat`s
`--show-all` but it has the same purpose.
6 years ago
sharkdp 4492d99556 Change default tab width to 4 6 years ago
sharkdp dda27b253b Allow offset values in `--terminal-width`
Allows the `width` argument to `--terminal-width` to be an offset
instead of an absolute number. Examples:

    --terminal-width=80   # Set output width to 80 characters
    --terminal-width=-2   # Set output width to actual_width - 2

closes #376
6 years ago
David Peter abcd09f869 Remove commented-out code 6 years ago
Sindre Johansen 41a5ff039b Only use the last argument of {style,plain,number} 6 years ago
Sindre Johansen 155bad3862 Rustfmt 6 years ago
Sindre Johansen 7c98a1c901 When specifying style multiple times the last occurence wins
Closes: #367
6 years ago
David Peter c1246fcd53 Update help text 6 years ago
David Peter 9f401ea122 Update docstring 6 years ago
Park Juhyung 9c782fb692 Fix format error 6 years ago
Park Juhyung 154186a58d Add --pager option 6 years ago
sharkdp 496e0bc046 Allow for multiple line ranges
See #23
6 years ago
sharkdp 30b742e984 --map-syntax takes just one value 6 years ago
sharkdp 671deeef8c Update help text 6 years ago
sharkdp 8dc7e2efa3 Add --config-file option 6 years ago
sharkdp 10965a6122 Implement syntax mapping
This adds a `-m`/`--map-syntax` option that allows users to (re)map
certain file extensions or file names to an existing syntax.

For example:
```
bat --map-syntax .config:json
```

The option can be use multiple times. Note that you can easily make
these mappings permanent by using `bat`s new configuration file.

closes #169
6 years ago
sharkdp e43d97dc15 Small cleanup 6 years ago
sharkdp bb1f5aa841 Add proper handling of empty PAGER variables 6 years ago
sharkdp 2109a7830b Add error handling for parsing errors 6 years ago
sharkdp ec27c78a8a Remove duplicate 'extern crate' 6 years ago
Morten Linderud 67fe833bc8 Add arguments from PAGER/BAT_PAGER
Solves #352

Signed-off-by: Morten Linderud <morten@linderud.pw>
6 years ago
sharkdp 25a6a55437 Revert "Fix for older version of Rust"
This reverts commit c530fadc44.
6 years ago
sharkdp 5bff4548be Add BAT_OPTS environment variable 6 years ago
sharkdp 866b9e16a8 Add error handling 6 years ago
sharkdp 5af176c94f Move transpose to util module 6 years ago
sharkdp 9e7da05459 Fix for older version of Rust 6 years ago
sharkdp 1ae02c65fb Fix include 6 years ago
sharkdp 495e7fd3b1 Add --no-config option 6 years ago
sharkdp b48f0fe389 Fix tests 6 years ago
sharkdp c19c704a43 Add more tests 6 years ago
sharkdp 693bd5929d Add possibility for spaces on a single line 6 years ago
sharkdp 8275b0436d Add simple configuration file
This allows users to create simple configuration file
(`~/.config/bat/config` on Linux) that has the following format:

    ```bash
    --flag1
    --flag2
    --option1=value1
    # lines beginning with '#' are ignored
    --option2=value2
    # empty lines and trailing whitespace are also ignored

    --option3=value3
    ```
6 years ago
sharkdp 278bde5cee Continue with output after "is directory"-error 6 years ago
Taylor cea05e9f22 be consistent 6 years ago
sharkdp 2a7851530d Fix formatting 6 years ago
Taylor 1a6709c2cb add line highlight 6 years ago
sharkdp 5842d58c01 Updates for syntect 3.0 6 years ago
sharkdp fc8fd1e63f cargo fmt 6 years ago
sharkdp 25d96da4a2 Add support for UTF-16LE and UTF-16BE 6 years ago
sharkdp e97095b724 Use first-line detection for STDIN 6 years ago
sharkdp ce96df00b6 Do not display binary files in interactive mode
closes #248
6 years ago
sharkdp f98fc5f06a Simplify access to first line 6 years ago
sharkdp 0502a3bd4a Add first-line detection for all input types
closes #205
6 years ago
sharkdp 869cf6368c Add possibility to get first line 6 years ago
sharkdp 078228deac Add unit test for InputFileReader 6 years ago
sharkdp 6d1cc8c2c8 Move read_line functionality to inputfile module 6 years ago
sharkdp 87f021078e Use dyn Trait for trait objects 6 years ago
sharkdp d5b0502419 Move get_reader into inputfile module 6 years ago
sharkdp 860f3e9006 Move InputFile to separate module 6 years ago
sharkdp f9fd5e4851 Simplify -h help text 6 years ago
sharkdp da09f3877b Remove unnecessary scope 6 years ago
Richard Hozák b39e28d2c8 Add support for wildcards in Windows CMD (#329)
Windows does not support wildcard expansion in cmd, this adds 'wild' crate (as discussed in #309) that handles everything transparently, so wildcards work everywhere.

Fixes #309
6 years ago
davideGiovannini 0d71968615 Generate shell completions with clap during build (#327)
* Generate shell completions with clap during build

* Updated ci release script, added SHELL_COMPLETIONS_DIR override to build.rs and fixed dependency version
6 years ago
sharkdp 80da0dc619 run cargo fmt 6 years ago
sharkdp 64903bb858 Typo 6 years ago
Michal Nazarewicz 79b960e17e Use ansi_colours package for better true-colour approximation 6 years ago
sharkdp 20b02e72b3 Disable wrapping when `--style` is plain
closes #289
6 years ago
sharkdp e098eb43a2 Do not show file header for directories
This also adds a better error message.

closes #292
6 years ago
sharkdp 63d32bc818 Merge remote-tracking branch 'upstream/master' into bat_style 6 years ago
sharkdp dccf8d8221 Use a more streamlined version of style-component collection 6 years ago
eth-p d404139ff7
Added validation for --tabs.
Also added a comment to explain what 0 represents.
6 years ago
eth-p 1807f9653c
Merge remote-tracking branch 'upstream/master' into feature-tabs
# Conflicts:
#	src/printer.rs
6 years ago
eth-p 1e74f0e2a9
Ran `cargo fmt`. 6 years ago
eth-p d90797f8e9
Fixed tab expansion not working in --wrap=never mode. 6 years ago
eth-p b4096e5627
Moved tab expansion to happen after syntax highlighting. 6 years ago
shik Chen 4e3ab4d399 Query git diff only when needed
In large git repo like chromium, it takes too long time to query git
diff.
6 years ago
ms2300 7897260bf0 BAT_STYLE accounts for multiple styles (ie numbers,header) 6 years ago
eth-p eb6e43b9a9
Disabled tab expansion when decorations and pager are not used. 6 years ago
eth-p b23ff24ebc
Added tab expansion preprocessing step. 6 years ago
Rogach e1ecc17f69 print additional newline if last line in input file was not terminated with a newline (fixes #299) 6 years ago
ms2300 cf24986edb Run formatting for bat_style changes 6 years ago
ms2300 b9c556a0b6 Updated long help to reflect BAT_STYLE changes 6 years ago
ms2300 9d6bde48fa Added BAT_STYLE env variable functionality 6 years ago
sharkdp 8b4abb03db Run 'cargo fmt' 6 years ago
eth-p 375cf76e15 Formatted for newest rustfmt. 6 years ago
eth-p 1a4acc435e Typo 6 years ago
eth-p d8030626f8 Automatically disable wrapping when style is plain. 6 years ago
eth-p fb61aa4f60 Wrapping disabled when --plain is used. (#289) 6 years ago
Aankhen 76df41fa97 src/output.rs: Handle `less` in a portable way. 6 years ago
Shreyansh Chouhan 53d0c1deca Can read files named "cache" now, cache subcommand working too (#275)
Now if a cache file exists in the current directory, and the user passes
no arguments to the cache command, the cache file would be displayed.
If however the user uses cache command with arguments, the cache command
would be executed as normal regardless of whether the file cache exists
in the current directory or not.

Though now there won't be an error message displayed if the user uses the cache sub command without arguments in any directory that contains a file named cache.
6 years ago
sharkdp 1d9e7ac4c2 Support "(/usr)/bin/less" as PAGER too
closes #271
6 years ago
sharkdp 7b803a50af Ignore enable_ansi_support errors
- Call `enable_ansi_support` only once.
- Ignore errors that appear when trying to enable ANSI support. This
  will hopefully fix #252 and #264
6 years ago
sharkdp 026273a05c Enable ANSI support on Windows 6 years ago
sharkdp 8903b64830 Fix for Rust 1.26 6 years ago
sharkdp 194155f062 Fix relative-path computation for Windows 6 years ago
sharkdp 8a52bcf92d Add hidden --terminal-width option 6 years ago
sharkdp e3c990f11e Respect color settings for list-themes and list-languages 6 years ago
sharkdp 90c7d0c365 Use stdout locks 6 years ago
mchlrhw 56002267d2 Fix panic when running `bat --list-languages | head`
Fixes: https://github.com/sharkdp/bat/issues/232
6 years ago
sharkdp acdea97e71 Add --plain 6 years ago
sharkdp c7afcdebf8 Move theme_preview file to constant 6 years ago
sharkdp 8cacd9b432 Include theme_preview file in binary 6 years ago
sharkdp 6f67444c99 Run cargo fmt 6 years ago
sharkdp fd2b376ea0 Small style changes to --list-themes 6 years ago
sharkdp cda54e4f61 Fix build for Rust 1.26 6 years ago
ms2300 3b90ada735 Mutation done correctly 6 years ago
ms2300 1837d364fe Added bold to theme titles 6 years ago
ms2300 4ea3e6bbb7 Changed preview code 6 years ago
ms2300 38544ed735 Changed to plain style 6 years ago
ms2300 5444b0dfed Fixes mut issue 6 years ago
ms2300 f3dde0185d Modifying changing config for efficiency 6 years ago
ms2300 2e3784aa30 #213 : output hello world for each theme when --list-theme is flagged 6 years ago
ms2300 81771432fb #212 : added -p as an alias for --style=plain 6 years ago
sharkdp 627181bcb6 Always call the syntax highlighter 6 years ago
sharkdp 226d9a573a Add simple loop-through mode
Use a loop-through mode that simply copies input to output if a
non-interactive terminal is detected.

see #150
6 years ago
sharkdp 246cf79dbd Split into Controller and Printer 6 years ago
sharkdp ea955c734d Refactoring, introduce Printer trait 6 years ago
sharkdp 6223ad6d52 Document Config struct 6 years ago
sharkdp 31a9335bd5 Document Config struct 6 years ago
sharkdp 9316f2a758 Major refactoring and cleanup 6 years ago
sharkdp c884c3cc12 Re-order options in help texts 6 years ago
sharkdp 08850f0474 Update the `--help` text 6 years ago
Tim Sampson 8e6c5bc562 doc: mention BAT_THEME in help output 6 years ago
sharkdp 052425b12f Load customized themes in addition to defaults
- New themes in `$BAT_CONFIG_DIR/themes` are now loaded *in addition* to
  the default themes (they may also override).
- The `Default.tmTheme` symlink is not necessary anymore.

This relates to #172
6 years ago
sharkdp 2df3305b94 Add new '--blank' option for 'bat cache --init'
closes #206
6 years ago
sharkdp 6882fc1512 Clean up help messages 6 years ago
sharkdp 2508323264 Extract grid and line-number color from theme
This changes the output color of the grid and the line numbers to use
the "gutter" foreground color defined in the Sublime `.tmTheme` files.

Sublime Text does the same.

Note: we could go one step further and also extract the "GitGutter"
colors from the themes. These could be used instead of red/green/yellow
to signify Git modifications. The problem is that they are quite a bit
harder to extract from the syntect `Theme` object.

closes #178
6 years ago
sharkdp 1dddce3aa1 Separate syntax set and theme set
This commit separates the handling of syntax sets and theme sets. It
also changes the way how new syntax definitions are loaded from `bat`'s
configuration folder. New syntax definitions are now loaded *in
addition* to the ones that are stored in the `bat` binary by default.

This fixes #172
6 years ago
sharkdp b191691767 Revert "replace trait object BufRead by generic"
This reverts commit 037861e588.
6 years ago
Michal Nazarewicz 5c95b8803b Avoid floating point arithmetic in RGB→8-bit ANSI approximation 6 years ago
sharkdp 5b421b455d Update dependencies 6 years ago
sharkdp d179693d1d Use BAT_PAGER and PAGER environment variables, closes #158 6 years ago
sharkdp 268577c6f9 Run 'cargo fmt' 6 years ago
TA Thanh Dinh 037861e588 replace trait object BufRead by generic 6 years ago
sharkdp 28397b8f78 Always show a warning when theme is unknown 6 years ago
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