From 2b36fdcc33e15757b3ef304cf6450ab1ef81d12f Mon Sep 17 00:00:00 2001 From: Dan Allen Date: Sun, 7 Apr 2019 17:16:48 -0600 Subject: [PATCH] port bw style from Pygments to Rouge --- lib/rouge.rb | 1 + lib/rouge/themes/bw.rb | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 lib/rouge/themes/bw.rb diff --git a/lib/rouge.rb b/lib/rouge.rb index 6aa9c55c7b..7a4fb1334a 100644 --- a/lib/rouge.rb +++ b/lib/rouge.rb @@ -82,3 +82,4 @@ def highlight(text, lexer, formatter, &b) load load_dir.join('rouge/themes/gruvbox.rb') load load_dir.join('rouge/themes/tulip.rb') load load_dir.join('rouge/themes/pastie.rb') +load load_dir.join('rouge/themes/bw.rb') diff --git a/lib/rouge/themes/bw.rb b/lib/rouge/themes/bw.rb new file mode 100644 index 0000000000..437913ba1a --- /dev/null +++ b/lib/rouge/themes/bw.rb @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- # +# frozen_string_literal: true + +module Rouge + module Themes + # A port of the bw style from Pygments. + # See https://bitbucket.org/birkenfeld/pygments-main/src/default/pygments/styles/bw.py + class BlackWhiteTheme < CSSTheme + name 'bw' + + style Text, :fg => '#000000', :bg => '#ffffff' + + style Comment, :italic => true + style Comment::Preproc, :italic => false + + style Keyword, :bold => true + style Keyword::Pseudo, :bold => false + style Keyword::Type, :bold => false + + style Operator, :bold => true + + style Name::Class, :bold => true + style Name::Namespace, :bold => true + style Name::Exception, :bold => true + style Name::Entity, :bold => true + style Name::Tag, :bold => true + + style Literal::String, :italic => true + style Literal::String::Interpol, :bold => true + style Literal::String::Escape, :bold => true + + style Generic::Heading, :bold => true + style Generic::Subheading, :bold => true + style Generic::Emph, :italic => true + style Generic::Strong, :bold => true + style Generic::Prompt, :bold => true + + style Error, :fg => '#FF0000' + end + end +end