Change soft-fail to use the config, rather than env
[rbx.git] / lib / rbyaml / constants.rb
blob39a07a44d225f2739eb9d1f59dc2f7b46385c3f1
1 require 'rbyaml/emitter'
2 require 'rbyaml/serializer'
3 require 'rbyaml/representer'
4 require 'rbyaml/resolver'
6 module RbYAML
7   #
8   # Constants
9   #
10   VERSION = '0.20'
11   SUPPORTED_YAML_VERSIONS = ['1.0','1.1']
13   LINE_BR_REG = /[\n\x85]|(?:\r[^\n])/
14   NON_PRINTABLE_RE = /[^\x09\x0A\x0D\x20-\x7E\x85\xA0-\xFF]/
16   ENDING = /^---[\0 \t\r\n\x85]$/
17   START = /^\.\.\.[\0 \t\r\n\x85]$/
18   NULL_OR_OTHER = "\0 \t\r\n\x85"
19   #    BEG = /^([^\0 \t\r\n\x85\-?:,\[\]{}#&*!|>'"%@`]|([\-?:][^\0 \t\r\n\x85]))/    #Since current SYCK handles this one wrong, we have to allow backtick right now.
20   BEG = /^([^\0 \t\r\n\x85\-?:,\[\]{}#&*!|>'"%@]|([\-?:][^\0 \t\r\n\x85]))/    
21   NULL_OR_LINEBR = "\0\r\n\x85"
22   ALPHA_REG = /[-0-9A-Za-z_]/
23   NULL_BL_LINEBR = "\0 \r\n\x85"
24   NULL_BL_T_LINEBR = NULL_OR_OTHER
25   NON_ALPHA = /[^-0-9A-Za-z_]/   
26   NON_ALPHA_OR_NUM = "\0 \t\r\n\x85?:,]}%@`"
27   NULL_T_BL_LINEBR = NULL_OR_OTHER
28   BLANK_T = " \t"
29   PLUS_MIN = /[+-]/
30   BLANK_OR_LINEBR = " \r\n\x85"
31   FULL_LINEBR = "\r\n\x85"
32   UNESCAPES = {
33     "0"  =>   "\0",
34     "a"  =>   "\x07",
35     "b"  =>   "\x08",
36     "t"  =>   "\x09",
37     "\t" =>   "\x09",
38     "n"  =>   "\x0A",
39     "v"  =>   "\x0B",
40     "f"  =>   "\x0C",
41     "r"  =>   "\x0D",
42     "e"  =>   "\x1B",
43     " "  =>   "\x20",
44     '"'  =>   '"',
45     "\\" =>   "\\",
46     "N"  =>   "\x85",
47     "_"  =>   "\xA0"
48   }
49   
50   ESCAPE_CODES = {
51     'x' =>   2
52   }
55   ESCAPE_REPLACEMENTS = {
56     ?\0   =>   "0",
57     ?\x07 =>   "a",
58     ?\x08 =>   "b",
59     ?\x09 =>   "t",
60     ?\x0A =>   "n",
61     ?\x0B =>   "v",
62     ?\x0C =>   "f",
63     ?\x0D =>   "r",
64     ?\x1B =>   "e",
65     ?"    =>   "\"",
66     ?\\   =>   "\\",
67     ?\x85 =>   "N",
68     ?\xA0 =>   "_"
69   }
70   
71   SPACES_AND_STUFF = "'\"\\\0 \t\r\n\x85"
72   DOUBLE_ESC = "\"\\"
73   NOT_HEXA = /[^0-9A-Fa-f]/
74   R_flowzero = /[\0 \t\r\n\x85]|(:[\0 \t\r\n\x28])/
75   R_flownonzero = /[\0 \t\r\n\x85\[\]{},:?]/
76   S4 = "\0 \t\r\n\x28[]{}"
77   END_OR_START = /^(---|\.\.\.)[\0 \t\r\n\x85]$/
78   STRANGE_CHR = /[\]\[\-';\/?:@&=+$,.!~*()%\w]/
79   HEXA_REG = /[0-9A-Fa-f]/
80   
81   #
82   # Default settings
83   #
84   DEFAULTS = {
85     :Indent => 2, :UseHeader => false, :UseVersion => false, :Version => '1.1',
86     :ExplicitStart => true, :ExplicitEnd => false,
87     :SortKeys => false, :AnchorFormat => 'id%03d', :ExplicitTypes => false,
88     :Canonical => false,
89     :WidthType => 'absolute', :BestWidth => 80,
90     :UseBlock => false, :UseFold => false, :Encoding => :None,
91     :UsePlain => false, :UseSingle => false, :UseDouble => false,
92     :Emitter => RbYAML::Emitter, :Serializer => RbYAML::Serializer, 
93     :Representer => RbYAML::Representer, :Resolver => RbYAML::Resolver
94   }
95 end