sharkdp
268577c6f9
Run 'cargo fmt'
2018-08-18 17:54:26 +02:00
TA Thanh Dinh
037861e588
replace trait object BufRead by generic
2018-08-18 17:54:26 +02:00
sharkdp
28397b8f78
Always show a warning when theme is unknown
2018-07-23 21:51:49 +02:00
sharkdp
c899849101
Use map instead of and_then(..Some(..))
2018-07-23 21:51:49 +02:00
sharkdp
bf53b64125
Small style fix
2018-07-23 21:51:49 +02:00
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.
2018-07-23 21:51:49 +02:00
sharkdp
6b57f4eebc
Style changes
2018-07-18 00:06:24 +02:00
eth-p
0ddd388a29
Improve logic for SGR sequence passthrough
2018-07-18 00:06:24 +02:00
eth-p
34811b8161
Fix #182
2018-07-18 00:06:24 +02:00
Stéphane Campinas
8c6a74a6c5
typo
2018-07-06 19:09:53 +02:00
sharkdp
65e6970907
Change help text for --line-range
2018-06-12 08:18:44 +02:00
sharkdp
90cc019482
Run 'cargo fmt'
2018-06-12 08:18:44 +02:00
Taylor
eaf0b99d25
update
2018-06-12 08:18:44 +02:00
Taylor Skinner
3b1dcca5d0
use map()
2018-06-12 08:18:44 +02:00
Taylor Skinner
26dbdf4fa0
update line-ranges
2018-06-12 08:18:44 +02:00
Taylor Skinner
6691786d82
add line-range
2018-06-12 08:18:44 +02:00
sharkdp
e27bdfc7d6
Fix clippy warnings
2018-05-31 15:27:55 +02:00
sharkdp
a348a9f68e
Handle syntax-set loading errors
2018-05-25 22:42:06 +02:00
TA Thanh Dinh
a13eb60df3
Using slice notation instead of as_ref
2018-05-25 17:38:54 +02:00
sharkdp
9342d0bb24
Explicitly specify which args override themselves
2018-05-24 22:53:23 +02:00
sharkdp
36d7250af2
Allow arguments to override themselves
2018-05-24 22:53:23 +02:00
Ezinwa Okpoechi
a452467e06
Remove unnecessary space if there are no decorations
2018-05-24 19:10:24 +02:00
Ezinwa Okpoechi
2ea3758c4b
Justify header when there are decorations but no grid
2018-05-24 19:10:24 +02:00
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'
2018-05-24 09:09:23 +02:00
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
2018-05-22 22:41:58 +02:00
Ezinwa Okpoechi
2712d63a4b
Move asset clearing to assets module
2018-05-21 23:20:45 +02:00
Ezinwa Okpoechi
b21fb6bca8
Extract features to separate module
2018-05-21 23:20:45 +02:00
Ezinwa Okpoechi
ee43377a9c
Move colors to printer module
2018-05-21 19:24:02 +02:00
Ezinwa Okpoechi
120b33a9db
Move output to separate module
2018-05-21 19:24:02 +02:00
sharkdp
be0a2d6048
Extended help texts for '--help'
2018-05-19 17:54:05 +02:00
sharkdp
d1a1943998
Add -u and -n options, see #134
2018-05-19 16:58:45 +02:00
sharkdp
2a9f5a24ed
Permissive error handling, closes #17
2018-05-19 12:50:41 +02:00
sharkdp
a0ae089c4a
Reset line number to 0 for new files
2018-05-19 12:25:07 +02:00
sharkdp
96cc391f2d
Skip '--quit-if-one-screen' for --paging=always
...
closes #97
2018-05-19 10:54:54 +02:00
sharkdp
5e3b17e6f7
Fix code formatting
2018-05-18 17:44:43 +02:00
eth-p
486e6a19cd
Fixed #124
2018-05-18 17:44:43 +02:00
Ezinwa Okpoechi
247dfbee83
Extract syntax finding to assets module
2018-05-18 16:45:59 +02:00
Ezinwa Okpoechi
12cb438aa4
Handle line with invalid UTF-8
2018-05-18 16:44:34 +02:00
sharkdp
c826c2a438
Better error handling
2018-05-16 22:55:37 +02:00
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"
2018-05-16 22:04:12 +02:00
David Peter
2eee68599d
Merge pull request #102 from eth-p/master
...
Added text wrapping. (Fixes #54 )
2018-05-16 08:41:49 +02:00
eth-p
d569693dab
Formatted with newer cargo fmt.
...
It should pass all the checks now.
2018-05-16 08:29:41 +02:00
eth-p
900f61032d
Fix #117
2018-05-15 14:09:51 -07:00
eth-p
d0ca566979
Replace for_line and for_wrap with generate
2018-05-15 13:55:38 -07:00
eth-p
a5a7dc14e4
Fix \r character being printed with wrapping enabled.
2018-05-14 14:36:08 -07:00
rleungx
a5de77af4d
address comment
2018-05-14 20:30:16 +02:00
rleungx
870ff7b538
sort the language listing
2018-05-14 20:30:16 +02:00
sharkdp
15b9acd12f
Updates for new rustfmt
2018-05-14 19:04:13 +02:00
eth-p
b327127f37
Split decorations into a separate file and optimized them a bit.
2018-05-13 18:44:07 -07:00
eth-p
9214a4a4f0
PR #102 Followed @sharkdp's suggestions
2018-05-13 12:45:16 -07:00
sharkdp
fcecd97224
Add ansi_term import for Windows, see #107
2018-05-13 21:19:26 +02:00
eth-p
870b3c0daf
PR #102 Followed @BrainMaestro's suggestions
...
Also ran cargo fmt.
2018-05-13 03:26:23 -07:00
sharkdp
b9c780c8c8
Ignore errors when clearing cache, closes #91
2018-05-13 10:34:35 +02:00
sharkdp
ca865f9d26
Enable ANSI support on Windows 10
2018-05-13 09:58:16 +02:00
eth-p
b4cfc9633c
Fix double spaces when outputting without wrapping.
2018-05-12 14:02:47 -07:00
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.
2018-05-12 13:44:10 -07:00
eth-p
cd26d403a3
Fix padding, add --wrap argument, disable wrap for non-tty.
...
Now bat(1) can be used like cat(1) again!
2018-05-12 13:23:33 -07:00
eth-p
f95a23f948
Fix off-by-one error with text wrapping and --style grid
2018-05-12 12:07:41 -07:00
Ethan P
bdd10b8bec
Merge branch 'master' into master
2018-05-12 06:40:47 -07:00
eth-p
fc160b0dcd
PR #102 Review Changes
...
- Reformatted code.
- Removed leftover code.
- Removed leftover comments.
- Fixed compiling on Rust 1.24.0
2018-05-12 06:32:23 -07:00
sharkdp
cb7b158172
Add bold, italic and underline font styles
2018-05-12 13:23:39 +02:00
eth-p
fcc36b1f79
Forgot to add styling to the horizontal line.
2018-05-11 22:49:26 -07:00
eth-p
4e4110bf50
Added line wrapping.
2018-05-11 21:59:26 -07:00
Ryan Leung
22c8978fca
add theme option ( #95 )
...
closes #89
2018-05-11 13:53:17 +02:00
Ezinwa Okpoechi
f711fb5006
Split style to separate module
2018-05-11 10:15:26 +02:00
Ezinwa Okpoechi
64a9341b73
Split app to separate module
2018-05-11 10:15:26 +02:00
sharkdp
ccf88fd5d8
Add and use --style=auto by default
2018-05-10 16:22:24 +02:00
sharkdp
e2ac6de783
Fix clippy warnings
2018-05-10 13:15:59 +02:00
Ezinwa Okpoechi
25cee002f9
Split modules ( #86 )
...
* Split diffing to separate module
* Split assets to separate module
2018-05-10 12:36:09 +02:00
sharkdp
ea27053a63
Remove unused lifetimes
2018-05-10 12:20:38 +02:00
Pit Kleyersburg
b2b932f3ed
Fix header-line if grid is not requested
2018-05-10 12:20:38 +02:00
Pit Kleyersburg
747d074be1
Replace Cow
by String
2018-05-10 12:20:38 +02:00
Pit Kleyersburg
61109ece15
Create OutputComponents
struct, use HashSet
2018-05-10 12:20:38 +02:00
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.
2018-05-10 12:20:38 +02:00
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.)
2018-05-10 12:20:38 +02:00
sharkdp
8b9991d780
Append newline at the end of the file if necessary
2018-05-08 23:49:59 +02:00
sharkdp
f90b9d1acc
Do not peek at FIFOs, closes #80
2018-05-08 23:23:41 +02:00
sharkdp
f7af537018
Filter out languages without extensions
2018-05-08 22:57:29 +02:00
sharkdp
fd68af8031
Paint file extensions in green
2018-05-08 22:57:29 +02:00
sharkdp
ebdef04c8f
Compute 'longest' for non-hidden languages only
2018-05-08 22:57:29 +02:00
sharkdp
a4150600af
Correctly update num_chars
2018-05-08 22:57:29 +02:00
Connor Kuehl
49223eed06
Remove term_width from Printer, its options owns it.
2018-05-08 22:57:29 +02:00
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.
2018-05-08 22:57:29 +02:00
Connor Kuehl
e5e47716b0
Add term_width to options struct, move getting term_width to run()
2018-05-08 22:57:29 +02:00
Connor Kuehl
b4f8cd3bae
Filter out languages that are hidden.
2018-05-08 22:57:29 +02:00
Connor Kuehl
ee3a37f3fc
WIP edit desired width.
2018-05-08 22:57:29 +02:00
Connor Kuehl
4c60ab12cc
Add simple line-wrapping for file extensions.
2018-05-08 22:57:29 +02:00
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().
2018-05-08 22:57:29 +02:00
Connor Kuehl
4e3c57cc7c
Rename and add comment to the match block.
2018-05-08 22:57:29 +02:00
Connor Kuehl
438a9a99ed
Size language name column width to the length of the longest language.
2018-05-08 22:57:29 +02:00
Connor Kuehl
9b0877102c
Display language and extensions from loaded assets.
2018-05-08 22:57:29 +02:00
Connor Kuehl
67bed73e15
Add --list-languages argument to clap.
2018-05-08 22:57:29 +02:00
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
2018-05-08 20:11:25 +02:00
sharkdp
8a399c8d7d
Disable paging-mode if we read from an interactive TTY
2018-05-07 23:27:38 +02:00
sharkdp
9a0e444e09
Simplify stdout handling
2018-05-07 23:27:38 +02:00
sharkdp
438f3df345
Paint STDOUT bold, unify writeln statement
2018-05-07 23:27:38 +02:00
sharkdp
7e2e0c82ac
Add support for reading from stdin, closes #2
2018-05-07 23:27:38 +02:00
Ezinwa Okpoechi
53d67e2b6e
Add printer
...
This adds a separate struct that handles printing of the different
tokens.
2018-05-07 08:57:21 +02:00
sharkdp
b625d07c34
Use syntect newlines mode (instead of nonewlines)
2018-05-06 19:50:48 +02:00
Ezinwa Okpoechi
ec606e5dcc
Add option to disable automatic paging
2018-05-06 19:50:05 +02:00
Ezinwa Okpoechi
c253821a5e
Open pager once for multiple files
2018-05-06 19:50:05 +02:00
sharkdp
ccb1d78b22
Remove short versions for --style and --color for now
2018-05-06 18:23:43 +02:00
sharkdp
9eb64b97fe
Discover syntaxes by name and extention
2018-05-06 18:20:35 +02:00
sharkdp
15f0268bdc
Use 'plain' style for non-interactive terminals
2018-05-06 16:15:22 +02:00
sharkdp
3fa70deaa7
Run 'cargo fmt' and enforce via Travis
2018-05-06 15:10:46 +02:00
Ezinwa Okpoechi
d4553c6b38
Add color flag
...
Colors are disabled if the terminal is not interactive unless explicitly
set otherwise
2018-05-06 14:47:53 +02:00
sharkdp
3eb79d63ce
Compute pathspec from absolute.strip_prefix(workdir)
2018-05-06 11:22:48 +02:00
Nakul Chaudhari
cbdf5c50c4
Fix bug where git modification markers would not be shown if directory
...
was not cwd
Git ignore Idea dir
Fix #22
2018-05-06 11:22:48 +02:00
Ezinwa Okpoechi
418b3c5ea1
Add less pager
2018-05-05 09:01:30 +02:00
Nakul Chaudhari
9dca3126b3
Hide everything but content for plain option style
...
fix #5
2018-05-03 22:49:37 +02:00
nakulcg
7df9a5fe82
Add --style option to disable line numbers and git markers ( #43 )
...
closes #5
2018-05-03 20:34:23 +02:00
Ezinwa Okpoechi
4bba08062c
Add option to specify language
2018-05-03 17:00:35 +02:00
sharkdp
64ef61b409
Add customization chapter
2018-04-30 16:03:39 +02:00
sharkdp
59fabd8ca5
Load assets from the binary
2018-04-30 15:31:39 +02:00
sharkdp
ced6801740
Better error messages
2018-04-30 15:20:00 +02:00
sharkdp
f81e38618c
Implement SyntaxSet and ThemeSet caching
...
closes #21 , see #20
2018-04-30 15:09:20 +02:00
sharkdp
36bbc770eb
Use error-chain
2018-04-30 11:09:24 +02:00
sharkdp
f43409f473
Fix clippy warnings
2018-04-26 07:59:22 +02:00
sharkdp
64de2a44d5
Print error if Default.tmTheme is not available
...
closes #15
2018-04-25 23:34:41 +02:00
sharkdp
86dcb3c165
Fix #13
2018-04-24 21:57:40 +02:00
sharkdp
7b7a5a32d6
Update header
2018-04-24 21:33:50 +02:00
sharkdp
a7232a6ecc
Support for custom syntaxes, add 'Markdown extended' theme, closes #10
2018-04-24 00:44:39 +02:00
sharkdp
38762c34d9
Enable 8 bit color support, closes #11
2018-04-23 23:56:47 +02:00
sharkdp
de0198920a
Load themes from ~/.config/bat/themes
2018-04-22 16:03:47 +02:00
sharkdp
b5c119e802
Rename get_line_changes
2018-04-22 15:11:35 +02:00
sharkdp
1f2bcf57ba
Handle broken pipes, closes #9
2018-04-22 14:37:32 +02:00
sharkdp
de11558ad3
Code restructuring
2018-04-22 14:05:43 +02:00
sharkdp
fcfc7c465b
Code cleanup
2018-04-22 13:53:04 +02:00
sharkdp
70ffd60b20
Update help text
2018-04-22 13:45:40 +02:00
sharkdp
36d92361be
Better error handling
2018-04-22 13:27:20 +02:00
sharkdp
6b507d1e35
Print filename
2018-04-21 17:36:57 +02:00
sharkdp
ab10a20c1f
Use default for highlighting theme
2018-04-21 17:16:53 +02:00
sharkdp
a979608f37
Add Git support, closes #8
2018-04-21 17:12:25 +02:00
sharkdp
8f5a80ea07
Initial commit
2018-04-21 12:53:24 +02:00