summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsharkdp <davidpeter@web.de>2018-04-30 16:03:33 +0200
committersharkdp <davidpeter@web.de>2018-04-30 16:03:39 +0200
commit64ef61b40927d0ac9881cace2b6e37dfc9706f90 (patch)
tree1d26f37892c9dc49dcccfc75ba56a0b065b0e081
parent95a2079bcd1f93cf34f4bc62ee022cef7ed07223 (diff)
Add customization chapter
-rw-r--r--Cargo.lock2
-rw-r--r--Cargo.toml2
-rw-r--r--README.md35
-rw-r--r--src/main.rs3
4 files changed, 39 insertions, 3 deletions
diff --git a/Cargo.lock b/Cargo.lock
index b5f3b82a..e6a5c308 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -61,7 +61,7 @@ dependencies = [
[[package]]
name = "bat"
-version = "0.1.0"
+version = "0.2.0"
dependencies = [
"ansi_term 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
"atty 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
diff --git a/Cargo.toml b/Cargo.toml
index c2f764c9..874f6a82 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -7,7 +7,7 @@ license = "MIT/Apache-2.0"
name = "bat"
readme = "README.md"
repository = "https://github.com/sharkdp/bat"
-version = "0.1.0"
+version = "0.2.0"
[dependencies]
atty = "0.2.2"
diff --git a/README.md b/README.md
index 43e77c3a..32e53cc5 100644
--- a/README.md
+++ b/README.md
@@ -32,3 +32,38 @@ Make sure that you have the devel-version of libopenssl installed (see instructi
``` bash
cargo install bat
```
+
+## Customization
+
+`bat` uses the excellent [`syntect`](https://github.com/trishume/syntect/) library for syntax highlighting. `syntect` can read any Sublime Text language definitions and highlighting theme.
+
+To build your own syntax-set and theme, follow these steps:
+
+Create a folder with syntax highlighting theme:
+``` bash
+mkdir -p ~/.config/bat/themes
+cd ~/.config/bat/themes
+
+# Download a theme, for example:
+git clone https://github.com/jonschlinkert/sublime-monokai-extended
+
+# Create a 'Default.tmTheme' link
+ln -s "sublime-monokai-extended/Monokai Extended.tmTheme" Default.tmTheme
+```
+
+Create a folder with language definition files:
+``` bash
+mkdir -p ~/.config/bat/syntax
+cd ~/.config/bat/syntax
+
+# Download some language definition files, for example:
+git clone https://github.com/sublimehq/Packages/
+rm -rf Packages/Markdown
+git clone https://github.com/jonschlinkert/sublime-markdown-extended
+```
+
+Finally, use the following command to parse all these files into a binary
+cache:
+``` bash
+bat init-cache
+```
diff --git a/src/main.rs b/src/main.rs
index 4797c557..8a1f1287 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -368,7 +368,8 @@ fn run() -> Result<()> {
true_color: is_truecolor_terminal(),
};
- let assets = HighlightingAssets::from_binary();
+ let assets =
+ HighlightingAssets::from_cache().unwrap_or(HighlightingAssets::from_binary());
let theme = assets.theme_set.themes.get("Default").ok_or_else(|| {
io::Error::new(