# Style sheet for udiff output
# Copyright (c) 1995, 96, 97, 98 Akim Demaille, Miguel Santana
# $Id: udiff.ssh,v 1.1.1.1.2.2 2007/12/29 01:58:34 mhatta Exp $
#

#
# This file is part of a2ps.
# 
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; see the file COPYING.  If not, see
# <https://www.gnu.org/licenses/gpl-3.0.html>.
#
## 1.1 Akim Demaille
# Make -g suppress unwanted labels of diff sections

style "Unified Diff" is
written by "Akim Demaille <akim@freefriends.org>"
version is 1.2
requires a2ps 4.12a

documentation is
  "This style is meant to be used onto the output unidiffs, that is to say"
  "output from samp(diff -u)samp."
  ""
  "Typical use of this style is:"
  "@example"
  "diff -u old new | a2ps -Eudiff"
  "@end example"
  ""
  "The prologue code(diff)code helps to highlight the differences "
  "(samp(a2ps -Ewdiff --prologue=diff)samp)."
end documentation

operators are
  # This proves I forgot a case here after
#  (/.*/ Error),
  
  # Something not changed, remove the first space
  (/ (.*)/ \1 Plain),

  # Header
  (/^(diff .*)/ \1 Comment),

  # Removed
  (/^-(.*)/ \1 Keyword),
  (/^(---)( .*)/ \1 Keyword, \2 Comment),

  # Added
  (/^\\+(.*)/ \1 Keyword_strong),
  (/^(\\+{3})( .*)/ \1 Keyword_strong, \2 Comment),

  # Section
  /@@([^@]*)@@/ Label
end operators

optional operators are
  # Section
  /^@@([^@]*)@@$/ Invisible
end operators

end style # udiff.ssh
