1{-# LANGUAGE CPP #-} 2{-# LANGUAGE OverloadedStrings #-} 3 4#include "version-compatibility-macros.h" 5 6-- | Common symbols composed out of the ASCII subset of Unicode. For non-ASCII 7-- symbols, see "Prettyprinter.Symbols.Unicode". 8module Prettyprinter.Symbols.Ascii where 9 10 11 12import Prettyprinter.Internal 13 14 15 16-- | >>> squotes "·" 17-- '·' 18squotes :: Doc ann -> Doc ann 19squotes = enclose squote squote 20 21-- | >>> dquotes "·" 22-- "·" 23dquotes :: Doc ann -> Doc ann 24dquotes = enclose dquote dquote 25 26-- | >>> parens "·" 27-- (·) 28parens :: Doc ann -> Doc ann 29parens = enclose lparen rparen 30 31-- | >>> angles "·" 32-- <·> 33angles :: Doc ann -> Doc ann 34angles = enclose langle rangle 35 36-- | >>> brackets "·" 37-- [·] 38brackets :: Doc ann -> Doc ann 39brackets = enclose lbracket rbracket 40 41-- | >>> braces "·" 42-- {·} 43braces :: Doc ann -> Doc ann 44braces = enclose lbrace rbrace 45 46-- | >>> squote 47-- ' 48squote :: Doc ann 49squote = Char '\'' 50 51-- | >>> dquote 52-- " 53dquote :: Doc ann 54dquote = Char '"' 55 56-- | >>> lparen 57-- ( 58lparen :: Doc ann 59lparen = Char '(' 60 61-- | >>> rparen 62-- ) 63rparen :: Doc ann 64rparen = Char ')' 65 66-- | >>> langle 67-- < 68langle :: Doc ann 69langle = Char '<' 70 71-- | >>> rangle 72-- > 73rangle :: Doc ann 74rangle = Char '>' 75 76-- | >>> lbracket 77-- [ 78lbracket :: Doc ann 79lbracket = Char '[' 80-- | >>> rbracket 81-- ] 82rbracket :: Doc ann 83rbracket = Char ']' 84 85-- | >>> lbrace 86-- { 87lbrace :: Doc ann 88lbrace = Char '{' 89-- | >>> rbrace 90-- } 91rbrace :: Doc ann 92rbrace = Char '}' 93 94-- | >>> semi 95-- ; 96semi :: Doc ann 97semi = Char ';' 98 99-- | >>> colon 100-- : 101colon :: Doc ann 102colon = Char ':' 103 104-- | >>> comma 105-- , 106comma :: Doc ann 107comma = Char ',' 108 109-- | >>> "a" <> space <> "b" 110-- a b 111-- 112-- This is mostly used via @'<+>'@, 113-- 114-- >>> "a" <+> "b" 115-- a b 116space :: Doc ann 117space = Char ' ' 118 119-- | >>> dot 120-- . 121dot :: Doc ann 122dot = Char '.' 123 124-- | >>> slash 125-- / 126slash :: Doc ann 127slash = Char '/' 128 129-- | >>> backslash 130-- \\ 131 132backslash :: Doc ann 133backslash = "\\" 134 135-- | >>> equals 136-- = 137equals :: Doc ann 138equals = Char '=' 139 140-- | >>> pipe 141-- | 142pipe :: Doc ann 143pipe = Char '|' 144 145 146 147-- $setup 148-- 149-- (Definitions for the doctests) 150-- 151-- >>> :set -XOverloadedStrings 152-- >>> import Data.Semigroup 153-- >>> import Prettyprinter.Render.Text 154-- >>> import Prettyprinter.Util 155